summaryrefslogtreecommitdiff
path: root/boost
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2019-12-05 15:21:30 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2019-12-05 15:21:30 +0900
commitd6a306e745acfee00e81ccaf3324a2a03516db41 (patch)
tree145a26368608982f40ebb0f4836185c44abb9ae4 /boost
parent5ce2ccf2f23c6d3de4c79f216f57ca6f2a18ed16 (diff)
downloadboost-d6a306e745acfee00e81ccaf3324a2a03516db41.tar.gz
boost-d6a306e745acfee00e81ccaf3324a2a03516db41.tar.bz2
boost-d6a306e745acfee00e81ccaf3324a2a03516db41.zip
Imported Upstream version 1.69.0upstream/1.69.0
Diffstat (limited to 'boost')
-rw-r--r--boost/algorithm/apply_permutation.hpp9
-rw-r--r--boost/align/aligned_allocator.hpp13
-rw-r--r--boost/align/aligned_allocator_adaptor.hpp28
-rw-r--r--boost/align/detail/aligned_alloc.hpp2
-rw-r--r--boost/any.hpp10
-rw-r--r--boost/archive/basic_binary_iarchive.hpp26
-rw-r--r--boost/archive/detail/iserializer.hpp6
-rw-r--r--boost/archive/impl/archive_serializer_map.ipp8
-rw-r--r--boost/archive/impl/basic_xml_grammar.hpp2
-rw-r--r--boost/archive/polymorphic_binary_iarchive.hpp2
-rw-r--r--boost/archive/polymorphic_binary_oarchive.hpp16
-rw-r--r--boost/archive/polymorphic_text_iarchive.hpp2
-rw-r--r--boost/archive/polymorphic_text_oarchive.hpp12
-rw-r--r--boost/archive/polymorphic_text_wiarchive.hpp2
-rw-r--r--boost/archive/polymorphic_text_woarchive.hpp12
-rw-r--r--boost/archive/polymorphic_xml_iarchive.hpp2
-rw-r--r--boost/archive/polymorphic_xml_oarchive.hpp13
-rw-r--r--boost/archive/polymorphic_xml_wiarchive.hpp2
-rw-r--r--boost/archive/polymorphic_xml_woarchive.hpp14
-rw-r--r--boost/asio/buffer.hpp83
-rw-r--r--boost/asio/connect.hpp31
-rw-r--r--boost/asio/detail/config.hpp71
-rw-r--r--boost/asio/detail/future.hpp33
-rw-r--r--boost/asio/detail/impl/socket_ops.ipp2
-rw-r--r--boost/asio/detail/is_buffer_sequence.hpp52
-rw-r--r--boost/asio/detail/timer_queue.hpp2
-rw-r--r--boost/asio/detail/win_global.hpp3
-rw-r--r--boost/asio/impl/io_context.hpp2
-rw-r--r--boost/asio/impl/read_until.hpp4
-rw-r--r--boost/asio/impl/use_future.hpp1
-rw-r--r--boost/asio/ip/bad_address_cast.hpp7
-rw-r--r--boost/asio/ip/basic_resolver.hpp10
-rw-r--r--boost/asio/ip/basic_resolver_results.hpp8
-rw-r--r--boost/asio/packaged_task.hpp6
-rw-r--r--boost/asio/read.hpp8
-rw-r--r--boost/asio/read_at.hpp8
-rw-r--r--boost/asio/read_until.hpp14
-rw-r--r--boost/asio/ssl/context_base.hpp17
-rw-r--r--boost/asio/ssl/impl/context.ipp55
-rw-r--r--boost/asio/ssl/stream.hpp3
-rw-r--r--boost/asio/thread_pool.hpp2
-rw-r--r--boost/asio/use_future.hpp5
-rw-r--r--boost/asio/version.hpp2
-rw-r--r--boost/asio/write.hpp7
-rw-r--r--boost/asio/write_at.hpp8
-rw-r--r--boost/assign/assignment_exception.hpp13
-rw-r--r--boost/assign/list_inserter.hpp168
-rw-r--r--boost/assign/list_of.hpp309
-rw-r--r--boost/assign/ptr_list_inserter.hpp26
-rw-r--r--boost/assign/ptr_list_of.hpp86
-rw-r--r--boost/assign/ptr_map_inserter.hpp27
-rw-r--r--boost/assign/std/deque.hpp15
-rw-r--r--boost/assign/std/list.hpp15
-rw-r--r--boost/assign/std/queue.hpp19
-rw-r--r--boost/assign/std/set.hpp23
-rw-r--r--boost/assign/std/slist.hpp13
-rw-r--r--boost/assign/std/stack.hpp14
-rw-r--r--boost/assign/std/vector.hpp14
-rw-r--r--boost/beast/core/buffers_adapter.hpp2
-rw-r--r--boost/beast/core/detail/buffer.hpp83
-rw-r--r--boost/beast/core/detail/empty_base_optimization.hpp100
-rw-r--r--boost/beast/core/flat_buffer.hpp6
-rw-r--r--boost/beast/core/impl/buffers_adapter.ipp88
-rw-r--r--boost/beast/core/impl/buffers_cat.ipp19
-rw-r--r--boost/beast/core/impl/buffers_prefix.ipp17
-rw-r--r--boost/beast/core/impl/buffers_suffix.ipp15
-rw-r--r--boost/beast/core/impl/flat_buffer.ipp40
-rw-r--r--boost/beast/core/impl/multi_buffer.ipp58
-rw-r--r--boost/beast/core/impl/read_size.ipp4
-rw-r--r--boost/beast/core/impl/static_buffer.ipp2
-rw-r--r--boost/beast/core/multi_buffer.hpp6
-rw-r--r--boost/beast/core/static_buffer.hpp2
-rw-r--r--boost/beast/core/string.hpp30
-rw-r--r--boost/beast/experimental/core/detail/impl/timeout_service.ipp181
-rw-r--r--boost/beast/experimental/core/detail/service_base.hpp50
-rw-r--r--boost/beast/experimental/core/detail/timeout_service.hpp124
-rw-r--r--boost/beast/experimental/core/detail/timeout_work_guard.hpp73
-rw-r--r--boost/beast/experimental/core/impl/timeout_service.ipp31
-rw-r--r--boost/beast/experimental/core/impl/timeout_socket.hpp207
-rw-r--r--boost/beast/experimental/core/timeout_service.hpp40
-rw-r--r--boost/beast/experimental/core/timeout_socket.hpp240
-rw-r--r--boost/beast/http/basic_dynamic_body.hpp21
-rw-r--r--boost/beast/http/basic_file_body.hpp2
-rw-r--r--boost/beast/http/detail/basic_parsed_list.hpp9
-rw-r--r--boost/beast/http/detail/basic_parser.hpp32
-rw-r--r--boost/beast/http/detail/rfc7230.hpp10
-rw-r--r--boost/beast/http/fields.hpp82
-rw-r--r--boost/beast/http/impl/error.ipp14
-rw-r--r--boost/beast/http/impl/field.ipp2
-rw-r--r--boost/beast/http/impl/fields.ipp121
-rw-r--r--boost/beast/http/impl/message.ipp24
-rw-r--r--boost/beast/http/impl/read.ipp47
-rw-r--r--boost/beast/http/impl/verb.ipp2
-rw-r--r--boost/beast/http/message.hpp24
-rw-r--r--boost/beast/http/span_body.hpp2
-rw-r--r--boost/beast/version.hpp2
-rw-r--r--boost/beast/websocket/detail/utf8_checker.hpp93
-rw-r--r--boost/beast/websocket/impl/accept.ipp52
-rw-r--r--boost/beast/websocket/impl/read.ipp52
-rw-r--r--boost/beast/websocket/impl/write.ipp2
-rw-r--r--boost/beast/websocket/stream.hpp2
-rw-r--r--boost/blank.hpp8
-rw-r--r--boost/chrono/detail/inlined/mac/chrono.hpp20
-rw-r--r--boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp68
-rw-r--r--boost/chrono/detail/inlined/mac/thread_clock.hpp8
-rw-r--r--boost/chrono/detail/inlined/posix/chrono.hpp16
-rw-r--r--boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp54
-rw-r--r--boost/chrono/detail/inlined/posix/thread_clock.hpp8
-rw-r--r--boost/chrono/detail/inlined/win/chrono.hpp40
-rw-r--r--boost/chrono/detail/inlined/win/process_cpu_clocks.hpp28
-rw-r--r--boost/chrono/detail/inlined/win/thread_clock.hpp8
-rw-r--r--boost/chrono/detail/system.hpp9
-rw-r--r--boost/chrono/io/time_point_io.hpp2
-rw-r--r--boost/circular_buffer.hpp6
-rw-r--r--boost/circular_buffer/allocators.hpp89
-rw-r--r--boost/circular_buffer/base.hpp157
-rw-r--r--boost/circular_buffer/details.hpp54
-rw-r--r--boost/circular_buffer/space_optimized.hpp10
-rw-r--r--boost/concept/assert.hpp2
-rw-r--r--boost/concept/detail/general.hpp6
-rw-r--r--boost/concept/detail/has_constraints.hpp6
-rw-r--r--boost/concept/detail/msvc.hpp4
-rw-r--r--boost/concept/usage.hpp2
-rw-r--r--boost/concept_archetype.hpp2
-rw-r--r--boost/concept_check.hpp38
-rw-r--r--boost/concept_check/general.hpp4
-rw-r--r--boost/concept_check/msvc.hpp4
-rw-r--r--boost/config/auto_link.hpp8
-rw-r--r--boost/config/compiler/borland.hpp4
-rw-r--r--boost/config/compiler/clang.hpp2
-rw-r--r--boost/config/compiler/codegear.hpp4
-rw-r--r--boost/config/compiler/comeau.hpp2
-rw-r--r--boost/config/compiler/digitalmars.hpp2
-rw-r--r--boost/config/compiler/gcc.hpp6
-rw-r--r--boost/config/compiler/greenhills.hpp2
-rw-r--r--boost/config/compiler/hp_acc.hpp2
-rw-r--r--boost/config/compiler/intel.hpp7
-rw-r--r--boost/config/compiler/kai.hpp2
-rw-r--r--boost/config/compiler/metrowerks.hpp2
-rw-r--r--boost/config/compiler/mpw.hpp2
-rw-r--r--boost/config/compiler/vacpp.hpp2
-rw-r--r--boost/config/compiler/visualc.hpp12
-rw-r--r--boost/config/detail/select_compiler_config.hpp3
-rw-r--r--boost/config/detail/suffix.hpp13
-rw-r--r--boost/config/stdlib/libcpp.hpp14
-rw-r--r--boost/config/stdlib/libstdcpp3.hpp2
-rw-r--r--boost/container/allocator.hpp7
-rw-r--r--boost/container/allocator_traits.hpp2
-rw-r--r--boost/container/deque.hpp2
-rw-r--r--boost/container/detail/adaptive_node_pool_impl.hpp20
-rw-r--r--boost/container/detail/advanced_insert_int.hpp24
-rw-r--r--boost/container/detail/allocator_version_traits.hpp3
-rw-r--r--boost/container/detail/compare_functors.hpp66
-rw-r--r--boost/container/detail/copy_move_algo.hpp37
-rw-r--r--boost/container/detail/flat_tree.hpp73
-rw-r--r--boost/container/detail/iterator.hpp16
-rw-r--r--boost/container/detail/mpl.hpp46
-rw-r--r--boost/container/detail/multiallocation_chain.hpp51
-rw-r--r--boost/container/detail/node_alloc_holder.hpp282
-rw-r--r--boost/container/detail/std_fwd.hpp3
-rw-r--r--boost/container/detail/thread_mutex.hpp2
-rw-r--r--boost/container/detail/tree.hpp90
-rw-r--r--boost/container/detail/type_traits.hpp2
-rw-r--r--boost/container/detail/workaround.hpp18
-rw-r--r--boost/container/flat_map.hpp250
-rw-r--r--boost/container/flat_set.hpp204
-rw-r--r--boost/container/list.hpp52
-rw-r--r--boost/container/map.hpp239
-rw-r--r--boost/container/pmr/resource_adaptor.hpp2
-rw-r--r--boost/container/set.hpp210
-rw-r--r--boost/container/slist.hpp54
-rw-r--r--boost/container/small_vector.hpp49
-rw-r--r--boost/container/stable_vector.hpp121
-rw-r--r--boost/container/static_vector.hpp3
-rw-r--r--boost/container/string.hpp185
-rw-r--r--boost/container/vector.hpp59
-rw-r--r--boost/convert/base.hpp24
-rw-r--r--boost/convert/detail/boost_parameter_ext.hpp62
-rw-r--r--boost/convert/parameters.hpp37
-rw-r--r--boost/convert/printf.hpp52
-rw-r--r--boost/convert/stream.hpp43
-rw-r--r--boost/convert/strtol.hpp9
-rw-r--r--boost/core/empty_value.hpp136
-rw-r--r--boost/core/explicit_operator_bool.hpp9
-rw-r--r--boost/core/lightweight_test.hpp231
-rw-r--r--boost/core/lightweight_test_trait.hpp4
-rw-r--r--boost/core/noncopyable.hpp17
-rw-r--r--boost/core/quick_exit.hpp59
-rw-r--r--boost/core/ref.hpp3
-rw-r--r--boost/core/swap.hpp11
-rw-r--r--boost/core/typeinfo.hpp36
-rw-r--r--boost/crc.hpp2212
-rw-r--r--boost/date_time/compiler_config.hpp5
-rw-r--r--boost/date_time/posix_time/posix_time_duration.hpp6
-rw-r--r--boost/date_time/time_duration.hpp2
-rw-r--r--boost/detail/allocator_utilities.hpp9
-rw-r--r--boost/detail/compressed_pair.hpp25
-rw-r--r--boost/detail/indirect_traits.hpp85
-rw-r--r--boost/detail/interlocked.hpp91
-rw-r--r--boost/detail/is_incrementable.hpp4
-rw-r--r--boost/detail/is_xxx.hpp6
-rw-r--r--boost/detail/lcast_precision.hpp10
-rw-r--r--boost/detail/reference_content.hpp14
-rw-r--r--boost/detail/utf8_codecvt_facet.hpp2
-rw-r--r--boost/detail/utf8_codecvt_facet.ipp3
-rw-r--r--boost/dll/alias.hpp6
-rw-r--r--boost/dll/detail/ctor_dtor.hpp4
-rw-r--r--boost/dll/detail/demangling/demangle_symbol.hpp3
-rw-r--r--boost/dll/detail/demangling/msvc.hpp36
-rw-r--r--boost/dll/library_info.hpp1
-rw-r--r--boost/dll/smart_library.hpp8
-rw-r--r--boost/dynamic_bitset/detail/dynamic_bitset.hpp (renamed from boost/detail/dynamic_bitset.hpp)74
-rw-r--r--boost/dynamic_bitset/detail/lowest_bit.hpp (renamed from boost/pending/lowest_bit.hpp)8
-rw-r--r--boost/dynamic_bitset/dynamic_bitset.hpp159
-rw-r--r--boost/endian/arithmetic.hpp8
-rw-r--r--boost/endian/buffers.hpp8
-rw-r--r--boost/endian/conversion.hpp28
-rw-r--r--boost/endian/detail/config.hpp62
-rw-r--r--boost/endian/detail/disable_warnings_pop.hpp2
-rw-r--r--boost/exception/exception.hpp120
-rw-r--r--boost/fiber/buffered_channel.hpp54
-rw-r--r--boost/fiber/detail/context_spmc_queue.hpp2
-rw-r--r--boost/fiber/detail/exchange.hpp36
-rw-r--r--boost/fiber/detail/thread_barrier.hpp63
-rw-r--r--boost/fiber/unbuffered_channel.hpp123
-rw-r--r--boost/filesystem/operations.hpp35
-rw-r--r--boost/flyweight/detail/flyweight_core.hpp12
-rw-r--r--boost/flyweight/detail/not_placeholder_expr.hpp13
-rw-r--r--boost/flyweight/key_value.hpp6
-rw-r--r--boost/function.hpp2
-rw-r--r--boost/function/function_base.hpp58
-rw-r--r--boost/function/function_template.hpp70
-rw-r--r--boost/fusion/adapted/adt/adapt_adt.hpp4
-rw-r--r--boost/fusion/adapted/adt/adapt_assoc_adt.hpp3
-rw-r--r--boost/fusion/adapted/adt/detail/adapt_base.hpp18
-rw-r--r--boost/fusion/adapted/struct/adapt_assoc_struct.hpp4
-rw-r--r--boost/fusion/adapted/struct/adapt_struct.hpp4
-rw-r--r--boost/fusion/adapted/struct/detail/adapt_base.hpp2
-rw-r--r--boost/fusion/algorithm/query/detail/find_if.hpp29
-rw-r--r--boost/fusion/algorithm/transformation/remove_if.hpp4
-rw-r--r--boost/fusion/container/map/detail/value_at_key_impl.hpp8
-rw-r--r--boost/fusion/container/map/map_fwd.hpp2
-rw-r--r--boost/fusion/container/vector/detail/value_at_impl.hpp8
-rw-r--r--boost/fusion/container/vector/vector.hpp31
-rw-r--r--boost/fusion/support/config.hpp25
-rw-r--r--boost/fusion/support/detail/is_same_size.hpp13
-rw-r--r--boost/fusion/support/is_view.hpp8
-rw-r--r--boost/fusion/view/filter_view/detail/next_impl.hpp26
-rw-r--r--boost/fusion/view/filter_view/filter_view_iterator.hpp2
-rw-r--r--boost/geometry/algorithms/append.hpp16
-rw-r--r--boost/geometry/algorithms/area.hpp3
-rw-r--r--boost/geometry/algorithms/detail/buffer/get_piece_turns.hpp3
-rw-r--r--boost/geometry/algorithms/detail/buffer/turn_in_original_visitor.hpp2
-rw-r--r--boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp2
-rw-r--r--boost/geometry/algorithms/detail/covered_by/implementation.hpp7
-rw-r--r--boost/geometry/algorithms/detail/distance/interface.hpp14
-rw-r--r--boost/geometry/algorithms/detail/is_valid/has_spikes.hpp9
-rw-r--r--boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp6
-rw-r--r--boost/geometry/algorithms/detail/overlay/get_turns.hpp9
-rw-r--r--boost/geometry/algorithms/detail/overlay/sort_by_side.hpp23
-rw-r--r--boost/geometry/algorithms/detail/overlay/traversal.hpp8
-rw-r--r--boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp20
-rw-r--r--boost/geometry/algorithms/detail/relate/boundary_checker.hpp3
-rw-r--r--boost/geometry/algorithms/detail/relate/follow_helpers.hpp6
-rw-r--r--boost/geometry/algorithms/detail/sections/sectionalize.hpp3
-rw-r--r--boost/geometry/algorithms/detail/within/implementation.hpp6
-rw-r--r--boost/geometry/algorithms/discrete_frechet_distance.hpp228
-rw-r--r--boost/geometry/algorithms/discrete_hausdorff_distance.hpp350
-rw-r--r--boost/geometry/algorithms/remove_spikes.hpp25
-rw-r--r--boost/geometry/formulas/karney_direct.hpp266
-rw-r--r--boost/geometry/formulas/sjoberg_intersection.hpp7
-rw-r--r--boost/geometry/geometries/concepts/box_concept.hpp5
-rw-r--r--boost/geometry/geometries/concepts/check.hpp3
-rw-r--r--boost/geometry/geometries/concepts/polygon_concept.hpp13
-rw-r--r--boost/geometry/geometries/concepts/segment_concept.hpp4
-rw-r--r--boost/geometry/geometry.hpp2
-rw-r--r--boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp5
-rw-r--r--boost/geometry/index/detail/rtree/pack_create.hpp4
-rw-r--r--boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp4
-rw-r--r--boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp4
-rw-r--r--boost/geometry/index/detail/rtree/rstar/insert.hpp4
-rw-r--r--boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp4
-rw-r--r--boost/geometry/index/detail/varray.hpp18
-rw-r--r--boost/geometry/io/dsv/write.hpp7
-rw-r--r--boost/geometry/srs/epsg.hpp52
-rw-r--r--boost/geometry/srs/esri.hpp52
-rw-r--r--boost/geometry/srs/iau2000.hpp52
-rw-r--r--boost/geometry/srs/projection.hpp173
-rw-r--r--boost/geometry/srs/projections/code.hpp9
-rw-r--r--boost/geometry/srs/projections/dpar.hpp850
-rw-r--r--boost/geometry/srs/projections/epsg.hpp8734
-rw-r--r--boost/geometry/srs/projections/epsg_traits.hpp8727
-rw-r--r--boost/geometry/srs/projections/esri.hpp902
-rw-r--r--boost/geometry/srs/projections/esri_traits.hpp897
-rw-r--r--boost/geometry/srs/projections/exception.hpp11
-rw-r--r--boost/geometry/srs/projections/factory.hpp71
-rw-r--r--boost/geometry/srs/projections/factory_key.hpp83
-rw-r--r--boost/geometry/srs/projections/iau2000.hpp4768
-rw-r--r--boost/geometry/srs/projections/iau2000_traits.hpp4763
-rw-r--r--boost/geometry/srs/projections/impl/base_dynamic.hpp42
-rw-r--r--boost/geometry/srs/projections/impl/base_static.hpp16
-rw-r--r--boost/geometry/srs/projections/impl/dms_parser.hpp4
-rw-r--r--boost/geometry/srs/projections/impl/factory_entry.hpp65
-rw-r--r--boost/geometry/srs/projections/impl/pj_datum_set.hpp413
-rw-r--r--boost/geometry/srs/projections/impl/pj_datums.hpp148
-rw-r--r--boost/geometry/srs/projections/impl/pj_ell_set.hpp461
-rw-r--r--boost/geometry/srs/projections/impl/pj_ellps.hpp120
-rw-r--r--boost/geometry/srs/projections/impl/pj_gridinfo.hpp8
-rw-r--r--boost/geometry/srs/projections/impl/pj_gridlist.hpp22
-rw-r--r--boost/geometry/srs/projections/impl/pj_init.hpp494
-rw-r--r--boost/geometry/srs/projections/impl/pj_param.hpp573
-rw-r--r--boost/geometry/srs/projections/impl/pj_strerrno.hpp64
-rw-r--r--boost/geometry/srs/projections/impl/pj_transform.hpp13
-rw-r--r--boost/geometry/srs/projections/impl/pj_units.hpp44
-rw-r--r--boost/geometry/srs/projections/impl/projects.hpp115
-rw-r--r--boost/geometry/srs/projections/par4.hpp503
-rw-r--r--boost/geometry/srs/projections/par_data.hpp195
-rw-r--r--boost/geometry/srs/projections/proj/aea.hpp88
-rw-r--r--boost/geometry/srs/projections/proj/aeqd.hpp114
-rw-r--r--boost/geometry/srs/projections/proj/airy.hpp44
-rw-r--r--boost/geometry/srs/projections/proj/aitoff.hpp59
-rw-r--r--boost/geometry/srs/projections/proj/august.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/bacon.hpp69
-rw-r--r--boost/geometry/srs/projections/proj/bipc.hpp41
-rw-r--r--boost/geometry/srs/projections/proj/boggs.hpp29
-rw-r--r--boost/geometry/srs/projections/proj/bonne.hpp52
-rw-r--r--boost/geometry/srs/projections/proj/cass.hpp42
-rw-r--r--boost/geometry/srs/projections/proj/cc.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/cea.hpp54
-rw-r--r--boost/geometry/srs/projections/proj/chamb.hpp70
-rw-r--r--boost/geometry/srs/projections/proj/collg.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/crast.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/denoy.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/eck1.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/eck2.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/eck3.hpp93
-rw-r--r--boost/geometry/srs/projections/proj/eck4.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/eck5.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/eqc.hpp42
-rw-r--r--boost/geometry/srs/projections/proj/eqdc.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/etmerc.hpp63
-rw-r--r--boost/geometry/srs/projections/proj/fahey.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/fouc_s.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/gall.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/geocent.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/geos.hpp100
-rw-r--r--boost/geometry/srs/projections/proj/gins8.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/gn_sinu.hpp114
-rw-r--r--boost/geometry/srs/projections/proj/gnom.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/goode.hpp51
-rw-r--r--boost/geometry/srs/projections/proj/gstmerc.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/hammer.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/hatano.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/healpix.hpp101
-rw-r--r--boost/geometry/srs/projections/proj/igh.hpp69
-rw-r--r--boost/geometry/srs/projections/proj/imw_p.hpp64
-rw-r--r--boost/geometry/srs/projections/proj/isea.hpp201
-rw-r--r--boost/geometry/srs/projections/proj/krovak.hpp50
-rw-r--r--boost/geometry/srs/projections/proj/labrd.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/laea.hpp44
-rw-r--r--boost/geometry/srs/projections/proj/lagrng.hpp51
-rw-r--r--boost/geometry/srs/projections/proj/larr.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/lask.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/latlong.hpp159
-rw-r--r--boost/geometry/srs/projections/proj/lcc.hpp66
-rw-r--r--boost/geometry/srs/projections/proj/lcca.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/loxim.hpp41
-rw-r--r--boost/geometry/srs/projections/proj/lsat.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/mbt_fps.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/mbtfpp.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/mbtfpq.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/merc.hpp54
-rw-r--r--boost/geometry/srs/projections/proj/mill.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/mod_ster.hpp113
-rw-r--r--boost/geometry/srs/projections/proj/moll.hpp73
-rw-r--r--boost/geometry/srs/projections/proj/natearth.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/nell.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/nell_h.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/nocol.hpp29
-rw-r--r--boost/geometry/srs/projections/proj/nsper.hpp80
-rw-r--r--boost/geometry/srs/projections/proj/nzmg.hpp34
-rw-r--r--boost/geometry/srs/projections/proj/ob_tran.hpp223
-rw-r--r--boost/geometry/srs/projections/proj/ocea.hpp49
-rw-r--r--boost/geometry/srs/projections/proj/oea.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/omerc.hpp53
-rw-r--r--boost/geometry/srs/projections/proj/ortho.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/poly.hpp42
-rw-r--r--boost/geometry/srs/projections/proj/putp2.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/putp3.hpp51
-rw-r--r--boost/geometry/srs/projections/proj/putp4p.hpp51
-rw-r--r--boost/geometry/srs/projections/proj/putp5.hpp51
-rw-r--r--boost/geometry/srs/projections/proj/putp6.hpp51
-rw-r--r--boost/geometry/srs/projections/proj/qsc.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/robin.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/rouss.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/rpoly.hpp39
-rw-r--r--boost/geometry/srs/projections/proj/sconics.hpp223
-rw-r--r--boost/geometry/srs/projections/proj/somerc.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/stere.hpp91
-rw-r--r--boost/geometry/srs/projections/proj/sterea.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/sts.hpp93
-rw-r--r--boost/geometry/srs/projections/proj/tcc.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/tcea.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/tmerc.hpp44
-rw-r--r--boost/geometry/srs/projections/proj/tpeqd.hpp47
-rw-r--r--boost/geometry/srs/projections/proj/urm5.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/urmfps.hpp61
-rw-r--r--boost/geometry/srs/projections/proj/vandg.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/vandg2.hpp56
-rw-r--r--boost/geometry/srs/projections/proj/vandg4.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/wag2.hpp33
-rw-r--r--boost/geometry/srs/projections/proj/wag3.hpp43
-rw-r--r--boost/geometry/srs/projections/proj/wag7.hpp31
-rw-r--r--boost/geometry/srs/projections/proj/wink1.hpp41
-rw-r--r--boost/geometry/srs/projections/proj/wink2.hpp41
-rw-r--r--boost/geometry/srs/projections/proj4.hpp162
-rw-r--r--boost/geometry/srs/projections/spar.hpp1183
-rw-r--r--boost/geometry/srs/projections/srid_traits.hpp86
-rw-r--r--boost/geometry/srs/transformation.hpp58
-rw-r--r--boost/geometry/strategies/agnostic/point_in_box_by_side.hpp3
-rw-r--r--boost/geometry/strategies/cartesian/distance_projected_point.hpp3
-rw-r--r--boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp3
-rw-r--r--boost/geometry/strategies/concepts/area_concept.hpp5
-rw-r--r--boost/geometry/strategies/concepts/centroid_concept.hpp5
-rw-r--r--boost/geometry/strategies/concepts/within_concept.hpp13
-rw-r--r--boost/geometry/strategies/geographic/intersection.hpp11
-rw-r--r--boost/geometry/util/math.hpp102
-rw-r--r--boost/geometry/util/normalize_spheroidal_coordinates.hpp32
-rw-r--r--boost/geometry/util/series_expansion.hpp746
-rw-r--r--boost/gil.hpp39
-rw-r--r--boost/gil/algorithm.hpp67
-rw-r--r--boost/gil/bit_aligned_pixel_iterator.hpp44
-rw-r--r--boost/gil/bit_aligned_pixel_reference.hpp102
-rw-r--r--boost/gil/channel.hpp168
-rw-r--r--boost/gil/channel_algorithm.hpp52
-rw-r--r--boost/gil/cmyk.hpp39
-rw-r--r--boost/gil/color_base.hpp41
-rw-r--r--boost/gil/color_base_algorithm.hpp140
-rw-r--r--boost/gil/color_convert.hpp63
-rw-r--r--boost/gil/concepts.hpp (renamed from boost/gil/gil_concept.hpp)381
-rw-r--r--boost/gil/deprecated.hpp38
-rw-r--r--boost/gil/device_n.hpp42
-rw-r--r--boost/gil/extension/dynamic_image/algorithm.hpp32
-rw-r--r--boost/gil/extension/dynamic_image/any_image.hpp86
-rw-r--r--boost/gil/extension/dynamic_image/any_image_view.hpp64
-rw-r--r--boost/gil/extension/dynamic_image/apply_operation.hpp54
-rw-r--r--boost/gil/extension/dynamic_image/apply_operation_base.hpp47
-rw-r--r--boost/gil/extension/dynamic_image/dynamic_at_c.hpp55
-rw-r--r--boost/gil/extension/dynamic_image/dynamic_image_all.hpp44
-rw-r--r--boost/gil/extension/dynamic_image/image_view_factory.hpp167
-rw-r--r--boost/gil/extension/dynamic_image/reduce.hpp146
-rw-r--r--boost/gil/extension/dynamic_image/variant.hpp81
-rw-r--r--boost/gil/extension/io/bmp.hpp25
-rw-r--r--boost/gil/extension/io/bmp/detail/is_allowed.hpp27
-rw-r--r--boost/gil/extension/io/bmp/detail/read.hpp43
-rw-r--r--boost/gil/extension/io/bmp/detail/reader_backend.hpp39
-rw-r--r--boost/gil/extension/io/bmp/detail/scanline_read.hpp39
-rw-r--r--boost/gil/extension/io/bmp/detail/supported_types.hpp38
-rw-r--r--boost/gil/extension/io/bmp/detail/write.hpp50
-rw-r--r--boost/gil/extension/io/bmp/detail/writer_backend.hpp37
-rw-r--r--boost/gil/extension/io/bmp/old.hpp45
-rw-r--r--boost/gil/extension/io/bmp/read.hpp39
-rw-r--r--boost/gil/extension/io/bmp/tags.hpp29
-rw-r--r--boost/gil/extension/io/bmp/write.hpp26
-rw-r--r--boost/gil/extension/io/jpeg.hpp25
-rw-r--r--boost/gil/extension/io/jpeg/detail/base.hpp38
-rw-r--r--boost/gil/extension/io/jpeg/detail/is_allowed.hpp25
-rw-r--r--boost/gil/extension/io/jpeg/detail/read.hpp53
-rw-r--r--boost/gil/extension/io/jpeg/detail/reader_backend.hpp58
-rw-r--r--boost/gil/extension/io/jpeg/detail/scanline_read.hpp49
-rw-r--r--boost/gil/extension/io/jpeg/detail/supported_types.hpp37
-rw-r--r--boost/gil/extension/io/jpeg/detail/write.hpp50
-rw-r--r--boost/gil/extension/io/jpeg/detail/writer_backend.hpp39
-rw-r--r--boost/gil/extension/io/jpeg/old.hpp61
-rw-r--r--boost/gil/extension/io/jpeg/read.hpp39
-rw-r--r--boost/gil/extension/io/jpeg/tags.hpp35
-rw-r--r--boost/gil/extension/io/jpeg/write.hpp26
-rw-r--r--boost/gil/extension/io/png.hpp25
-rw-r--r--boost/gil/extension/io/png/detail/base.hpp25
-rw-r--r--boost/gil/extension/io/png/detail/is_allowed.hpp28
-rw-r--r--boost/gil/extension/io/png/detail/read.hpp51
-rw-r--r--boost/gil/extension/io/png/detail/reader_backend.hpp43
-rw-r--r--boost/gil/extension/io/png/detail/scanline_read.hpp38
-rw-r--r--boost/gil/extension/io/png/detail/supported_types.hpp34
-rw-r--r--boost/gil/extension/io/png/detail/write.hpp51
-rw-r--r--boost/gil/extension/io/png/detail/writer_backend.hpp56
-rw-r--r--boost/gil/extension/io/png/old.hpp60
-rw-r--r--boost/gil/extension/io/png/read.hpp39
-rw-r--r--boost/gil/extension/io/png/tags.hpp39
-rw-r--r--boost/gil/extension/io/png/write.hpp28
-rw-r--r--boost/gil/extension/io/pnm.hpp25
-rw-r--r--boost/gil/extension/io/pnm/detail/is_allowed.hpp25
-rw-r--r--boost/gil/extension/io/pnm/detail/read.hpp58
-rw-r--r--boost/gil/extension/io/pnm/detail/reader_backend.hpp39
-rw-r--r--boost/gil/extension/io/pnm/detail/scanline_read.hpp55
-rw-r--r--boost/gil/extension/io/pnm/detail/supported_types.hpp30
-rw-r--r--boost/gil/extension/io/pnm/detail/write.hpp48
-rw-r--r--boost/gil/extension/io/pnm/detail/writer_backend.hpp37
-rw-r--r--boost/gil/extension/io/pnm/old.hpp61
-rw-r--r--boost/gil/extension/io/pnm/read.hpp35
-rw-r--r--boost/gil/extension/io/pnm/tags.hpp29
-rw-r--r--boost/gil/extension/io/pnm/write.hpp28
-rw-r--r--boost/gil/extension/io/raw.hpp25
-rw-r--r--boost/gil/extension/io/raw/detail/device.hpp35
-rw-r--r--boost/gil/extension/io/raw/detail/is_allowed.hpp26
-rw-r--r--boost/gil/extension/io/raw/detail/read.hpp51
-rw-r--r--boost/gil/extension/io/raw/detail/reader_backend.hpp39
-rw-r--r--boost/gil/extension/io/raw/detail/supported_types.hpp31
-rw-r--r--boost/gil/extension/io/raw/read.hpp36
-rw-r--r--boost/gil/extension/io/raw/tags.hpp28
-rw-r--r--boost/gil/extension/io/targa.hpp25
-rw-r--r--boost/gil/extension/io/targa/detail/is_allowed.hpp25
-rw-r--r--boost/gil/extension/io/targa/detail/read.hpp76
-rw-r--r--boost/gil/extension/io/targa/detail/reader_backend.hpp55
-rw-r--r--boost/gil/extension/io/targa/detail/scanline_read.hpp47
-rw-r--r--boost/gil/extension/io/targa/detail/supported_types.hpp34
-rw-r--r--boost/gil/extension/io/targa/detail/write.hpp44
-rw-r--r--boost/gil/extension/io/targa/detail/writer_backend.hpp37
-rw-r--r--boost/gil/extension/io/targa/old.hpp61
-rw-r--r--boost/gil/extension/io/targa/read.hpp37
-rw-r--r--boost/gil/extension/io/targa/tags.hpp49
-rw-r--r--boost/gil/extension/io/targa/write.hpp28
-rw-r--r--boost/gil/extension/io/tiff.hpp25
-rw-r--r--boost/gil/extension/io/tiff/detail/device.hpp57
-rw-r--r--boost/gil/extension/io/tiff/detail/is_allowed.hpp33
-rw-r--r--boost/gil/extension/io/tiff/detail/log.hpp27
-rw-r--r--boost/gil/extension/io/tiff/detail/read.hpp86
-rw-r--r--boost/gil/extension/io/tiff/detail/reader_backend.hpp39
-rw-r--r--boost/gil/extension/io/tiff/detail/scanline_read.hpp138
-rw-r--r--boost/gil/extension/io/tiff/detail/supported_types.hpp35
-rw-r--r--boost/gil/extension/io/tiff/detail/write.hpp74
-rw-r--r--boost/gil/extension/io/tiff/detail/writer_backend.hpp39
-rw-r--r--boost/gil/extension/io/tiff/old.hpp60
-rw-r--r--boost/gil/extension/io/tiff/read.hpp39
-rw-r--r--boost/gil/extension/io/tiff/tags.hpp30
-rw-r--r--boost/gil/extension/io/tiff/write.hpp29
-rw-r--r--boost/gil/extension/numeric/affine.hpp69
-rw-r--r--boost/gil/extension/numeric/algorithm.hpp50
-rw-r--r--boost/gil/extension/numeric/channel_numeric_operations.hpp46
-rw-r--r--boost/gil/extension/numeric/convolve.hpp53
-rw-r--r--boost/gil/extension/numeric/kernel.hpp45
-rw-r--r--boost/gil/extension/numeric/pixel_numeric_operations.hpp62
-rw-r--r--boost/gil/extension/numeric/resample.hpp55
-rw-r--r--boost/gil/extension/numeric/sampler.hpp57
-rw-r--r--boost/gil/extension/toolbox/color_converters.hpp27
-rw-r--r--boost/gil/extension/toolbox/color_converters/gray_to_rgba.hpp31
-rw-r--r--boost/gil/extension/toolbox/color_converters/rgb_to_luminance.hpp27
-rw-r--r--boost/gil/extension/toolbox/color_spaces.hpp27
-rw-r--r--boost/gil/extension/toolbox/color_spaces/cmyka.hpp40
-rw-r--r--boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp41
-rw-r--r--boost/gil/extension/toolbox/color_spaces/hsl.hpp27
-rw-r--r--boost/gil/extension/toolbox/color_spaces/hsv.hpp34
-rw-r--r--boost/gil/extension/toolbox/color_spaces/lab.hpp32
-rw-r--r--boost/gil/extension/toolbox/color_spaces/xyz.hpp27
-rw-r--r--boost/gil/extension/toolbox/color_spaces/ycbcr.hpp74
-rw-r--r--boost/gil/extension/toolbox/dynamic_images.hpp34
-rw-r--r--boost/gil/extension/toolbox/image_types.hpp27
-rw-r--r--boost/gil/extension/toolbox/image_types/indexed_image.hpp44
-rw-r--r--boost/gil/extension/toolbox/image_types/subchroma_image.hpp77
-rw-r--r--boost/gil/extension/toolbox/metafunctions.hpp27
-rw-r--r--boost/gil/extension/toolbox/metafunctions/channel_type.hpp65
-rw-r--r--boost/gil/extension/toolbox/metafunctions/channel_view.hpp31
-rw-r--r--boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp32
-rw-r--r--boost/gil/extension/toolbox/metafunctions/get_pixel_type.hpp29
-rw-r--r--boost/gil/extension/toolbox/metafunctions/gil_extensions.hpp42
-rw-r--r--boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp35
-rw-r--r--boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp47
-rw-r--r--boost/gil/extension/toolbox/metafunctions/is_similar.hpp27
-rw-r--r--boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp43
-rw-r--r--boost/gil/extension/toolbox/toolbox.hpp30
-rw-r--r--boost/gil/gil_all.hpp46
-rw-r--r--boost/gil/gil_config.hpp60
-rw-r--r--boost/gil/gray.hpp39
-rw-r--r--boost/gil/image.hpp58
-rw-r--r--boost/gil/image_view.hpp100
-rw-r--r--boost/gil/image_view_factory.hpp92
-rw-r--r--boost/gil/io/base.hpp54
-rw-r--r--boost/gil/io/bit_operations.hpp29
-rw-r--r--boost/gil/io/conversion_policies.hpp33
-rw-r--r--boost/gil/io/device.hpp49
-rw-r--r--boost/gil/io/dynamic_io_new.hpp30
-rw-r--r--boost/gil/io/error.hpp37
-rw-r--r--boost/gil/io/get_read_device.hpp29
-rw-r--r--boost/gil/io/get_reader.hpp27
-rw-r--r--boost/gil/io/get_write_device.hpp28
-rw-r--r--boost/gil/io/get_writer.hpp27
-rw-r--r--boost/gil/io/io.hpp63
-rw-r--r--boost/gil/io/make_backend.hpp30
-rw-r--r--boost/gil/io/make_dynamic_image_reader.hpp27
-rw-r--r--boost/gil/io/make_dynamic_image_writer.hpp27
-rw-r--r--boost/gil/io/make_reader.hpp27
-rw-r--r--boost/gil/io/make_scanline_reader.hpp27
-rw-r--r--boost/gil/io/make_writer.hpp27
-rw-r--r--boost/gil/io/path_spec.hpp35
-rw-r--r--boost/gil/io/read_and_convert_image.hpp36
-rw-r--r--boost/gil/io/read_and_convert_view.hpp44
-rw-r--r--boost/gil/io/read_image.hpp37
-rw-r--r--boost/gil/io/read_image_info.hpp42
-rw-r--r--boost/gil/io/read_view.hpp33
-rw-r--r--boost/gil/io/reader_base.hpp29
-rw-r--r--boost/gil/io/row_buffer_helper.hpp70
-rw-r--r--boost/gil/io/scanline_read_iterator.hpp30
-rw-r--r--boost/gil/io/typedefs.hpp48
-rw-r--r--boost/gil/io/write_view.hpp28
-rw-r--r--boost/gil/iterator_from_2d.hpp57
-rw-r--r--boost/gil/locator.hpp49
-rw-r--r--boost/gil/metafunctions.hpp49
-rw-r--r--boost/gil/packed_pixel.hpp42
-rw-r--r--boost/gil/pixel.hpp53
-rw-r--r--boost/gil/pixel_iterator.hpp40
-rw-r--r--boost/gil/pixel_iterator_adaptor.hpp45
-rw-r--r--boost/gil/planar_pixel_iterator.hpp43
-rw-r--r--boost/gil/planar_pixel_reference.hpp59
-rw-r--r--boost/gil/point.hpp277
-rw-r--r--boost/gil/position_iterator.hpp35
-rw-r--r--boost/gil/premultiply.hpp117
-rw-r--r--boost/gil/promote_integral.hpp8
-rw-r--r--boost/gil/rgb.hpp42
-rw-r--r--boost/gil/rgba.hpp45
-rw-r--r--boost/gil/step_iterator.hpp44
-rw-r--r--boost/gil/typedefs.hpp20
-rw-r--r--boost/gil/utilities.hpp337
-rw-r--r--boost/gil/version.hpp27
-rw-r--r--boost/gil/virtual_locator.hpp37
-rw-r--r--boost/heap/binomial_heap.hpp41
-rw-r--r--boost/heap/d_ary_heap.hpp12
-rw-r--r--boost/heap/detail/heap_comparison.hpp5
-rw-r--r--boost/heap/detail/heap_node.hpp29
-rw-r--r--boost/heap/detail/mutable_heap.hpp8
-rw-r--r--boost/heap/detail/ordered_adaptor_iterator.hpp4
-rw-r--r--boost/heap/detail/stable_heap.hpp10
-rw-r--r--boost/heap/detail/tree_iterator.hpp11
-rw-r--r--boost/heap/fibonacci_heap.hpp41
-rw-r--r--boost/heap/heap_merge.hpp9
-rw-r--r--boost/heap/pairing_heap.hpp49
-rw-r--r--boost/heap/policies.hpp32
-rw-r--r--boost/heap/priority_queue.hpp10
-rw-r--r--boost/heap/skew_heap.hpp82
-rw-r--r--boost/integer/common_factor_rt.hpp8
-rw-r--r--boost/interprocess/detail/file_wrapper.hpp7
-rw-r--r--boost/interprocess/detail/win32_api.hpp36
-rw-r--r--boost/interprocess/exceptions.hpp8
-rw-r--r--boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp2
-rw-r--r--boost/interprocess/sync/shm/named_condition_any.hpp15
-rw-r--r--boost/intrusive/avltree_algorithms.hpp88
-rw-r--r--boost/intrusive/bstree_algorithms.hpp78
-rw-r--r--boost/intrusive/circular_list_algorithms.hpp30
-rw-r--r--boost/intrusive/circular_slist_algorithms.hpp14
-rw-r--r--boost/intrusive/derivation_value_traits.hpp2
-rw-r--r--boost/intrusive/detail/any_node_and_algorithms.hpp28
-rw-r--r--boost/intrusive/detail/avltree_node.hpp18
-rw-r--r--boost/intrusive/detail/common_slist_algorithms.hpp14
-rw-r--r--boost/intrusive/detail/list_iterator.hpp2
-rw-r--r--boost/intrusive/detail/list_node.hpp4
-rw-r--r--boost/intrusive/detail/node_cloner_disposer.hpp4
-rw-r--r--boost/intrusive/detail/rbtree_node.hpp12
-rw-r--r--boost/intrusive/detail/simple_disposers.hpp2
-rw-r--r--boost/intrusive/detail/slist_iterator.hpp2
-rw-r--r--boost/intrusive/detail/slist_node.hpp2
-rw-r--r--boost/intrusive/detail/tree_iterator.hpp2
-rw-r--r--boost/intrusive/detail/tree_node.hpp6
-rw-r--r--boost/intrusive/detail/tree_value_compare.hpp47
-rw-r--r--boost/intrusive/hashtable.hpp24
-rw-r--r--boost/intrusive/linear_slist_algorithms.hpp8
-rw-r--r--boost/intrusive/rbtree_algorithms.hpp78
-rw-r--r--boost/intrusive/sgtree_algorithms.hpp122
-rw-r--r--boost/intrusive/slist.hpp8
-rw-r--r--boost/intrusive/splaytree_algorithms.hpp132
-rw-r--r--boost/intrusive/treap_algorithms.hpp108
-rw-r--r--boost/intrusive/unordered_set.hpp8
-rw-r--r--boost/intrusive/unordered_set_hook.hpp6
-rw-r--r--boost/iostreams/chain.hpp12
-rw-r--r--boost/iostreams/detail/adapter/direct_adapter.hpp1
-rw-r--r--boost/iostreams/detail/adapter/non_blocking_adapter.hpp2
-rw-r--r--boost/iostreams/detail/buffer.hpp2
-rw-r--r--boost/iostreams/detail/config/codecvt.hpp2
-rw-r--r--boost/iostreams/detail/config/fpos.hpp11
-rw-r--r--boost/iostreams/detail/config/wide_streams.hpp3
-rw-r--r--boost/iostreams/detail/restrict_impl.hpp2
-rw-r--r--boost/iostreams/detail/streambuf/direct_streambuf.hpp4
-rw-r--r--boost/iostreams/detail/streambuf/indirect_streambuf.hpp4
-rw-r--r--boost/iostreams/detail/streambuf/linked_streambuf.hpp4
-rw-r--r--boost/iostreams/filter/bzip2.hpp11
-rw-r--r--boost/iostreams/filter/zstd.hpp363
-rw-r--r--boost/iterator/advance.hpp2
-rw-r--r--boost/iterator/distance.hpp2
-rw-r--r--boost/lambda/algorithm.hpp3
-rw-r--r--boost/last_value.hpp54
-rw-r--r--boost/lexical_cast.hpp2
-rw-r--r--boost/lexical_cast/bad_lexical_cast.hpp2
-rw-r--r--boost/lexical_cast/detail/converter_lexical.hpp46
-rw-r--r--boost/lexical_cast/detail/converter_lexical_streams.hpp8
-rw-r--r--boost/lexical_cast/detail/converter_numeric.hpp26
-rw-r--r--boost/lexical_cast/detail/inf_nan.hpp2
-rw-r--r--boost/lexical_cast/detail/is_character.hpp9
-rw-r--r--boost/lexical_cast/detail/lcast_char_constants.hpp2
-rw-r--r--boost/lexical_cast/detail/lcast_unsigned_converters.hpp10
-rw-r--r--boost/lexical_cast/detail/widest_char.hpp7
-rw-r--r--boost/lexical_cast/lexical_cast_old.hpp3
-rw-r--r--boost/lexical_cast/try_lexical_convert.hpp31
-rw-r--r--boost/locale/definitions.hpp16
-rw-r--r--boost/log/detail/config.hpp2
-rw-r--r--boost/logic/tribool.hpp15
-rw-r--r--boost/logic/tribool_io.hpp6
-rw-r--r--boost/math/constants/calculate_constants.hpp19
-rw-r--r--boost/math/constants/constants.hpp8
-rw-r--r--boost/math/cstdfloat/cstdfloat_cmath.hpp4
-rw-r--r--boost/math/distributions/extreme_value.hpp4
-rw-r--r--boost/math/interpolators/barycentric_rational.hpp8
-rw-r--r--boost/math/interpolators/detail/barycentric_rational_detail.hpp39
-rw-r--r--boost/math/quadrature/detail/exp_sinh_detail.hpp16
-rw-r--r--boost/math/quadrature/detail/sinh_sinh_detail.hpp16
-rw-r--r--boost/math/quadrature/detail/tanh_sinh_detail.hpp44
-rw-r--r--boost/math/quadrature/tanh_sinh.hpp41
-rw-r--r--boost/math/special_functions.hpp1
-rw-r--r--boost/math/special_functions/detail/fp_traits.hpp26
-rw-r--r--boost/math/special_functions/detail/lambert_w_lookup_table.ipp134
-rw-r--r--boost/math/special_functions/erf.hpp3
-rw-r--r--boost/math/special_functions/lambert_w.hpp2176
-rw-r--r--boost/math/special_functions/math_fwd.hpp27
-rw-r--r--boost/math/special_functions/next.hpp2
-rw-r--r--boost/math/special_functions/relative_difference.hpp2
-rw-r--r--boost/math/special_functions/trunc.hpp2
-rw-r--r--boost/math/tools/complex.hpp57
-rw-r--r--boost/math/tools/fraction.hpp51
-rw-r--r--boost/math/tools/precision.hpp2
-rw-r--r--boost/math/tools/roots.hpp15
-rw-r--r--boost/math/tools/series.hpp2
-rw-r--r--boost/math/tools/test_value.hpp118
-rw-r--r--boost/math/tools/toms748_solve.hpp8
-rw-r--r--boost/move/algo/move.hpp2
-rw-r--r--boost/move/algorithm.hpp2
-rw-r--r--boost/move/core.hpp10
-rw-r--r--boost/move/detail/meta_utils.hpp2
-rw-r--r--boost/move/detail/type_traits.hpp6
-rw-r--r--boost/mp11/algorithm.hpp88
-rw-r--r--boost/mp11/bind.hpp13
-rw-r--r--boost/mp11/detail/config.hpp106
-rw-r--r--boost/mp11/detail/mp_append.hpp7
-rw-r--r--boost/mp11/detail/mp_count.hpp3
-rw-r--r--boost/mp11/detail/mp_fold.hpp5
-rw-r--r--boost/mp11/detail/mp_plus.hpp5
-rw-r--r--boost/mp11/detail/mp_with_index.hpp56
-rw-r--r--boost/mp11/function.hpp7
-rw-r--r--boost/mp11/list.hpp3
-rw-r--r--boost/mp11/tuple.hpp21
-rw-r--r--boost/mp11/utility.hpp13
-rw-r--r--boost/mpi/collectives/all_reduce.hpp4
-rw-r--r--boost/mpi/collectives/reduce.hpp4
-rw-r--r--boost/mpi/collectives/scan.hpp2
-rw-r--r--boost/mpi/communicator.hpp218
-rw-r--r--boost/mpi/operations.hpp10
-rw-r--r--boost/mpi/request.hpp9
-rw-r--r--boost/mpi/seq.hpp21
-rw-r--r--boost/mpl/assert.hpp11
-rw-r--r--boost/multi_array.hpp166
-rw-r--r--boost/multi_array/allocators.hpp72
-rw-r--r--boost/multi_index/key.hpp147
-rw-r--r--boost/multiprecision/complex_adaptor.hpp21
-rw-r--r--boost/multiprecision/cpp_bin_float.hpp1
-rw-r--r--boost/multiprecision/cpp_complex.hpp2
-rw-r--r--boost/multiprecision/cpp_int.hpp42
-rw-r--r--boost/multiprecision/cpp_int/bitwise.hpp12
-rw-r--r--boost/multiprecision/cpp_int/import_export.hpp2
-rw-r--r--boost/multiprecision/cpp_int/multiply.hpp4
-rw-r--r--boost/multiprecision/detail/bitscan.hpp6
-rw-r--r--boost/multiprecision/detail/default_ops.hpp114
-rw-r--r--boost/multiprecision/detail/functions/constants.hpp63
-rw-r--r--boost/multiprecision/detail/functions/pow.hpp15
-rw-r--r--boost/multiprecision/detail/no_et_ops.hpp36
-rw-r--r--boost/multiprecision/detail/number_base.hpp3
-rw-r--r--boost/multiprecision/detail/precision.hpp139
-rw-r--r--boost/multiprecision/float128.hpp89
-rw-r--r--boost/multiprecision/gmp.hpp48
-rw-r--r--boost/multiprecision/mpc.hpp301
-rw-r--r--boost/multiprecision/mpfi.hpp65
-rw-r--r--boost/multiprecision/mpfr.hpp107
-rw-r--r--boost/multiprecision/number.hpp337
-rw-r--r--boost/multiprecision/traits/is_variable_precision.hpp24
-rw-r--r--boost/optional/detail/old_optional_implementation.hpp21
-rw-r--r--boost/optional/detail/optional_trivially_copyable_base.hpp6
-rw-r--r--boost/optional/optional.hpp14
-rwxr-xr-x[-rw-r--r--]boost/parameter/aux_/python/invoker.hpp0
-rwxr-xr-x[-rw-r--r--]boost/parameter/aux_/python/invoker_iterate.hpp0
-rwxr-xr-x[-rw-r--r--]boost/parameter/python.hpp11
-rw-r--r--boost/pending/integer_log2.hpp6
-rw-r--r--boost/poly_collection/algorithm.hpp127
-rw-r--r--boost/polygon/detail/iterator_geometry_to_set.hpp2
-rw-r--r--boost/polygon/isotropy.hpp83
-rw-r--r--boost/polygon/polygon_traits.hpp18
-rw-r--r--boost/pool/detail/mutex.hpp144
-rw-r--r--boost/predef/compiler/compaq.h2
-rw-r--r--boost/predef/compiler/nvcc.h35
-rw-r--r--boost/predef/detail/endian_compat.h4
-rw-r--r--boost/predef/os/cygwin.h7
-rw-r--r--boost/predef/version.h2
-rw-r--r--boost/preprocessor/config/config.hpp25
-rw-r--r--boost/preprocessor/stringize.hpp4
-rw-r--r--boost/preprocessor/wstringize.hpp4
-rw-r--r--boost/process/detail/posix/executor.hpp22
-rw-r--r--boost/process/detail/posix/wait_for_exit.hpp32
-rw-r--r--boost/process/detail/posix/wait_group.hpp81
-rw-r--r--boost/process/detail/windows/executor.hpp2
-rw-r--r--boost/process/detail/windows/group_handle.hpp27
-rw-r--r--boost/process/detail/windows/job_workaround.hpp242
-rw-r--r--boost/process/detail/windows/wait_group.hpp73
-rw-r--r--boost/process/system.hpp2
-rw-r--r--boost/property_map/property_map.hpp1
-rw-r--r--boost/qvm/all.hpp64
-rw-r--r--boost/qvm/assert.hpp18
-rw-r--r--boost/qvm/deduce_mat.hpp180
-rw-r--r--boost/qvm/deduce_quat.hpp126
-rw-r--r--boost/qvm/deduce_scalar.hpp262
-rw-r--r--boost/qvm/deduce_vec.hpp170
-rw-r--r--boost/qvm/detail/cofactor_impl.hpp128
-rw-r--r--boost/qvm/detail/determinant_impl.hpp158
-rw-r--r--boost/qvm/detail/mat_assign.hpp150
-rw-r--r--boost/qvm/detail/quat_assign.hpp70
-rw-r--r--boost/qvm/detail/remove_const.hpp70
-rw-r--r--boost/qvm/detail/swizzle_traits.hpp676
-rw-r--r--boost/qvm/detail/transp_impl.hpp256
-rw-r--r--boost/qvm/detail/vec_assign.hpp142
-rw-r--r--boost/qvm/enable_if.hpp48
-rw-r--r--boost/qvm/error.hpp80
-rw-r--r--boost/qvm/gen/mat_assign2.hpp250
-rw-r--r--boost/qvm/gen/mat_assign3.hpp264
-rw-r--r--boost/qvm/gen/mat_assign4.hpp282
-rw-r--r--boost/qvm/gen/mat_operations2.hpp3440
-rw-r--r--boost/qvm/gen/mat_operations3.hpp3830
-rw-r--r--boost/qvm/gen/mat_operations4.hpp4258
-rw-r--r--boost/qvm/gen/swizzle2.hpp1428
-rw-r--r--boost/qvm/gen/swizzle3.hpp8316
-rw-r--r--boost/qvm/gen/swizzle4.hpp48660
-rw-r--r--boost/qvm/gen/vec_assign2.hpp112
-rw-r--r--boost/qvm/gen/vec_assign3.hpp114
-rw-r--r--boost/qvm/gen/vec_assign4.hpp116
-rw-r--r--boost/qvm/gen/vec_mat_operations2.hpp228
-rw-r--r--boost/qvm/gen/vec_mat_operations3.hpp256
-rw-r--r--boost/qvm/gen/vec_mat_operations4.hpp292
-rw-r--r--boost/qvm/gen/vec_operations2.hpp1264
-rw-r--r--boost/qvm/gen/vec_operations3.hpp1306
-rw-r--r--boost/qvm/gen/vec_operations4.hpp1348
-rw-r--r--boost/qvm/inline.hpp68
-rw-r--r--boost/qvm/map.hpp26
-rw-r--r--boost/qvm/map_mat_mat.hpp1790
-rw-r--r--boost/qvm/map_mat_vec.hpp1074
-rw-r--r--boost/qvm/map_vec_mat.hpp1182
-rw-r--r--boost/qvm/mat.hpp196
-rw-r--r--boost/qvm/mat_access.hpp516
-rw-r--r--boost/qvm/mat_operations.hpp4940
-rw-r--r--boost/qvm/mat_operations2.hpp12
-rw-r--r--boost/qvm/mat_operations3.hpp12
-rw-r--r--boost/qvm/mat_operations4.hpp12
-rw-r--r--boost/qvm/mat_traits.hpp66
-rw-r--r--boost/qvm/mat_traits_array.hpp236
-rw-r--r--boost/qvm/mat_traits_defaults.hpp190
-rw-r--r--boost/qvm/math.hpp174
-rw-r--r--boost/qvm/operations.hpp30
-rw-r--r--boost/qvm/quat.hpp136
-rw-r--r--boost/qvm/quat_access.hpp256
-rw-r--r--boost/qvm/quat_operations.hpp2986
-rw-r--r--boost/qvm/quat_traits.hpp98
-rw-r--r--boost/qvm/quat_traits_array.hpp260
-rw-r--r--boost/qvm/quat_traits_defaults.hpp80
-rw-r--r--boost/qvm/quat_vec_operations.hpp124
-rw-r--r--boost/qvm/scalar_traits.hpp184
-rw-r--r--boost/qvm/static_assert.hpp18
-rw-r--r--boost/qvm/swizzle.hpp26
-rw-r--r--boost/qvm/swizzle2.hpp12
-rw-r--r--boost/qvm/swizzle3.hpp12
-rw-r--r--boost/qvm/swizzle4.hpp12
-rw-r--r--boost/qvm/throw_exception.hpp18
-rw-r--r--boost/qvm/to_string.hpp62
-rw-r--r--boost/qvm/vec.hpp178
-rw-r--r--boost/qvm/vec_access.hpp164
-rw-r--r--boost/qvm/vec_mat_operations.hpp336
-rw-r--r--boost/qvm/vec_mat_operations2.hpp12
-rw-r--r--boost/qvm/vec_mat_operations3.hpp12
-rw-r--r--boost/qvm/vec_mat_operations4.hpp12
-rw-r--r--boost/qvm/vec_operations.hpp1926
-rw-r--r--boost/qvm/vec_operations2.hpp12
-rw-r--r--boost/qvm/vec_operations3.hpp12
-rw-r--r--boost/qvm/vec_operations4.hpp12
-rw-r--r--boost/qvm/vec_traits.hpp64
-rw-r--r--boost/qvm/vec_traits_array.hpp216
-rw-r--r--boost/qvm/vec_traits_defaults.hpp188
-rw-r--r--boost/range/adaptor/ref_unwrapped.hpp12
-rw-r--r--boost/range/algorithm/random_shuffle.hpp8
-rw-r--r--boost/range/begin.hpp12
-rw-r--r--boost/range/distance.hpp13
-rw-r--r--boost/range/end.hpp12
-rw-r--r--boost/ratio/config.hpp8
-rw-r--r--boost/rational.hpp81
-rw-r--r--boost/regex/concepts.hpp5
-rw-r--r--boost/regex/config.hpp12
-rw-r--r--boost/regex/icu.hpp39
-rw-r--r--boost/regex/v4/basic_regex.hpp8
-rw-r--r--boost/regex/v4/basic_regex_creator.hpp4
-rw-r--r--boost/regex/v4/basic_regex_parser.hpp7
-rw-r--r--boost/regex/v4/fileiter.hpp3
-rw-r--r--boost/regex/v4/instances.hpp19
-rw-r--r--boost/regex/v4/match_flags.hpp3
-rw-r--r--boost/regex/v4/match_results.hpp15
-rw-r--r--boost/regex/v4/perl_matcher.hpp9
-rw-r--r--boost/regex/v4/perl_matcher_common.hpp10
-rw-r--r--boost/regex/v4/perl_matcher_non_recursive.hpp8
-rw-r--r--boost/regex/v4/regex_format.hpp5
-rw-r--r--boost/regex/v4/regex_iterator.hpp8
-rw-r--r--boost/regex/v4/regex_raw_buffer.hpp6
-rw-r--r--boost/regex/v4/regex_split.hpp4
-rw-r--r--boost/regex/v4/regex_token_iterator.hpp8
-rw-r--r--boost/regex/v4/regex_traits_defaults.hpp23
-rw-r--r--boost/regex/v4/regex_workaround.hpp11
-rw-r--r--boost/regex/v4/u32regex_iterator.hpp10
-rw-r--r--boost/regex/v4/u32regex_token_iterator.hpp12
-rw-r--r--boost/regex/v4/w32_regex_traits.hpp2
-rw-r--r--boost/safe_numerics/CMakeLists.txt13
-rw-r--r--boost/safe_numerics/automatic.hpp455
-rw-r--r--boost/safe_numerics/checked_default.hpp203
-rw-r--r--boost/safe_numerics/checked_float.hpp175
-rw-r--r--boost/safe_numerics/checked_integer.hpp822
-rw-r--r--boost/safe_numerics/checked_result.hpp97
-rw-r--r--boost/safe_numerics/checked_result_operations.hpp1174
-rw-r--r--boost/safe_numerics/concept/CMakeLists.txt14
-rw-r--r--boost/safe_numerics/concept/exception_policy.hpp34
-rw-r--r--boost/safe_numerics/concept/integer.hpp32
-rw-r--r--boost/safe_numerics/concept/numeric.hpp34
-rw-r--r--boost/safe_numerics/concept/promotion_policy.hpp38
-rw-r--r--boost/safe_numerics/concept/safe_numeric.hpp39
-rwxr-xr-xboost/safe_numerics/cpp.hpp202
-rw-r--r--boost/safe_numerics/exception.hpp187
-rw-r--r--boost/safe_numerics/exception_policies.hpp195
-rw-r--r--boost/safe_numerics/interval.hpp315
-rw-r--r--boost/safe_numerics/native.hpp115
-rw-r--r--boost/safe_numerics/range_value.hpp76
-rw-r--r--boost/safe_numerics/safe_base.hpp362
-rw-r--r--boost/safe_numerics/safe_base_operations.hpp1665
-rw-r--r--boost/safe_numerics/safe_common.hpp49
-rw-r--r--boost/safe_numerics/safe_compare.hpp185
-rw-r--r--boost/safe_numerics/safe_integer.hpp46
-rw-r--r--boost/safe_numerics/safe_integer_literal.hpp251
-rw-r--r--boost/safe_numerics/safe_integer_range.hpp65
-rw-r--r--boost/safe_numerics/utility.hpp259
-rw-r--r--boost/scope_exit.hpp29
-rw-r--r--boost/serialization/export.hpp2
-rw-r--r--boost/serialization/singleton.hpp127
-rw-r--r--boost/signal.hpp366
-rw-r--r--boost/signals.hpp10
-rw-r--r--boost/signals/connection.hpp213
-rw-r--r--boost/signals/detail/config.hpp54
-rw-r--r--boost/signals/detail/gen_signal_N.pl132
-rw-r--r--boost/signals/detail/named_slot_map.hpp192
-rw-r--r--boost/signals/detail/signal_base.hpp159
-rw-r--r--boost/signals/detail/signals_common.hpp144
-rw-r--r--boost/signals/detail/slot_call_iterator.hpp95
-rw-r--r--boost/signals/signal0.hpp37
-rw-r--r--boost/signals/signal1.hpp37
-rw-r--r--boost/signals/signal10.hpp37
-rw-r--r--boost/signals/signal2.hpp37
-rw-r--r--boost/signals/signal3.hpp37
-rw-r--r--boost/signals/signal4.hpp37
-rw-r--r--boost/signals/signal5.hpp37
-rw-r--r--boost/signals/signal6.hpp37
-rw-r--r--boost/signals/signal7.hpp37
-rw-r--r--boost/signals/signal8.hpp37
-rw-r--r--boost/signals/signal9.hpp37
-rw-r--r--boost/signals/signal_template.hpp401
-rw-r--r--boost/signals/slot.hpp157
-rw-r--r--boost/signals/trackable.hpp173
-rw-r--r--boost/smart_ptr/allocate_local_shared_array.hpp2
-rw-r--r--boost/smart_ptr/allocate_shared_array.hpp175
-rw-r--r--boost/smart_ptr/detail/local_counted_base.hpp6
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_aix.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_clang.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_nt.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_pt.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_solaris.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_spin.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_sync.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_base_w32.hpp3
-rw-r--r--boost/smart_ptr/detail/sp_counted_impl.hpp6
-rw-r--r--boost/smart_ptr/detail/sp_interlocked.hpp5
-rw-r--r--boost/sort/block_indirect_sort/blk_detail/parallel_sort.hpp2
-rw-r--r--boost/sort/block_indirect_sort/block_indirect_sort.hpp10
-rwxr-xr-x[-rw-r--r--]boost/sort/common/pivot.hpp17
-rw-r--r--boost/sort/parallel_stable_sort/parallel_stable_sort.hpp28
-rw-r--r--boost/sort/spreadsort/detail/constants.hpp4
-rw-r--r--boost/sort/spreadsort/detail/float_sort.hpp30
-rw-r--r--boost/sort/spreadsort/detail/integer_sort.hpp26
-rw-r--r--boost/sort/spreadsort/detail/spreadsort_common.hpp1
-rw-r--r--boost/sort/spreadsort/detail/string_sort.hpp40
-rw-r--r--boost/sort/spreadsort/float_sort.hpp6
-rw-r--r--boost/sort/spreadsort/integer_sort.hpp18
-rw-r--r--boost/sort/spreadsort/string_sort.hpp38
-rw-r--r--boost/spirit/home/classic/error_handling/exceptions.hpp2
-rw-r--r--boost/spirit/home/classic/iterator/multi_pass.hpp2
-rw-r--r--boost/spirit/home/classic/utility/loops.hpp2
-rw-r--r--boost/spirit/home/classic/version.hpp2
-rw-r--r--boost/spirit/home/karma/detail/attributes.hpp8
-rw-r--r--boost/spirit/home/karma/detail/output_iterator.hpp2
-rw-r--r--boost/spirit/home/karma/numeric/detail/numeric_utils.hpp1
-rw-r--r--boost/spirit/home/qi/detail/attributes.hpp10
-rw-r--r--boost/spirit/home/qi/detail/expectation_failure.hpp3
-rw-r--r--boost/spirit/home/support/attributes.hpp12
-rw-r--r--boost/spirit/home/support/detail/endian/endian.hpp14
-rw-r--r--boost/spirit/home/support/detail/lexer/runtime_error.hpp3
-rw-r--r--boost/spirit/home/support/detail/math/detail/fp_traits.hpp583
-rw-r--r--boost/spirit/home/support/detail/math/fpclassify.hpp235
-rw-r--r--boost/spirit/home/support/detail/math/signbit.hpp92
-rw-r--r--boost/spirit/home/support/detail/sign.hpp39
-rw-r--r--boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp2
-rw-r--r--boost/spirit/home/support/utf8.hpp38
-rw-r--r--boost/spirit/home/support/utree/utree.hpp2
-rw-r--r--boost/spirit/home/x3/directive/expect.hpp3
-rw-r--r--boost/spirit/home/x3/support/numeric_utils/sign.hpp16
-rw-r--r--boost/spirit/home/x3/support/utility/utf8.hpp38
-rw-r--r--boost/spirit/home/x3/version.hpp2
-rw-r--r--boost/spirit/include/version.hpp2
-rw-r--r--boost/stacktrace.hpp2
-rw-r--r--boost/stacktrace/detail/libbacktrace_impls.hpp94
-rw-r--r--boost/stacktrace/frame.hpp2
-rw-r--r--boost/stacktrace/safe_dump_to.hpp6
-rw-r--r--boost/stacktrace/stacktrace.hpp38
-rw-r--r--boost/stacktrace/stacktrace_fwd.hpp2
-rw-r--r--boost/statechart/asynchronous_state_machine.hpp2
-rw-r--r--boost/statechart/detail/memory.hpp37
-rw-r--r--boost/statechart/event.hpp2
-rw-r--r--boost/statechart/fifo_scheduler.hpp2
-rw-r--r--boost/statechart/fifo_worker.hpp2
-rw-r--r--boost/statechart/processor_container.hpp2
-rw-r--r--boost/statechart/state_machine.hpp2
-rw-r--r--boost/system/config.hpp28
-rw-r--r--boost/system/detail/config.hpp57
-rw-r--r--boost/system/detail/error_code.ipp496
-rw-r--r--boost/system/detail/generic_category.hpp101
-rw-r--r--boost/system/detail/local_free_on_destruction.hpp42
-rw-r--r--boost/system/detail/std_interoperability.hpp141
-rw-r--r--boost/system/detail/system_category_posix.hpp132
-rw-r--r--boost/system/detail/system_category_win32.hpp324
-rw-r--r--boost/system/error_code.hpp1376
-rw-r--r--boost/system/system_error.hpp6
-rw-r--r--boost/test/data/monomorphic/delayed.hpp1
-rw-r--r--boost/test/data/monomorphic/grid.hpp1
-rw-r--r--boost/test/data/monomorphic/initializer_list.hpp3
-rw-r--r--boost/test/data/monomorphic/join.hpp22
-rw-r--r--boost/test/data/monomorphic/zip.hpp5
-rw-r--r--boost/test/data/test_case.hpp6
-rw-r--r--boost/test/detail/enable_warnings.hpp2
-rw-r--r--boost/test/detail/global_typedef.hpp34
-rw-r--r--boost/test/detail/suppress_warnings.hpp4
-rw-r--r--boost/test/detail/throw_exception.hpp2
-rw-r--r--boost/test/execution_monitor.hpp2
-rw-r--r--boost/test/framework.hpp2
-rw-r--r--boost/test/impl/compiler_log_formatter.ipp17
-rw-r--r--boost/test/impl/decorator.ipp20
-rw-r--r--boost/test/impl/execution_monitor.ipp20
-rw-r--r--boost/test/impl/framework.ipp2
-rw-r--r--boost/test/impl/progress_monitor.ipp8
-rw-r--r--boost/test/impl/results_collector.ipp4
-rw-r--r--boost/test/impl/test_framework_init_observer.ipp8
-rw-r--r--boost/test/impl/test_tree.ipp46
-rw-r--r--boost/test/impl/unit_test_log.ipp4
-rw-r--r--boost/test/impl/unit_test_monitor.ipp3
-rw-r--r--boost/test/progress_monitor.hpp5
-rw-r--r--boost/test/results_collector.hpp7
-rw-r--r--boost/test/test_framework_init_observer.hpp6
-rw-r--r--boost/test/tools/assertion.hpp9
-rw-r--r--boost/test/tools/collection_comparison_op.hpp1
-rw-r--r--boost/test/tools/detail/print_helper.hpp2
-rw-r--r--boost/test/tools/floating_point_comparison.hpp4
-rw-r--r--boost/test/tools/fpc_op.hpp6
-rw-r--r--boost/test/tree/auto_registration.hpp8
-rw-r--r--boost/test/tree/decorator.hpp21
-rw-r--r--boost/test/tree/test_case_template.hpp1
-rw-r--r--boost/test/tree/test_unit.hpp8
-rw-r--r--boost/test/unit_test_log.hpp4
-rw-r--r--boost/test/unit_test_monitor.hpp5
-rw-r--r--boost/test/unit_test_suite.hpp16
-rw-r--r--boost/test/utils/is_forward_iterable.hpp6
-rw-r--r--boost/test/utils/runtime/argument_factory.hpp1
-rw-r--r--boost/test/utils/runtime/cla/argv_traverser.hpp1
-rw-r--r--boost/test/utils/runtime/cla/parser.hpp2
-rw-r--r--boost/test/utils/runtime/errors.hpp8
-rw-r--r--boost/test/utils/runtime/modifier.hpp1
-rw-r--r--boost/test/utils/runtime/parameter.hpp2
-rw-r--r--boost/test/utils/setcolor.hpp49
-rw-r--r--boost/test/utils/trivial_singleton.hpp79
-rw-r--r--boost/test/utils/xml_printer.hpp2
-rw-r--r--boost/thread/detail/config.hpp1
-rw-r--r--boost/thread/detail/move.hpp19
-rw-r--r--boost/thread/detail/nullary_function.hpp11
-rw-r--r--boost/thread/detail/thread.hpp2
-rw-r--r--boost/thread/detail/thread_safety.hpp160
-rw-r--r--boost/thread/detail/tss_hooks.hpp4
-rw-r--r--boost/thread/exceptions.hpp6
-rw-r--r--boost/thread/executors/basic_thread_pool.hpp25
-rw-r--r--boost/thread/future.hpp6
-rw-r--r--boost/thread/lock_guard.hpp8
-rw-r--r--boost/thread/lockable_traits.hpp31
-rw-r--r--boost/thread/pthread/condition_variable.hpp4
-rw-r--r--boost/thread/pthread/condition_variable_fwd.hpp4
-rw-r--r--boost/thread/pthread/mutex.hpp61
-rw-r--r--boost/thread/pthread/pthread_mutex_scoped_lock.hpp77
-rw-r--r--boost/thread/pthread/recursive_mutex.hpp12
-rw-r--r--boost/thread/pthread/thread_data.hpp11
-rw-r--r--boost/thread/win32/basic_recursive_mutex.hpp6
-rw-r--r--boost/thread/win32/interlocked_read.hpp4
-rw-r--r--boost/thread/xtime.hpp12
-rw-r--r--boost/throw_exception.hpp17
-rw-r--r--boost/token_functions.hpp1
-rw-r--r--boost/type_index/stl_type_index.hpp25
-rw-r--r--boost/type_traits.hpp1
-rw-r--r--boost/type_traits/detail/config.hpp9
-rw-r--r--boost/type_traits/detail/detector.hpp2
-rw-r--r--boost/type_traits/detail/has_postfix_operator.hpp55
-rw-r--r--boost/type_traits/detail/has_prefix_operator.hpp72
-rw-r--r--boost/type_traits/detail/is_function_cxx_03.hpp108
-rw-r--r--boost/type_traits/detail/is_function_cxx_11.hpp501
-rw-r--r--boost/type_traits/detail/is_function_msvc10_fix.hpp30
-rw-r--r--boost/type_traits/detail/is_likely_lambda.hpp4
-rw-r--r--boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp117
-rw-r--r--boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp557
-rw-r--r--boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp43
-rw-r--r--boost/type_traits/detected.hpp2
-rw-r--r--boost/type_traits/detected_or.hpp2
-rw-r--r--boost/type_traits/enable_if.hpp37
-rw-r--r--boost/type_traits/has_dereference.hpp344
-rw-r--r--boost/type_traits/has_post_decrement.hpp21
-rw-r--r--boost/type_traits/has_post_increment.hpp21
-rw-r--r--boost/type_traits/has_pre_decrement.hpp21
-rw-r--r--boost/type_traits/has_pre_increment.hpp22
-rw-r--r--boost/type_traits/has_trivial_move_assign.hpp2
-rw-r--r--boost/type_traits/has_trivial_move_constructor.hpp3
-rw-r--r--boost/type_traits/is_copy_assignable.hpp7
-rw-r--r--boost/type_traits/is_copy_constructible.hpp10
-rw-r--r--boost/type_traits/is_detected.hpp2
-rw-r--r--boost/type_traits/is_detected_convertible.hpp2
-rw-r--r--boost/type_traits/is_detected_exact.hpp2
-rw-r--r--boost/type_traits/is_function.hpp83
-rw-r--r--boost/type_traits/is_member_function_pointer.hpp100
-rw-r--r--boost/type_traits/is_noncopyable.hpp39
-rw-r--r--boost/type_traits/is_nothrow_move_assignable.hpp4
-rw-r--r--boost/type_traits/is_nothrow_move_constructible.hpp4
-rw-r--r--boost/type_traits/is_rvalue_reference.hpp4
-rw-r--r--boost/type_traits/is_virtual_base_of.hpp8
-rw-r--r--boost/type_traits/make_void.hpp2
-rw-r--r--boost/type_traits/nonesuch.hpp2
-rw-r--r--boost/typeof/constant.hpp26
-rw-r--r--boost/typeof/dmc/typeof_impl.hpp8
-rw-r--r--boost/typeof/encode_decode.hpp3
-rw-r--r--boost/typeof/encode_decode_params.hpp2
-rw-r--r--boost/typeof/int_encoding.hpp9
-rw-r--r--boost/typeof/modifiers.hpp10
-rw-r--r--boost/typeof/msvc/typeof_impl.hpp18
-rw-r--r--boost/typeof/native.hpp6
-rw-r--r--boost/typeof/pointers_data_members.hpp4
-rw-r--r--boost/typeof/register_functions_iterate.hpp12
-rw-r--r--boost/typeof/register_mem_functions.hpp2
-rw-r--r--boost/typeof/template_encoding.hpp8
-rw-r--r--boost/typeof/template_template_param.hpp4
-rw-r--r--boost/typeof/type_encoding.hpp4
-rw-r--r--boost/typeof/typeof_impl.hpp32
-rw-r--r--boost/typeof/vector.hpp10
-rw-r--r--boost/typeof/vector100.hpp402
-rw-r--r--boost/typeof/vector150.hpp602
-rw-r--r--boost/typeof/vector200.hpp802
-rw-r--r--boost/typeof/vector50.hpp202
-rw-r--r--boost/utility/string_ref.hpp2
-rw-r--r--boost/utility/string_view.hpp5
-rw-r--r--boost/uuid/detail/random_provider_detect_platform.hpp11
-rw-r--r--boost/uuid/detail/sha1.hpp2
-rw-r--r--boost/uuid/entropy_error.hpp5
-rw-r--r--boost/variant/bad_visit.hpp2
-rw-r--r--boost/version.hpp4
-rw-r--r--boost/wave/cpp_iteration_context.hpp4
-rw-r--r--boost/wave/util/cpp_iterator.hpp2
-rw-r--r--boost/wave/util/cpp_macromap.hpp1
-rw-r--r--boost/winapi/overlapped.hpp2
-rw-r--r--boost/yap/algorithm.hpp18
-rw-r--r--boost/yap/algorithm_fwd.hpp4
-rw-r--r--boost/yap/detail/algorithm.hpp8
-rw-r--r--boost/yap/detail/transform.hpp6
-rw-r--r--boost/yap/print.hpp8
1194 files changed, 102349 insertions, 84851 deletions
diff --git a/boost/algorithm/apply_permutation.hpp b/boost/algorithm/apply_permutation.hpp
index c844cfcfb3..b9de0ded7b 100644
--- a/boost/algorithm/apply_permutation.hpp
+++ b/boost/algorithm/apply_permutation.hpp
@@ -41,15 +41,16 @@ void
apply_permutation(RandomAccessIterator1 item_begin, RandomAccessIterator1 item_end,
RandomAccessIterator2 ind_begin, RandomAccessIterator2 ind_end)
{
- using Diff = typename std::iterator_traits<RandomAccessIterator1>::difference_type;
+ typedef typename std::iterator_traits<RandomAccessIterator1>::difference_type Diff;
+ typedef typename std::iterator_traits<RandomAccessIterator2>::difference_type Index;
using std::swap;
Diff size = std::distance(item_begin, item_end);
for (Diff i = 0; i < size; i++)
{
- auto current = i;
+ Diff current = i;
while (i != ind_begin[current])
{
- auto next = ind_begin[current];
+ Index next = ind_begin[current];
swap(item_begin[current], item_begin[next]);
ind_begin[current] = current;
current = next;
@@ -75,7 +76,7 @@ apply_reverse_permutation(
RandomAccessIterator2 ind_begin,
RandomAccessIterator2 ind_end)
{
- using Diff = typename std::iterator_traits<RandomAccessIterator2>::difference_type;
+ typedef typename std::iterator_traits<RandomAccessIterator2>::difference_type Diff;
using std::swap;
Diff length = std::distance(item_begin, item_end);
for (Diff i = 0; i < length; i++)
diff --git a/boost/align/aligned_allocator.hpp b/boost/align/aligned_allocator.hpp
index 6176bc27c0..4ec6b50c2f 100644
--- a/boost/align/aligned_allocator.hpp
+++ b/boost/align/aligned_allocator.hpp
@@ -41,13 +41,6 @@ public:
typedef T& reference;
typedef const T& const_reference;
-private:
- enum {
- min_align = detail::max_size<Alignment,
- alignment_of<value_type>::value>::value
- };
-
-public:
template<class U>
struct rebind {
typedef aligned_allocator<U, Alignment> other;
@@ -72,10 +65,14 @@ public:
}
pointer allocate(size_type size, const_void_pointer = 0) {
+ enum {
+ m = detail::max_size<Alignment,
+ alignment_of<value_type>::value>::value
+ };
if (size == 0) {
return 0;
}
- void* p = aligned_alloc(min_align, sizeof(T) * size);
+ void* p = boost::alignment::aligned_alloc(m, sizeof(T) * size);
if (!p) {
boost::throw_exception(std::bad_alloc());
}
diff --git a/boost/align/aligned_allocator_adaptor.hpp b/boost/align/aligned_allocator_adaptor.hpp
index 86b2d934f6..912651687a 100644
--- a/boost/align/aligned_allocator_adaptor.hpp
+++ b/boost/align/aligned_allocator_adaptor.hpp
@@ -54,9 +54,12 @@ public:
typedef std::ptrdiff_t difference_type;
private:
- enum {
- min_align = detail::max_size<Alignment,
- detail::max_align<value_type, char_ptr>::value>::value
+ template<class U>
+ struct min_align {
+ enum {
+ value = detail::max_size<Alignment,
+ detail::max_align<U, char_ptr>::value>::value
+ };
};
public:
@@ -102,19 +105,25 @@ public:
}
pointer allocate(size_type size) {
+ enum {
+ m = min_align<value_type>::value
+ };
std::size_t s = size * sizeof(value_type);
- std::size_t n = s + min_align - 1;
+ std::size_t n = s + m - 1;
char_alloc a(base());
char_ptr p = a.allocate(sizeof p + n);
void* r = boost::to_address(p) + sizeof p;
- (void)align(min_align, s, r, n);
+ (void)boost::alignment::align(m, s, r, n);
::new(static_cast<void*>(static_cast<char_ptr*>(r) - 1)) char_ptr(p);
return static_cast<pointer>(r);
}
pointer allocate(size_type size, const_void_pointer hint) {
+ enum {
+ m = min_align<value_type>::value
+ };
std::size_t s = size * sizeof(value_type);
- std::size_t n = s + min_align - 1;
+ std::size_t n = s + m - 1;
char_ptr h = char_ptr();
if (hint) {
h = *(static_cast<const char_ptr*>(hint) - 1);
@@ -126,17 +135,20 @@ public:
char_ptr p = a.allocate(sizeof p + n, h);
#endif
void* r = boost::to_address(p) + sizeof p;
- (void)align(min_align, s, r, n);
+ (void)boost::alignment::align(m, s, r, n);
::new(static_cast<void*>(static_cast<char_ptr*>(r) - 1)) char_ptr(p);
return static_cast<pointer>(r);
}
void deallocate(pointer ptr, size_type size) {
+ enum {
+ m = min_align<value_type>::value
+ };
char_ptr* p = reinterpret_cast<char_ptr*>(ptr) - 1;
char_ptr r = *p;
p->~char_ptr();
char_alloc a(base());
- a.deallocate(r, sizeof r + size * sizeof(value_type) + min_align - 1);
+ a.deallocate(r, sizeof r + size * sizeof(value_type) + m - 1);
}
};
diff --git a/boost/align/detail/aligned_alloc.hpp b/boost/align/detail/aligned_alloc.hpp
index 69da19659a..d27a549909 100644
--- a/boost/align/detail/aligned_alloc.hpp
+++ b/boost/align/detail/aligned_alloc.hpp
@@ -31,7 +31,7 @@ aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT
void* p = std::malloc(sizeof(void*) + n);
if (p) {
void* r = static_cast<char*>(p) + sizeof(void*);
- (void)align(alignment, size, r, n);
+ (void)boost::alignment::align(alignment, size, r, n);
*(static_cast<void**>(r) - 1) = p;
p = r;
}
diff --git a/boost/any.hpp b/boost/any.hpp
index 9f6b313274..8f409d7bfe 100644
--- a/boost/any.hpp
+++ b/boost/any.hpp
@@ -30,7 +30,7 @@
#include <boost/core/addressof.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/conditional.hpp>
namespace boost
{
@@ -109,7 +109,7 @@ namespace boost
return *this;
}
- // move assignement
+ // move assignment
any & operator=(any&& rhs) BOOST_NOEXCEPT
{
rhs.swap(*this);
@@ -149,7 +149,7 @@ namespace boost
public: // types (public so any_cast can be non-friend)
#endif
- class placeholder
+ class BOOST_SYMBOL_VISIBLE placeholder
{
public: // structors
@@ -271,8 +271,8 @@ namespace boost
// `ValueType` is not a reference. Example:
// `static_cast<std::string>(*result);`
// which is equal to `std::string(*result);`
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
- boost::is_reference<ValueType>,
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
+ boost::is_reference<ValueType>::value,
ValueType,
BOOST_DEDUCED_TYPENAME boost::add_reference<ValueType>::type
>::type ref_type;
diff --git a/boost/archive/basic_binary_iarchive.hpp b/boost/archive/basic_binary_iarchive.hpp
index c0cc655c99..c85ead86c6 100644
--- a/boost/archive/basic_binary_iarchive.hpp
+++ b/boost/archive/basic_binary_iarchive.hpp
@@ -102,17 +102,29 @@ protected:
}
void load_override(class_id_type & t){
library_version_type lvt = this->get_library_version();
+ /*
+ * library versions:
+ * boost 1.39 -> 5
+ * boost 1.43 -> 7
+ * boost 1.47 -> 9
+ *
+ *
+ * 1) in boost 1.43 and inferior, class_id_type is always a 16bit value, with no check on the library version
+ * --> this means all archives with version v <= 7 are written with a 16bit class_id_type
+ * 2) in boost 1.44 this load_override has disappeared (and thus boost 1.44 is not backward compatible at all !!)
+ * 3) recent boosts reintroduced load_override with a test on the version :
+ * - v > 7 : this->detail_common_iarchive::load_override(t, version)
+ * - v > 6 : 16bit
+ * - other : 32bit
+ * --> which is obviously incorrect, see point 1
+ *
+ * the fix here decodes class_id_type on 16bit for all v <= 7, which seems to be the correct behaviour ...
+ */
if(boost::archive::library_version_type(7) < lvt){
this->detail_common_iarchive::load_override(t);
}
- else
- if(boost::archive::library_version_type(6) < lvt){
- int_least16_t x=0;
- * this->This() >> x;
- t = boost::archive::class_id_type(x);
- }
else{
- int x=0;
+ int_least16_t x=0;
* this->This() >> x;
t = boost::archive::class_id_type(x);
}
diff --git a/boost/archive/detail/iserializer.hpp b/boost/archive/detail/iserializer.hpp
index 6c2fd67ddd..98cd6a17f2 100644
--- a/boost/archive/detail/iserializer.hpp
+++ b/boost/archive/detail/iserializer.hpp
@@ -123,8 +123,7 @@ private:
virtual void destroy(/*const*/ void *address) const {
boost::serialization::access::destroy(static_cast<T *>(address));
}
-protected:
- // protected constructor since it's always created by singleton
+public:
explicit iserializer() :
basic_iserializer(
boost::serialization::singleton<
@@ -133,7 +132,6 @@ protected:
>::get_const_instance()
)
{}
-public:
virtual BOOST_DLLEXPORT void load_object_data(
basic_iarchive & ar,
void *x,
@@ -307,7 +305,7 @@ private:
void * x,
const unsigned int file_version
) const BOOST_USED;
-protected:
+public:
// this should alway be a singleton so make the constructor protected
pointer_iserializer();
~pointer_iserializer();
diff --git a/boost/archive/impl/archive_serializer_map.ipp b/boost/archive/impl/archive_serializer_map.ipp
index 7f163ec407..98e058ddec 100644
--- a/boost/archive/impl/archive_serializer_map.ipp
+++ b/boost/archive/impl/archive_serializer_map.ipp
@@ -47,10 +47,10 @@ archive_serializer_map<Archive>::insert(const basic_serializer * bs){
template<class Archive>
BOOST_ARCHIVE_OR_WARCHIVE_DECL void
archive_serializer_map<Archive>::erase(const basic_serializer * bs){
- BOOST_ASSERT(! boost::serialization::singleton<
- extra_detail::map<Archive>
- >::is_destroyed()
- );
+ // note: previously this conditional was a runtime assertion with
+ // BOOST_ASSERT. We've changed it because we've discovered that at
+ // least one platform is not guaranteed to destroy singletons in
+ // reverse order of distruction.
if(boost::serialization::singleton<
extra_detail::map<Archive>
>::is_destroyed())
diff --git a/boost/archive/impl/basic_xml_grammar.hpp b/boost/archive/impl/basic_xml_grammar.hpp
index 6d4e4683f6..cc88d4fd82 100644
--- a/boost/archive/impl/basic_xml_grammar.hpp
+++ b/boost/archive/impl/basic_xml_grammar.hpp
@@ -64,7 +64,7 @@ namespace archive {
// XML grammar parsing
template<class CharType>
-class basic_xml_grammar {
+class BOOST_SYMBOL_VISIBLE basic_xml_grammar {
public:
// The following is not necessary according to DR45, but at least
// one compiler (Compaq C++ 6.5 in strict_ansi mode) chokes otherwise.
diff --git a/boost/archive/polymorphic_binary_iarchive.hpp b/boost/archive/polymorphic_binary_iarchive.hpp
index 4a898a8ad1..20559bd8fb 100644
--- a/boost/archive/polymorphic_binary_iarchive.hpp
+++ b/boost/archive/polymorphic_binary_iarchive.hpp
@@ -28,7 +28,7 @@
namespace boost {
namespace archive {
-class polymorphic_binary_iarchive :
+class BOOST_SYMBOL_VISIBLE polymorphic_binary_iarchive :
public detail::polymorphic_iarchive_route<binary_iarchive>
{
public:
diff --git a/boost/archive/polymorphic_binary_oarchive.hpp b/boost/archive/polymorphic_binary_oarchive.hpp
index 931b243feb..96febd7a58 100644
--- a/boost/archive/polymorphic_binary_oarchive.hpp
+++ b/boost/archive/polymorphic_binary_oarchive.hpp
@@ -23,13 +23,15 @@
namespace boost {
namespace archive {
-typedef detail::polymorphic_oarchive_route<
- binary_oarchive_impl<
- binary_oarchive,
- std::ostream::char_type,
- std::ostream::traits_type
- >
- > polymorphic_binary_oarchive;
+class BOOST_SYMBOL_VISIBLE polymorphic_binary_oarchive :
+ public detail::polymorphic_oarchive_route<binary_oarchive>
+{
+public:
+ polymorphic_binary_oarchive(std::ostream & os, unsigned int flags = 0) :
+ detail::polymorphic_oarchive_route<binary_oarchive>(os, flags)
+ {}
+ ~polymorphic_binary_oarchive(){}
+};
} // namespace archive
} // namespace boost
diff --git a/boost/archive/polymorphic_text_iarchive.hpp b/boost/archive/polymorphic_text_iarchive.hpp
index 7bef292786..3e59bfe6bd 100644
--- a/boost/archive/polymorphic_text_iarchive.hpp
+++ b/boost/archive/polymorphic_text_iarchive.hpp
@@ -28,7 +28,7 @@
namespace boost {
namespace archive {
-class polymorphic_text_iarchive :
+class BOOST_SYMBOL_VISIBLE polymorphic_text_iarchive :
public detail::polymorphic_iarchive_route<text_iarchive>
{
public:
diff --git a/boost/archive/polymorphic_text_oarchive.hpp b/boost/archive/polymorphic_text_oarchive.hpp
index 457aad9fd7..233d37c7b5 100644
--- a/boost/archive/polymorphic_text_oarchive.hpp
+++ b/boost/archive/polymorphic_text_oarchive.hpp
@@ -23,9 +23,15 @@
namespace boost {
namespace archive {
-typedef detail::polymorphic_oarchive_route<
- text_oarchive_impl<text_oarchive>
-> polymorphic_text_oarchive;
+class BOOST_SYMBOL_VISIBLE polymorphic_text_oarchive :
+ public detail::polymorphic_oarchive_route<text_oarchive>
+{
+public:
+ polymorphic_text_oarchive(std::ostream & os, unsigned int flags = 0) :
+ detail::polymorphic_oarchive_route<text_oarchive>(os, flags)
+ {}
+ ~polymorphic_text_oarchive(){}
+};
} // namespace archive
} // namespace boost
diff --git a/boost/archive/polymorphic_text_wiarchive.hpp b/boost/archive/polymorphic_text_wiarchive.hpp
index 8466f05d6a..96afe0eba6 100644
--- a/boost/archive/polymorphic_text_wiarchive.hpp
+++ b/boost/archive/polymorphic_text_wiarchive.hpp
@@ -32,7 +32,7 @@
namespace boost {
namespace archive {
-class polymorphic_text_wiarchive :
+class BOOST_SYMBOL_VISIBLE polymorphic_text_wiarchive :
public detail::polymorphic_iarchive_route<text_wiarchive>
{
public:
diff --git a/boost/archive/polymorphic_text_woarchive.hpp b/boost/archive/polymorphic_text_woarchive.hpp
index 295625d1bc..fa0a3aec3c 100644
--- a/boost/archive/polymorphic_text_woarchive.hpp
+++ b/boost/archive/polymorphic_text_woarchive.hpp
@@ -27,9 +27,15 @@
namespace boost {
namespace archive {
-typedef detail::polymorphic_oarchive_route<
- text_woarchive_impl<text_woarchive>
-> polymorphic_text_woarchive;
+class BOOST_SYMBOL_VISIBLE polymorphic_text_woarchive :
+ public detail::polymorphic_oarchive_route<text_woarchive>
+{
+public:
+ polymorphic_text_woarchive(std::wostream & os, unsigned int flags = 0) :
+ detail::polymorphic_oarchive_route<text_woarchive>(os, flags)
+ {}
+ ~polymorphic_text_woarchive(){}
+};
} // namespace archive
} // namespace boost
diff --git a/boost/archive/polymorphic_xml_iarchive.hpp b/boost/archive/polymorphic_xml_iarchive.hpp
index 4dc3f894b3..0b17b5516e 100644
--- a/boost/archive/polymorphic_xml_iarchive.hpp
+++ b/boost/archive/polymorphic_xml_iarchive.hpp
@@ -28,7 +28,7 @@
namespace boost {
namespace archive {
-class polymorphic_xml_iarchive :
+class BOOST_SYMBOL_VISIBLE polymorphic_xml_iarchive :
public detail::polymorphic_iarchive_route<xml_iarchive>
{
public:
diff --git a/boost/archive/polymorphic_xml_oarchive.hpp b/boost/archive/polymorphic_xml_oarchive.hpp
index 514f9e530a..a9fc82427e 100644
--- a/boost/archive/polymorphic_xml_oarchive.hpp
+++ b/boost/archive/polymorphic_xml_oarchive.hpp
@@ -23,10 +23,15 @@
namespace boost {
namespace archive {
-typedef detail::polymorphic_oarchive_route<
- xml_oarchive_impl<xml_oarchive>
-> polymorphic_xml_oarchive;
-
+class BOOST_SYMBOL_VISIBLE polymorphic_xml_oarchive :
+ public detail::polymorphic_oarchive_route<xml_oarchive>
+{
+public:
+ polymorphic_xml_oarchive(std::ostream & os, unsigned int flags = 0) :
+ detail::polymorphic_oarchive_route<xml_oarchive>(os, flags)
+ {}
+ ~polymorphic_xml_oarchive(){}
+};
} // namespace archive
} // namespace boost
diff --git a/boost/archive/polymorphic_xml_wiarchive.hpp b/boost/archive/polymorphic_xml_wiarchive.hpp
index d4ab731267..688ff4d0c0 100644
--- a/boost/archive/polymorphic_xml_wiarchive.hpp
+++ b/boost/archive/polymorphic_xml_wiarchive.hpp
@@ -27,7 +27,7 @@
namespace boost {
namespace archive {
-class polymorphic_xml_wiarchive :
+class BOOST_SYMBOL_VISIBLE polymorphic_xml_wiarchive :
public detail::polymorphic_iarchive_route<xml_wiarchive>
{
public:
diff --git a/boost/archive/polymorphic_xml_woarchive.hpp b/boost/archive/polymorphic_xml_woarchive.hpp
index dd8963fbb1..2606010d81 100644
--- a/boost/archive/polymorphic_xml_woarchive.hpp
+++ b/boost/archive/polymorphic_xml_woarchive.hpp
@@ -7,7 +7,7 @@
#endif
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_xml_oarchive.hpp
+// polymorphic_xml_woarchive.hpp
// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
// Use, modification and distribution is subject to the Boost Software
@@ -27,9 +27,15 @@
namespace boost {
namespace archive {
-typedef detail::polymorphic_oarchive_route<
- xml_woarchive_impl<xml_woarchive>
-> polymorphic_xml_woarchive;
+class BOOST_SYMBOL_VISIBLE polymorphic_xml_woarchive :
+ public detail::polymorphic_oarchive_route<xml_woarchive>
+{
+public:
+ polymorphic_xml_woarchive(std::wostream & os, unsigned int flags = 0) :
+ detail::polymorphic_oarchive_route<xml_woarchive>(os, flags)
+ {}
+ ~polymorphic_xml_woarchive(){}
+};
} // namespace archive
} // namespace boost
diff --git a/boost/asio/buffer.hpp b/boost/asio/buffer.hpp
index 8abe0be499..29352f6481 100644
--- a/boost/asio/buffer.hpp
+++ b/boost/asio/buffer.hpp
@@ -23,7 +23,6 @@
#include <string>
#include <vector>
#include <boost/asio/detail/array_fwd.hpp>
-#include <boost/asio/detail/is_buffer_sequence.hpp>
#include <boost/asio/detail/string_view.hpp>
#include <boost/asio/detail/throw_exception.hpp>
#include <boost/asio/detail/type_traits.hpp>
@@ -347,41 +346,6 @@ public:
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-/// Trait to determine whether a type satisfies the MutableBufferSequence
-/// requirements.
-template <typename T>
-struct is_mutable_buffer_sequence
-#if defined(GENERATING_DOCUMENTATION)
- : integral_constant<bool, automatically_determined>
-#else // defined(GENERATING_DOCUMENTATION)
- : boost::asio::detail::is_buffer_sequence<T, mutable_buffer>
-#endif // defined(GENERATING_DOCUMENTATION)
-{
-};
-
-/// Trait to determine whether a type satisfies the ConstBufferSequence
-/// requirements.
-template <typename T>
-struct is_const_buffer_sequence
-#if defined(GENERATING_DOCUMENTATION)
- : integral_constant<bool, automatically_determined>
-#else // defined(GENERATING_DOCUMENTATION)
- : boost::asio::detail::is_buffer_sequence<T, const_buffer>
-#endif // defined(GENERATING_DOCUMENTATION)
-{
-};
-
-/// Trait to determine whether a type satisfies the DynamicBuffer requirements.
-template <typename T>
-struct is_dynamic_buffer
-#if defined(GENERATING_DOCUMENTATION)
- : integral_constant<bool, automatically_determined>
-#else // defined(GENERATING_DOCUMENTATION)
- : boost::asio::detail::is_dynamic_buffer<T>
-#endif // defined(GENERATING_DOCUMENTATION)
-{
-};
-
/// (Deprecated: Use the socket/descriptor wait() and async_wait() member
/// functions.) An implementation of both the ConstBufferSequence and
/// MutableBufferSequence concepts to represent a null buffer sequence.
@@ -1404,7 +1368,7 @@ inline BOOST_ASIO_MUTABLE_BUFFER buffer(
);
}
-/// Create a new non-modifiable buffer that represents the given string.
+/// Create a new modifiable buffer that represents the given string.
/**
* @returns A mutable_buffer value equivalent to:
* @code mutable_buffer(
@@ -2160,5 +2124,50 @@ inline std::size_t buffer_copy(const MutableBufferSequence& target,
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
+#include <boost/asio/detail/is_buffer_sequence.hpp>
+#include <boost/asio/detail/push_options.hpp>
+
+namespace boost {
+namespace asio {
+
+/// Trait to determine whether a type satisfies the MutableBufferSequence
+/// requirements.
+template <typename T>
+struct is_mutable_buffer_sequence
+#if defined(GENERATING_DOCUMENTATION)
+ : integral_constant<bool, automatically_determined>
+#else // defined(GENERATING_DOCUMENTATION)
+ : boost::asio::detail::is_buffer_sequence<T, mutable_buffer>
+#endif // defined(GENERATING_DOCUMENTATION)
+{
+};
+
+/// Trait to determine whether a type satisfies the ConstBufferSequence
+/// requirements.
+template <typename T>
+struct is_const_buffer_sequence
+#if defined(GENERATING_DOCUMENTATION)
+ : integral_constant<bool, automatically_determined>
+#else // defined(GENERATING_DOCUMENTATION)
+ : boost::asio::detail::is_buffer_sequence<T, const_buffer>
+#endif // defined(GENERATING_DOCUMENTATION)
+{
+};
+
+/// Trait to determine whether a type satisfies the DynamicBuffer requirements.
+template <typename T>
+struct is_dynamic_buffer
+#if defined(GENERATING_DOCUMENTATION)
+ : integral_constant<bool, automatically_determined>
+#else // defined(GENERATING_DOCUMENTATION)
+ : boost::asio::detail::is_dynamic_buffer<T>
+#endif // defined(GENERATING_DOCUMENTATION)
+{
+};
+
+} // namespace asio
+} // namespace boost
+
+#include <boost/asio/detail/pop_options.hpp>
#endif // BOOST_ASIO_BUFFER_HPP
diff --git a/boost/asio/connect.hpp b/boost/asio/connect.hpp
index 5dd5268bc4..03296885dd 100644
--- a/boost/asio/connect.hpp
+++ b/boost/asio/connect.hpp
@@ -59,7 +59,8 @@ struct is_endpoint_sequence
/**
* @defgroup connect boost::asio::connect
*
- * @brief Establishes a socket connection by trying each endpoint in a sequence.
+ * @brief The @c connect function is a composed operation that establishes a
+ * socket connection by trying each endpoint in a sequence.
*/
/*@{*/
@@ -132,8 +133,8 @@ typename Protocol::endpoint connect(
EndpointSequence>::value>::type* = 0);
#if !defined(BOOST_ASIO_NO_DEPRECATED)
-/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
-/// sequence.
+/// (Deprecated: Use range overload.) Establishes a socket connection by trying
+/// each endpoint in a sequence.
/**
* This function attempts to connect a socket to one of a sequence of
* endpoints. It does this by repeated calls to the socket's @c connect member
@@ -160,8 +161,8 @@ template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
-/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
-/// sequence.
+/// (Deprecated: Use range overload.) Establishes a socket connection by trying
+/// each endpoint in a sequence.
/**
* This function attempts to connect a socket to one of a sequence of
* endpoints. It does this by repeated calls to the socket's @c connect member
@@ -387,8 +388,8 @@ typename Protocol::endpoint connect(
EndpointSequence>::value>::type* = 0);
#if !defined(BOOST_ASIO_NO_DEPRECATED)
-/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
-/// sequence.
+/// (Deprecated: Use range overload.) Establishes a socket connection by trying
+/// each endpoint in a sequence.
/**
* This function attempts to connect a socket to one of a sequence of
* endpoints. It does this by repeated calls to the socket's @c connect member
@@ -428,8 +429,8 @@ Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
Iterator begin, ConnectCondition connect_condition,
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
-/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
-/// sequence.
+/// (Deprecated: Use range overload.) Establishes a socket connection by trying
+/// each endpoint in a sequence.
/**
* This function attempts to connect a socket to one of a sequence of
* endpoints. It does this by repeated calls to the socket's @c connect member
@@ -603,8 +604,8 @@ Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
/**
* @defgroup async_connect boost::asio::async_connect
*
- * @brief Asynchronously establishes a socket connection by trying each
- * endpoint in a sequence.
+ * @brief The @c async_connect function is a composed asynchronous operation
+ * that establishes a socket connection by trying each endpoint in a sequence.
*/
/*@{*/
@@ -680,8 +681,8 @@ async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
EndpointSequence>::value>::type* = 0);
#if !defined(BOOST_ASIO_NO_DEPRECATED)
-/// (Deprecated.) Asynchronously establishes a socket connection by trying each
-/// endpoint in a sequence.
+/// (Deprecated: Use range overload.) Asynchronously establishes a socket
+/// connection by trying each endpoint in a sequence.
/**
* This function attempts to connect a socket to one of a sequence of
* endpoints. It does this by repeated calls to the socket's @c async_connect
@@ -887,8 +888,8 @@ async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
EndpointSequence>::value>::type* = 0);
#if !defined(BOOST_ASIO_NO_DEPRECATED)
-/// (Deprecated.) Asynchronously establishes a socket connection by trying each
-/// endpoint in a sequence.
+/// (Deprecated: Use range overload.) Asynchronously establishes a socket
+/// connection by trying each endpoint in a sequence.
/**
* This function attempts to connect a socket to one of a sequence of
* endpoints. It does this by repeated calls to the socket's @c async_connect
diff --git a/boost/asio/detail/config.hpp b/boost/asio/detail/config.hpp
index 126be7e64f..2453425315 100644
--- a/boost/asio/detail/config.hpp
+++ b/boost/asio/detail/config.hpp
@@ -70,9 +70,6 @@
# define BOOST_ASIO_MSVC _MSC_VER
# endif // defined(BOOST_ASIO_HAS_BOOST_CONFIG) && defined(BOOST_MSVC)
#endif // !defined(BOOST_ASIO_MSVC)
-#if defined(BOOST_ASIO_MSVC)
-# include <ciso646> // Needed for _HAS_CXX17.
-#endif // defined(BOOST_ASIO_MSVC)
// Clang / libc++ detection.
#if defined(__clang__)
@@ -111,6 +108,14 @@
# define BOOST_ASIO_HAS_MOVE 1
# endif // (_MSC_VER >= 1700)
# endif // defined(BOOST_ASIO_MSVC)
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500)
+# define BOOST_ASIO_HAS_MOVE 1
+# endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500)
+# if defined(__ICL) && (__ICL >= 1500)
+# define BOOST_ASIO_HAS_MOVE 1
+# endif // defined(__ICL) && (__ICL >= 1500)
+# endif // defined(__INTEL_CXX11_MODE__)
# endif // !defined(BOOST_ASIO_DISABLE_MOVE)
#endif // !defined(BOOST_ASIO_HAS_MOVE)
@@ -229,7 +234,7 @@
// Support noexcept on compilers known to allow it.
#if !defined(BOOST_ASIO_NOEXCEPT)
# if !defined(BOOST_ASIO_DISABLE_NOEXCEPT)
-# if (BOOST_VERSION >= 105300)
+# if defined(BOOST_ASIO_HAS_BOOST_CONFIG) && (BOOST_VERSION >= 105300)
# define BOOST_ASIO_NOEXCEPT BOOST_NOEXCEPT
# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW BOOST_NOEXCEPT_OR_NOTHROW
# elif defined(__clang__)
@@ -759,9 +764,7 @@
# if defined(__GNUC__)
# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
# if defined(__GXX_EXPERIMENTAL_CXX0X__)
-# if defined(_GLIBCXX_HAS_GTHREADS)
-# define BOOST_ASIO_HAS_STD_FUTURE 1
-# endif // defined(_GLIBCXX_HAS_GTHREADS)
+# define BOOST_ASIO_HAS_STD_FUTURE 1
# endif // defined(__GXX_EXPERIMENTAL_CXX0X__)
# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
# endif // defined(__GNUC__)
@@ -777,23 +780,29 @@
#if !defined(BOOST_ASIO_HAS_STD_STRING_VIEW)
# if !defined(BOOST_ASIO_DISABLE_STD_STRING_VIEW)
# if defined(__clang__)
-# if (__cplusplus >= 201703)
-# if __has_include(<string_view>)
-# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
-# endif // __has_include(<string_view>)
-# endif // (__cplusplus >= 201703)
-# endif // defined(__clang__)
-# if defined(__GNUC__)
+# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# if (__cplusplus >= 201402)
+# if __has_include(<string_view>)
+# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
+# endif // __has_include(<string_view>)
+# endif // (__cplusplus >= 201402)
+# else // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# if (__cplusplus >= 201703)
+# if __has_include(<string_view>)
+# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
+# endif // __has_include(<string_view>)
+# endif // (__cplusplus >= 201703)
+# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# elif defined(__GNUC__)
# if (__GNUC__ >= 7)
# if (__cplusplus >= 201703)
# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
# endif // (__cplusplus >= 201703)
# endif // (__GNUC__ >= 7)
-# endif // defined(__GNUC__)
-# if defined(BOOST_ASIO_MSVC)
-# if (_MSC_VER >= 1910 && _HAS_CXX17)
-# define BOOST_ASIO_HAS_STD_STRING_VIEW
-# endif // (_MSC_VER >= 1910 && _HAS_CXX17)
+# elif defined(BOOST_ASIO_MSVC)
+# if (_MSC_VER >= 1910 && _MSVC_LANG >= 201703)
+# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
+# endif // (_MSC_VER >= 1910 && _MSVC_LANG >= 201703)
# endif // defined(BOOST_ASIO_MSVC)
# endif // !defined(BOOST_ASIO_DISABLE_STD_STRING_VIEW)
#endif // !defined(BOOST_ASIO_HAS_STD_STRING_VIEW)
@@ -802,11 +811,21 @@
#if !defined(BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
# if !defined(BOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
# if defined(__clang__)
-# if (__cplusplus >= 201402)
-# if __has_include(<experimental/string_view>)
-# define BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
-# endif // __has_include(<experimental/string_view>)
-# endif // (__cplusplus >= 201402)
+# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# if (_LIBCPP_VERSION < 7000)
+# if (__cplusplus >= 201402)
+# if __has_include(<experimental/string_view>)
+# define BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
+# endif // __has_include(<experimental/string_view>)
+# endif // (__cplusplus >= 201402)
+# endif // (_LIBCPP_VERSION < 7000)
+# else // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# if (__cplusplus >= 201402)
+# if __has_include(<experimental/string_view>)
+# define BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
+# endif // __has_include(<experimental/string_view>)
+# endif // (__cplusplus >= 201402)
+# endif // // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
# endif // defined(__clang__)
# if defined(__GNUC__)
# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
@@ -851,9 +870,9 @@
#if !defined(BOOST_ASIO_HAS_STD_INVOKE_RESULT)
# if !defined(BOOST_ASIO_DISABLE_STD_INVOKE_RESULT)
# if defined(BOOST_ASIO_MSVC)
-# if (_MSC_VER >= 1910 && _HAS_CXX17)
+# if (_MSC_VER >= 1911 && _MSVC_LANG >= 201703)
# define BOOST_ASIO_HAS_STD_INVOKE_RESULT 1
-# endif // (_MSC_VER >= 1910 && _HAS_CXX17)
+# endif // (_MSC_VER >= 1911 && _MSVC_LANG >= 201703)
# endif // defined(BOOST_ASIO_MSVC)
# endif // !defined(BOOST_ASIO_DISABLE_STD_INVOKE_RESULT)
#endif // !defined(BOOST_ASIO_HAS_STD_INVOKE_RESULT)
diff --git a/boost/asio/detail/future.hpp b/boost/asio/detail/future.hpp
new file mode 100644
index 0000000000..38cc7c1e83
--- /dev/null
+++ b/boost/asio/detail/future.hpp
@@ -0,0 +1,33 @@
+//
+// detail/future.hpp
+// ~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef BOOST_ASIO_DETAIL_FUTURE_HPP
+#define BOOST_ASIO_DETAIL_FUTURE_HPP
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+# pragma once
+#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
+
+#include <boost/asio/detail/config.hpp>
+#if defined(BOOST_ASIO_HAS_STD_FUTURE)
+# include <future>
+// Even though the future header is available, libstdc++ may not implement the
+// std::future class itself. However, we need to have already included the
+// future header to reliably test for _GLIBCXX_HAS_GTHREADS.
+# if defined(__GNUC__) && !defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# if defined(_GLIBCXX_HAS_GTHREADS)
+# define BOOST_ASIO_HAS_STD_FUTURE_CLASS 1
+# endif // defined(_GLIBCXX_HAS_GTHREADS)
+# else // defined(__GNUC__) && !defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+# define BOOST_ASIO_HAS_STD_FUTURE_CLASS 1
+# endif // defined(__GNUC__) && !defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
+#endif // defined(BOOST_ASIO_HAS_STD_FUTURE)
+
+#endif // BOOST_ASIO_DETAIL_FUTURE_HPP
diff --git a/boost/asio/detail/impl/socket_ops.ipp b/boost/asio/detail/impl/socket_ops.ipp
index 3442ac3de1..bb60df0a8e 100644
--- a/boost/asio/detail/impl/socket_ops.ipp
+++ b/boost/asio/detail/impl/socket_ops.ipp
@@ -2115,7 +2115,7 @@ const char* inet_ntop(int af, const void* src, char* dest, size_t length,
if (result != 0 && af == BOOST_ASIO_OS_DEF(AF_INET6) && scope_id != 0)
{
using namespace std; // For strcat and sprintf.
- char if_name[IF_NAMESIZE + 1] = "%";
+ char if_name[(IF_NAMESIZE > 21 ? IF_NAMESIZE : 21) + 1] = "%";
const in6_addr_type* ipv6_address = static_cast<const in6_addr_type*>(src);
bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe)
&& ((ipv6_address->s6_addr[1] & 0xc0) == 0x80));
diff --git a/boost/asio/detail/is_buffer_sequence.hpp b/boost/asio/detail/is_buffer_sequence.hpp
index 370b2c81c0..a3fb9931d2 100644
--- a/boost/asio/detail/is_buffer_sequence.hpp
+++ b/boost/asio/detail/is_buffer_sequence.hpp
@@ -53,23 +53,47 @@ struct buffer_sequence_memfns_check
};
template <typename>
-char (&begin_memfn_helper(...))[2];
+char (&buffer_sequence_begin_helper(...))[2];
+
+#if defined(BOOST_ASIO_HAS_DECLTYPE)
template <typename T>
-char begin_memfn_helper(
+char buffer_sequence_begin_helper(T* t,
+ typename enable_if<!is_same<
+ decltype(boost::asio::buffer_sequence_begin(*t)),
+ void>::value>::type*);
+
+#else // defined(BOOST_ASIO_HAS_DECLTYPE)
+
+template <typename T>
+char buffer_sequence_begin_helper(T* t,
buffer_sequence_memfns_check<
void (buffer_sequence_memfns_base::*)(),
&buffer_sequence_memfns_derived<T>::begin>*);
+#endif // defined(BOOST_ASIO_HAS_DECLTYPE)
+
template <typename>
-char (&end_memfn_helper(...))[2];
+char (&buffer_sequence_end_helper(...))[2];
+
+#if defined(BOOST_ASIO_HAS_DECLTYPE)
template <typename T>
-char end_memfn_helper(
+char buffer_sequence_end_helper(T* t,
+ typename enable_if<!is_same<
+ decltype(boost::asio::buffer_sequence_end(*t)),
+ void>::value>::type*);
+
+#else // defined(BOOST_ASIO_HAS_DECLTYPE)
+
+template <typename T>
+char buffer_sequence_end_helper(T* t,
buffer_sequence_memfns_check<
void (buffer_sequence_memfns_base::*)(),
&buffer_sequence_memfns_derived<T>::end>*);
+#endif // defined(BOOST_ASIO_HAS_DECLTYPE)
+
template <typename>
char (&size_memfn_helper(...))[2];
@@ -134,25 +158,25 @@ char consume_memfn_helper(
&buffer_sequence_memfns_derived<T>::consume>*);
template <typename, typename>
-char (&buffer_element_type_helper(...))[2];
+char (&buffer_sequence_element_type_helper(...))[2];
-#if defined(BOOST_ASIO_HAS_DECL_TYPE)
+#if defined(BOOST_ASIO_HAS_DECLTYPE)
template <typename T, typename Buffer>
-char buffer_element_type_helper(T* t,
+char buffer_sequence_element_type_helper(T* t,
typename enable_if<is_convertible<
- decltype(*buffer_sequence_begin(*t)),
+ decltype(*boost::asio::buffer_sequence_begin(*t)),
Buffer>::value>::type*);
-#else // defined(BOOST_ASIO_HAS_DECL_TYPE)
+#else // defined(BOOST_ASIO_HAS_DECLTYPE)
template <typename T, typename Buffer>
-char buffer_element_type_helper(
+char buffer_sequence_element_type_helper(
typename T::const_iterator*,
typename enable_if<is_convertible<
typename T::value_type, Buffer>::value>::type*);
-#endif // defined(BOOST_ASIO_HAS_DECL_TYPE)
+#endif // defined(BOOST_ASIO_HAS_DECLTYPE)
template <typename>
char (&const_buffers_type_typedef_helper(...))[2];
@@ -171,9 +195,9 @@ char mutable_buffers_type_typedef_helper(
template <typename T, typename Buffer>
struct is_buffer_sequence_class
: integral_constant<bool,
- sizeof(begin_memfn_helper<T>(0)) != 1 &&
- sizeof(end_memfn_helper<T>(0)) != 1 &&
- sizeof(buffer_element_type_helper<T, Buffer>(0, 0)) == 1>
+ sizeof(buffer_sequence_begin_helper<T>(0)) != 1 &&
+ sizeof(buffer_sequence_end_helper<T>(0)) != 1 &&
+ sizeof(buffer_sequence_element_type_helper<T, Buffer>(0, 0)) == 1>
{
};
diff --git a/boost/asio/detail/timer_queue.hpp b/boost/asio/detail/timer_queue.hpp
index 99e12e0902..3b2bcff774 100644
--- a/boost/asio/detail/timer_queue.hpp
+++ b/boost/asio/detail/timer_queue.hpp
@@ -267,11 +267,13 @@ private:
{
if (index == heap_.size() - 1)
{
+ timer.heap_index_ = (std::numeric_limits<std::size_t>::max)();
heap_.pop_back();
}
else
{
swap_heap(index, heap_.size() - 1);
+ timer.heap_index_ = (std::numeric_limits<std::size_t>::max)();
heap_.pop_back();
if (index > 0 && Time_Traits::less_than(
heap_[index].time_, heap_[(index - 1) / 2].time_))
diff --git a/boost/asio/detail/win_global.hpp b/boost/asio/detail/win_global.hpp
index 4234a6d4e0..11204dec6d 100644
--- a/boost/asio/detail/win_global.hpp
+++ b/boost/asio/detail/win_global.hpp
@@ -59,7 +59,8 @@ T& win_global()
{
win_global_impl<T>::mutex_.init();
static_mutex::scoped_lock lock(win_global_impl<T>::mutex_);
- win_global_impl<T>::ptr_ = new T;
+ if (win_global_impl<T>::ptr_ == 0)
+ win_global_impl<T>::ptr_ = new T;
win_global_impl<T>::tss_ptr_ = win_global_impl<T>::ptr_;
}
diff --git a/boost/asio/impl/io_context.hpp b/boost/asio/impl/io_context.hpp
index 21dd83688c..37f8ace42a 100644
--- a/boost/asio/impl/io_context.hpp
+++ b/boost/asio/impl/io_context.hpp
@@ -250,7 +250,7 @@ void io_context::executor_type::dispatch(
p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
BOOST_ASIO_HANDLER_CREATION((this->context(), *p.p,
- "io_context", &this->context(), 0, "post"));
+ "io_context", &this->context(), 0, "dispatch"));
io_context_.impl_.post_immediate_completion(p.p, false);
p.v = p.p = 0;
diff --git a/boost/asio/impl/read_until.hpp b/boost/asio/impl/read_until.hpp
index 704a97946b..8bc959557a 100644
--- a/boost/asio/impl/read_until.hpp
+++ b/boost/asio/impl/read_until.hpp
@@ -270,7 +270,9 @@ std::size_t read_until(SyncReadStream& s,
}
// Need more data.
- std::size_t bytes_to_read = read_size_helper(b, 65536);
+ std::size_t bytes_to_read = std::min<std::size_t>(
+ std::max<std::size_t>(512, b.capacity() - b.size()),
+ std::min<std::size_t>(65536, b.max_size() - b.size()));
b.commit(s.read_some(b.prepare(bytes_to_read), ec));
if (ec)
return 0;
diff --git a/boost/asio/impl/use_future.hpp b/boost/asio/impl/use_future.hpp
index a0e22acad3..fd75a7c8e8 100644
--- a/boost/asio/impl/use_future.hpp
+++ b/boost/asio/impl/use_future.hpp
@@ -16,7 +16,6 @@
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
#include <boost/asio/detail/config.hpp>
-#include <future>
#include <tuple>
#include <boost/asio/async_result.hpp>
#include <boost/asio/detail/memory.hpp>
diff --git a/boost/asio/ip/bad_address_cast.hpp b/boost/asio/ip/bad_address_cast.hpp
index 4e62bcd32b..fce9f053b1 100644
--- a/boost/asio/ip/bad_address_cast.hpp
+++ b/boost/asio/ip/bad_address_cast.hpp
@@ -25,7 +25,12 @@ namespace asio {
namespace ip {
/// Thrown to indicate a failed address conversion.
-class bad_address_cast : public std::bad_cast
+class bad_address_cast :
+#if defined(BOOST_ASIO_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS
+ public std::exception
+#else
+ public std::bad_cast
+#endif
{
public:
/// Default constructor.
diff --git a/boost/asio/ip/basic_resolver.hpp b/boost/asio/ip/basic_resolver.hpp
index 969d9d8ac3..4979d104cf 100644
--- a/boost/asio/ip/basic_resolver.hpp
+++ b/boost/asio/ip/basic_resolver.hpp
@@ -199,7 +199,8 @@ public:
}
#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated.) Perform forward resolution of a query to a list of entries.
+ /// (Deprecated: Use overload with separate host and service parameters.)
+ /// Perform forward resolution of a query to a list of entries.
/**
* This function is used to resolve a query into a list of endpoint entries.
*
@@ -220,7 +221,8 @@ public:
return r;
}
- /// (Deprecated.) Perform forward resolution of a query to a list of entries.
+ /// (Deprecated: Use overload with separate host and service parameters.)
+ /// Perform forward resolution of a query to a list of entries.
/**
* This function is used to resolve a query into a list of endpoint entries.
*
@@ -601,8 +603,8 @@ public:
}
#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated.) Asynchronously perform forward resolution of a query to a
- /// list of entries.
+ /// (Deprecated: Use overload with separate host and service parameters.)
+ /// Asynchronously perform forward resolution of a query to a list of entries.
/**
* This function is used to asynchronously resolve a query into a list of
* endpoint entries.
diff --git a/boost/asio/ip/basic_resolver_results.hpp b/boost/asio/ip/basic_resolver_results.hpp
index dc87dbffc8..f553930cfc 100644
--- a/boost/asio/ip/basic_resolver_results.hpp
+++ b/boost/asio/ip/basic_resolver_results.hpp
@@ -233,19 +233,19 @@ public:
/// Get the number of entries in the results range.
size_type size() const BOOST_ASIO_NOEXCEPT
{
- return this->values_->size();
+ return this->values_ ? this->values_->size() : 0;
}
/// Get the maximum number of entries permitted in a results range.
size_type max_size() const BOOST_ASIO_NOEXCEPT
{
- return this->values_->max_size();
+ return this->values_ ? this->values_->max_size() : values_type().max_size();
}
/// Determine whether the results range is empty.
bool empty() const BOOST_ASIO_NOEXCEPT
{
- return this->values_->empty();
+ return this->values_ ? this->values_->empty() : true;
}
/// Obtain a begin iterator for the results range.
@@ -253,7 +253,7 @@ public:
{
basic_resolver_results tmp(*this);
tmp.index_ = 0;
- return tmp;
+ return BOOST_ASIO_MOVE_CAST(basic_resolver_results)(tmp);
}
/// Obtain an end iterator for the results range.
diff --git a/boost/asio/packaged_task.hpp b/boost/asio/packaged_task.hpp
index da6c5aeaa8..4928a1cc7a 100644
--- a/boost/asio/packaged_task.hpp
+++ b/boost/asio/packaged_task.hpp
@@ -16,11 +16,11 @@
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
#include <boost/asio/detail/config.hpp>
+#include <boost/asio/detail/future.hpp>
-#if defined(BOOST_ASIO_HAS_STD_FUTURE) \
+#if defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS) \
|| defined(GENERATING_DOCUMENTATION)
-#include <future>
#include <boost/asio/async_result.hpp>
#include <boost/asio/detail/type_traits.hpp>
#include <boost/asio/detail/variadic_templates.hpp>
@@ -122,7 +122,7 @@ private:
#include <boost/asio/detail/pop_options.hpp>
-#endif // defined(BOOST_ASIO_HAS_STD_FUTURE)
+#endif // defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS)
// || defined(GENERATING_DOCUMENTATION)
#endif // BOOST_ASIO_PACKAGED_TASK_HPP
diff --git a/boost/asio/read.hpp b/boost/asio/read.hpp
index cffc847769..efa373c3cf 100644
--- a/boost/asio/read.hpp
+++ b/boost/asio/read.hpp
@@ -33,8 +33,8 @@ namespace asio {
/**
* @defgroup read boost::asio::read
*
- * @brief Attempt to read a certain amount of data from a stream before
- * returning.
+ * @brief The @c read function is a composed operation that reads a certain
+ * amount of data from a stream before returning.
*/
/*@{*/
@@ -533,8 +533,8 @@ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
/**
* @defgroup async_read boost::asio::async_read
*
- * @brief Start an asynchronous operation to read a certain amount of data from
- * a stream.
+ * @brief The @c async_read function is a composed asynchronous operation that
+ * reads a certain amount of data from a stream before completion.
*/
/*@{*/
diff --git a/boost/asio/read_at.hpp b/boost/asio/read_at.hpp
index 2927ddd1ff..ec6780382b 100644
--- a/boost/asio/read_at.hpp
+++ b/boost/asio/read_at.hpp
@@ -33,8 +33,8 @@ namespace asio {
/**
* @defgroup read_at boost::asio::read_at
*
- * @brief Attempt to read a certain amount of data at the specified offset
- * before returning.
+ * @brief The @c read_at function is a composed operation that reads a certain
+ * amount of data at the specified offset before returning.
*/
/*@{*/
@@ -395,8 +395,8 @@ std::size_t read_at(SyncRandomAccessReadDevice& d,
/**
* @defgroup async_read_at boost::asio::async_read_at
*
- * @brief Start an asynchronous operation to read a certain amount of data at
- * the specified offset.
+ * @brief The @c async_read_at function is a composed asynchronous operation
+ * that reads a certain amount of data at the specified offset.
*/
/*@{*/
diff --git a/boost/asio/read_until.hpp b/boost/asio/read_until.hpp
index 7b66b7fe43..f9c1f51323 100644
--- a/boost/asio/read_until.hpp
+++ b/boost/asio/read_until.hpp
@@ -68,9 +68,10 @@ struct is_match_condition
/**
* @defgroup read_until boost::asio::read_until
*
- * @brief Read data into a dynamic buffer sequence, or into a streambuf, until
- * it contains a delimiter, matches a regular expression, or a function object
- * indicates a match.
+ * @brief The @c read_until function is a composed operation that reads data
+ * into a dynamic buffer sequence, or into a streambuf, until it contains a
+ * delimiter, matches a regular expression, or a function object indicates a
+ * match.
*/
/*@{*/
@@ -986,9 +987,10 @@ std::size_t read_until(SyncReadStream& s,
/**
* @defgroup async_read_until boost::asio::async_read_until
*
- * @brief Start an asynchronous operation to read data into a dynamic buffer
- * sequence, or into a streambuf, until it contains a delimiter, matches a
- * regular expression, or a function object indicates a match.
+ * @brief The @c async_read_until function is a composed asynchronous operation
+ * that reads data into a dynamic buffer sequence, or into a streambuf, until
+ * it contains a delimiter, matches a regular expression, or a function object
+ * indicates a match.
*/
/*@{*/
diff --git a/boost/asio/ssl/context_base.hpp b/boost/asio/ssl/context_base.hpp
index 8671ee676a..625ccc7b5b 100644
--- a/boost/asio/ssl/context_base.hpp
+++ b/boost/asio/ssl/context_base.hpp
@@ -86,6 +86,15 @@ public:
/// TLS version 1.2 server.
tlsv12_server,
+ /// Generic TLS version 1.3.
+ tlsv13,
+
+ /// TLS version 1.3 client.
+ tlsv13_client,
+
+ /// TLS version 1.3 server.
+ tlsv13_server,
+
/// Generic TLS.
tls,
@@ -121,6 +130,9 @@ public:
/// Disable TLS v1.2.
static const long no_tlsv1_2 = implementation_defined;
+ /// Disable TLS v1.3.
+ static const long no_tlsv1_3 = implementation_defined;
+
/// Disable compression. Compression is disabled by default.
static const long no_compression = implementation_defined;
#else
@@ -139,6 +151,11 @@ public:
# else // defined(SSL_OP_NO_TLSv1_2)
BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = 0x08000000L);
# endif // defined(SSL_OP_NO_TLSv1_2)
+# if defined(SSL_OP_NO_TLSv1_3)
+ BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = SSL_OP_NO_TLSv1_3);
+# else // defined(SSL_OP_NO_TLSv1_3)
+ BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = 0x20000000L);
+# endif // defined(SSL_OP_NO_TLSv1_3)
# if defined(SSL_OP_NO_COMPRESSION)
BOOST_ASIO_STATIC_CONSTANT(long, no_compression = SSL_OP_NO_COMPRESSION);
# else // defined(SSL_OP_NO_COMPRESSION)
diff --git a/boost/asio/ssl/impl/context.ipp b/boost/asio/ssl/impl/context.ipp
index f35e43c2a6..b331dea45d 100644
--- a/boost/asio/ssl/impl/context.ipp
+++ b/boost/asio/ssl/impl/context.ipp
@@ -158,7 +158,7 @@ context::context(context::method m)
SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION);
}
break;
-#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#elif defined(SSL_TXT_TLSV1)
case context::tlsv1:
handle_ = ::SSL_CTX_new(::TLSv1_method());
break;
@@ -168,7 +168,14 @@ context::context(context::method m)
case context::tlsv1_server:
handle_ = ::SSL_CTX_new(::TLSv1_server_method());
break;
-#endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#else // defined(SSL_TXT_TLSV1)
+ case context::tlsv1:
+ case context::tlsv1_client:
+ case context::tlsv1_server:
+ boost::asio::detail::throw_error(
+ boost::asio::error::invalid_argument, "context");
+ break;
+#endif // defined(SSL_TXT_TLSV1)
// TLS v1.1.
#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
@@ -241,7 +248,7 @@ context::context(context::method m)
SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION);
}
break;
-#elif defined(SSL_TXT_TLSV1_1)
+#elif defined(SSL_TXT_TLSV1_2)
case context::tlsv12:
handle_ = ::SSL_CTX_new(::TLSv1_2_method());
break;
@@ -251,14 +258,52 @@ context::context(context::method m)
case context::tlsv12_server:
handle_ = ::SSL_CTX_new(::TLSv1_2_server_method());
break;
-#else // defined(SSL_TXT_TLSV1_1)
+#else // defined(SSL_TXT_TLSV1_2)
case context::tlsv12:
case context::tlsv12_client:
case context::tlsv12_server:
boost::asio::detail::throw_error(
boost::asio::error::invalid_argument, "context");
break;
-#endif // defined(SSL_TXT_TLSV1_1)
+#endif // defined(SSL_TXT_TLSV1_2)
+
+ // TLS v1.3.
+#if (OPENSSL_VERSION_NUMBER >= 0x10101000L) \
+ && !defined(LIBRESSL_VERSION_NUMBER)
+ case context::tlsv13:
+ handle_ = ::SSL_CTX_new(::TLS_method());
+ if (handle_)
+ {
+ SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
+ SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
+ }
+ break;
+ case context::tlsv13_client:
+ handle_ = ::SSL_CTX_new(::TLS_client_method());
+ if (handle_)
+ {
+ SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
+ SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
+ }
+ break;
+ case context::tlsv13_server:
+ handle_ = ::SSL_CTX_new(::TLS_server_method());
+ if (handle_)
+ {
+ SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
+ SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
+ }
+ break;
+#else // (OPENSSL_VERSION_NUMBER >= 0x10101000L)
+ // && !defined(LIBRESSL_VERSION_NUMBER)
+ case context::tlsv13:
+ case context::tlsv13_client:
+ case context::tlsv13_server:
+ boost::asio::detail::throw_error(
+ boost::asio::error::invalid_argument, "context");
+ break;
+#endif // (OPENSSL_VERSION_NUMBER >= 0x10101000L)
+ // && !defined(LIBRESSL_VERSION_NUMBER)
// Any supported SSL/TLS version.
case context::sslv23:
diff --git a/boost/asio/ssl/stream.hpp b/boost/asio/ssl/stream.hpp
index 005ff465f4..1acaceea45 100644
--- a/boost/asio/ssl/stream.hpp
+++ b/boost/asio/ssl/stream.hpp
@@ -635,7 +635,8 @@ public:
*
* @note The async_write_some operation may not transmit all of the data to
* the peer. Consider using the @ref async_write function if you need to
- * ensure that all data is written before the blocking operation completes.
+ * ensure that all data is written before the asynchronous operation
+ * completes.
*/
template <typename ConstBufferSequence, typename WriteHandler>
BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
diff --git a/boost/asio/thread_pool.hpp b/boost/asio/thread_pool.hpp
index e959a645c6..ac5f00d091 100644
--- a/boost/asio/thread_pool.hpp
+++ b/boost/asio/thread_pool.hpp
@@ -33,7 +33,7 @@ namespace asio {
*
* @par Submitting tasks to the pool
*
- * To submit functions to the io_context, use the @ref boost::asio::dispatch,
+ * To submit functions to the thread_pool, use the @ref boost::asio::dispatch,
* @ref boost::asio::post or @ref boost::asio::defer free functions.
*
* For example:
diff --git a/boost/asio/use_future.hpp b/boost/asio/use_future.hpp
index b2d65a6d0c..01fb2760f3 100644
--- a/boost/asio/use_future.hpp
+++ b/boost/asio/use_future.hpp
@@ -16,8 +16,9 @@
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
#include <boost/asio/detail/config.hpp>
+#include <boost/asio/detail/future.hpp>
-#if defined(BOOST_ASIO_HAS_STD_FUTURE) \
+#if defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS) \
|| defined(GENERATING_DOCUMENTATION)
#include <memory>
@@ -155,7 +156,7 @@ __declspec(selectany) use_future_t<> use_future;
#include <boost/asio/impl/use_future.hpp>
-#endif // defined(BOOST_ASIO_HAS_STD_FUTURE)
+#endif // defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS)
// || defined(GENERATING_DOCUMENTATION)
#endif // BOOST_ASIO_USE_FUTURE_HPP
diff --git a/boost/asio/version.hpp b/boost/asio/version.hpp
index f7a02913c3..bedf15bd0c 100644
--- a/boost/asio/version.hpp
+++ b/boost/asio/version.hpp
@@ -18,6 +18,6 @@
// BOOST_ASIO_VERSION % 100 is the sub-minor version
// BOOST_ASIO_VERSION / 100 % 1000 is the minor version
// BOOST_ASIO_VERSION / 100000 is the major version
-#define BOOST_ASIO_VERSION 101201 // 1.12.1
+#define BOOST_ASIO_VERSION 101202 // 1.12.2
#endif // BOOST_ASIO_VERSION_HPP
diff --git a/boost/asio/write.hpp b/boost/asio/write.hpp
index 50095dbdf7..e3f4d09cb7 100644
--- a/boost/asio/write.hpp
+++ b/boost/asio/write.hpp
@@ -33,7 +33,8 @@ namespace asio {
/**
* @defgroup write boost::asio::write
*
- * @brief Write a certain amount of data to a stream before returning.
+ * @brief The @c write function is a composed operation that writes a certain
+ * amount of data to a stream before returning.
*/
/*@{*/
@@ -533,8 +534,8 @@ std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b,
/**
* @defgroup async_write boost::asio::async_write
*
- * @brief Start an asynchronous operation to write a certain amount of data to a
- * stream.
+ * @brief The @c async_write function is a composed asynchronous operation that
+ * writes a certain amount of data to a stream before completion.
*/
/*@{*/
diff --git a/boost/asio/write_at.hpp b/boost/asio/write_at.hpp
index 766a8e89c4..6330214bd3 100644
--- a/boost/asio/write_at.hpp
+++ b/boost/asio/write_at.hpp
@@ -33,7 +33,8 @@ namespace asio {
/**
* @defgroup write_at boost::asio::write_at
*
- * @brief Write a certain amount of data at a specified offset before returning.
+ * @brief The @c write_at function is a composed operation that writes a
+ * certain amount of data at a specified offset before returning.
*/
/*@{*/
@@ -393,8 +394,9 @@ std::size_t write_at(SyncRandomAccessWriteDevice& d, uint64_t offset,
/**
* @defgroup async_write_at boost::asio::async_write_at
*
- * @brief Start an asynchronous operation to write a certain amount of data at
- * the specified offset.
+ * @brief The @c async_write_at function is a composed asynchronous operation
+ * that writes a certain amount of data at the specified offset before
+ * completion.
*/
/*@{*/
diff --git a/boost/assign/assignment_exception.hpp b/boost/assign/assignment_exception.hpp
index 96ea41741c..5a52fcd421 100644
--- a/boost/assign/assignment_exception.hpp
+++ b/boost/assign/assignment_exception.hpp
@@ -12,12 +12,13 @@
#ifndef BOOST_ASSIGN_ASSIGNMENT_EXCEPTION_HPP
#define BOOST_ASSIGN_ASSIGNMENT_EXCEPTION_HPP
-#if defined(_MSC_VER)
+#include <boost/config.hpp>
+#include <exception>
+
+#if defined(BOOST_HAS_PRAGMA_ONCE)
# pragma once
#endif
-#include <exception>
-
namespace boost
{
namespace assign
@@ -28,12 +29,12 @@ namespace boost
assignment_exception( const char* _what )
: what_( _what )
{ }
-
- virtual const char* what() const throw()
+
+ virtual const char* what() const BOOST_NOEXCEPT_OR_NOTHROW
{
return what_;
}
-
+
private:
const char* what_;
};
diff --git a/boost/assign/list_inserter.hpp b/boost/assign/list_inserter.hpp
index 46d572c51d..b97a86a0ff 100644
--- a/boost/assign/list_inserter.hpp
+++ b/boost/assign/list_inserter.hpp
@@ -22,14 +22,19 @@
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <cstddef>
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/iteration/local.hpp>
#include <boost/preprocessor/arithmetic/inc.hpp>
+#endif
+
namespace boost
{
namespace assign_detail
@@ -53,7 +58,18 @@ namespace assign_detail
fun_repeater( std::size_t sz_, Fun r ) : sz( sz_ ), val( r )
{ }
};
-
+
+
+ template< class T >
+ struct is_repeater : boost::false_type {};
+
+ template< class T >
+ struct is_repeater< boost::assign_detail::repeater<T> > : boost::true_type{};
+
+ template< class Fun >
+ struct is_repeater< boost::assign_detail::fun_repeater<Fun> > : boost::true_type{};
+
+
template< class C >
class call_push_back
{
@@ -62,11 +78,19 @@ namespace assign_detail
call_push_back( C& c ) : c_( c )
{ }
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class T >
void operator()( T r )
{
c_.push_back( r );
}
+#else
+ template< class T >
+ void operator()(T&& r)
+ {
+ c_.push_back(boost::forward<T>(r));
+ }
+#endif
};
template< class C >
@@ -76,12 +100,20 @@ namespace assign_detail
public:
call_push_front( C& c ) : c_( c )
{ }
-
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class T >
void operator()( T r )
{
c_.push_front( r );
}
+#else
+ template< class T >
+ void operator()(T&& r)
+ {
+ c_.push_front(boost::forward<T>(r));
+ }
+#endif
};
template< class C >
@@ -92,11 +124,19 @@ namespace assign_detail
call_push( C& c ) : c_( c )
{ }
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class T >
void operator()( T r )
{
c_.push( r );
}
+#else
+ template< class T >
+ void operator()(T&& r)
+ {
+ c_.push(boost::forward<T>(r));
+ }
+#endif
};
template< class C >
@@ -106,12 +146,20 @@ namespace assign_detail
public:
call_insert( C& c ) : c_( c )
{ }
-
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class T >
void operator()( T r )
{
c_.insert( r );
}
+#else
+ template< class T >
+ void operator()(T&& r)
+ {
+ c_.insert(boost::forward<T>(r));
+ }
+#endif
};
template< class C >
@@ -161,8 +209,9 @@ namespace assign
template< class Function, class Argument = assign_detail::forward_n_arguments >
class list_inserter
{
- struct single_arg_type {};
- struct n_arg_type {};
+ struct single_arg_type {};
+ struct n_arg_type {};
+ struct repeater_arg_type {};
typedef BOOST_DEDUCED_TYPENAME mpl::if_c< is_same<Argument,assign_detail::forward_n_arguments>::value,
n_arg_type,
@@ -186,14 +235,15 @@ namespace assign
insert_( Argument() );
return *this;
}
-
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class T >
list_inserter& operator=( const T& r )
{
insert_( r );
return *this;
}
-
+
template< class T >
list_inserter& operator=( assign_detail::repeater<T> r )
{
@@ -232,6 +282,38 @@ namespace assign
{
return repeat_fun( r.sz, r.val );
}
+#else
+ // BOOST_NO_CXX11_RVALUE_REFERENCES
+ template< class T >
+ list_inserter& operator=(T&& r)
+ {
+ return operator,(boost::forward<T>(r));
+ }
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template< class T >
+ list_inserter& operator,(T&& r)
+ {
+ typedef BOOST_DEDUCED_TYPENAME mpl::if_c< assign_detail::is_repeater< T >::value,
+ repeater_arg_type,
+ arg_type >::type tag;
+
+ insert(boost::forward<T>(r), tag());
+ return *this;
+ }
+#else
+ // we add the tag as the first argument when using variadic templates
+ template< class T >
+ list_inserter& operator,(T&& r)
+ {
+ typedef BOOST_DEDUCED_TYPENAME mpl::if_c< assign_detail::is_repeater< T >::value,
+ repeater_arg_type,
+ arg_type >::type tag;
+
+ insert(tag(), boost::forward<T>(r));
+ return *this;
+ }
+#endif
+#endif
template< class T >
list_inserter& repeat( std::size_t sz, T r )
@@ -266,6 +348,7 @@ namespace assign
return range( boost::begin(r), boost::end(r) );
}
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class T >
list_inserter& operator()( const T& t )
{
@@ -316,7 +399,72 @@ namespace assign
#include BOOST_PP_LOCAL_ITERATE()
-
+#else
+ template< class... Ts >
+ list_inserter& operator()(Ts&&... ts)
+ {
+ insert(arg_type(), boost::forward<Ts>(ts)...);
+ return *this;
+ }
+
+ template< class T >
+ void insert(single_arg_type, T&& t)
+ {
+ // Special implementation for single argument overload to prevent accidental casts (type-cast using functional notation)
+ insert_(boost::forward<T>(t));
+ }
+
+ template< class T1, class T2, class... Ts >
+ void insert(single_arg_type, T1&& t1, T2&& t2, Ts&&... ts)
+ {
+ insert_(Argument(boost::forward<T1>(t1), boost::forward<T2>(t2), boost::forward<Ts>(ts)...));
+ }
+
+ template< class... Ts >
+ void insert(n_arg_type, Ts&&... ts)
+ {
+ insert_(boost::forward<Ts>(ts)...);
+ }
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+
+ template< class T >
+ void insert( T&& r, arg_type)
+ {
+ insert_( boost::forward<T>(r) );
+ }
+
+ template< class T >
+ void insert(assign_detail::repeater<T> r, repeater_arg_type)
+ {
+ repeat(r.sz, r.val);
+ }
+
+ template< class Nullary_function >
+ void insert(const assign_detail::fun_repeater<Nullary_function>& r, repeater_arg_type)
+ {
+ repeat_fun(r.sz, r.val);
+ }
+#else
+ template< class T >
+ void insert(repeater_arg_type, assign_detail::repeater<T> r)
+ {
+ repeat(r.sz, r.val);
+ }
+
+ template< class Nullary_function >
+ void insert(repeater_arg_type, const assign_detail::fun_repeater<Nullary_function>& r)
+ {
+ repeat_fun(r.sz, r.val);
+ }
+#endif
+#endif
+
+
Function fun_private() const
{
return insert_;
@@ -392,9 +540,13 @@ namespace assign
} // namespace 'assign'
} // namespace 'boost'
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
#undef BOOST_ASSIGN_PARAMS1
#undef BOOST_ASSIGN_PARAMS2
#undef BOOST_ASSIGN_PARAMS3
#undef BOOST_ASSIGN_MAX_PARAMETERS
#endif
+
+#endif
diff --git a/boost/assign/list_of.hpp b/boost/assign/list_of.hpp
index cc043d375d..b9ef968ddd 100644
--- a/boost/assign/list_of.hpp
+++ b/boost/assign/list_of.hpp
@@ -28,15 +28,34 @@
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/decay.hpp>
#include <boost/type_traits/is_array.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/utility/declval.hpp>
#include <boost/mpl/if.hpp>
+#include <boost/move/utility.hpp>
#include <deque>
#include <cstddef>
#include <utility>
+#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#include <array>
+#endif
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#include <initializer_list>
+#endif
+
+// some gcc < 4.7 do not support all of the variadic features required for boost::assign
+#if !(defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || BOOST_WORKAROUND(BOOST_GCC, < 40700) \
+ || defined(BOOST_NO_CXX11_RVALUE_REFERENCES))
+# define BOOST_ASSIGN_USE_VARIADIC_TEMPLATES
+#endif
+
+#if !defined(BOOST_ASSIGN_USE_VARIADIC_TEMPLATES)
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/iteration/local.hpp>
+#endif
+
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
// BCB requires full type definition for is_array<> to work correctly.
#include <boost/array.hpp>
@@ -49,8 +68,8 @@ namespace boost
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
template< class T, std::size_t sz >
class array;
-#endif
-
+#endif
+
namespace assign_detail
{
/////////////////////////////////////////////////////////////////////////
@@ -69,16 +88,20 @@ namespace assign_detail
::boost::decay<const T>,
::boost::decay<T> >::type type;
};
-
+
template< class T, std::size_t sz >
type_traits::yes_type assign_is_array( const array<T,sz>* );
+#ifndef BOOST_NO_CXX11_HDR_ARRAY
+ template< class T, std::size_t sz >
+ type_traits::yes_type assign_is_array( const std::array<T, sz>* );
+#endif
type_traits::no_type assign_is_array( ... );
template< class T, class U >
type_traits::yes_type assign_is_pair( const std::pair<T,U>* );
- type_traits::no_type assign_is_pair( ... );
+ type_traits::no_type assign_is_pair( ... );
+
-
struct array_type_tag
{
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
@@ -108,16 +131,22 @@ namespace assign_detail
#endif
};
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ template< class C >
+ struct is_initializer_list : boost::false_type {};
+
+ template< class E >
+ struct is_initializer_list< std::initializer_list<E> > : boost::true_type {};
+#endif
-
template< class DerivedTAssign, class Iterator >
class converter
{
public: // Range operations
typedef Iterator iterator;
typedef Iterator const_iterator;
-
- iterator begin() const
+
+ iterator begin() const
{
return static_cast<const DerivedTAssign*>(this)->begin();
}
@@ -126,14 +155,14 @@ namespace assign_detail
{
return static_cast<const DerivedTAssign*>(this)->end();
}
-
+
public:
template< class Container >
Container convert_to_container() const
{
static Container* c = 0;
- BOOST_STATIC_CONSTANT( bool, is_array_flag = sizeof( assign_detail::assign_is_array( c ) )
+ BOOST_STATIC_CONSTANT( bool, is_array_flag = sizeof( assign_detail::assign_is_array( c ) )
== sizeof( type_traits::yes_type ) );
typedef BOOST_DEDUCED_TYPENAME mpl::if_c< is_array_flag,
@@ -142,9 +171,9 @@ namespace assign_detail
return convert<Container>( c, tag_type() );
}
-
+
private:
-
+
template< class Container >
Container convert( const Container*, default_type_tag ) const
{
@@ -152,7 +181,7 @@ namespace assign_detail
#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
// old Dinkumware doesn't support iterator type as template
Container result;
- iterator it = begin(),
+ iterator it = begin(),
e = end();
while( it != e )
{
@@ -170,29 +199,29 @@ namespace assign_detail
{
typedef BOOST_DEDUCED_TYPENAME Array::value_type value_type;
-#if BOOST_WORKAROUND(BOOST_INTEL, <= 910 ) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580 )
+#if BOOST_WORKAROUND(BOOST_INTEL, <= 910 ) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5100 )
BOOST_DEDUCED_TYPENAME remove_const<Array>::type ar;
#else
Array ar;
-#endif
+#endif
const std::size_t sz = ar.size();
if( sz < static_cast<const DerivedTAssign*>(this)->size() )
BOOST_THROW_EXCEPTION( assign::assignment_exception( "array initialized with too many elements" ) );
- std::size_t n = 0;
- iterator i = begin(),
+ std::size_t n = 0;
+ iterator i = begin(),
e = end();
for( ; i != e; ++i, ++n )
ar[n] = *i;
for( ; n < sz; ++n )
ar[n] = value_type();
- return ar;
+ return ar;
}
template< class Adapter >
Adapter convert_to_adapter( const Adapter* = 0 ) const
{
Adapter a;
- iterator i = begin(),
+ iterator i = begin(),
e = end();
for( ; i != e; ++i )
a.push( *i );
@@ -209,7 +238,7 @@ namespace assign_detail
adapter_converter( const converter& this_ ) : gl( this_ )
{}
- adapter_converter( const adapter_converter& r )
+ adapter_converter( const adapter_converter& r )
: gl( r.gl )
{ }
@@ -220,11 +249,11 @@ namespace assign_detail
}
};
- public:
+ public:
template< class Container >
Container to_container( Container& c ) const
{
- return convert( &c, default_type_tag() );
+ return convert( &c, default_type_tag() );
}
adapter_converter to_adapter() const
@@ -235,7 +264,7 @@ namespace assign_detail
template< class Adapter >
Adapter to_adapter( Adapter& a ) const
{
- return this->convert_to_adapter( &a );
+ return this->convert_to_adapter( &a );
}
template< class Array >
@@ -262,7 +291,7 @@ namespace assign_detail
{
return !( l == r );
}
-
+
template< class T, class I, class Range >
inline bool operator!=( const Range& l, const converter<T,I>& r )
{
@@ -304,7 +333,7 @@ namespace assign_detail
{
return !( l > r );
}
-
+
template< class T, class I, class Range >
inline bool operator>=( const converter<T,I>& l, const Range& r )
{
@@ -318,67 +347,89 @@ namespace assign_detail
}
template< class T, class I, class Elem, class Traits >
- inline std::basic_ostream<Elem,Traits>&
+ inline std::basic_ostream<Elem,Traits>&
operator<<( std::basic_ostream<Elem, Traits>& Os,
const converter<T,I>& r )
{
return Os << ::boost::make_iterator_range( r.begin(), r.end() );
}
-
+
/////////////////////////////////////////////////////////////////////////
// Part 1: flexible, but inefficient interface
- /////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////
- template< class T >
- class generic_list :
+ template< class T >
+ class generic_list :
public converter< generic_list< BOOST_DEDUCED_TYPENAME assign_decay<T>::type >,
- BOOST_DEDUCED_TYPENAME std::deque<BOOST_DEDUCED_TYPENAME
+ BOOST_DEDUCED_TYPENAME std::deque<BOOST_DEDUCED_TYPENAME
assign_decay<T>::type>::iterator >
{
typedef BOOST_DEDUCED_TYPENAME assign_decay<T>::type Ty;
typedef std::deque<Ty> impl_type;
mutable impl_type values_;
-
+
public:
typedef BOOST_DEDUCED_TYPENAME impl_type::iterator iterator;
typedef iterator const_iterator;
typedef BOOST_DEDUCED_TYPENAME impl_type::value_type value_type;
typedef BOOST_DEDUCED_TYPENAME impl_type::size_type size_type;
typedef BOOST_DEDUCED_TYPENAME impl_type::difference_type difference_type;
-
+
public:
iterator begin() const { return values_.begin(); }
iterator end() const { return values_.end(); }
bool empty() const { return values_.empty(); }
size_type size() const { return values_.size(); }
-
+
private:
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
void push_back( value_type r ) { values_.push_back( r ); }
-
+#else
+ void push_back( const value_type& r ) { values_.push_back( r ); }
+ void push_back( value_type&& r ) { values_.push_back( boost::move( r ) ); }
+#endif
public:
generic_list& operator,( const Ty& u )
{
- this->push_back( u );
+ this->push_back( u );
return *this;
}
- generic_list& operator()()
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+
+ generic_list& operator,( Ty&& u )
{
- this->push_back( Ty() );
+ this->push_back( boost::move(u) );
return *this;
}
-
+#endif
generic_list& operator()( const Ty& u )
{
this->push_back( u );
return *this;
}
-
-
+
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+
+ generic_list& operator()(Ty&& u)
+ {
+ this->push_back( boost::move(u) );
+ return *this;
+ }
+#endif
+
+ generic_list& operator()()
+ {
+ this->push_back( Ty() );
+ return *this;
+ }
+
+#if !defined(BOOST_ASSIGN_USE_VARIADIC_TEMPLATES)
+
#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
#define BOOST_ASSIGN_MAX_PARAMS 5
-#endif
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
+#endif
+#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class U)
#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, U, const& u)
#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, u)
@@ -394,10 +445,18 @@ namespace assign_detail
return *this; \
} \
/**/
-
+
#include BOOST_PP_LOCAL_ITERATE()
-
+#else
+ template< class U0, class U1, class... Us >
+ generic_list& operator()(U0&& u0, U1&& u1, Us&&... us)
+ {
+ this->push_back(Ty(boost::forward<U0>(u0), boost::forward<U1>(u1), boost::forward<Us>(us)...));
+ return *this;
+ }
+#endif
+
template< class U >
generic_list& repeat( std::size_t sz, U u )
{
@@ -406,7 +465,7 @@ namespace assign_detail
this->push_back( u );
return *this;
}
-
+
template< class Nullary_function >
generic_list& repeat_fun( std::size_t sz, Nullary_function fun )
{
@@ -417,27 +476,59 @@ namespace assign_detail
}
template< class SinglePassIterator >
- generic_list& range( SinglePassIterator first,
+ generic_list& range( SinglePassIterator first,
SinglePassIterator last )
{
for( ; first != last; ++first )
this->push_back( *first );
return *this;
}
-
+
template< class SinglePassRange >
generic_list& range( const SinglePassRange& r )
{
return range( boost::begin(r), boost::end(r) );
}
+#if !defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
+ template< class Container,
+ class = decltype(Container(
+ boost::declval<BOOST_DEDUCED_TYPENAME std::deque<BOOST_DEDUCED_TYPENAME assign_decay<T>::type>::iterator>(),
+ boost::declval<BOOST_DEDUCED_TYPENAME std::deque<BOOST_DEDUCED_TYPENAME assign_decay<T>::type>::iterator>()
+ ))
+ >
+ operator Container() const
+ {
+ return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
+ }
+ template< class Container,
+ class = typename boost::enable_if< boost::is_same< boost::type_traits::yes_type, decltype(assign_is_array((Container*)0))> >::type,
+ class = void
+ >
+ operator Container() const
+ {
+ return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
+ }
+#elif !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
+ template< class Container
+# if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+ , class = typename boost::disable_if< is_initializer_list<Container> >::type
+# endif
+ , class = typename Container::iterator
+ >
+ operator Container() const
+ {
+ return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
+ }
+#else
template< class Container >
operator Container() const
{
return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
}
+#endif
};
-
+
/////////////////////////////////////////////////////////////////////////
// Part 2: efficient, but inconvenient interface
/////////////////////////////////////////////////////////////////////////
@@ -445,7 +536,7 @@ namespace assign_detail
template< class T >
struct assign_reference
{
- assign_reference()
+ assign_reference() : ref_(0)
{ /* intentionally empty */ }
assign_reference( T& r ) : ref_(&r)
@@ -470,14 +561,14 @@ namespace assign_detail
{
return *ref_;
}
-
+
private:
T* ref_;
};
template< class T >
- inline bool operator<( const assign_reference<T>& l,
+ inline bool operator<( const assign_reference<T>& l,
const assign_reference<T>& r )
{
return l.get_ref() < r.get_ref();
@@ -491,16 +582,16 @@ namespace assign_detail
}
template< class T >
- inline void swap( assign_reference<T>& l,
+ inline void swap( assign_reference<T>& l,
assign_reference<T>& r )
{
l.swap( r );
}
-
+
template< class T, int N >
- struct static_generic_list :
+ struct static_generic_list :
public converter< static_generic_list<T,N>, assign_reference<T>* >
{
private:
@@ -513,7 +604,7 @@ namespace assign_detail
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
-
+
static_generic_list( T& r ) :
current_(1)
{
@@ -526,7 +617,7 @@ namespace assign_detail
return *this;
}
- iterator begin() const
+ iterator begin() const
{
return &refs_[0];
}
@@ -538,7 +629,7 @@ namespace assign_detail
size_type size() const
{
- return static_cast<size_type>( current_ );
+ return static_cast<size_type>( current_ );
}
bool empty() const
@@ -547,7 +638,7 @@ namespace assign_detail
}
template< class ForwardIterator >
- static_generic_list& range( ForwardIterator first,
+ static_generic_list& range( ForwardIterator first,
ForwardIterator last )
{
for( ; first != last; ++first )
@@ -567,11 +658,41 @@ namespace assign_detail
return range( boost::begin(r), boost::end(r) );
}
+#if !defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
+ template< class Container,
+ class = decltype(Container(boost::declval<assign_reference<T>*>(), boost::declval<assign_reference<T>*>()))
+ >
+ operator Container() const
+ {
+ return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
+ }
+
+ template< class Container,
+ class = typename boost::enable_if< boost::is_same< boost::type_traits::yes_type, decltype(assign_is_array((Container*)0))> >::type,
+ class = void
+ >
+ operator Container() const
+ {
+ return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
+ }
+#elif !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
+ template< class Container
+# if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+ , class = typename boost::disable_if< is_initializer_list<Container> >::type
+# endif
+ , class = typename Container::iterator
+ >
+ operator Container() const
+ {
+ return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
+ }
+#else
template< class Container >
operator Container() const
{
return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
}
+#endif
private:
void insert( T& r )
@@ -579,9 +700,9 @@ namespace assign_detail
refs_[current_] = r;
++current_;
}
-
+
static_generic_list();
-
+
mutable assign_reference<internal_value_type> refs_[N];
int current_;
};
@@ -591,26 +712,43 @@ namespace assign_detail
namespace assign
{
template< class T >
- inline assign_detail::generic_list<T>
+ inline assign_detail::generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type>
list_of()
{
- return assign_detail::generic_list<T>()( T() );
+ assign_detail::generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type> gl;
+ gl();
+ return gl;
}
-
+
+#if !defined(BOOST_ASSIGN_USE_VARIADIC_TEMPLATES)
+
template< class T >
- inline assign_detail::generic_list<T>
+ inline assign_detail::generic_list<T>
list_of( const T& t )
{
return assign_detail::generic_list<T>()( t );
}
+#else
+
+ template< class T >
+ inline assign_detail::generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type>
+ list_of(T&& t)
+ {
+ assign_detail::generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type> gl;
+ gl(boost::forward<T>(t));
+ return gl;
+ }
+
+#endif
+
template< int N, class T >
inline assign_detail::static_generic_list< BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>
ref_list_of( T& t )
{
return assign_detail::static_generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>( t );
}
-
+
template< int N, class T >
inline assign_detail::static_generic_list<const BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>
cref_list_of( const T& t )
@@ -618,6 +756,8 @@ namespace assign
return assign_detail::static_generic_list<const BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>( t );
}
+#if !defined(BOOST_ASSIGN_USE_VARIADIC_TEMPLATES)
+
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
#define BOOST_PP_LOCAL_MACRO(n) \
template< class T, class U, BOOST_ASSIGN_PARAMS1(n) > \
@@ -627,7 +767,7 @@ namespace assign
return assign_detail::generic_list<T>()(u, BOOST_ASSIGN_PARAMS3(n)); \
} \
/**/
-
+
#include BOOST_PP_LOCAL_ITERATE()
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
@@ -639,14 +779,34 @@ namespace assign
return assign_detail::generic_list< tuple<U, BOOST_ASSIGN_PARAMS4(n)> >()( tuple<U,BOOST_ASSIGN_PARAMS4(n)>( u, BOOST_ASSIGN_PARAMS3(n) )); \
} \
/**/
-
+
#include BOOST_PP_LOCAL_ITERATE()
+#else
+ template< class T, class U, class... Us >
+ inline assign_detail::generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type>
+ list_of(U&& u, Us&&... us)
+ {
+ assign_detail::generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type> gl;
+ gl(boost::forward<U>(u), boost::forward<Us>(us)...);
+ return gl;
+ }
+
+
+ template< class U, class... Us >
+ inline assign_detail::generic_list< tuple<U, Us...> >
+ tuple_list_of(U u, Us... us)
+ {
+ assign_detail::generic_list< tuple<U, Us...> > gl;
+ gl(tuple<U, Us...>(u, us...));
+ return gl;
+ }
+#endif
template< class Key, class T >
inline assign_detail::generic_list< std::pair
- <
- BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<Key>::type,
+ <
+ BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<Key>::type,
BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type
> >
map_list_of( const Key& k, const T& t )
@@ -658,8 +818,8 @@ namespace assign
template< class F, class S >
inline assign_detail::generic_list< std::pair
- <
- BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<F>::type,
+ <
+ BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<F>::type,
BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<S>::type
> >
pair_list_of( const F& f, const S& s )
@@ -672,6 +832,8 @@ namespace assign
} // namespace 'boost'
+#if !defined(BOOST_ASSIGN_USE_VARIADIC_TEMPLATES)
+
#undef BOOST_ASSIGN_PARAMS1
#undef BOOST_ASSIGN_PARAMS2
#undef BOOST_ASSIGN_PARAMS3
@@ -680,3 +842,6 @@ namespace assign
#undef BOOST_ASSIGN_MAX_PARAMETERS
#endif
+
+
+#endif
diff --git a/boost/assign/ptr_list_inserter.hpp b/boost/assign/ptr_list_inserter.hpp
index 20741f2c9c..55f6e568ab 100644
--- a/boost/assign/ptr_list_inserter.hpp
+++ b/boost/assign/ptr_list_inserter.hpp
@@ -18,6 +18,15 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/move/utility.hpp>
+
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
+#include <boost/preprocessor/repetition/enum_binary_params.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/iteration/local.hpp>
+
+#endif
namespace boost
{
@@ -44,6 +53,8 @@ namespace assign
ptr_list_inserter( const ptr_list_inserter& r ) : insert_( r.insert_ )
{}
+
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
ptr_list_inserter& operator()()
{
insert_( new obj_type() );
@@ -77,6 +88,17 @@ namespace assign
#include BOOST_PP_LOCAL_ITERATE()
+#else
+
+ template< class... Ts >
+ ptr_list_inserter& operator()(Ts&&... ts)
+ {
+ insert_(new obj_type(boost::forward<Ts>(ts)...));
+ return *this;
+ }
+
+#endif
+
private:
ptr_list_inserter& operator=( const ptr_list_inserter& );
@@ -156,9 +178,13 @@ namespace assign
} // namespace 'assign'
} // namespace 'boost'
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
#undef BOOST_ASSIGN_PARAMS1
#undef BOOST_ASSIGN_PARAMS2
#undef BOOST_ASSIGN_PARAMS3
#undef BOOST_ASSIGN_MAX_PARAMETERS
#endif
+
+#endif
diff --git a/boost/assign/ptr_list_of.hpp b/boost/assign/ptr_list_of.hpp
index 082f3725f1..67b5860809 100644
--- a/boost/assign/ptr_list_of.hpp
+++ b/boost/assign/ptr_list_of.hpp
@@ -26,11 +26,16 @@
#include <boost/type_traits/is_array.hpp>
#include <boost/mpl/if.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
+#include <boost/move/utility.hpp>
+
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/iteration/local.hpp>
+#endif
+
namespace boost
{
@@ -38,12 +43,12 @@ namespace assign_detail
{
/////////////////////////////////////////////////////////////////////////
// Part 1: flexible and efficient interface
- /////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////
- template< class T >
- class generic_ptr_list :
+ template< class T >
+ class generic_ptr_list :
public converter< generic_ptr_list<T>,
- BOOST_DEDUCED_TYPENAME boost::ptr_vector<T>::iterator >
+ BOOST_DEDUCED_TYPENAME boost::ptr_vector<T>::iterator >
{
protected:
typedef boost::ptr_vector<T> impl_type;
@@ -53,7 +58,7 @@ namespace assign_detail
typedef std::auto_ptr<impl_type> release_type;
#endif
mutable impl_type values_;
-
+
public:
typedef BOOST_DEDUCED_TYPENAME impl_type::iterator iterator;
typedef iterator const_iterator;
@@ -71,7 +76,7 @@ namespace assign_detail
{
return values_.release();
}
-
+
public:
iterator begin() const { return values_.begin(); }
iterator end() const { return values_.end(); }
@@ -82,12 +87,12 @@ namespace assign_detail
operator impl_type() const
{
- return values_;
+ return values_;
}
-
+
template< template<class,class,class> class Seq, class U,
- class CA, class A >
- operator Seq<U,CA,A>() const
+ class CA, class A >
+ operator Seq<U,CA,A>() const
{
Seq<U,CA,A> result;
result.transfer( result.end(), values_ );
@@ -109,7 +114,7 @@ namespace assign_detail
std::auto_ptr<PtrContainer> res( new PtrContainer() );
#endif
while( !empty() )
- res->insert( res->end(),
+ res->insert( res->end(),
values_.pop_back().release() );
return res;
}
@@ -122,13 +127,15 @@ namespace assign_detail
#endif
to_container( const PtrContainer& c ) const
{
- return convert( &c );
+ return convert( &c );
}
-
+
protected:
void push_back( T* r ) { values_.push_back( r ); }
-
+
public:
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
generic_ptr_list& operator()()
{
this->push_back( new T() );
@@ -141,12 +148,12 @@ namespace assign_detail
this->push_back( new T(u) );
return *this;
}
-
-
+
+
#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
#define BOOST_ASSIGN_MAX_PARAMS 5
-#endif
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
+#endif
+#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class U)
#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, U, const& u)
#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, u)
@@ -160,27 +167,44 @@ namespace assign_detail
return *this; \
} \
/**/
-
+
#include BOOST_PP_LOCAL_ITERATE()
+#else
+ template< class... Us >
+ generic_ptr_list& operator()(Us&&... us)
+ {
+ this->push_back(new T(boost::forward<Us>(us)...));
+ return *this;
+ }
+#endif
+
+
+
}; // class 'generic_ptr_list'
} // namespace 'assign_detail'
namespace assign
{
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
template< class T >
inline assign_detail::generic_ptr_list<T>
ptr_list_of()
{
- return assign_detail::generic_ptr_list<T>()();
+ assign_detail::generic_ptr_list<T> gpl;
+ gpl();
+ return gpl;
}
-
+
template< class T, class U >
- inline assign_detail::generic_ptr_list<T>
+ inline assign_detail::generic_ptr_list<T>
ptr_list_of( const U& t )
{
- return assign_detail::generic_ptr_list<T>()( t );
+ assign_detail::generic_ptr_list<T> gpl;
+ gpl( t );
+ return gpl;
}
@@ -193,13 +217,25 @@ namespace assign
return assign_detail::generic_ptr_list<T>()(u, BOOST_ASSIGN_PARAMS3(n)); \
} \
/**/
-
+
#include BOOST_PP_LOCAL_ITERATE()
+#else
+ template< class T, class... Us >
+ inline assign_detail::generic_ptr_list<T>
+ ptr_list_of(Us&&... us)
+ {
+ assign_detail::generic_ptr_list<T> gpl;
+ gpl(boost::forward<Us>(us)...);
+ return gpl;
+ }
+
+#endif
} // namespace 'assign'
} // namespace 'boost'
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
#undef BOOST_ASSIGN_PARAMS1
#undef BOOST_ASSIGN_PARAMS2
@@ -207,3 +243,5 @@ namespace assign
#undef BOOST_ASSIGN_MAX_PARAMETERS
#endif
+
+#endif
diff --git a/boost/assign/ptr_map_inserter.hpp b/boost/assign/ptr_map_inserter.hpp
index fb180f28fd..efe5d87413 100644
--- a/boost/assign/ptr_map_inserter.hpp
+++ b/boost/assign/ptr_map_inserter.hpp
@@ -18,6 +18,15 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/move/utility.hpp>
+
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
+#include <boost/preprocessor/repetition/enum_binary_params.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/iteration/local.hpp>
+
+#endif
namespace boost
{
@@ -38,7 +47,9 @@ namespace assign
ptr_map_inserter( PtrMap& m ) : m_( m )
{}
-
+
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
template< class Key >
ptr_map_inserter& operator()( const Key& t )
{
@@ -68,6 +79,16 @@ namespace assign
#include BOOST_PP_LOCAL_ITERATE()
+#else
+ template< class Key, class... Ts >
+ ptr_map_inserter& operator()(Key&& k, Ts&&... ts)
+ {
+ key_type key(boost::forward<Key>(k));
+ m_.insert(key, new obj_type(boost::forward<Ts>(ts)...));
+ return *this;
+ }
+
+#endif
private:
ptr_map_inserter& operator=( const ptr_map_inserter& );
@@ -95,9 +116,13 @@ namespace assign
} // namespace 'assign'
} // namespace 'boost'
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
#undef BOOST_ASSIGN_PARAMS1
#undef BOOST_ASSIGN_PARAMS2
#undef BOOST_ASSIGN_PARAMS3
#undef BOOST_ASSIGN_MAX_PARAMETERS
#endif
+
+#endif
diff --git a/boost/assign/std/deque.hpp b/boost/assign/std/deque.hpp
index f808b70ca3..b357aa69e0 100644
--- a/boost/assign/std/deque.hpp
+++ b/boost/assign/std/deque.hpp
@@ -18,12 +18,14 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <deque>
namespace boost
{
namespace assign
{
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class V, class A, class V2 >
inline list_inserter< assign_detail::call_push_back< std::deque<V,A> >, V >
@@ -31,7 +33,18 @@ namespace assign
{
return push_back( c )( v );
}
-
+
+#else
+
+ template< class V, class A, class V2 >
+ inline list_inserter< assign_detail::call_push_back< std::deque<V, A> >, V >
+ operator+=(std::deque<V, A>& c, V2&& v)
+ {
+ return push_back(c)(boost::forward<V2>(v));
+ }
+
+#endif
+
}
}
diff --git a/boost/assign/std/list.hpp b/boost/assign/std/list.hpp
index 439006da59..3415a35f63 100644
--- a/boost/assign/std/list.hpp
+++ b/boost/assign/std/list.hpp
@@ -18,12 +18,14 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <list>
namespace boost
{
namespace assign
{
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class V, class A, class V2 >
inline list_inserter< assign_detail::call_push_back< std::list<V,A> >, V >
@@ -31,7 +33,18 @@ namespace assign
{
return push_back( c )( v );
}
-
+
+#else
+
+ template< class V, class A, class V2 >
+ inline list_inserter< assign_detail::call_push_back< std::list<V, A> >, V >
+ operator+=(std::list<V, A>& c, V2&& v)
+ {
+ return push_back(c)(boost::forward<V2>(v));
+ }
+
+#endif
+
}
}
diff --git a/boost/assign/std/queue.hpp b/boost/assign/std/queue.hpp
index d6023e8a12..009dc20973 100644
--- a/boost/assign/std/queue.hpp
+++ b/boost/assign/std/queue.hpp
@@ -18,12 +18,14 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <queue>
namespace boost
{
namespace assign
{
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class V, class C, class V2 >
inline list_inserter< assign_detail::call_push< std::queue<V,C> >, V >
@@ -39,6 +41,23 @@ namespace assign
return push( c )( v );
}
+#else
+
+ template< class V, class C, class V2 >
+ inline list_inserter< assign_detail::call_push< std::queue<V, C> >, V >
+ operator+=(std::queue<V, C>& c, V2&& v)
+ {
+ return push(c)(boost::forward<V2>(v));
+ }
+
+ template< class V, class C, class V2 >
+ inline list_inserter< assign_detail::call_push< std::priority_queue<V, C> >, V >
+ operator+=(std::priority_queue<V, C>& c, V2&& v)
+ {
+ return push(c)(boost::forward<V2>(v));
+ }
+
+#endif
}
}
diff --git a/boost/assign/std/set.hpp b/boost/assign/std/set.hpp
index e4d5ee2f86..0aefbee0ad 100644
--- a/boost/assign/std/set.hpp
+++ b/boost/assign/std/set.hpp
@@ -18,12 +18,16 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <set>
namespace boost
{
namespace assign
{
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
template< class K, class C, class A, class K2 >
inline list_inserter< assign_detail::call_insert< std::set<K,C,A> >, K >
operator+=( std::set<K,C,A>& c, K2 k )
@@ -37,7 +41,24 @@ namespace assign
{
return insert( c )( k );
}
-
+
+#else
+
+ template< class K, class C, class A, class K2 >
+ inline list_inserter< assign_detail::call_insert< std::set<K, C, A> >, K >
+ operator+=(std::set<K, C, A>& c, K2&& k)
+ {
+ return insert(c)(boost::forward<K2>(k));
+ }
+
+ template< class K, class C, class A, class K2 >
+ inline list_inserter< assign_detail::call_insert< std::multiset<K, C, A> >, K >
+ operator+=(std::multiset<K, C, A>& c, K2&& k)
+ {
+ return insert(c)(boost::forward<K2>(k));
+ }
+
+#endif
}
}
diff --git a/boost/assign/std/slist.hpp b/boost/assign/std/slist.hpp
index 0704b238ce..ac1f48adc4 100644
--- a/boost/assign/std/slist.hpp
+++ b/boost/assign/std/slist.hpp
@@ -19,6 +19,7 @@
#endif
#include <boost/assign/list_inserter.hpp>
+#include <boost/move/utility.hpp>
#ifdef BOOST_SLIST_HEADER
# include BOOST_SLIST_HEADER
#else
@@ -29,14 +30,22 @@ namespace boost
{
namespace assign
{
-
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class V, class A, class V2 >
inline list_inserter< assign_detail::call_push_back< BOOST_STD_EXTENSION_NAMESPACE::slist<V,A> >, V >
operator+=( BOOST_STD_EXTENSION_NAMESPACE::slist<V,A>& c, V2 v )
{
return push_back( c )( v );
}
-
+#else
+ template< class V, class A, class V2 >
+ inline list_inserter< assign_detail::call_push_back< BOOST_STD_EXTENSION_NAMESPACE::slist<V,A> >, V >
+ operator+=( BOOST_STD_EXTENSION_NAMESPACE::slist<V,A>& c, V2&& v )
+ {
+ return push_back( c )( boost::forward<V2>(v) );
+ }
+
+#endif
}
}
diff --git a/boost/assign/std/stack.hpp b/boost/assign/std/stack.hpp
index e528f169b1..5b0e07c9c6 100644
--- a/boost/assign/std/stack.hpp
+++ b/boost/assign/std/stack.hpp
@@ -17,12 +17,14 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <stack>
namespace boost
{
namespace assign
{
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class V, class C, class V2 >
inline list_inserter< assign_detail::call_push< std::stack<V,C> >, V >
@@ -30,7 +32,17 @@ namespace assign
{
return push( c )( v );
}
-
+
+#else
+
+ template< class V, class C, class V2 >
+ inline list_inserter< assign_detail::call_push< std::stack<V, C> >, V >
+ operator+=(std::stack<V, C>& c, V2&& v)
+ {
+ return push(c)(boost::forward<V2>(v));
+ }
+
+#endif
}
}
diff --git a/boost/assign/std/vector.hpp b/boost/assign/std/vector.hpp
index 8861de9b43..50f0350084 100644
--- a/boost/assign/std/vector.hpp
+++ b/boost/assign/std/vector.hpp
@@ -17,12 +17,14 @@
#include <boost/assign/list_inserter.hpp>
#include <boost/config.hpp>
+#include <boost/move/utility.hpp>
#include <vector>
namespace boost
{
namespace assign
{
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template< class V, class A, class V2 >
inline list_inserter< assign_detail::call_push_back< std::vector<V,A> >, V >
@@ -30,7 +32,17 @@ namespace assign
{
return push_back( c )( v );
}
-
+
+#else
+
+ template< class V, class A, class V2 >
+ inline list_inserter< assign_detail::call_push_back< std::vector<V, A> >, V >
+ operator+=( std::vector<V, A>& c, V2&& v )
+ {
+ return push_back( c )( std::forward<V2>(v) );
+ }
+
+#endif
}
}
diff --git a/boost/beast/core/buffers_adapter.hpp b/boost/beast/core/buffers_adapter.hpp
index 0e0ce8b0c1..2000ce24bb 100644
--- a/boost/beast/core/buffers_adapter.hpp
+++ b/boost/beast/core/buffers_adapter.hpp
@@ -69,6 +69,8 @@ class buffers_adapter
{
}
+ iter_type end_impl() const;
+
public:
/// The type of the underlying mutable buffer sequence
using value_type = MutableBufferSequence;
diff --git a/boost/beast/core/detail/buffer.hpp b/boost/beast/core/detail/buffer.hpp
new file mode 100644
index 0000000000..d359d10059
--- /dev/null
+++ b/boost/beast/core/detail/buffer.hpp
@@ -0,0 +1,83 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_DETAIL_BUFFER_HPP
+#define BOOST_BEAST_CORE_DETAIL_BUFFER_HPP
+
+#include <boost/beast/core/error.hpp>
+#include <boost/optional.hpp>
+#include <stdexcept>
+
+namespace boost {
+namespace beast {
+namespace detail {
+
+template<
+ class DynamicBuffer,
+ class ErrorValue>
+auto
+dynamic_buffer_prepare_noexcept(
+ DynamicBuffer& buffer,
+ std::size_t size,
+ error_code& ec,
+ ErrorValue ev) ->
+ boost::optional<typename
+ DynamicBuffer::mutable_buffers_type>
+{
+ if(buffer.max_size() - buffer.size() < size)
+ {
+ // length error
+ ec = ev;
+ return boost::none;
+ }
+ boost::optional<typename
+ DynamicBuffer::mutable_buffers_type> result;
+ result.emplace(buffer.prepare(size));
+ ec.assign(0, ec.category());
+ return result;
+}
+
+template<
+ class DynamicBuffer,
+ class ErrorValue>
+auto
+dynamic_buffer_prepare(
+ DynamicBuffer& buffer,
+ std::size_t size,
+ error_code& ec,
+ ErrorValue ev) ->
+ boost::optional<typename
+ DynamicBuffer::mutable_buffers_type>
+{
+#ifndef BOOST_NO_EXCEPTIONS
+ try
+ {
+ boost::optional<typename
+ DynamicBuffer::mutable_buffers_type> result;
+ result.emplace(buffer.prepare(size));
+ ec.assign(0, ec.category());
+ return result;
+ }
+ catch(std::length_error const&)
+ {
+ ec = ev;
+ }
+ return boost::none;
+
+#else
+ return dynamic_buffer_prepare_noexcept(
+ buffer, size, ec, ev);
+#endif
+}
+
+} // detail
+} // beast
+} // boost
+
+#endif
diff --git a/boost/beast/core/detail/empty_base_optimization.hpp b/boost/beast/core/detail/empty_base_optimization.hpp
deleted file mode 100644
index b1e728b674..0000000000
--- a/boost/beast/core/detail/empty_base_optimization.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
-//
-// 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)
-//
-// Official repository: https://github.com/boostorg/beast
-//
-
-#ifndef BOOST_BEAST_DETAIL_EMPTY_BASE_OPTIMIZATION_HPP
-#define BOOST_BEAST_DETAIL_EMPTY_BASE_OPTIMIZATION_HPP
-
-#include <boost/type_traits/is_final.hpp>
-#include <type_traits>
-#include <utility>
-
-namespace boost {
-namespace beast {
-namespace detail {
-
-template<class T>
-struct is_empty_base_optimization_derived
- : std::integral_constant<bool,
- std::is_empty<T>::value &&
- ! boost::is_final<T>::value>
-{
-};
-
-template<class T, int UniqueID = 0,
- bool isDerived =
- is_empty_base_optimization_derived<T>::value>
-class empty_base_optimization : private T
-{
-public:
- empty_base_optimization() = default;
- empty_base_optimization(empty_base_optimization&&) = default;
- empty_base_optimization(empty_base_optimization const&) = default;
- empty_base_optimization& operator=(empty_base_optimization&&) = default;
- empty_base_optimization& operator=(empty_base_optimization const&) = default;
-
- template<class Arg1, class... ArgN>
- explicit
- empty_base_optimization(Arg1&& arg1, ArgN&&... argn)
- : T(std::forward<Arg1>(arg1),
- std::forward<ArgN>(argn)...)
- {
- }
-
- T& member() noexcept
- {
- return *this;
- }
-
- T const& member() const noexcept
- {
- return *this;
- }
-};
-
-//------------------------------------------------------------------------------
-
-template<
- class T,
- int UniqueID
->
-class empty_base_optimization <T, UniqueID, false>
-{
- T t_;
-
-public:
- empty_base_optimization() = default;
- empty_base_optimization(empty_base_optimization&&) = default;
- empty_base_optimization(empty_base_optimization const&) = default;
- empty_base_optimization& operator=(empty_base_optimization&&) = default;
- empty_base_optimization& operator=(empty_base_optimization const&) = default;
-
- template<class Arg1, class... ArgN>
- explicit
- empty_base_optimization(Arg1&& arg1, ArgN&&... argn)
- : t_(std::forward<Arg1>(arg1),
- std::forward<ArgN>(argn)...)
- {
- }
-
- T& member() noexcept
- {
- return t_;
- }
-
- T const& member() const noexcept
- {
- return t_;
- }
-};
-
-} // detail
-} // beast
-} // boost
-
-#endif
diff --git a/boost/beast/core/flat_buffer.hpp b/boost/beast/core/flat_buffer.hpp
index 11a18fdcb4..1e0f0ef519 100644
--- a/boost/beast/core/flat_buffer.hpp
+++ b/boost/beast/core/flat_buffer.hpp
@@ -12,8 +12,8 @@
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/detail/allocator.hpp>
-#include <boost/beast/core/detail/empty_base_optimization.hpp>
#include <boost/asio/buffer.hpp>
+#include <boost/core/empty_value.hpp>
#include <limits>
#include <memory>
@@ -44,7 +44,7 @@ namespace beast {
template<class Allocator>
class basic_flat_buffer
#if ! BOOST_BEAST_DOXYGEN
- : private detail::empty_base_optimization<
+ : private boost::empty_value<
typename detail::allocator_traits<Allocator>::
template rebind_alloc<char>>
#endif
@@ -218,7 +218,7 @@ public:
allocator_type
get_allocator() const
{
- return this->member();
+ return this->get();
}
/// Returns the size of the input sequence.
diff --git a/boost/beast/core/impl/buffers_adapter.ipp b/boost/beast/core/impl/buffers_adapter.ipp
index fa0872ae77..f077c521f0 100644
--- a/boost/beast/core/impl/buffers_adapter.ipp
+++ b/boost/beast/core/impl/buffers_adapter.ipp
@@ -26,7 +26,7 @@ template<class MutableBufferSequence>
class buffers_adapter<MutableBufferSequence>::
const_buffers_type
{
- buffers_adapter const* ba_;
+ buffers_adapter const* b_;
public:
using value_type = boost::asio::const_buffer;
@@ -48,8 +48,8 @@ public:
private:
friend class buffers_adapter;
- const_buffers_type(buffers_adapter const& ba)
- : ba_(&ba)
+ const_buffers_type(buffers_adapter const& b)
+ : b_(&b)
{
}
};
@@ -59,7 +59,7 @@ class buffers_adapter<MutableBufferSequence>::
const_buffers_type::const_iterator
{
iter_type it_;
- buffers_adapter const* ba_ = nullptr;
+ buffers_adapter const* b_ = nullptr;
public:
using value_type = boost::asio::const_buffer;
@@ -78,8 +78,20 @@ public:
bool
operator==(const_iterator const& other) const
{
- return ba_ == other.ba_ &&
- it_ == other.it_;
+ return
+ (b_ == nullptr) ?
+ (
+ other.b_ == nullptr ||
+ other.it_ == other.b_->end_impl()
+ ):(
+ (other.b_ == nullptr) ?
+ (
+ it_ == b_->end_impl()
+ ): (
+ b_ == other.b_ &&
+ it_ == other.it_
+ )
+ );
}
bool
@@ -93,9 +105,9 @@ public:
{
value_type const b = *it_;
return value_type{b.data(),
- (ba_->out_ == boost::asio::buffer_sequence_end(ba_->bs_) ||
- it_ != ba_->out_) ? b.size() : ba_->out_pos_} +
- (it_ == ba_->begin_ ? ba_->in_pos_ : 0);
+ (b_->out_ == boost::asio::buffer_sequence_end(b_->bs_) ||
+ it_ != b_->out_) ? b.size() : b_->out_pos_} +
+ (it_ == b_->begin_ ? b_->in_pos_ : 0);
}
pointer
@@ -134,33 +146,30 @@ public:
private:
friend class const_buffers_type;
- const_iterator(buffers_adapter const& ba,
+ const_iterator(buffers_adapter const& b,
iter_type iter)
: it_(iter)
- , ba_(&ba)
+ , b_(&b)
{
}
};
template<class MutableBufferSequence>
-inline
auto
buffers_adapter<MutableBufferSequence>::
const_buffers_type::begin() const ->
const_iterator
{
- return const_iterator{*ba_, ba_->begin_};
+ return const_iterator{*b_, b_->begin_};
}
template<class MutableBufferSequence>
-inline
auto
buffers_adapter<MutableBufferSequence>::
const_buffers_type::end() const ->
const_iterator
{
- return const_iterator{*ba_, ba_->out_ ==
- ba_->end_ ? ba_->end_ : std::next(ba_->out_)};
+ return const_iterator{*b_, b_->end_impl()};
}
//------------------------------------------------------------------------------
@@ -169,7 +178,7 @@ template<class MutableBufferSequence>
class buffers_adapter<MutableBufferSequence>::
mutable_buffers_type
{
- buffers_adapter const* ba_;
+ buffers_adapter const* b_;
public:
using value_type = boost::asio::mutable_buffer;
@@ -192,8 +201,8 @@ private:
friend class buffers_adapter;
mutable_buffers_type(
- buffers_adapter const& ba)
- : ba_(&ba)
+ buffers_adapter const& b)
+ : b_(&b)
{
}
};
@@ -203,7 +212,7 @@ class buffers_adapter<MutableBufferSequence>::
mutable_buffers_type::const_iterator
{
iter_type it_;
- buffers_adapter const* ba_ = nullptr;
+ buffers_adapter const* b_ = nullptr;
public:
using value_type = boost::asio::mutable_buffer;
@@ -222,8 +231,20 @@ public:
bool
operator==(const_iterator const& other) const
{
- return ba_ == other.ba_ &&
- it_ == other.it_;
+ return
+ (b_ == nullptr) ?
+ (
+ other.b_ == nullptr ||
+ other.it_ == other.b_->end_
+ ):(
+ (other.b_ == nullptr) ?
+ (
+ it_ == b_->end_
+ ): (
+ b_ == other.b_ &&
+ it_ == other.it_
+ )
+ );
}
bool
@@ -237,9 +258,9 @@ public:
{
value_type const b = *it_;
return value_type{b.data(),
- it_ == std::prev(ba_->end_) ?
- ba_->out_end_ : b.size()} +
- (it_ == ba_->out_ ? ba_->out_pos_ : 0);
+ it_ == std::prev(b_->end_) ?
+ b_->out_end_ : b.size()} +
+ (it_ == b_->out_ ? b_->out_pos_ : 0);
}
pointer
@@ -278,10 +299,10 @@ public:
private:
friend class mutable_buffers_type;
- const_iterator(buffers_adapter const& ba,
+ const_iterator(buffers_adapter const& b,
iter_type iter)
: it_(iter)
- , ba_(&ba)
+ , b_(&b)
{
}
};
@@ -294,7 +315,7 @@ mutable_buffers_type::
begin() const ->
const_iterator
{
- return const_iterator{*ba_, ba_->out_};
+ return const_iterator{*b_, b_->out_};
}
template<class MutableBufferSequence>
@@ -305,12 +326,21 @@ mutable_buffers_type::
end() const ->
const_iterator
{
- return const_iterator{*ba_, ba_->end_};
+ return const_iterator{*b_, b_->end_};
}
//------------------------------------------------------------------------------
template<class MutableBufferSequence>
+auto
+buffers_adapter<MutableBufferSequence>::
+end_impl() const ->
+ iter_type
+{
+ return out_ == end_ ? end_ : std::next(out_);
+}
+
+template<class MutableBufferSequence>
buffers_adapter<MutableBufferSequence>::
buffers_adapter(buffers_adapter&& other)
: buffers_adapter(std::move(other),
diff --git a/boost/beast/core/impl/buffers_cat.ipp b/boost/beast/core/impl/buffers_cat.ipp
index 2e82e887fc..9de1187f36 100644
--- a/boost/beast/core/impl/buffers_cat.ipp
+++ b/boost/beast/core/impl/buffers_cat.ipp
@@ -34,6 +34,8 @@ class buffers_cat_view<Bn...>::const_iterator
struct past_end
{
+ char unused = 0; // make g++8 happy
+
operator bool() const noexcept
{
return true;
@@ -281,9 +283,20 @@ buffers_cat_view<Bn...>::
const_iterator::
operator==(const_iterator const& other) const
{
- if(bn_ != other.bn_)
- return false;
- return it_ == other.it_;
+ return
+ (bn_ == nullptr) ?
+ (
+ other.bn_ == nullptr ||
+ other.it_.index() == sizeof...(Bn)
+ ):(
+ (other.bn_ == nullptr) ?
+ (
+ it_.index() == sizeof...(Bn)
+ ): (
+ bn_ == other.bn_ &&
+ it_ == other.it_
+ )
+ );
}
template<class... Bn>
diff --git a/boost/beast/core/impl/buffers_prefix.ipp b/boost/beast/core/impl/buffers_prefix.ipp
index 783cf19c85..c595455d60 100644
--- a/boost/beast/core/impl/buffers_prefix.ipp
+++ b/boost/beast/core/impl/buffers_prefix.ipp
@@ -73,7 +73,20 @@ public:
bool
operator==(const_iterator const& other) const
{
- return b_ == other.b_ && it_ == other.it_;
+ return
+ (b_ == nullptr) ?
+ (
+ other.b_ == nullptr ||
+ other.it_ == other.b_->end_
+ ):(
+ (other.b_ == nullptr) ?
+ (
+ it_ == b_->end_
+ ): (
+ b_ == other.b_ &&
+ it_ == other.it_
+ )
+ );
}
bool
@@ -139,6 +152,8 @@ private:
}
};
+//------------------------------------------------------------------------------
+
template<class BufferSequence>
void
buffers_prefix_view<BufferSequence>::
diff --git a/boost/beast/core/impl/buffers_suffix.ipp b/boost/beast/core/impl/buffers_suffix.ipp
index 4385fe500d..62b5f4634e 100644
--- a/boost/beast/core/impl/buffers_suffix.ipp
+++ b/boost/beast/core/impl/buffers_suffix.ipp
@@ -54,7 +54,20 @@ public:
bool
operator==(const_iterator const& other) const
{
- return b_ == other.b_ && it_ == other.it_;
+ return
+ (b_ == nullptr) ?
+ (
+ other.b_ == nullptr ||
+ other.it_ == boost::asio::buffer_sequence_end(other.b_->bs_)
+ ):(
+ (other.b_ == nullptr) ?
+ (
+ it_ == boost::asio::buffer_sequence_end(b_->bs_)
+ ): (
+ b_ == other.b_ &&
+ it_ == other.it_
+ )
+ );
}
bool
diff --git a/boost/beast/core/impl/flat_buffer.ipp b/boost/beast/core/impl/flat_buffer.ipp
index a3801c6739..afc843ac0d 100644
--- a/boost/beast/core/impl/flat_buffer.ipp
+++ b/boost/beast/core/impl/flat_buffer.ipp
@@ -29,7 +29,7 @@ basic_flat_buffer<Allocator>::
{
if(begin_)
alloc_traits::deallocate(
- this->member(), begin_, dist(begin_, end_));
+ this->get(), begin_, dist(begin_, end_));
}
template<class Allocator>
@@ -59,7 +59,7 @@ basic_flat_buffer(std::size_t limit)
template<class Allocator>
basic_flat_buffer<Allocator>::
basic_flat_buffer(Allocator const& alloc)
- : detail::empty_base_optimization<base_alloc_type>(alloc)
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(), alloc)
, begin_(nullptr)
, in_(nullptr)
, out_(nullptr)
@@ -72,7 +72,7 @@ basic_flat_buffer(Allocator const& alloc)
template<class Allocator>
basic_flat_buffer<Allocator>::
basic_flat_buffer(std::size_t limit, Allocator const& alloc)
- : detail::empty_base_optimization<base_alloc_type>(alloc)
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(), alloc)
, begin_(nullptr)
, in_(nullptr)
, out_(nullptr)
@@ -85,8 +85,8 @@ basic_flat_buffer(std::size_t limit, Allocator const& alloc)
template<class Allocator>
basic_flat_buffer<Allocator>::
basic_flat_buffer(basic_flat_buffer&& other)
- : detail::empty_base_optimization<base_alloc_type>(
- std::move(other.member()))
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(),
+ std::move(other.get()))
, begin_(boost::exchange(other.begin_, nullptr))
, in_(boost::exchange(other.in_, nullptr))
, out_(boost::exchange(other.out_, nullptr))
@@ -101,9 +101,9 @@ template<class Allocator>
basic_flat_buffer<Allocator>::
basic_flat_buffer(basic_flat_buffer&& other,
Allocator const& alloc)
- : detail::empty_base_optimization<base_alloc_type>(alloc)
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(), alloc)
{
- if(this->member() != other.member())
+ if(this->get() != other.get())
{
begin_ = nullptr;
in_ = nullptr;
@@ -133,9 +133,9 @@ basic_flat_buffer(basic_flat_buffer&& other,
template<class Allocator>
basic_flat_buffer<Allocator>::
basic_flat_buffer(basic_flat_buffer const& other)
- : detail::empty_base_optimization<base_alloc_type>(
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(),
alloc_traits::select_on_container_copy_construction(
- other.member()))
+ other.get()))
, begin_(nullptr)
, in_(nullptr)
, out_(nullptr)
@@ -150,7 +150,7 @@ template<class Allocator>
basic_flat_buffer<Allocator>::
basic_flat_buffer(basic_flat_buffer const& other,
Allocator const& alloc)
- : detail::empty_base_optimization<base_alloc_type>(alloc)
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(), alloc)
, begin_(nullptr)
, in_(nullptr)
, out_(nullptr)
@@ -181,7 +181,7 @@ template<class OtherAlloc>
basic_flat_buffer<Allocator>::
basic_flat_buffer(basic_flat_buffer<OtherAlloc> const& other,
Allocator const& alloc)
- : detail::empty_base_optimization<base_alloc_type>(alloc)
+ : boost::empty_value<base_alloc_type>(boost::empty_init_t(), alloc)
, begin_(nullptr)
, in_(nullptr)
, out_(nullptr)
@@ -264,14 +264,14 @@ prepare(std::size_t n) ->
max_,
(std::max<std::size_t>)(2 * len, len + n));
auto const p = alloc_traits::allocate(
- this->member(), new_size);
+ this->get(), new_size);
if(begin_)
{
BOOST_ASSERT(p);
BOOST_ASSERT(in_);
std::memcpy(p, in_, len);
alloc_traits::deallocate(
- this->member(), begin_, capacity());
+ this->get(), begin_, capacity());
}
begin_ = p;
in_ = begin_;
@@ -309,7 +309,7 @@ shrink_to_fit()
BOOST_ASSERT(begin_);
BOOST_ASSERT(in_);
p = alloc_traits::allocate(
- this->member(), len);
+ this->get(), len);
std::memcpy(p, in_, len);
}
else
@@ -317,7 +317,7 @@ shrink_to_fit()
p = nullptr;
}
alloc_traits::deallocate(
- this->member(), begin_, dist(begin_, end_));
+ this->get(), begin_, dist(begin_, end_));
begin_ = p;
in_ = begin_;
out_ = begin_ + len;
@@ -358,7 +358,7 @@ basic_flat_buffer<Allocator>::
move_assign(basic_flat_buffer& other, std::true_type)
{
reset();
- this->member() = std::move(other.member());
+ this->get() = std::move(other.get());
begin_ = other.begin_;
in_ = other.in_;
out_ = other.out_;
@@ -379,7 +379,7 @@ basic_flat_buffer<Allocator>::
move_assign(basic_flat_buffer& other, std::false_type)
{
reset();
- if(this->member() != other.member())
+ if(this->get() != other.get())
{
copy_from(other);
other.reset();
@@ -398,7 +398,7 @@ copy_assign(basic_flat_buffer const& other, std::true_type)
{
reset();
max_ = other.max_;
- this->member() = other.member();
+ this->get() = other.get();
copy_from(other);
}
@@ -430,7 +430,7 @@ basic_flat_buffer<Allocator>::
swap(basic_flat_buffer& other, std::true_type)
{
using std::swap;
- swap(this->member(), other.member());
+ swap(this->get(), other.get());
swap(max_, other.max_);
swap(begin_, other.begin_);
swap(in_, other.in_);
@@ -446,7 +446,7 @@ void
basic_flat_buffer<Allocator>::
swap(basic_flat_buffer& other, std::false_type)
{
- BOOST_ASSERT(this->member() == other.member());
+ BOOST_ASSERT(this->get() == other.get());
using std::swap;
swap(max_, other.max_);
swap(begin_, other.begin_);
diff --git a/boost/beast/core/impl/multi_buffer.ipp b/boost/beast/core/impl/multi_buffer.ipp
index 0b35decd05..fb48424a3a 100644
--- a/boost/beast/core/impl/multi_buffer.ipp
+++ b/boost/beast/core/impl/multi_buffer.ipp
@@ -440,8 +440,8 @@ basic_multi_buffer(std::size_t limit)
template<class Allocator>
basic_multi_buffer<Allocator>::
basic_multi_buffer(Allocator const& alloc)
- : detail::empty_base_optimization<
- base_alloc_type>(alloc)
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), alloc)
, out_(list_.end())
{
}
@@ -450,8 +450,8 @@ template<class Allocator>
basic_multi_buffer<Allocator>::
basic_multi_buffer(std::size_t limit,
Allocator const& alloc)
- : detail::empty_base_optimization<
- base_alloc_type>(alloc)
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), alloc)
, max_(limit)
, out_(list_.end())
{
@@ -460,8 +460,8 @@ basic_multi_buffer(std::size_t limit,
template<class Allocator>
basic_multi_buffer<Allocator>::
basic_multi_buffer(basic_multi_buffer&& other)
- : detail::empty_base_optimization<
- base_alloc_type>(std::move(other.member()))
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), std::move(other.get()))
, max_(other.max_)
, in_size_(boost::exchange(other.in_size_, 0))
, in_pos_(boost::exchange(other.in_pos_, 0))
@@ -479,11 +479,11 @@ template<class Allocator>
basic_multi_buffer<Allocator>::
basic_multi_buffer(basic_multi_buffer&& other,
Allocator const& alloc)
- : detail::empty_base_optimization<
- base_alloc_type>(alloc)
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), alloc)
, max_(other.max_)
{
- if(this->member() != other.member())
+ if(this->get() != other.get())
{
out_ = list_.end();
copy_from(other);
@@ -510,10 +510,10 @@ basic_multi_buffer(basic_multi_buffer&& other,
template<class Allocator>
basic_multi_buffer<Allocator>::
basic_multi_buffer(basic_multi_buffer const& other)
- : detail::empty_base_optimization<
- base_alloc_type>(alloc_traits::
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), alloc_traits::
select_on_container_copy_construction(
- other.member()))
+ other.get()))
, max_(other.max_)
, out_(list_.end())
{
@@ -524,8 +524,8 @@ template<class Allocator>
basic_multi_buffer<Allocator>::
basic_multi_buffer(basic_multi_buffer const& other,
Allocator const& alloc)
- : detail::empty_base_optimization<
- base_alloc_type>(alloc)
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), alloc)
, max_(other.max_)
, out_(list_.end())
{
@@ -548,8 +548,8 @@ basic_multi_buffer<Allocator>::
basic_multi_buffer(
basic_multi_buffer<OtherAlloc> const& other,
allocator_type const& alloc)
- : detail::empty_base_optimization<
- base_alloc_type>(alloc)
+ : boost::empty_value<
+ base_alloc_type>(boost::empty_init_t(), alloc)
, max_(other.max_)
, out_(list_.end())
{
@@ -689,8 +689,8 @@ prepare(size_type n) ->
auto& e = *it++;
reuse.erase(list_.iterator_to(e));
auto const len = sizeof(e) + e.size();
- alloc_traits::destroy(this->member(), &e);
- alloc_traits::deallocate(this->member(),
+ alloc_traits::destroy(this->get(), &e);
+ alloc_traits::deallocate(this->get(),
reinterpret_cast<char*>(&e), len);
}
if(n > 0)
@@ -705,9 +705,9 @@ prepare(size_type n) ->
512,
n}));
auto& e = *reinterpret_cast<element*>(static_cast<
- void*>(alloc_traits::allocate(this->member(),
+ void*>(alloc_traits::allocate(this->get(),
sizeof(element) + size)));
- alloc_traits::construct(this->member(), &e, size);
+ alloc_traits::construct(this->get(), &e, size);
list_.push_back(e);
if(out_ == list_.end())
out_ = list_.iterator_to(e);
@@ -795,8 +795,8 @@ consume(size_type n)
auto& e = list_.front();
list_.erase(list_.iterator_to(e));
auto const len = sizeof(e) + e.size();
- alloc_traits::destroy(this->member(), &e);
- alloc_traits::deallocate(this->member(),
+ alloc_traits::destroy(this->get(), &e);
+ alloc_traits::deallocate(this->get(),
reinterpret_cast<char*>(&e), len);
#if BOOST_BEAST_MULTI_BUFFER_DEBUG_CHECK
debug_check();
@@ -845,8 +845,8 @@ delete_list()
{
auto& e = *iter++;
auto const len = sizeof(e) + e.size();
- alloc_traits::destroy(this->member(), &e);
- alloc_traits::deallocate(this->member(),
+ alloc_traits::destroy(this->get(), &e);
+ alloc_traits::deallocate(this->get(),
reinterpret_cast<char*>(&e), len);
}
}
@@ -886,7 +886,7 @@ void
basic_multi_buffer<Allocator>::
move_assign(basic_multi_buffer& other, std::false_type)
{
- if(this->member() != other.member())
+ if(this->get() != other.get())
{
copy_from(other);
other.reset();
@@ -903,7 +903,7 @@ void
basic_multi_buffer<Allocator>::
move_assign(basic_multi_buffer& other, std::true_type)
{
- this->member() = std::move(other.member());
+ this->get() = std::move(other.get());
auto const at_end =
other.out_ == other.list_.end();
list_ = std::move(other.list_);
@@ -942,7 +942,7 @@ copy_assign(
{
reset();
max_ = other.max_;
- this->member() = other.member();
+ this->get() = other.get();
copy_from(other);
}
@@ -967,7 +967,7 @@ swap(basic_multi_buffer& other, std::true_type)
out_ == list_.end();
auto const at_end1 =
other.out_ == other.list_.end();
- swap(this->member(), other.member());
+ swap(this->get(), other.get());
swap(list_, other.list_);
swap(out_, other.out_);
if(at_end1)
@@ -986,7 +986,7 @@ void
basic_multi_buffer<Allocator>::
swap(basic_multi_buffer& other, std::false_type)
{
- BOOST_ASSERT(this->member() == other.member());
+ BOOST_ASSERT(this->get() == other.get());
using std::swap;
auto const at_end0 =
out_ == list_.end();
diff --git a/boost/beast/core/impl/read_size.ipp b/boost/beast/core/impl/read_size.ipp
index ddcaf397a9..fa52571e09 100644
--- a/boost/beast/core/impl/read_size.ipp
+++ b/boost/beast/core/impl/read_size.ipp
@@ -10,6 +10,10 @@
#ifndef BOOST_BEAST_IMPL_READ_SIZE_IPP
#define BOOST_BEAST_IMPL_READ_SIZE_IPP
+#include <boost/assert.hpp>
+#include <stdexcept>
+#include <type_traits>
+
namespace boost {
namespace beast {
diff --git a/boost/beast/core/impl/static_buffer.ipp b/boost/beast/core/impl/static_buffer.ipp
index 9615fb2d3c..bd498c97a1 100644
--- a/boost/beast/core/impl/static_buffer.ipp
+++ b/boost/beast/core/impl/static_buffer.ipp
@@ -119,7 +119,7 @@ consume(std::size_t size)
else
{
// rewind the offset, so the next call to prepare
- // can have a longer continguous segment. this helps
+ // can have a longer contiguous segment. this helps
// algorithms optimized for larger buffesr.
in_off_ = 0;
in_size_ = 0;
diff --git a/boost/beast/core/multi_buffer.hpp b/boost/beast/core/multi_buffer.hpp
index ee14b419a5..046ed83a29 100644
--- a/boost/beast/core/multi_buffer.hpp
+++ b/boost/beast/core/multi_buffer.hpp
@@ -12,8 +12,8 @@
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/detail/allocator.hpp>
-#include <boost/beast/core/detail/empty_base_optimization.hpp>
#include <boost/asio/buffer.hpp>
+#include <boost/core/empty_value.hpp>
#include <boost/intrusive/list.hpp>
#include <iterator>
#include <limits>
@@ -37,7 +37,7 @@ namespace beast {
template<class Allocator>
class basic_multi_buffer
#if ! BOOST_BEAST_DOXYGEN
- : private detail::empty_base_optimization<
+ : private boost::empty_value<
typename detail::allocator_traits<Allocator>::
template rebind_alloc<char>>
#endif
@@ -217,7 +217,7 @@ public:
allocator_type
get_allocator() const
{
- return this->member();
+ return this->get();
}
/// Returns the size of the input sequence.
diff --git a/boost/beast/core/static_buffer.hpp b/boost/beast/core/static_buffer.hpp
index 86f06b1efd..fa59638bb7 100644
--- a/boost/beast/core/static_buffer.hpp
+++ b/boost/beast/core/static_buffer.hpp
@@ -110,7 +110,7 @@ public:
/** Move bytes from the output sequence to the input sequence.
- @param size The nubmer of bytes to commit. If this is greater
+ @param size The number of bytes to commit. If this is greater
than the size of the output sequence, the entire output
sequence is committed.
*/
diff --git a/boost/beast/core/string.hpp b/boost/beast/core/string.hpp
index 27bfa57165..de94d2e639 100644
--- a/boost/beast/core/string.hpp
+++ b/boost/beast/core/string.hpp
@@ -12,19 +12,35 @@
#include <boost/beast/core/detail/config.hpp>
#include <boost/version.hpp>
+
+#if defined(BOOST_BEAST_USE_STD_STRING_VIEW)
+#include <string_view>
+#else
#include <boost/utility/string_view.hpp>
+#endif
+
#include <algorithm>
namespace boost {
namespace beast {
-/// The type of string view used by the library
-using string_view = boost::string_view;
-
-/// The type of basic string view used by the library
-template<class CharT, class Traits>
-using basic_string_view =
- boost::basic_string_view<CharT, Traits>;
+#if defined(BOOST_BEAST_USE_STD_STRING_VIEW)
+ /// The type of string view used by the library
+ using string_view = std::string_view;
+
+ /// The type of basic string view used by the library
+ template<class CharT, class Traits>
+ using basic_string_view =
+ std::basic_string_view<CharT, Traits>;
+#else
+ /// The type of string view used by the library
+ using string_view = boost::string_view;
+
+ /// The type of basic string view used by the library
+ template<class CharT, class Traits>
+ using basic_string_view =
+ boost::basic_string_view<CharT, Traits>;
+#endif
namespace detail {
diff --git a/boost/beast/experimental/core/detail/impl/timeout_service.ipp b/boost/beast/experimental/core/detail/impl/timeout_service.ipp
new file mode 100644
index 0000000000..fd1427bda7
--- /dev/null
+++ b/boost/beast/experimental/core/detail/impl/timeout_service.ipp
@@ -0,0 +1,181 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_DETAIL_IMPL_TIMEOUT_SERVICE_IPP
+#define BOOST_BEAST_CORE_DETAIL_IMPL_TIMEOUT_SERVICE_IPP
+
+namespace boost {
+namespace beast {
+namespace detail {
+
+//------------------------------------------------------------------------------
+
+inline
+timeout_object::
+timeout_object(boost::asio::io_context& ioc)
+ : svc_(boost::asio::use_service<timeout_service>(ioc))
+{
+}
+
+//------------------------------------------------------------------------------
+
+inline
+timeout_service::
+timeout_service(boost::asio::io_context& ctx)
+ : service_base(ctx)
+ , strand_(ctx.get_executor())
+ , timer_(ctx)
+{
+}
+
+inline
+void
+timeout_service::
+on_work_started(timeout_object& obj)
+{
+ std::lock_guard<std::mutex> lock(m_);
+ BOOST_VERIFY(++obj.outstanding_work_ == 1);
+ insert(obj, *fresh_);
+ if(++count_ == 1)
+ do_async_wait();
+}
+
+inline
+void
+timeout_service::
+on_work_complete(timeout_object& obj)
+{
+ std::lock_guard<std::mutex> lock(m_);
+ remove(obj);
+}
+
+inline
+void
+timeout_service::
+on_work_stopped(timeout_object& obj)
+{
+ std::lock_guard<std::mutex> lock(m_);
+ BOOST_ASSERT(count_ > 0);
+ BOOST_VERIFY(--obj.outstanding_work_ == 0);
+ if(obj.list_ != nullptr)
+ remove(obj);
+ if(--count_ == 0)
+ timer_.cancel();
+}
+
+inline
+void
+timeout_service::
+set_option(std::chrono::seconds n)
+{
+ interval_ = n;
+}
+
+//------------------------------------------------------------------------------
+
+// Precondition: caller holds the mutex
+inline
+void
+timeout_service::
+insert(timeout_object& obj, list_type& list)
+{
+ BOOST_ASSERT(obj.list_ == nullptr);
+ list.push_back(&obj); // can throw
+ obj.list_ = &list;
+ obj.pos_ = list.size();
+}
+
+// Precondition: caller holds the mutex
+inline
+void
+timeout_service::
+remove(timeout_object& obj)
+{
+ BOOST_ASSERT(obj.list_ != nullptr);
+ BOOST_ASSERT(
+ obj.list_ == stale_ ||
+ obj.list_ == fresh_);
+ BOOST_ASSERT(obj.list_->size() > 0);
+ auto& list = *obj.list_;
+ auto const n = list.size() - 1;
+ if(obj.pos_ != n)
+ {
+ auto other = list[n];
+ list[obj.pos_] = other;
+ other->pos_ = obj.pos_;
+ }
+ obj.list_ = nullptr;
+ list.resize(n);
+}
+
+inline
+void
+timeout_service::
+do_async_wait()
+{
+ timer_.expires_after(interval_);
+ timer_.async_wait(
+ boost::asio::bind_executor(
+ strand_,
+ [this](error_code ec)
+ {
+ this->on_timer(ec);
+ }));
+}
+
+inline
+void
+timeout_service::
+on_timer(error_code ec)
+{
+ if(ec == boost::asio::error::operation_aborted)
+ {
+ BOOST_ASSERT(fresh_->empty());
+ BOOST_ASSERT(stale_->empty());
+ return;
+ }
+
+ {
+ std::lock_guard<std::mutex> lock(m_);
+ if(! stale_->empty())
+ {
+ for(auto obj : *stale_)
+ {
+ obj->list_ = nullptr;
+ obj->on_timeout();
+ }
+ stale_->clear();
+ }
+ std::swap(fresh_, stale_);
+ }
+
+ do_async_wait();
+}
+
+//------------------------------------------------------------------------------
+
+inline
+void
+timeout_service::
+shutdown() noexcept
+{
+ boost::asio::post(
+ boost::asio::bind_executor(
+ strand_,
+ [this]()
+ {
+ timer_.cancel();
+ }));
+}
+
+} // detail
+} // beast
+} // boost
+
+#endif
diff --git a/boost/beast/experimental/core/detail/service_base.hpp b/boost/beast/experimental/core/detail/service_base.hpp
new file mode 100644
index 0000000000..278db3f71d
--- /dev/null
+++ b/boost/beast/experimental/core/detail/service_base.hpp
@@ -0,0 +1,50 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_DETAIL_SERVICE_BASE_HPP
+#define BOOST_BEAST_CORE_DETAIL_SERVICE_BASE_HPP
+
+#include <boost/asio/execution_context.hpp>
+
+namespace boost {
+namespace beast {
+namespace detail {
+
+template<class T>
+class service_id : public boost::asio::execution_context::id
+{
+};
+
+template<class T>
+class service_base
+ : public boost::asio::execution_context::service
+{
+protected:
+ boost::asio::execution_context& ctx_;
+
+public:
+ static service_id<T> id;
+
+ explicit
+ service_base(boost::asio::execution_context& ctx)
+ : boost::asio::execution_context::service(ctx)
+ , ctx_(ctx)
+ {
+ }
+};
+
+template<class T>
+service_id<T>
+service_base<T>::id;
+
+} // detail
+} // beast
+} // boost
+
+#endif
diff --git a/boost/beast/experimental/core/detail/timeout_service.hpp b/boost/beast/experimental/core/detail/timeout_service.hpp
new file mode 100644
index 0000000000..b32cedda00
--- /dev/null
+++ b/boost/beast/experimental/core/detail/timeout_service.hpp
@@ -0,0 +1,124 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_DETAIL_TIMEOUT_SERVICE_HPP
+#define BOOST_BEAST_CORE_DETAIL_TIMEOUT_SERVICE_HPP
+
+#include <boost/beast/core/error.hpp>
+#include <boost/beast/experimental/core/detail/service_base.hpp>
+#include <boost/assert.hpp>
+#include <boost/core/ignore_unused.hpp>
+#include <boost/asio/bind_executor.hpp>
+#include <boost/asio/executor.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/post.hpp>
+#include <boost/asio/steady_timer.hpp>
+#include <boost/asio/strand.hpp>
+#include <chrono>
+#include <cstdlib>
+#include <mutex>
+#include <utility>
+#include <vector>
+
+namespace boost {
+namespace beast {
+namespace detail {
+
+//------------------------------------------------------------------------------
+
+class timeout_service;
+
+class timeout_object
+{
+ friend class timeout_service;
+
+ using list_type = std::vector<timeout_object*>;
+
+ timeout_service& svc_;
+ std::size_t pos_;
+ list_type* list_ = nullptr;
+ char outstanding_work_ = 0;
+
+public:
+ timeout_object() = delete;
+ timeout_object(timeout_object&&) = delete;
+ timeout_object(timeout_object const&) = delete;
+ timeout_object& operator=(timeout_object&&) = delete;
+ timeout_object& operator=(timeout_object const&) = delete;
+
+ // VFALCO should be execution_context
+ explicit
+ timeout_object(boost::asio::io_context& ioc);
+
+ timeout_service&
+ service() const
+ {
+ return svc_;
+ }
+
+ virtual void on_timeout() = 0;
+};
+
+//------------------------------------------------------------------------------
+
+class timeout_service
+ : public service_base<timeout_service>
+{
+public:
+ using key_type = timeout_service;
+
+ // VFALCO Should be execution_context
+ explicit
+ timeout_service(boost::asio::io_context& ctx);
+
+ void
+ on_work_started(timeout_object& obj);
+
+ void
+ on_work_complete(timeout_object& obj);
+
+ void
+ on_work_stopped(timeout_object& obj);
+
+ void
+ set_option(std::chrono::seconds n);
+
+private:
+ friend class timeout_object;
+
+ using list_type = std::vector<timeout_object*>;
+
+ void insert(timeout_object& obj, list_type& list);
+ void remove(timeout_object& obj);
+ void do_async_wait();
+ void on_timer(error_code ec);
+
+ virtual void shutdown() noexcept override;
+
+ boost::asio::strand<
+ boost::asio::io_context::executor_type> strand_;
+
+ std::mutex m_;
+ list_type list_[2];
+ list_type* fresh_ = &list_[0];
+ list_type* stale_ = &list_[1];
+ std::size_t count_ = 0;
+ boost::asio::steady_timer timer_;
+ std::chrono::seconds interval_{30ul};
+};
+
+//------------------------------------------------------------------------------
+
+} // detail
+} // beast
+} // boost
+
+#include <boost/beast/experimental/core/detail/impl/timeout_service.ipp>
+
+#endif
diff --git a/boost/beast/experimental/core/detail/timeout_work_guard.hpp b/boost/beast/experimental/core/detail/timeout_work_guard.hpp
new file mode 100644
index 0000000000..463567ae78
--- /dev/null
+++ b/boost/beast/experimental/core/detail/timeout_work_guard.hpp
@@ -0,0 +1,73 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_DETAIL_TIMEOUT_WORK_GUARD_HPP
+#define BOOST_BEAST_CORE_DETAIL_TIMEOUT_WORK_GUARD_HPP
+
+#include <boost/beast/experimental/core/detail/timeout_service.hpp>
+#include <boost/assert.hpp>
+#include <boost/core/exchange.hpp>
+
+namespace boost {
+namespace beast {
+namespace detail {
+
+class timeout_work_guard
+{
+ timeout_object* obj_;
+
+public:
+ timeout_work_guard(timeout_work_guard const&) = delete;
+ timeout_work_guard& operator=(timeout_work_guard&&) = delete;
+ timeout_work_guard& operator=(timeout_work_guard const&) = delete;
+
+ ~timeout_work_guard()
+ {
+ reset();
+ }
+
+ timeout_work_guard(timeout_work_guard&& other)
+ : obj_(boost::exchange(other.obj_, nullptr))
+ {
+ }
+
+ explicit
+ timeout_work_guard(timeout_object& obj)
+ : obj_(&obj)
+ {
+ obj_->service().on_work_started(*obj_);
+ }
+
+ bool
+ owns_work() const
+ {
+ return obj_ != nullptr;
+ }
+
+ void
+ reset()
+ {
+ if(obj_)
+ obj_->service().on_work_stopped(*obj_);
+ }
+
+ void
+ complete()
+ {
+ BOOST_ASSERT(obj_ != nullptr);
+ obj_->service().on_work_complete(*obj_);
+ obj_ = nullptr;
+ }
+};
+
+} // detail
+} // beast
+} // boost
+
+#endif
diff --git a/boost/beast/experimental/core/impl/timeout_service.ipp b/boost/beast/experimental/core/impl/timeout_service.ipp
new file mode 100644
index 0000000000..4da0eed115
--- /dev/null
+++ b/boost/beast/experimental/core/impl/timeout_service.ipp
@@ -0,0 +1,31 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_IMPL_TIMEOUT_SERVICE_HPP
+#define BOOST_BEAST_CORE_IMPL_TIMEOUT_SERVICE_HPP
+
+#include <boost/beast/experimental/core/detail/timeout_service.hpp>
+
+namespace boost {
+namespace beast {
+
+inline
+void
+set_timeout_service_options(
+ boost::asio::io_context& ioc,
+ std::chrono::seconds interval)
+{
+ boost::asio::use_service<
+ detail::timeout_service>(ioc).set_option(interval);
+}
+
+} // beast
+} // boost
+
+#endif
diff --git a/boost/beast/experimental/core/impl/timeout_socket.hpp b/boost/beast/experimental/core/impl/timeout_socket.hpp
new file mode 100644
index 0000000000..8c5a7d7427
--- /dev/null
+++ b/boost/beast/experimental/core/impl/timeout_socket.hpp
@@ -0,0 +1,207 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_IMPL_TIMOUT_SOCKET_HPP
+#define BOOST_BEAST_CORE_IMPL_TIMOUT_SOCKET_HPP
+
+#include <boost/beast/core/bind_handler.hpp>
+#include <boost/beast/core/type_traits.hpp>
+#include <boost/beast/experimental/core/detail/timeout_work_guard.hpp>
+#include <boost/asio/executor_work_guard.hpp>
+#include <memory>
+#include <utility>
+
+namespace boost {
+namespace beast {
+
+template<class Protocol, class Executor>
+template<class Handler>
+class basic_timeout_socket<Protocol, Executor>::async_op
+{
+ Handler h_;
+ basic_timeout_socket& s_;
+ detail::timeout_work_guard work_;
+
+public:
+ async_op(async_op&&) = default;
+ async_op(async_op const&) = delete;
+
+ template<class Buffers, class DeducedHandler>
+ async_op(
+ Buffers const& b,
+ DeducedHandler&& h,
+ basic_timeout_socket& s,
+ std::true_type)
+ : h_(std::forward<DeducedHandler>(h))
+ , s_(s)
+ , work_(s.rd_timer_)
+ {
+ s_.sock_.async_read_some(b, std::move(*this));
+ }
+
+ template<class Buffers, class DeducedHandler>
+ async_op(
+ Buffers const& b,
+ DeducedHandler&& h,
+ basic_timeout_socket& s,
+ std::false_type)
+ : h_(std::forward<DeducedHandler>(h))
+ , s_(s)
+ , work_(s.wr_timer_)
+ {
+ s_.sock_.async_write_some(b, std::move(*this));
+ }
+
+ using allocator_type =
+ boost::asio::associated_allocator_t<Handler>;
+
+ allocator_type
+ get_allocator() const noexcept
+ {
+ return (boost::asio::get_associated_allocator)(h_);
+ }
+
+ using executor_type =
+ boost::asio::associated_executor_t<Handler, decltype(
+ std::declval<basic_timeout_socket<Protocol>&>().get_executor())>;
+
+ executor_type
+ get_executor() const noexcept
+ {
+ return (boost::asio::get_associated_executor)(
+ h_, s_.get_executor());
+ }
+
+ friend
+ bool asio_handler_is_continuation(async_op* op)
+ {
+ using boost::asio::asio_handler_is_continuation;
+ return asio_handler_is_continuation(
+ std::addressof(op->h_));
+ }
+
+ template<class Function>
+ friend
+ void asio_handler_invoke(Function&& f, async_op* op)
+ {
+ using boost::asio::asio_handler_invoke;
+ asio_handler_invoke(f, std::addressof(op->h_));
+ }
+
+ void
+ operator()(error_code ec, std::size_t bytes_transferred)
+ {
+ if(s_.expired_)
+ {
+ BOOST_ASSERT(ec == boost::asio::error::operation_aborted);
+ ec = boost::asio::error::timed_out;
+ }
+ else
+ {
+ work_.complete();
+ }
+ h_(ec, bytes_transferred);
+ }
+};
+
+//------------------------------------------------------------------------------
+
+template<class Protocol, class Executor>
+basic_timeout_socket<Protocol, Executor>::
+timer::
+timer(basic_timeout_socket& s)
+ : detail::timeout_object(s.ex_.context())
+ , s_(s)
+{
+}
+
+template<class Protocol, class Executor>
+auto
+basic_timeout_socket<Protocol, Executor>::
+timer::
+operator=(timer&&)
+ -> timer&
+{
+ return *this;
+}
+
+template<class Protocol, class Executor>
+void
+basic_timeout_socket<Protocol, Executor>::
+timer::
+on_timeout()
+{
+ boost::asio::post(
+ s_.ex_,
+ [this]()
+ {
+ s_.expired_ = true;
+ s_.sock_.cancel();
+ });
+}
+
+//------------------------------------------------------------------------------
+
+template<class Protocol, class Executor>
+template<class ExecutionContext, class>
+basic_timeout_socket<Protocol, Executor>::
+basic_timeout_socket(ExecutionContext& ctx)
+ : ex_(ctx.get_executor())
+ , rd_timer_(*this)
+ , wr_timer_(*this)
+ , sock_(ctx)
+{
+}
+
+template<class Protocol, class Executor>
+template<class MutableBufferSequence, class ReadHandler>
+BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
+ void(boost::system::error_code, std::size_t))
+basic_timeout_socket<Protocol, Executor>::
+async_read_some(
+ MutableBufferSequence const& buffers,
+ ReadHandler&& handler)
+{
+ static_assert(boost::asio::is_mutable_buffer_sequence<
+ MutableBufferSequence>::value,
+ "MutableBufferSequence requirements not met");
+ BOOST_BEAST_HANDLER_INIT(
+ ReadHandler, void(error_code, std::size_t));
+ async_op<BOOST_ASIO_HANDLER_TYPE(ReadHandler,
+ void(error_code, std::size_t))>(buffers,
+ std::forward<ReadHandler>(handler), *this,
+ std::true_type{});
+ return init.result.get();
+}
+
+template<class Protocol, class Executor>
+template<class ConstBufferSequence, class WriteHandler>
+BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
+ void(boost::system::error_code, std::size_t))
+basic_timeout_socket<Protocol, Executor>::
+async_write_some(
+ ConstBufferSequence const& buffers,
+ WriteHandler&& handler)
+{
+ static_assert(boost::asio::is_const_buffer_sequence<
+ ConstBufferSequence>::value,
+ "ConstBufferSequence requirements not met");
+ BOOST_BEAST_HANDLER_INIT(
+ WriteHandler, void(error_code, std::size_t));
+ async_op<BOOST_ASIO_HANDLER_TYPE(WriteHandler,
+ void(error_code, std::size_t))>(buffers,
+ std::forward<WriteHandler>(handler), *this,
+ std::false_type{});
+ return init.result.get();
+}
+
+} // beast
+} // boost
+
+#endif
diff --git a/boost/beast/experimental/core/timeout_service.hpp b/boost/beast/experimental/core/timeout_service.hpp
new file mode 100644
index 0000000000..2a5da2b887
--- /dev/null
+++ b/boost/beast/experimental/core/timeout_service.hpp
@@ -0,0 +1,40 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_TIMEOUT_SERVICE_HPP
+#define BOOST_BEAST_CORE_TIMEOUT_SERVICE_HPP
+
+//#include <boost/asio/execution_context.hpp>
+#include <boost/asio/io_context.hpp>
+#include <chrono>
+
+namespace boost {
+namespace beast {
+
+/** Set timeout service options in an execution context.
+
+ This changes the time interval for all timeouts associated
+ with the execution context. The option must be set before any
+ timeout objects are constructed.
+
+ @param ctx The execution context.
+
+ @param interval The approximate amount of time until a timeout occurs.
+*/
+void
+set_timeout_service_options(
+ boost::asio::io_context& ctx, // VFALCO should be execution_context
+ std::chrono::seconds interval);
+
+} // beast
+} // boost
+
+#include <boost/beast/experimental/core/impl/timeout_service.ipp>
+
+#endif
diff --git a/boost/beast/experimental/core/timeout_socket.hpp b/boost/beast/experimental/core/timeout_socket.hpp
new file mode 100644
index 0000000000..b2c2a22ea5
--- /dev/null
+++ b/boost/beast/experimental/core/timeout_socket.hpp
@@ -0,0 +1,240 @@
+//
+// Copyright (c) 2018 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// 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)
+//
+// Official repository: https://github.com/boostorg/beast
+//
+
+#ifndef BOOST_BEAST_CORE_TIMEOUT_SOCKET_HPP
+#define BOOST_BEAST_CORE_TIMEOUT_SOCKET_HPP
+
+#include <boost/beast/core/detail/config.hpp>
+#include <boost/beast/core/error.hpp>
+#include <boost/beast/core/type_traits.hpp>
+#include <boost/beast/experimental/core/detail/timeout_service.hpp>
+#include <boost/asio/async_result.hpp>
+#include <boost/asio/basic_stream_socket.hpp>
+#include <boost/asio/executor.hpp>
+#include <chrono>
+
+namespace boost {
+namespace asio {
+namespace ip {
+class tcp;
+} // ip
+} // asio
+} // boost
+
+namespace boost {
+namespace beast {
+
+/** A socket wrapper which automatically times out on asynchronous reads.
+
+ This wraps a normal stream socket and implements a simple and efficient
+ timeout for asynchronous read operations.
+
+ @note Meets the requirements of @b AsyncReadStream and @b AsyncWriteStream
+*/
+template<
+ class Protocol,
+ class Executor = boost::asio::executor
+>
+class basic_timeout_socket
+{
+ template<class> class async_op;
+
+ class timer : public detail::timeout_object
+ {
+ basic_timeout_socket& s_;
+
+ public:
+ explicit timer(basic_timeout_socket& s);
+ timer& operator=(timer&& other);
+ void on_timeout() override;
+ };
+
+ Executor ex_; // must come first
+ timer rd_timer_;
+ timer wr_timer_;
+ boost::asio::basic_stream_socket<Protocol> sock_;
+ bool expired_ = false;
+
+public:
+ /// The type of the next layer.
+ using next_layer_type = boost::asio::basic_stream_socket<Protocol>;
+
+ /// The type of the lowest layer.
+ using lowest_layer_type = get_lowest_layer<next_layer_type>;
+
+ /// The protocol used by the stream.
+ using protocol_type = Protocol;
+
+ /// The type of the executor associated with the object.
+ using executor_type = Executor;
+
+ // VFALCO we only support default-construction
+ // of the contained socket for now.
+ // This constructor needs a protocol parameter.
+ //
+ /** Constructor
+ */
+ template<class ExecutionContext
+#if ! BOOST_BEAST_DOXYGEN
+ , class = typename std::enable_if<
+ std::is_convertible<
+ ExecutionContext&,
+ boost::asio::execution_context&>::value &&
+ std::is_constructible<
+ executor_type,
+ typename ExecutionContext::executor_type>::value
+ >::type
+#endif
+ >
+ explicit
+ basic_timeout_socket(ExecutionContext& ctx);
+
+ //--------------------------------------------------------------------------
+
+ /** Get the executor associated with the object.
+
+ This function may be used to obtain the executor object that the
+ stream uses to dispatch handlers for asynchronous operations.
+
+ @return A copy of the executor that stream will use to dispatch handlers.
+ */
+ executor_type
+ get_executor() const noexcept
+ {
+ return ex_;
+ }
+
+ /** Get a reference to the next layer
+
+ This function returns a reference to the next layer
+ in a stack of stream layers.
+
+ @return A reference to the next layer in the stack of
+ stream layers.
+ */
+ next_layer_type&
+ next_layer()
+ {
+ return sock_;
+ }
+
+ /** Get a reference to the next layer
+
+ This function returns a reference to the next layer in a
+ stack of stream layers.
+
+ @return A reference to the next layer in the stack of
+ stream layers.
+ */
+ next_layer_type const&
+ next_layer() const
+ {
+ return sock_;
+ }
+
+ /** Get a reference to the lowest layer
+
+ This function returns a reference to the lowest layer
+ in a stack of stream layers.
+
+ @return A reference to the lowest layer in the stack of
+ stream layers.
+ */
+ lowest_layer_type&
+ lowest_layer()
+ {
+ return sock_.lowest_layer();
+ }
+
+ /** Get a reference to the lowest layer
+
+ This function returns a reference to the lowest layer
+ in a stack of stream layers.
+
+ @return A reference to the lowest layer in the stack of
+ stream layers. Ownership is not transferred to the caller.
+ */
+ lowest_layer_type const&
+ lowest_layer() const
+ {
+ return sock_.lowest_layer();
+ }
+
+ //--------------------------------------------------------------------------
+
+ /** Start an asynchronous read.
+
+ This function is used to asynchronously read data from the stream socket.
+ The function call always returns immediately.
+
+ @param buffers One or more buffers into which the data will be read.
+ Although the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must guarantee
+ that they remain valid until the handler is called.
+
+ @param handler The handler to be called when the read operation completes.
+ Copies will be made of the handler as required. The function signature of
+ the handler must be:
+ @code void handler(
+ const boost::system::error_code& error, // Result of operation.
+ std::size_t bytes_transferred // Number of bytes read.
+ ); @endcode
+ Regardless of whether the asynchronous operation completes immediately or
+ not, the handler will not be invoked from within this function. Invocation
+ of the handler will be performed in a manner equivalent to using
+ boost::asio::io_context::post().
+ */
+ template<class MutableBufferSequence, class ReadHandler>
+ BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
+ void(boost::system::error_code, std::size_t))
+ async_read_some(
+ MutableBufferSequence const& buffers,
+ ReadHandler&& handler);
+
+ /** Start an asynchronous write.
+
+ This function is used to asynchronously write data to the stream socket.
+ The function call always returns immediately.
+
+ @param buffers One or more data buffers to be written to the socket.
+ Although the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must guarantee
+ that they remain valid until the handler is called.
+
+ @param handler The handler to be called when the write operation completes.
+ Copies will be made of the handler as required. The function signature of
+ the handler must be:
+ @code void handler(
+ const boost::system::error_code& error, // Result of operation.
+ std::size_t bytes_transferred // Number of bytes written.
+ ); @endcode
+ Regardless of whether the asynchronous operation completes immediately or
+ not, the handler will not be invoked from within this function. Invocation
+ of the handler will be performed in a manner equivalent to using
+ boost::asio::io_context::post().
+ */
+ template<class ConstBufferSequence, class WriteHandler>
+ BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
+ void(boost::system::error_code, std::size_t))
+ async_write_some(
+ ConstBufferSequence const& buffers,
+ WriteHandler&& handler);
+};
+
+/// A TCP/IP socket wrapper which has a built-in asynchronous timeout
+using timeout_socket = basic_timeout_socket<
+ boost::asio::ip::tcp,
+ boost::asio::io_context::executor_type>;
+
+} // beast
+} // boost
+
+#include <boost/beast/experimental/core/impl/timeout_socket.hpp>
+
+#endif
diff --git a/boost/beast/http/basic_dynamic_body.hpp b/boost/beast/http/basic_dynamic_body.hpp
index 7d850d76f3..ba7208b7d7 100644
--- a/boost/beast/http/basic_dynamic_body.hpp
+++ b/boost/beast/http/basic_dynamic_body.hpp
@@ -12,6 +12,7 @@
#include <boost/beast/core/detail/config.hpp>
#include <boost/beast/core/type_traits.hpp>
+#include <boost/beast/core/detail/buffer.hpp>
#include <boost/beast/http/error.hpp>
#include <boost/beast/http/message.hpp>
#include <boost/optional.hpp>
@@ -95,21 +96,15 @@ struct basic_dynamic_body
ec = error::buffer_overflow;
return 0;
}
- boost::optional<typename
- DynamicBuffer::mutable_buffers_type> b;
- try
- {
- b.emplace(body_.prepare((std::min)(n,
- body_.max_size() - body_.size())));
- }
- catch(std::length_error const&)
- {
- ec = error::buffer_overflow;
+ auto const mb =
+ beast::detail::dynamic_buffer_prepare(
+ body_, (std::min)(n,
+ body_.max_size() - body_.size()),
+ ec, error::buffer_overflow);
+ if(ec)
return 0;
- }
- ec.assign(0, ec.category());
auto const bytes_transferred =
- buffer_copy(*b, buffers);
+ buffer_copy(*mb, buffers);
body_.commit(bytes_transferred);
return bytes_transferred;
}
diff --git a/boost/beast/http/basic_file_body.hpp b/boost/beast/http/basic_file_body.hpp
index 6d1de9a3b8..7dd104d445 100644
--- a/boost/beast/http/basic_file_body.hpp
+++ b/boost/beast/http/basic_file_body.hpp
@@ -428,7 +428,7 @@ public:
// This function is called when writing is complete.
// It is an opportunity to perform any final actions
// which might fail, in order to return an error code.
- // Operations that might fail should not be attemped in
+ // Operations that might fail should not be attempted in
// destructors, since an exception thrown from there
// would terminate the program.
//
diff --git a/boost/beast/http/detail/basic_parsed_list.hpp b/boost/beast/http/detail/basic_parsed_list.hpp
index d1e1565252..5577fba752 100644
--- a/boost/beast/http/detail/basic_parsed_list.hpp
+++ b/boost/beast/http/detail/basic_parsed_list.hpp
@@ -11,7 +11,7 @@
#define BOOST_BEAST_HTTP_DETAIL_BASIC_PARSED_LIST_HPP
#include <boost/beast/core/string.hpp>
-#include <boost/beast/core/detail/empty_base_optimization.hpp>
+#include <boost/core/empty_value.hpp>
#include <cstddef>
#include <iterator>
@@ -42,8 +42,7 @@ public:
#endif
class const_iterator
- : private beast::detail::
- empty_base_optimization<Policy>
+ : private boost::empty_value<Policy>
{
basic_parsed_list const* list_ = nullptr;
char const* it_ = nullptr;
@@ -111,7 +110,7 @@ public:
basic_parsed_list const& list, bool at_end)
: list_(&list)
, it_(at_end ? nullptr :
- list.s_.begin())
+ list.s_.data())
{
if(! at_end)
increment();
@@ -120,7 +119,7 @@ public:
void
increment()
{
- if(! this->member()(
+ if(! this->get()(
v_, it_, list_->s_))
{
it_ = nullptr;
diff --git a/boost/beast/http/detail/basic_parser.hpp b/boost/beast/http/detail/basic_parser.hpp
index 818277bea5..741de6edf0 100644
--- a/boost/beast/http/detail/basic_parser.hpp
+++ b/boost/beast/http/detail/basic_parser.hpp
@@ -35,6 +35,12 @@ struct basic_parser_base
//
static std::size_t constexpr max_obs_fold = 4096;
+ template<class T>
+ struct is_unsigned_integer:
+ std::integral_constant<bool,
+ std::numeric_limits<T>::is_integer &&
+ ! std::numeric_limits<T>::is_signed> {};
+
enum class state
{
nothing_yet = 0,
@@ -301,9 +307,7 @@ struct basic_parser_base
template<class Iter, class T>
static
- typename std::enable_if<
- std::numeric_limits<T>::is_integer &&
- ! std::numeric_limits<T>::is_signed, bool>::type
+ typename std::enable_if<is_unsigned_integer<T>::value, bool>::type
parse_dec(Iter it, Iter last, T& v)
{
if(it == last)
@@ -325,24 +329,26 @@ struct basic_parser_base
return true;
}
- template<class Iter, class Unsigned>
+ template<class Iter, class T>
static
- bool
- parse_hex(Iter& it, Unsigned& v)
+ typename std::enable_if<is_unsigned_integer<T>::value, bool>::type
+ parse_hex(Iter& it, T& v)
{
unsigned char d;
if(! unhex(d, *it))
return false;
- v = d;
- for(;;)
+ T tmp = 0;
+ do
{
- if(! unhex(d, *++it))
- break;
- auto const v0 = v;
- v = 16 * v + d;
- if(v < v0)
+ if(tmp > (std::numeric_limits<T>::max)() / 16)
+ return false;
+ tmp *= 16;
+ if((std::numeric_limits<T>::max)() - tmp < d)
return false;
+ tmp += d;
}
+ while(unhex(d, *++it));
+ v = tmp;
return true;
}
diff --git a/boost/beast/http/detail/rfc7230.hpp b/boost/beast/http/detail/rfc7230.hpp
index fac6790579..afe35691ae 100644
--- a/boost/beast/http/detail/rfc7230.hpp
+++ b/boost/beast/http/detail/rfc7230.hpp
@@ -429,11 +429,11 @@ struct opt_token_list_policy
char const*& it, string_view s) const
{
v = {};
- auto need_comma = it != s.begin();
+ auto need_comma = it != s.data();
for(;;)
{
- detail::skip_ows(it, s.end());
- if(it == s.end())
+ detail::skip_ows(it, (s.data() + s.size()));
+ if(it == (s.data() + s.size()))
{
it = nullptr;
return true;
@@ -447,12 +447,12 @@ struct opt_token_list_policy
for(;;)
{
++it;
- if(it == s.end())
+ if(it == (s.data() + s.size()))
break;
if(! detail::is_token_char(*it))
break;
}
- v = string_view{&*p0,
+ v = string_view{p0,
static_cast<std::size_t>(it - p0)};
return true;
}
diff --git a/boost/beast/http/fields.hpp b/boost/beast/http/fields.hpp
index bde3b7a60a..8d526867dc 100644
--- a/boost/beast/http/fields.hpp
+++ b/boost/beast/http/fields.hpp
@@ -14,9 +14,9 @@
#include <boost/beast/core/string_param.hpp>
#include <boost/beast/core/string.hpp>
#include <boost/beast/core/detail/allocator.hpp>
-#include <boost/beast/core/detail/empty_base_optimization.hpp>
#include <boost/beast/http/field.hpp>
#include <boost/asio/buffer.hpp>
+#include <boost/core/empty_value.hpp>
#include <boost/intrusive/list.hpp>
#include <boost/intrusive/set.hpp>
#include <boost/optional.hpp>
@@ -53,7 +53,7 @@ namespace http {
template<class Allocator>
class basic_fields
#if ! BOOST_BEAST_DOXYGEN
- : private beast::detail::empty_base_optimization<Allocator>
+ : private boost::empty_value<Allocator>
#endif
{
// Fancy pointers are not supported
@@ -65,6 +65,8 @@ class basic_fields
static std::size_t constexpr max_static_buffer = 4096;
+ struct element;
+
using off_t = std::uint16_t;
public:
@@ -76,24 +78,20 @@ public:
{
friend class basic_fields;
+ off_t off_;
+ off_t len_;
+ field f_;
+
+ char*
+ data() const;
+
boost::asio::const_buffer
buffer() const;
+ protected:
value_type(field name,
string_view sname, string_view value);
- boost::intrusive::list_member_hook<
- boost::intrusive::link_mode<
- boost::intrusive::normal_link>>
- list_hook_;
- boost::intrusive::set_member_hook<
- boost::intrusive::link_mode<
- boost::intrusive::normal_link>>
- set_hook_;
- off_t off_;
- off_t len_;
- field f_;
-
public:
/// Constructor (deleted)
value_type(value_type const&) = delete;
@@ -118,13 +116,16 @@ public:
The case-comparison operation is defined only for low-ASCII characters.
*/
+#if BOOST_BEAST_DOXYGEN
+ using key_compare = implementation_defined;
+#else
struct key_compare : beast::iless
+#endif
{
/// Returns `true` if lhs is less than rhs using a strict ordering
- template<class String>
bool
operator()(
- String const& lhs,
+ string_view lhs,
value_type const& rhs) const noexcept
{
if(lhs.size() < rhs.name_string().size())
@@ -135,11 +136,10 @@ public:
}
/// Returns `true` if lhs is less than rhs using a strict ordering
- template<class String>
bool
operator()(
value_type const& lhs,
- String const& rhs) const noexcept
+ string_view rhs) const noexcept
{
if(lhs.name_string().size() < rhs.size())
return true;
@@ -170,30 +170,36 @@ public:
#endif
private:
+ struct element
+ : public boost::intrusive::list_base_hook<
+ boost::intrusive::link_mode<
+ boost::intrusive::normal_link>>
+ , public boost::intrusive::set_base_hook<
+ boost::intrusive::link_mode<
+ boost::intrusive::normal_link>>
+ , public value_type
+ {
+ element(field name,
+ string_view sname, string_view value);
+ };
+
using list_t = typename boost::intrusive::make_list<
- value_type, boost::intrusive::member_hook<
- value_type, boost::intrusive::list_member_hook<
- boost::intrusive::link_mode<
- boost::intrusive::normal_link>>,
- &value_type::list_hook_>,
- boost::intrusive::constant_time_size<
- false>>::type;
+ element,
+ boost::intrusive::constant_time_size<false>
+ >::type;
using set_t = typename boost::intrusive::make_multiset<
- value_type, boost::intrusive::member_hook<value_type,
- boost::intrusive::set_member_hook<
- boost::intrusive::link_mode<
- boost::intrusive::normal_link>>,
- &value_type::set_hook_>,
- boost::intrusive::constant_time_size<true>,
- boost::intrusive::compare<key_compare>>::type;
+ element,
+ boost::intrusive::constant_time_size<true>,
+ boost::intrusive::compare<key_compare>
+ >::type;
using align_type = typename
- boost::type_with_alignment<alignof(value_type)>::type;
+ boost::type_with_alignment<alignof(element)>::type;
using rebind_type = typename
beast::detail::allocator_traits<Allocator>::
- template rebind_alloc<align_type>;
+ template rebind_alloc<element>;
using alloc_traits =
beast::detail::allocator_traits<rebind_type>;
@@ -283,7 +289,7 @@ public:
allocator_type
get_allocator() const
{
- return this->member();
+ return this->get();
}
//--------------------------------------------------------------------------
@@ -704,15 +710,15 @@ private:
template<class OtherAlloc>
friend class basic_fields;
- value_type&
+ element&
new_element(field name,
string_view sname, string_view value);
void
- delete_element(value_type& e);
+ delete_element(element& e);
void
- set_element(value_type& e);
+ set_element(element& e);
void
realloc_string(string_view& dest, string_view s);
diff --git a/boost/beast/http/impl/error.ipp b/boost/beast/http/impl/error.ipp
index 45075f5c18..b6320cf4c9 100644
--- a/boost/beast/http/impl/error.ipp
+++ b/boost/beast/http/impl/error.ipp
@@ -94,23 +94,15 @@ public:
}
};
-inline
-error_category const&
-get_http_error_category()
-{
- static http_error_category const cat{};
- return cat;
-}
-
} // detail
inline
error_code
make_error_code(error ev)
{
- return error_code{
- static_cast<std::underlying_type<error>::type>(ev),
- detail::get_http_error_category()};
+ static detail::http_error_category const cat{};
+ return error_code{static_cast<
+ std::underlying_type<error>::type>(ev), cat};
}
} // http
diff --git a/boost/beast/http/impl/field.ipp b/boost/beast/http/impl/field.ipp
index 467a40aeee..b61a0ba8a2 100644
--- a/boost/beast/http/impl/field.ipp
+++ b/boost/beast/http/impl/field.ipp
@@ -51,7 +51,7 @@ struct field_table
{
auto p1 = lhs.data();
auto p2 = rhs.data();
- auto pend = lhs.end();
+ auto pend = p1 + lhs.size();
char a, b;
while(p1 < pend)
{
diff --git a/boost/beast/http/impl/fields.ipp b/boost/beast/http/impl/fields.ipp
index aca61d2f65..f34a8e7471 100644
--- a/boost/beast/http/impl/fields.ipp
+++ b/boost/beast/http/impl/fields.ipp
@@ -271,19 +271,38 @@ writer(basic_fields const& f,
//------------------------------------------------------------------------------
template<class Allocator>
+char*
basic_fields<Allocator>::
value_type::
-value_type(
- field name,
- string_view sname,
- string_view value)
+data() const
+{
+ return const_cast<char*>(
+ reinterpret_cast<char const*>(
+ static_cast<element const*>(this) + 1));
+}
+
+template<class Allocator>
+boost::asio::const_buffer
+basic_fields<Allocator>::
+value_type::
+buffer() const
+{
+ return boost::asio::const_buffer{data(),
+ static_cast<std::size_t>(off_) + len_ + 2};
+}
+
+template<class Allocator>
+basic_fields<Allocator>::
+value_type::
+value_type(field name,
+ string_view sname, string_view value)
: off_(static_cast<off_t>(sname.size() + 2))
, len_(static_cast<off_t>(value.size()))
, f_(name)
{
//BOOST_ASSERT(name == field::unknown ||
// iequals(sname, to_string(name)));
- char* p = reinterpret_cast<char*>(this + 1);
+ char* p = data();
p[off_-2] = ':';
p[off_-1] = ' ';
p[off_ + len_] = '\r';
@@ -293,7 +312,6 @@ value_type(
}
template<class Allocator>
-inline
field
basic_fields<Allocator>::
value_type::
@@ -303,39 +321,32 @@ name() const
}
template<class Allocator>
-inline
string_view const
basic_fields<Allocator>::
value_type::
name_string() const
{
- return {reinterpret_cast<
- char const*>(this + 1),
- static_cast<std::size_t>(off_ - 2)};
+ return {data(),
+ static_cast<std::size_t>(off_ - 2)};
}
template<class Allocator>
-inline
string_view const
basic_fields<Allocator>::
value_type::
value() const
{
- return {reinterpret_cast<
- char const*>(this + 1) + off_,
- static_cast<std::size_t>(len_)};
+ return {data() + off_,
+ static_cast<std::size_t>(len_)};
}
template<class Allocator>
-inline
-boost::asio::const_buffer
basic_fields<Allocator>::
-value_type::
-buffer() const
+element::
+element(field name,
+ string_view sname, string_view value)
+ : value_type(name, sname, value)
{
- return boost::asio::const_buffer{
- reinterpret_cast<char const*>(this + 1),
- static_cast<std::size_t>(off_) + len_ + 2};
}
//------------------------------------------------------------------------------
@@ -353,15 +364,15 @@ basic_fields<Allocator>::
template<class Allocator>
basic_fields<Allocator>::
basic_fields(Allocator const& alloc) noexcept
- : beast::detail::empty_base_optimization<Allocator>(alloc)
+ : boost::empty_value<Allocator>(boost::empty_init_t(), alloc)
{
}
template<class Allocator>
basic_fields<Allocator>::
basic_fields(basic_fields&& other) noexcept
- : beast::detail::empty_base_optimization<Allocator>(
- std::move(other.member()))
+ : boost::empty_value<Allocator>(boost::empty_init_t(),
+ std::move(other.get()))
, set_(std::move(other.set_))
, list_(std::move(other.list_))
, method_(boost::exchange(other.method_, {}))
@@ -372,9 +383,9 @@ basic_fields(basic_fields&& other) noexcept
template<class Allocator>
basic_fields<Allocator>::
basic_fields(basic_fields&& other, Allocator const& alloc)
- : beast::detail::empty_base_optimization<Allocator>(alloc)
+ : boost::empty_value<Allocator>(boost::empty_init_t(), alloc)
{
- if(this->member() != other.member())
+ if(this->get() != other.get())
{
copy_all(other);
other.clear_all();
@@ -391,8 +402,8 @@ basic_fields(basic_fields&& other, Allocator const& alloc)
template<class Allocator>
basic_fields<Allocator>::
basic_fields(basic_fields const& other)
- : beast::detail::empty_base_optimization<Allocator>(alloc_traits::
- select_on_container_copy_construction(other.member()))
+ : boost::empty_value<Allocator>(boost::empty_init_t(), alloc_traits::
+ select_on_container_copy_construction(other.get()))
{
copy_all(other);
}
@@ -401,7 +412,7 @@ template<class Allocator>
basic_fields<Allocator>::
basic_fields(basic_fields const& other,
Allocator const& alloc)
- : beast::detail::empty_base_optimization<Allocator>(alloc)
+ : boost::empty_value<Allocator>(boost::empty_init_t(), alloc)
{
copy_all(other);
}
@@ -419,7 +430,7 @@ template<class OtherAlloc>
basic_fields<Allocator>::
basic_fields(basic_fields<OtherAlloc> const& other,
Allocator const& alloc)
- : beast::detail::empty_base_optimization<Allocator>(alloc)
+ : boost::empty_value<Allocator>(boost::empty_init_t(), alloc)
{
copy_all(other);
}
@@ -614,7 +625,7 @@ erase(const_iterator pos) ->
auto& e = *next++;
set_.erase(e);
list_.erase(pos);
- delete_element(const_cast<value_type&>(e));
+ delete_element(const_cast<element&>(e));
return next;
}
@@ -634,7 +645,7 @@ erase(string_view name)
{
std::size_t n =0;
set_.erase_and_dispose(name, key_compare{},
- [&](value_type* e)
+ [&](element* e)
{
++n;
list_.erase(list_.iterator_to(*e));
@@ -1025,7 +1036,7 @@ set_chunked_impl(bool value)
std::basic_string<
char,
std::char_traits<char>,
- A> s{A{this->member()}};
+ A> s{A{this->get()}};
#endif
s.reserve(it->value().size() + 9);
s.append(it->value().data(), it->value().size());
@@ -1062,7 +1073,7 @@ set_chunked_impl(bool value)
std::basic_string<
char,
std::char_traits<char>,
- A> s{A{this->member()}};
+ A> s{A{this->get()}};
#endif
s.reserve(it->value().size());
detail::filter_token_list_last(s, it->value(),
@@ -1119,7 +1130,7 @@ set_keep_alive_impl(
std::basic_string<
char,
std::char_traits<char>,
- A> s{A{this->member()}};
+ A> s{A{this->get()}};
#endif
s.reserve(value.size());
detail::keep_alive_impl(
@@ -1138,7 +1149,7 @@ auto
basic_fields<Allocator>::
new_element(field name,
string_view sname, string_view value) ->
- value_type&
+ element&
{
if(sname.size() + 2 >
(std::numeric_limits<off_t>::max)())
@@ -1153,35 +1164,31 @@ new_element(field name,
static_cast<off_t>(sname.size() + 2);
std::uint16_t const len =
static_cast<off_t>(value.size());
- auto a = rebind_type{this->member()};
+ auto a = rebind_type{this->get()};
auto const p = alloc_traits::allocate(a,
- (sizeof(value_type) + off + len + 2 + sizeof(align_type) - 1) /
+ (sizeof(element) + off + len + 2 + sizeof(align_type) - 1) /
sizeof(align_type));
- // VFALCO allocator can't call the constructor because its private
- //alloc_traits::construct(a, p, name, sname, value);
- new(p) value_type{name, sname, value};
- return *reinterpret_cast<value_type*>(p);
+ return *(new(p) element(name, sname, value));
}
template<class Allocator>
void
basic_fields<Allocator>::
-delete_element(value_type& e)
+delete_element(element& e)
{
- auto a = rebind_type{this->member()};
+ auto a = rebind_type{this->get()};
auto const n =
- (sizeof(value_type) + e.off_ + e.len_ + 2 + sizeof(align_type) - 1) /
+ (sizeof(element) + e.off_ + e.len_ + 2 + sizeof(align_type) - 1) /
sizeof(align_type);
- //alloc_traits::destroy(a, &e);
- e.~value_type();
- alloc_traits::deallocate(a,
- reinterpret_cast<align_type*>(&e), n);
+ e.~element();
+ alloc_traits::deallocate(a, &e, n);
+ //reinterpret_cast<align_type*>(&e), n);
}
template<class Allocator>
void
basic_fields<Allocator>::
-set_element(value_type& e)
+set_element(element& e)
{
auto it = set_.lower_bound(
e.name_string(), key_compare{});
@@ -1217,7 +1224,7 @@ realloc_string(string_view& dest, string_view s)
return;
auto a = typename beast::detail::allocator_traits<
Allocator>::template rebind_alloc<
- char>(this->member());
+ char>(this->get());
char* p = nullptr;
if(! s.empty())
{
@@ -1246,7 +1253,7 @@ realloc_target(
return;
auto a = typename beast::detail::allocator_traits<
Allocator>::template rebind_alloc<
- char>(this->member());
+ char>(this->get());
char* p = nullptr;
if(! s.empty())
{
@@ -1310,7 +1317,7 @@ move_assign(basic_fields& other, std::true_type)
target_or_reason_ = other.target_or_reason_;
other.method_ = {};
other.target_or_reason_ = {};
- this->member() = other.member();
+ this->get() = other.get();
}
template<class Allocator>
@@ -1320,7 +1327,7 @@ basic_fields<Allocator>::
move_assign(basic_fields& other, std::false_type)
{
clear_all();
- if(this->member() != other.member())
+ if(this->get() != other.get())
{
copy_all(other);
other.clear_all();
@@ -1343,7 +1350,7 @@ basic_fields<Allocator>::
copy_assign(basic_fields const& other, std::true_type)
{
clear_all();
- this->member() = other.member();
+ this->get() = other.get();
copy_all(other);
}
@@ -1364,7 +1371,7 @@ basic_fields<Allocator>::
swap(basic_fields& other, std::true_type)
{
using std::swap;
- swap(this->member(), other.member());
+ swap(this->get(), other.get());
swap(set_, other.set_);
swap(list_, other.list_);
swap(method_, other.method_);
@@ -1377,7 +1384,7 @@ void
basic_fields<Allocator>::
swap(basic_fields& other, std::false_type)
{
- BOOST_ASSERT(this->member() == other.member());
+ BOOST_ASSERT(this->get() == other.get());
using std::swap;
swap(set_, other.set_);
swap(list_, other.list_);
diff --git a/boost/beast/http/impl/message.ipp b/boost/beast/http/impl/message.ipp
index 64d96eb6f1..a2a10402f9 100644
--- a/boost/beast/http/impl/message.ipp
+++ b/boost/beast/http/impl/message.ipp
@@ -197,8 +197,8 @@ template<class... BodyArgs>
message<isRequest, Body, Fields>::
message(header_type&& h, BodyArgs&&... body_args)
: header_type(std::move(h))
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArgs>(body_args)...)
{
}
@@ -208,8 +208,8 @@ template<class... BodyArgs>
message<isRequest, Body, Fields>::
message(header_type const& h, BodyArgs&&... body_args)
: header_type(h)
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArgs>(body_args)...)
{
}
@@ -228,8 +228,8 @@ message<isRequest, Body, Fields>::
message(verb method, string_view target,
Version version, BodyArg&& body_arg)
: header_type(method, target, version)
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArg>(body_arg))
{
}
@@ -243,8 +243,8 @@ message(
FieldsArg&& fields_arg)
: header_type(method, target, version,
std::forward<FieldsArg>(fields_arg))
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArg>(body_arg))
{
}
@@ -263,8 +263,8 @@ message<isRequest, Body, Fields>::
message(status result, Version version,
BodyArg&& body_arg)
: header_type(result, version)
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArg>(body_arg))
{
}
@@ -276,8 +276,8 @@ message(status result, Version version,
BodyArg&& body_arg, FieldsArg&& fields_arg)
: header_type(result, version,
std::forward<FieldsArg>(fields_arg))
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArg>(body_arg))
{
}
diff --git a/boost/beast/http/impl/read.ipp b/boost/beast/http/impl/read.ipp
index 2ff0c3b128..42ce175d8c 100644
--- a/boost/beast/http/impl/read.ipp
+++ b/boost/beast/http/impl/read.ipp
@@ -18,9 +18,11 @@
#include <boost/beast/core/handler_ptr.hpp>
#include <boost/beast/core/read_size.hpp>
#include <boost/beast/core/type_traits.hpp>
+#include <boost/beast/core/detail/buffer.hpp>
#include <boost/asio/associated_allocator.hpp>
#include <boost/asio/associated_executor.hpp>
#include <boost/asio/coroutine.hpp>
+#include <boost/asio/error.hpp>
#include <boost/asio/executor_work_guard.hpp>
#include <boost/asio/handler_continuation_hook.hpp>
#include <boost/asio/handler_invoke_hook.hpp>
@@ -121,8 +123,6 @@ operator()(
bool cont)
{
cont_ = cont;
- boost::optional<typename
- DynamicBuffer::mutable_buffers_type> mb;
BOOST_ASIO_CORO_REENTER(*this)
{
if(b_.size() == 0)
@@ -139,18 +139,22 @@ operator()(
break;
do_read:
- try
- {
- mb.emplace(b_.prepare(
- read_size_or_throw(b_, 65536)));
- }
- catch(std::length_error const&)
+ BOOST_ASIO_CORO_YIELD
{
- ec = error::buffer_overflow;
- break;
+ // VFALCO This was read_size_or_throw
+ auto const size = read_size(b_, 65536);
+ if(size == 0)
+ {
+ ec = error::buffer_overflow;
+ goto upcall;
+ }
+ auto const mb =
+ beast::detail::dynamic_buffer_prepare(
+ b_, size, ec, error::buffer_overflow);
+ if(ec)
+ goto upcall;
+ s_.async_read_some(*mb, std::move(*this));
}
- BOOST_ASIO_CORO_YIELD
- s_.async_read_some(*mb, std::move(*this));
if(ec == boost::asio::error::eof)
{
BOOST_ASSERT(bytes_transferred == 0);
@@ -513,19 +517,18 @@ read_some(
break;
}
do_read:
- boost::optional<typename
- DynamicBuffer::mutable_buffers_type> b;
- try
- {
- b.emplace(buffer.prepare(
- read_size_or_throw(buffer, 65536)));
- }
- catch(std::length_error const&)
+ auto const size = read_size(buffer, 65536);
+ if(size == 0)
{
ec = error::buffer_overflow;
- return bytes_transferred;
+ break;
}
- auto const n = stream.read_some(*b, ec);
+ auto const mb =
+ beast::detail::dynamic_buffer_prepare(
+ buffer, size, ec, error::buffer_overflow);
+ if(ec)
+ break;
+ auto const n = stream.read_some(*mb, ec);
if(ec == boost::asio::error::eof)
{
BOOST_ASSERT(n == 0);
diff --git a/boost/beast/http/impl/verb.ipp b/boost/beast/http/impl/verb.ipp
index bfd703d05e..36a1734c33 100644
--- a/boost/beast/http/impl/verb.ipp
+++ b/boost/beast/http/impl/verb.ipp
@@ -127,7 +127,7 @@ string_to_verb(string_view v)
++s;
++p;
if(! *s)
- return p == sv.end();
+ return p == (sv.data() + sv.size());
}
};
auto c = v[0];
diff --git a/boost/beast/http/message.hpp b/boost/beast/http/message.hpp
index 0455042786..bd85d160f1 100644
--- a/boost/beast/http/message.hpp
+++ b/boost/beast/http/message.hpp
@@ -16,8 +16,8 @@
#include <boost/beast/http/status.hpp>
#include <boost/beast/http/type_traits.hpp>
#include <boost/beast/core/string.hpp>
-#include <boost/beast/core/detail/empty_base_optimization.hpp>
#include <boost/beast/core/detail/integer_sequence.hpp>
+#include <boost/core/empty_value.hpp>
#include <boost/assert.hpp>
#include <boost/optional.hpp>
#include <boost/throw_exception.hpp>
@@ -490,7 +490,7 @@ template<bool isRequest, class Body, class Fields = fields>
struct message
: header<isRequest, Fields>
#if ! BOOST_BEAST_DOXYGEN
- , beast::detail::empty_base_optimization<
+ , boost::empty_value<
typename Body::value_type>
#endif
{
@@ -862,8 +862,8 @@ struct message
#endif
body()& noexcept
{
- return this->beast::detail::empty_base_optimization<
- typename Body::value_type>::member();
+ return this->boost::empty_value<
+ typename Body::value_type>::get();
}
/// Returns the body
@@ -875,8 +875,8 @@ struct message
body()&& noexcept
{
return std::move(
- this->beast::detail::empty_base_optimization<
- typename Body::value_type>::member());
+ this->boost::empty_value<
+ typename Body::value_type>::get());
}
/// Returns the body
@@ -887,8 +887,8 @@ struct message
#endif
body() const& noexcept
{
- return this->beast::detail::empty_base_optimization<
- typename Body::value_type>::member();
+ return this->boost::empty_value<
+ typename Body::value_type>::get();
}
private:
@@ -902,8 +902,8 @@ private:
std::piecewise_construct_t,
std::tuple<BodyArgs...>& body_args,
beast::detail::index_sequence<IBodyArgs...>)
- : beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ : boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArgs>(
std::get<IBodyArgs>(body_args))...)
{
@@ -923,8 +923,8 @@ private:
beast::detail::index_sequence<IFieldsArgs...>)
: header_type(std::forward<FieldsArgs>(
std::get<IFieldsArgs>(fields_args))...)
- , beast::detail::empty_base_optimization<
- typename Body::value_type>(
+ , boost::empty_value<
+ typename Body::value_type>(boost::empty_init_t(),
std::forward<BodyArgs>(
std::get<IBodyArgs>(body_args))...)
{
diff --git a/boost/beast/http/span_body.hpp b/boost/beast/http/span_body.hpp
index 4688dc8741..f20481164e 100644
--- a/boost/beast/http/span_body.hpp
+++ b/boost/beast/http/span_body.hpp
@@ -24,7 +24,7 @@ namespace http {
This body uses @ref span as a memory-based container for
holding message payloads. The container represents a
- non-owning reference to a continguous area of memory.
+ non-owning reference to a contiguous area of memory.
Messages using this body type may be serialized and
parsed.
diff --git a/boost/beast/version.hpp b/boost/beast/version.hpp
index 4dc807972d..2e051d5d5c 100644
--- a/boost/beast/version.hpp
+++ b/boost/beast/version.hpp
@@ -20,7 +20,7 @@
This is a simple integer that is incremented by one every
time a set of code changes is merged to the develop branch.
*/
-#define BOOST_BEAST_VERSION 181
+#define BOOST_BEAST_VERSION 189
#define BOOST_BEAST_VERSION_STRING "Boost.Beast/" BOOST_STRINGIZE(BOOST_BEAST_VERSION)
diff --git a/boost/beast/websocket/detail/utf8_checker.hpp b/boost/beast/websocket/detail/utf8_checker.hpp
index 63687587ce..ea6e61a982 100644
--- a/boost/beast/websocket/detail/utf8_checker.hpp
+++ b/boost/beast/websocket/detail/utf8_checker.hpp
@@ -112,7 +112,7 @@ write(std::uint8_t const* in, std::size_t size)
if((p[0] & 0xe0) == 0xc0)
{
if( (p[1] & 0xc0) != 0x80 ||
- (p[0] & 0xfe) == 0xc0) // overlong
+ (p[0] & 0x1e) == 0) // overlong
return false;
p += 2;
return true;
@@ -121,8 +121,8 @@ write(std::uint8_t const* in, std::size_t size)
{
if( (p[1] & 0xc0) != 0x80
|| (p[2] & 0xc0) != 0x80
- || (p[0] == 0xe0 && (p[1] & 0xe0) == 0x80) // overlong
- || (p[0] == 0xed && (p[1] & 0xe0) == 0xa0) // surrogate
+ || (p[0] == 0xe0 && (p[1] & 0x20) == 0) // overlong
+ || (p[0] == 0xed && (p[1] & 0x20) == 0x20) // surrogate
//|| (p[0] == 0xef && p[1] == 0xbf && (p[2] & 0xfe) == 0xbe) // U+FFFE or U+FFFF
)
return false;
@@ -131,10 +131,11 @@ write(std::uint8_t const* in, std::size_t size)
}
if((p[0] & 0xf8) == 0xf0)
{
- if( (p[1] & 0xc0) != 0x80
+ if( (p[0] & 0x07) >= 0x05 // invalid F5...FF characters
+ || (p[1] & 0xc0) != 0x80
|| (p[2] & 0xc0) != 0x80
|| (p[3] & 0xc0) != 0x80
- || (p[0] == 0xf0 && (p[1] & 0xf0) == 0x80) // overlong
+ || (p[0] == 0xf0 && (p[1] & 0x30) == 0) // overlong
|| (p[0] == 0xf4 && p[1] > 0x8f) || p[0] > 0xf4 // > U+10FFFF
)
return false;
@@ -146,24 +147,74 @@ write(std::uint8_t const* in, std::size_t size)
auto const fail_fast =
[&]()
{
- auto const n = p_ - cp_;
- switch(n)
+ if(cp_[0] < 128)
+ {
+ return false;
+ }
+
+ const auto& p = cp_; // alias, only to keep this code similar to valid() above
+ const auto known_only = p_ - cp_;
+ if (known_only == 1)
+ {
+ if((p[0] & 0xe0) == 0xc0)
+ {
+ return ((p[0] & 0x1e) == 0); // overlong
+ }
+ if((p[0] & 0xf0) == 0xe0)
+ {
+ return false;
+ }
+ if((p[0] & 0xf8) == 0xf0)
+ {
+ return ((p[0] & 0x07) >= 0x05); // invalid F5...FF characters
+ }
+ }
+ else if (known_only == 2)
+ {
+ if((p[0] & 0xe0) == 0xc0)
+ {
+ return ((p[1] & 0xc0) != 0x80 ||
+ (p[0] & 0x1e) == 0); // overlong
+ }
+ if((p[0] & 0xf0) == 0xe0)
+ {
+ return ( (p[1] & 0xc0) != 0x80
+ || (p[0] == 0xe0 && (p[1] & 0x20) == 0) // overlong
+ || (p[0] == 0xed && (p[1] & 0x20) == 0x20)); // surrogate
+ }
+ if((p[0] & 0xf8) == 0xf0)
+ {
+ return ( (p[0] & 0x07) >= 0x05 // invalid F5...FF characters
+ || (p[1] & 0xc0) != 0x80
+ || (p[0] == 0xf0 && (p[1] & 0x30) == 0) // overlong
+ || (p[0] == 0xf4 && p[1] > 0x8f) || p[0] > 0xf4); // > U+10FFFF
+ }
+ }
+ else if (known_only == 3)
{
- default:
- BOOST_ASSERT(false);
- BOOST_FALLTHROUGH;
- case 1:
- cp_[1] = 0x81;
- BOOST_FALLTHROUGH;
- case 2:
- cp_[2] = 0x81;
- BOOST_FALLTHROUGH;
- case 3:
- cp_[3] = 0x81;
- break;
+ if((p[0] & 0xe0) == 0xc0)
+ {
+ return ( (p[1] & 0xc0) != 0x80
+ || (p[0] & 0x1e) == 0); // overlong
+ }
+ if((p[0] & 0xf0) == 0xe0)
+ {
+ return ( (p[1] & 0xc0) != 0x80
+ || (p[2] & 0xc0) != 0x80
+ || (p[0] == 0xe0 && (p[1] & 0x20) == 0) // overlong
+ || (p[0] == 0xed && (p[1] & 0x20) == 0x20)); // surrogate
+ //|| (p[0] == 0xef && p[1] == 0xbf && (p[2] & 0xfe) == 0xbe) // U+FFFE or U+FFFF
+ }
+ if((p[0] & 0xf8) == 0xf0)
+ {
+ return ( (p[0] & 0x07) >= 0x05 // invalid F5...FF characters
+ || (p[1] & 0xc0) != 0x80
+ || (p[2] & 0xc0) != 0x80
+ || (p[0] == 0xf0 && (p[1] & 0x30) == 0) // overlong
+ || (p[0] == 0xf4 && p[1] > 0x8f) || p[0] > 0xf4); // > U+10FFFF
+ }
}
- std::uint8_t const* p = cp_;
- return ! valid(p);
+ return true;
};
auto const needed =
[](std::uint8_t const v)
diff --git a/boost/beast/websocket/impl/accept.ipp b/boost/beast/websocket/impl/accept.ipp
index c93e933b18..5a322990a3 100644
--- a/boost/beast/websocket/impl/accept.ipp
+++ b/boost/beast/websocket/impl/accept.ipp
@@ -18,6 +18,7 @@
#include <boost/beast/http/write.hpp>
#include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/handler_ptr.hpp>
+#include <boost/beast/core/detail/buffer.hpp>
#include <boost/beast/core/detail/type_traits.hpp>
#include <boost/asio/coroutine.hpp>
#include <boost/asio/associated_allocator.hpp>
@@ -244,20 +245,12 @@ run(Buffers const& buffers)
using boost::asio::buffer_size;
auto& d = *d_;
error_code ec;
- boost::optional<typename
- static_buffer_base::mutable_buffers_type> mb;
- auto const len = buffer_size(buffers);
- try
- {
- mb.emplace(d.ws.rd_buf_.prepare(len));
- }
- catch(std::length_error const&)
- {
- ec = error::buffer_overflow;
+ auto const mb = beast::detail::dynamic_buffer_prepare(
+ d.ws.rd_buf_, buffer_size(buffers), ec,
+ error::buffer_overflow);
+ if(ec)
return (*this)(ec);
- }
- d.ws.rd_buf_.commit(
- buffer_copy(*mb, buffers));
+ d.ws.rd_buf_.commit(buffer_copy(*mb, buffers));
(*this)(ec);
}
@@ -432,20 +425,12 @@ accept(
using boost::asio::buffer_copy;
using boost::asio::buffer_size;
reset();
- boost::optional<typename
- static_buffer_base::mutable_buffers_type> mb;
- try
- {
- mb.emplace(rd_buf_.prepare(
- buffer_size(buffers)));
- }
- catch(std::length_error const&)
- {
- ec = error::buffer_overflow;
+ auto const mb = beast::detail::dynamic_buffer_prepare(
+ rd_buf_, buffer_size(buffers), ec,
+ error::buffer_overflow);
+ if(ec)
return;
- }
- rd_buf_.commit(
- buffer_copy(*mb, buffers));
+ rd_buf_.commit(buffer_copy(*mb, buffers));
do_accept(&default_decorate_res, ec);
}
@@ -472,18 +457,11 @@ accept_ex(
using boost::asio::buffer_copy;
using boost::asio::buffer_size;
reset();
- boost::optional<typename
- static_buffer_base::mutable_buffers_type> mb;
- try
- {
- mb.emplace(rd_buf_.prepare(
- buffer_size(buffers)));
- }
- catch(std::length_error const&)
- {
- ec = error::buffer_overflow;
+ auto const mb = beast::detail::dynamic_buffer_prepare(
+ rd_buf_, buffer_size(buffers), ec,
+ error::buffer_overflow);
+ if(ec)
return;
- }
rd_buf_.commit(buffer_copy(*mb, buffers));
do_accept(decorator, ec);
}
diff --git a/boost/beast/websocket/impl/read.ipp b/boost/beast/websocket/impl/read.ipp
index 9e8e0c4740..3fb7f223f2 100644
--- a/boost/beast/websocket/impl/read.ipp
+++ b/boost/beast/websocket/impl/read.ipp
@@ -16,6 +16,7 @@
#include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/flat_static_buffer.hpp>
#include <boost/beast/core/type_traits.hpp>
+#include <boost/beast/core/detail/buffer.hpp>
#include <boost/beast/core/detail/clamp.hpp>
#include <boost/beast/core/detail/config.hpp>
#include <boost/asio/associated_allocator.hpp>
@@ -800,35 +801,27 @@ operator()(
std::size_t bytes_transferred)
{
using beast::detail::clamp;
- using buffers_type = typename
- DynamicBuffer::mutable_buffers_type;
- boost::optional<buffers_type> mb;
BOOST_ASIO_CORO_REENTER(*this)
{
do
{
- try
- {
- mb.emplace(b_.prepare(clamp(
- ws_.read_size_hint(b_), limit_)));
- }
- catch(std::length_error const&)
- {
- ec = error::buffer_overflow;
- }
- if(ec)
+ BOOST_ASIO_CORO_YIELD
{
- BOOST_ASIO_CORO_YIELD
- boost::asio::post(
- ws_.get_executor(),
- bind_handler(std::move(*this),
- error::buffer_overflow, 0));
- break;
+ auto mb = beast::detail::dynamic_buffer_prepare(b_,
+ clamp(ws_.read_size_hint(b_), limit_),
+ ec, error::buffer_overflow);
+ if(ec)
+ boost::asio::post(
+ ws_.get_executor(),
+ bind_handler(
+ std::move(*this), ec, 0));
+ else
+ read_some_op<typename
+ DynamicBuffer::mutable_buffers_type,
+ read_op>(std::move(*this), ws_, *mb)(
+ {}, 0, false);
+ return;
}
- BOOST_ASIO_CORO_YIELD
- read_some_op<buffers_type, read_op>{
- std::move(*this), ws_, *mb}(
- {}, 0, false);
if(ec)
break;
b_.commit(bytes_transferred);
@@ -950,17 +943,10 @@ read_some(
auto const size =
clamp(read_size_hint(buffer), limit);
BOOST_ASSERT(size > 0);
- boost::optional<typename
- DynamicBuffer::mutable_buffers_type> mb;
- try
- {
- mb.emplace(buffer.prepare(size));
- }
- catch(std::length_error const&)
- {
- ec = error::buffer_overflow;
+ auto mb = beast::detail::dynamic_buffer_prepare(
+ buffer, size, ec, error::buffer_overflow);
+ if(ec)
return 0;
- }
auto const bytes_written = read_some(*mb, ec);
buffer.commit(bytes_written);
return bytes_written;
diff --git a/boost/beast/websocket/impl/write.ipp b/boost/beast/websocket/impl/write.ipp
index edaca7989f..08b9943d8a 100644
--- a/boost/beast/websocket/impl/write.ipp
+++ b/boost/beast/websocket/impl/write.ipp
@@ -152,7 +152,7 @@ class stream<NextLayer, deflateSupported>::write_some_op
std::size_t in_;
int how_;
bool fin_;
- bool more_;
+ bool more_ = false; // for ubsan
bool cont_ = false;
public:
diff --git a/boost/beast/websocket/stream.hpp b/boost/beast/websocket/stream.hpp
index 315a23d69b..cb8a00fca9 100644
--- a/boost/beast/websocket/stream.hpp
+++ b/boost/beast/websocket/stream.hpp
@@ -571,7 +571,7 @@ public:
);
@endcode
The implementation type-erases the callback which may require
- a dynamic allocation. To prevent the possiblity of a dynamic
+ a dynamic allocation. To prevent the possibility of a dynamic
allocation, use `std::ref` to wrap the callback.
If the read operation which receives the control frame is
an asynchronous operation, the callback will be invoked using
diff --git a/boost/blank.hpp b/boost/blank.hpp
index d0fe5abca5..918723ca94 100644
--- a/boost/blank.hpp
+++ b/boost/blank.hpp
@@ -20,7 +20,7 @@
#include "boost/detail/templated_streams.hpp"
#endif // BOOST_NO_IOSTREAM
-#include "boost/mpl/bool.hpp"
+#include "boost/type_traits/integral_constant.hpp"
#include "boost/type_traits/is_empty.hpp"
#include "boost/type_traits/is_pod.hpp"
#include "boost/type_traits/is_stateless.hpp"
@@ -36,19 +36,19 @@ struct blank
template <>
struct is_pod< blank >
- : mpl::true_
+ : boost::true_type
{
};
template <>
struct is_empty< blank >
- : mpl::true_
+ : boost::true_type
{
};
template <>
struct is_stateless< blank >
- : mpl::true_
+ : boost::true_type
{
};
diff --git a/boost/chrono/detail/inlined/mac/chrono.hpp b/boost/chrono/detail/inlined/mac/chrono.hpp
index 0bd3400a25..9bf6c2bb12 100644
--- a/boost/chrono/detail/inlined/mac/chrono.hpp
+++ b/boost/chrono/detail/inlined/mac/chrono.hpp
@@ -40,7 +40,7 @@ system_clock::now(system::error_code & ec)
{
timeval tv;
gettimeofday(&tv, 0);
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -89,7 +89,7 @@ BOOST_CHRONO_STATIC
steady_clock::rep
steady_simplified_ec(system::error_code & ec)
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -131,21 +131,21 @@ steady_full_ec(system::error_code & ec)
const double factor = chrono_detail::compute_steady_factor(err);
if (err != 0)
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
err,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::steady_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return steady_clock::rep();
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -217,21 +217,21 @@ steady_clock::now(system::error_code & ec)
chrono_detail::FP_ec fp = chrono_detail::init_steady_clock_ec(err);
if ( err != 0 )
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
err,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::steady_clock" ));
}
else
{
- ec.assign( err, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( err, ::boost::system::system_category() );
return time_point();
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
diff --git a/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp b/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp
index 6e55b0f2ff..29fe86ccfc 100644
--- a/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp
+++ b/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp
@@ -95,12 +95,12 @@ namespace boost
clock_t c = ::times(&tm);
if (c == clock_t(-1)) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_real_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
} else
@@ -108,19 +108,19 @@ namespace boost
long factor = chrono_detail::tick_factor();
if (factor != -1)
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
return time_point(nanoseconds(c * factor));
} else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_real_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
}
@@ -129,12 +129,12 @@ namespace boost
clock_t c = ::clock();
if (c == clock_t(-1)) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_real_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
} else
@@ -142,19 +142,19 @@ namespace boost
long factor = chrono_detail::tick_factor();
if (factor != -1)
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
return time_point(nanoseconds(c * factor));
} else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_real_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_real_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
}
@@ -171,12 +171,12 @@ namespace boost
clock_t c = ::times(&tm);
if (c == clock_t(-1)) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_user_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_user_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
} else
@@ -184,19 +184,19 @@ namespace boost
long factor = chrono_detail::tick_factor();
if (factor != -1)
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
return time_point(nanoseconds((tm.tms_utime + tm.tms_cutime) * factor));
} else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_user_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_user_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
}
@@ -254,12 +254,12 @@ namespace boost
clock_t c = ::times(&tm);
if (c == clock_t(-1)) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_system_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_system_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
} else
@@ -267,19 +267,19 @@ namespace boost
long factor = chrono_detail::tick_factor();
if (factor != -1)
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
return time_point(nanoseconds((tm.tms_stime + tm.tms_cstime) * factor));
} else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_system_cpu_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_system_cpu_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
}
@@ -319,12 +319,12 @@ namespace boost
clock_t c = ::times(&tm);
if (c == clock_t(-1)) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
} else
@@ -338,12 +338,12 @@ namespace boost
return time_point(duration(r));
} else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
- boost::throw_exception(system::system_error(errno, BOOST_CHRONO_SYSTEM_CATEGORY, "chrono::process_clock"));
+ boost::throw_exception(system::system_error(errno, ::boost::system::system_category(), "chrono::process_clock"));
} else
{
- ec.assign(errno, BOOST_CHRONO_SYSTEM_CATEGORY);
+ ec.assign(errno, ::boost::system::system_category());
return time_point();
}
}
diff --git a/boost/chrono/detail/inlined/mac/thread_clock.hpp b/boost/chrono/detail/inlined/mac/thread_clock.hpp
index 690458f41c..74b820ace6 100644
--- a/boost/chrono/detail/inlined/mac/thread_clock.hpp
+++ b/boost/chrono/detail/inlined/mac/thread_clock.hpp
@@ -58,21 +58,21 @@ namespace boost { namespace chrono {
mach_msg_type_number_t count = THREAD_BASIC_INFO_COUNT;
if ( thread_info(port, THREAD_BASIC_INFO, (thread_info_t)&info, &count) != KERN_SUCCESS )
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
EINVAL,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::thread_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
diff --git a/boost/chrono/detail/inlined/posix/chrono.hpp b/boost/chrono/detail/inlined/posix/chrono.hpp
index c4c8a6add7..a9e4e63037 100644
--- a/boost/chrono/detail/inlined/posix/chrono.hpp
+++ b/boost/chrono/detail/inlined/posix/chrono.hpp
@@ -36,22 +36,22 @@ namespace chrono
timespec ts;
if ( ::clock_gettime( CLOCK_REALTIME, &ts ) )
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::system_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -90,22 +90,22 @@ namespace chrono
timespec ts;
if ( ::clock_gettime( CLOCK_MONOTONIC, &ts ) )
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::steady_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
diff --git a/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp b/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
index feecc86792..f9a9e1293c 100644
--- a/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
+++ b/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
@@ -73,17 +73,17 @@ process_real_cpu_clock::time_point process_real_cpu_clock::now(
clock_t c = ::times( &tm );
if ( c == clock_t(-1) ) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_real_cpu_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -91,7 +91,7 @@ process_real_cpu_clock::time_point process_real_cpu_clock::now(
{
if ( chrono_detail::tick_factor() != -1 )
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -100,17 +100,17 @@ process_real_cpu_clock::time_point process_real_cpu_clock::now(
}
else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_real_cpu_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -149,17 +149,17 @@ process_user_cpu_clock::time_point process_user_cpu_clock::now(
clock_t c = ::times( &tm );
if ( c == clock_t(-1) ) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_user_cpu_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -167,7 +167,7 @@ process_user_cpu_clock::time_point process_user_cpu_clock::now(
{
if ( chrono_detail::tick_factor() != -1 )
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -176,17 +176,17 @@ process_user_cpu_clock::time_point process_user_cpu_clock::now(
}
else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_user_cpu_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -226,17 +226,17 @@ process_system_cpu_clock::time_point process_system_cpu_clock::now(
clock_t c = ::times( &tm );
if ( c == clock_t(-1) ) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_system_cpu_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -244,7 +244,7 @@ process_system_cpu_clock::time_point process_system_cpu_clock::now(
{
if ( chrono_detail::tick_factor() != -1 )
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -253,17 +253,17 @@ process_system_cpu_clock::time_point process_system_cpu_clock::now(
}
else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_system_cpu_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -306,17 +306,17 @@ process_cpu_clock::time_point process_cpu_clock::now(
clock_t c = ::times( &tm );
if ( c == clock_t(-1) ) // error
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
@@ -332,17 +332,17 @@ process_cpu_clock::time_point process_cpu_clock::now(
}
else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
diff --git a/boost/chrono/detail/inlined/posix/thread_clock.hpp b/boost/chrono/detail/inlined/posix/thread_clock.hpp
index a42b3c8a15..a2a2d9cf65 100644
--- a/boost/chrono/detail/inlined/posix/thread_clock.hpp
+++ b/boost/chrono/detail/inlined/posix/thread_clock.hpp
@@ -65,21 +65,21 @@ namespace boost { namespace chrono {
if ( ::clock_gettime( clock_id, &ts ) )
#endif
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::thread_clock" ));
}
else
{
- ec.assign( errno, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( errno, ::boost::system::system_category() );
return time_point();
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
diff --git a/boost/chrono/detail/inlined/win/chrono.hpp b/boost/chrono/detail/inlined/win/chrono.hpp
index e61f11e7ce..570dc02a15 100644
--- a/boost/chrono/detail/inlined/win/chrono.hpp
+++ b/boost/chrono/detail/inlined/win/chrono.hpp
@@ -12,9 +12,9 @@
#ifndef BOOST_CHRONO_DETAIL_INLINED_WIN_CHRONO_HPP
#define BOOST_CHRONO_DETAIL_INLINED_WIN_CHRONO_HPP
-#include <boost/detail/winapi/time.hpp>
-#include <boost/detail/winapi/timers.hpp>
-#include <boost/detail/winapi/get_last_error.hpp>
+#include <boost/winapi/time.hpp>
+#include <boost/winapi/timers.hpp>
+#include <boost/winapi/get_last_error.hpp>
#include <boost/assert.hpp>
namespace boost
@@ -26,8 +26,8 @@ namespace chrono_detail
BOOST_CHRONO_INLINE double get_nanosecs_per_tic() BOOST_NOEXCEPT
{
- boost::detail::winapi::LARGE_INTEGER_ freq;
- if ( !boost::detail::winapi::QueryPerformanceFrequency( &freq ) )
+ boost::winapi::LARGE_INTEGER_ freq;
+ if ( !boost::winapi::QueryPerformanceFrequency( &freq ) )
return 0.0L;
return double(1000000000.0L / freq.QuadPart);
}
@@ -38,14 +38,14 @@ namespace chrono_detail
{
double nanosecs_per_tic = chrono_detail::get_nanosecs_per_tic();
- boost::detail::winapi::LARGE_INTEGER_ pcount;
+ boost::winapi::LARGE_INTEGER_ pcount;
if ( nanosecs_per_tic <= 0.0L )
{
BOOST_ASSERT(0 && "Boost::Chrono - get_nanosecs_per_tic Internal Error");
return steady_clock::time_point();
}
unsigned times=0;
- while ( ! boost::detail::winapi::QueryPerformanceCounter( &pcount ) )
+ while ( ! boost::winapi::QueryPerformanceCounter( &pcount ) )
{
if ( ++times > 3 )
{
@@ -64,29 +64,29 @@ namespace chrono_detail
{
double nanosecs_per_tic = chrono_detail::get_nanosecs_per_tic();
- boost::detail::winapi::LARGE_INTEGER_ pcount;
+ boost::winapi::LARGE_INTEGER_ pcount;
if ( (nanosecs_per_tic <= 0.0L)
- || (!boost::detail::winapi::QueryPerformanceCounter( &pcount )) )
+ || (!boost::winapi::QueryPerformanceCounter( &pcount )) )
{
- boost::detail::winapi::DWORD_ cause =
+ boost::winapi::DWORD_ cause =
((nanosecs_per_tic <= 0.0L)
? ERROR_NOT_SUPPORTED
- : boost::detail::winapi::GetLastError());
- if (BOOST_CHRONO_IS_THROWS(ec)) {
+ : boost::winapi::GetLastError());
+ if (::boost::chrono::is_throws(ec)) {
boost::throw_exception(
system::system_error(
cause,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::steady_clock" ));
}
else
{
- ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( cause, ::boost::system::system_category() );
return steady_clock::time_point(duration(0));
}
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -98,8 +98,8 @@ namespace chrono_detail
BOOST_CHRONO_INLINE
system_clock::time_point system_clock::now() BOOST_NOEXCEPT
{
- boost::detail::winapi::FILETIME_ ft;
- boost::detail::winapi::GetSystemTimeAsFileTime( &ft ); // never fails
+ boost::winapi::FILETIME_ ft;
+ boost::winapi::GetSystemTimeAsFileTime( &ft ); // never fails
return system_clock::time_point(
system_clock::duration(
((static_cast<__int64>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime)
@@ -113,9 +113,9 @@ namespace chrono_detail
BOOST_CHRONO_INLINE
system_clock::time_point system_clock::now( system::error_code & ec )
{
- boost::detail::winapi::FILETIME_ ft;
- boost::detail::winapi::GetSystemTimeAsFileTime( &ft ); // never fails
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ boost::winapi::FILETIME_ ft;
+ boost::winapi::GetSystemTimeAsFileTime( &ft ); // never fails
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
diff --git a/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp b/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp
index 7169f8020a..a3a838a5ce 100644
--- a/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp
+++ b/boost/chrono/detail/inlined/win/process_cpu_clocks.hpp
@@ -53,10 +53,10 @@ process_real_cpu_clock::time_point process_real_cpu_clock::now(
boost::throw_exception(
system::system_error(
errno,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_real_cpu_clock" ));
}
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -103,7 +103,7 @@ process_user_cpu_clock::time_point process_user_cpu_clock::now(
boost::detail::winapi::GetCurrentProcess(), &creation, &exit,
&system_time, &user_time ) )
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -115,17 +115,17 @@ process_user_cpu_clock::time_point process_user_cpu_clock::now(
else
{
boost::detail::winapi::DWORD_ cause = boost::detail::winapi::GetLastError();
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
cause,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_user_cpu_clock" ));
}
else
{
- ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( cause, ::boost::system::system_category() );
return time_point();
}
}
@@ -168,7 +168,7 @@ process_system_cpu_clock::time_point process_system_cpu_clock::now(
boost::detail::winapi::GetCurrentProcess(), &creation, &exit,
&system_time, &user_time ) )
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -180,17 +180,17 @@ process_system_cpu_clock::time_point process_system_cpu_clock::now(
else
{
boost::detail::winapi::DWORD_ cause = boost::detail::winapi::GetLastError();
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
cause,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_system_cpu_clock" ));
}
else
{
- ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( cause, ::boost::system::system_category() );
return time_point();
}
}
@@ -239,7 +239,7 @@ process_cpu_clock::time_point process_cpu_clock::now(
boost::detail::winapi::GetCurrentProcess(), &creation, &exit,
&system_time, &user_time ) )
{
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -257,17 +257,17 @@ process_cpu_clock::time_point process_cpu_clock::now(
else
{
boost::detail::winapi::DWORD_ cause = boost::detail::winapi::GetLastError();
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
cause,
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::process_cpu_clock" ));
}
else
{
- ec.assign( cause, BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( cause, ::boost::system::system_category() );
return time_point();
}
}
diff --git a/boost/chrono/detail/inlined/win/thread_clock.hpp b/boost/chrono/detail/inlined/win/thread_clock.hpp
index 037ccbee3e..776e5b4cd0 100644
--- a/boost/chrono/detail/inlined/win/thread_clock.hpp
+++ b/boost/chrono/detail/inlined/win/thread_clock.hpp
@@ -43,7 +43,7 @@ thread_clock::time_point thread_clock::now( system::error_code & ec )
((static_cast<duration::rep>(system_time.dwHighDateTime) << 32)
| system_time.dwLowDateTime) * 100 );
- if (!BOOST_CHRONO_IS_THROWS(ec))
+ if (!::boost::chrono::is_throws(ec))
{
ec.clear();
}
@@ -52,17 +52,17 @@ thread_clock::time_point thread_clock::now( system::error_code & ec )
}
else
{
- if (BOOST_CHRONO_IS_THROWS(ec))
+ if (::boost::chrono::is_throws(ec))
{
boost::throw_exception(
system::system_error(
boost::detail::winapi::GetLastError(),
- BOOST_CHRONO_SYSTEM_CATEGORY,
+ ::boost::system::system_category(),
"chrono::thread_clock" ));
}
else
{
- ec.assign( boost::detail::winapi::GetLastError(), BOOST_CHRONO_SYSTEM_CATEGORY );
+ ec.assign( boost::detail::winapi::GetLastError(), ::boost::system::system_category() );
return thread_clock::time_point(duration(0));
}
}
diff --git a/boost/chrono/detail/system.hpp b/boost/chrono/detail/system.hpp
index ebe27abac8..3d82006a0b 100644
--- a/boost/chrono/detail/system.hpp
+++ b/boost/chrono/detail/system.hpp
@@ -10,10 +10,11 @@
#include <boost/system/error_code.hpp>
-#define BOOST_CHRONO_SYSTEM_CATEGORY boost::system::system_category()
-
-#define BOOST_CHRONO_THROWS boost::throws()
-#define BOOST_CHRONO_IS_THROWS(EC) (&EC==&boost::throws())
+namespace boost {
+namespace chrono {
+ inline bool is_throws(system::error_code & ec) { return (&ec==&boost::throws()); }
+}
+}
#endif
#endif
diff --git a/boost/chrono/io/time_point_io.hpp b/boost/chrono/io/time_point_io.hpp
index 3143efac69..d0f854cfbb 100644
--- a/boost/chrono/io/time_point_io.hpp
+++ b/boost/chrono/io/time_point_io.hpp
@@ -767,7 +767,7 @@ namespace boost
}
inline int32_t days_from_1970(int32_t year)
{
- static const int days_from_0_to_1970 = days_from_0(1970);
+ static const int32_t days_from_0_to_1970 = days_from_0(1970);
return days_from_0(year) - days_from_0_to_1970;
}
inline int32_t days_from_1jan(int32_t year,int32_t month,int32_t day)
diff --git a/boost/circular_buffer.hpp b/boost/circular_buffer.hpp
index 7cf8928bc0..f0530805ec 100644
--- a/boost/circular_buffer.hpp
+++ b/boost/circular_buffer.hpp
@@ -16,7 +16,7 @@
#endif
#include <boost/circular_buffer_fwd.hpp>
-#include <boost/detail/workaround.hpp>
+#include <boost/config/workaround.hpp>
#include <boost/static_assert.hpp>
// BOOST_CB_ENABLE_DEBUG: Debug support control.
@@ -36,10 +36,10 @@
#if BOOST_WORKAROUND(__BORLANDC__, <= 0x0550) || BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
#define BOOST_CB_IS_CONVERTIBLE(Iterator, Type) ((void)0)
#else
- #include <boost/detail/iterator.hpp>
+ #include <iterator>
#include <boost/type_traits/is_convertible.hpp>
#define BOOST_CB_IS_CONVERTIBLE(Iterator, Type) \
- BOOST_STATIC_ASSERT((is_convertible<typename detail::iterator_traits<Iterator>::value_type, Type>::value))
+ BOOST_STATIC_ASSERT((is_convertible<typename std::iterator_traits<Iterator>::value_type, Type>::value))
#endif
// BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS:
diff --git a/boost/circular_buffer/allocators.hpp b/boost/circular_buffer/allocators.hpp
new file mode 100644
index 0000000000..005e630961
--- /dev/null
+++ b/boost/circular_buffer/allocators.hpp
@@ -0,0 +1,89 @@
+// Copyright 2018 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_CIRCULAR_BUFFER_ALLOCATORS_HPP
+#define BOOST_CIRCULAR_BUFFER_ALLOCATORS_HPP
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_CXX11_ALLOCATOR)
+#define BOOST_CB_NO_CXX11_ALLOCATOR
+#elif defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 40800)
+#define BOOST_CB_NO_CXX11_ALLOCATOR
+#endif
+#include <limits>
+#if !defined(BOOST_CB_NO_CXX11_ALLOCATOR)
+#include <memory>
+#else
+#include <new>
+#endif
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#include <utility>
+#endif
+
+namespace boost {
+namespace cb_details {
+
+#if !defined(BOOST_CB_NO_CXX11_ALLOCATOR)
+template<class A>
+struct allocator_traits
+ : std::allocator_traits<A> {
+ using typename std::allocator_traits<A>::value_type;
+ using typename std::allocator_traits<A>::size_type;
+
+ static size_type max_size(const A&) BOOST_NOEXCEPT {
+ return (std::numeric_limits<size_type>::max)() / sizeof(value_type);
+ }
+};
+#else
+template<class A>
+struct allocator_traits {
+ typedef typename A::value_type value_type;
+ typedef typename A::pointer pointer;
+ typedef typename A::const_pointer const_pointer;
+ typedef typename A::difference_type difference_type;
+ typedef typename A::size_type size_type;
+
+ static size_type max_size(const A&) BOOST_NOEXCEPT {
+ return (std::numeric_limits<size_type>::max)() / sizeof(value_type);
+ }
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template<class U, class... Args>
+ static void construct(const A&, U* ptr, Args&&... args) {
+ ::new((void*)ptr) U(std::forward<Args>(args)...);
+ }
+#else
+ template<class U, class V>
+ static void construct(const A&, U* ptr, V&& value) {
+ ::new((void*)ptr) U(std::forward<V>(value));
+ }
+#endif
+#else
+ template<class U, class V>
+ static void construct(const A&, U* ptr, const V& value) {
+ ::new((void*)ptr) U(value);
+ }
+
+ template<class U, class V>
+ static void construct(const A&, U* ptr, V& value) {
+ ::new((void*)ptr) U(value);
+ }
+#endif
+
+ template<class U>
+ static void destroy(const A&, U* ptr) {
+ (void)ptr;
+ ptr->~U();
+ }
+};
+#endif
+
+} // cb_details
+} // boost
+
+#endif
diff --git a/boost/circular_buffer/base.hpp b/boost/circular_buffer/base.hpp
index dda0dc7793..aae90f5939 100644
--- a/boost/circular_buffer/base.hpp
+++ b/boost/circular_buffer/base.hpp
@@ -3,7 +3,9 @@
// Copyright (c) 2003-2008 Jan Gaspar
// Copyright (c) 2013 Paul A. Bristow // Doxygen comments changed.
// Copyright (c) 2013 Antony Polukhin // Move semantics implementation.
-// Copyright (c) 2014 Glen Fernandes // C++11 allocator model support.
+
+// Copyright 2014,2018 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -17,12 +19,10 @@
#endif
#include <boost/config.hpp>
-#include <boost/call_traits.hpp>
#include <boost/concept_check.hpp>
#include <boost/limits.hpp>
-#include <boost/container/allocator_traits.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
+#include <boost/circular_buffer/allocators.hpp>
+#include <boost/core/empty_value.hpp>
#include <boost/type_traits/is_stateless.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_scalar.hpp>
@@ -32,8 +32,8 @@
#include <boost/type_traits/conditional.hpp>
#include <boost/move/adl_move_swap.hpp>
#include <boost/move/move.hpp>
-#include <boost/utility/addressof.hpp>
#include <algorithm>
+#include <iterator>
#include <utility>
#include <deque>
#include <stdexcept>
@@ -70,12 +70,15 @@ namespace boost {
*/
template <class T, class Alloc>
class circular_buffer
+:
/*! \cond */
#if BOOST_CB_ENABLE_DEBUG
-: public cb_details::debug_iterator_registry
+public cb_details::debug_iterator_registry,
#endif
/*! \endcond */
+private empty_value<Alloc>
{
+ typedef empty_value<Alloc> base;
// Requirements
//BOOST_CLASS_REQUIRE(T, boost, SGIAssignableConcept);
@@ -96,31 +99,31 @@ public:
typedef circular_buffer<T, Alloc> this_type;
//! The type of elements stored in the <code>circular_buffer</code>.
- typedef typename boost::container::allocator_traits<Alloc>::value_type value_type;
+ typedef typename cb_details::allocator_traits<Alloc>::value_type value_type;
//! A pointer to an element.
- typedef typename boost::container::allocator_traits<Alloc>::pointer pointer;
+ typedef typename cb_details::allocator_traits<Alloc>::pointer pointer;
//! A const pointer to the element.
- typedef typename boost::container::allocator_traits<Alloc>::const_pointer const_pointer;
+ typedef typename cb_details::allocator_traits<Alloc>::const_pointer const_pointer;
//! A reference to an element.
- typedef typename boost::container::allocator_traits<Alloc>::reference reference;
+ typedef value_type& reference;
//! A const reference to an element.
- typedef typename boost::container::allocator_traits<Alloc>::const_reference const_reference;
+ typedef const value_type& const_reference;
//! The distance type.
/*!
(A signed integral type used to represent the distance between two iterators.)
*/
- typedef typename boost::container::allocator_traits<Alloc>::difference_type difference_type;
+ typedef typename cb_details::allocator_traits<Alloc>::difference_type difference_type;
//! The size type.
/*!
(An unsigned integral type that can represent any non-negative value of the container's distance type.)
*/
- typedef typename boost::container::allocator_traits<Alloc>::size_type size_type;
+ typedef typename cb_details::allocator_traits<Alloc>::size_type size_type;
//! The type of an allocator used in the <code>circular_buffer</code>.
typedef Alloc allocator_type;
@@ -128,16 +131,16 @@ public:
// Iterators
//! A const (random access) iterator used to iterate through the <code>circular_buffer</code>.
- typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::const_traits<boost::container::allocator_traits<Alloc> > > const_iterator;
+ typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::const_traits<cb_details::allocator_traits<Alloc> > > const_iterator;
//! A (random access) iterator used to iterate through the <code>circular_buffer</code>.
- typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::nonconst_traits<boost::container::allocator_traits<Alloc> > > iterator;
+ typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::nonconst_traits<cb_details::allocator_traits<Alloc> > > iterator;
//! A const iterator used to iterate backwards through a <code>circular_buffer</code>.
- typedef boost::reverse_iterator<const_iterator> const_reverse_iterator;
+ typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
//! An iterator used to iterate backwards through a <code>circular_buffer</code>.
- typedef boost::reverse_iterator<iterator> reverse_iterator;
+ typedef std::reverse_iterator<iterator> reverse_iterator;
// Container specific types
@@ -193,9 +196,6 @@ private:
//! The number of items currently stored in the circular buffer.
size_type m_size;
- //! The allocator.
- allocator_type m_alloc;
-
// Friends
#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
friend iterator;
@@ -219,7 +219,7 @@ public:
Constant (in the size of the <code>circular_buffer</code>).
\sa <code>get_allocator()</code> for obtaining an allocator %reference.
*/
- allocator_type get_allocator() const BOOST_NOEXCEPT { return m_alloc; }
+ allocator_type get_allocator() const BOOST_NOEXCEPT { return alloc(); }
//! Get the allocator reference.
/*!
@@ -235,7 +235,7 @@ public:
although use of stateful allocators in STL is discouraged.
\sa <code>get_allocator() const</code>
*/
- allocator_type& get_allocator() BOOST_NOEXCEPT { return m_alloc; }
+ allocator_type& get_allocator() BOOST_NOEXCEPT { return alloc(); }
// Element access
@@ -666,7 +666,7 @@ public:
break;
}
if (is_uninitialized(dest)) {
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(dest), boost::move_if_noexcept(*src));
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(dest), boost::move_if_noexcept(*src));
++constructed;
} else {
value_type tmp = boost::move_if_noexcept(*src);
@@ -787,7 +787,7 @@ public:
\sa <code>size()</code>, <code>capacity()</code>, <code>reserve()</code>
*/
size_type max_size() const BOOST_NOEXCEPT {
- return (std::min<size_type>)(boost::container::allocator_traits<Alloc>::max_size(m_alloc), (std::numeric_limits<difference_type>::max)());
+ return (std::min<size_type>)(cb_details::allocator_traits<Alloc>::max_size(alloc()), (std::numeric_limits<difference_type>::max)());
}
//! Is the <code>circular_buffer</code> empty?
@@ -878,7 +878,7 @@ public:
iterator b = begin();
BOOST_TRY {
reset(buff,
- cb_details::uninitialized_move_if_noexcept(b, b + (std::min)(new_capacity, size()), buff, m_alloc),
+ cb_details::uninitialized_move_if_noexcept(b, b + (std::min)(new_capacity, size()), buff, alloc()),
new_capacity);
} BOOST_CATCH(...) {
deallocate(buff, new_capacity);
@@ -954,7 +954,7 @@ public:
iterator e = end();
BOOST_TRY {
reset(buff, cb_details::uninitialized_move_if_noexcept(e - (std::min)(new_capacity, size()),
- e, buff, m_alloc), new_capacity);
+ e, buff, alloc()), new_capacity);
} BOOST_CATCH(...) {
deallocate(buff, new_capacity);
BOOST_RETHROW
@@ -1020,7 +1020,7 @@ public:
<code>set_capacity(capacity_type)</code>
*/
explicit circular_buffer(const allocator_type& alloc = allocator_type()) BOOST_NOEXCEPT
- : m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0), m_alloc(alloc) {}
+ : base(boost::empty_init_t(), alloc), m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0) {}
//! Create an empty <code>circular_buffer</code> with the specified capacity.
/*!
@@ -1033,7 +1033,7 @@ public:
Constant.
*/
explicit circular_buffer(capacity_type buffer_capacity, const allocator_type& alloc = allocator_type())
- : m_size(0), m_alloc(alloc) {
+ : base(boost::empty_init_t(), alloc), m_size(0) {
initialize_buffer(buffer_capacity);
m_first = m_last = m_buff;
}
@@ -1052,7 +1052,7 @@ public:
Linear (in the <code>n</code>).
*/
circular_buffer(size_type n, param_value_type item, const allocator_type& alloc = allocator_type())
- : m_size(n), m_alloc(alloc) {
+ : base(boost::empty_init_t(), alloc), m_size(n) {
initialize_buffer(n, item);
m_first = m_last = m_buff;
}
@@ -1074,7 +1074,7 @@ public:
*/
circular_buffer(capacity_type buffer_capacity, size_type n, param_value_type item,
const allocator_type& alloc = allocator_type())
- : m_size(n), m_alloc(alloc) {
+ : base(boost::empty_init_t(), alloc), m_size(n) {
BOOST_CB_ASSERT(buffer_capacity >= size()); // check for capacity lower than size
initialize_buffer(buffer_capacity, item);
m_first = m_buff;
@@ -1097,11 +1097,12 @@ public:
#if BOOST_CB_ENABLE_DEBUG
debug_iterator_registry(),
#endif
- m_size(cb.size()), m_alloc(cb.get_allocator()) {
+ base(boost::empty_init_t(), cb.get_allocator()),
+ m_size(cb.size()) {
initialize_buffer(cb.capacity());
m_first = m_buff;
BOOST_TRY {
- m_last = cb_details::uninitialized_copy(cb.begin(), cb.end(), m_buff, m_alloc);
+ m_last = cb_details::uninitialized_copy(cb.begin(), cb.end(), m_buff, alloc());
} BOOST_CATCH(...) {
deallocate(m_buff, cb.capacity());
BOOST_RETHROW
@@ -1121,7 +1122,7 @@ public:
\par Constant.
*/
circular_buffer(circular_buffer<T, Alloc>&& cb) BOOST_NOEXCEPT
- : m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0), m_alloc(cb.get_allocator()) {
+ : base(boost::empty_init_t(), cb.get_allocator()), m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0) {
cb.swap(*this);
}
#endif // BOOST_NO_CXX11_RVALUE_REFERENCES
@@ -1144,7 +1145,7 @@ public:
*/
template <class InputIterator>
circular_buffer(InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type())
- : m_alloc(alloc) {
+ : base(boost::empty_init_t(), alloc) {
initialize(first, last, is_integral<InputIterator>());
}
@@ -1174,7 +1175,7 @@ public:
template <class InputIterator>
circular_buffer(capacity_type buffer_capacity, InputIterator first, InputIterator last,
const allocator_type& alloc = allocator_type())
- : m_alloc(alloc) {
+ : base(boost::empty_init_t(), alloc) {
initialize(buffer_capacity, first, last, is_integral<InputIterator>());
}
@@ -1225,7 +1226,7 @@ public:
return *this;
pointer buff = allocate(cb.capacity());
BOOST_TRY {
- reset(buff, cb_details::uninitialized_copy(cb.begin(), cb.end(), buff, m_alloc), cb.capacity());
+ reset(buff, cb_details::uninitialized_copy(cb.begin(), cb.end(), buff, alloc()), cb.capacity());
} BOOST_CATCH(...) {
deallocate(buff, cb.capacity());
BOOST_RETHROW
@@ -1245,7 +1246,7 @@ public:
*/
circular_buffer<T, Alloc>& operator = (circular_buffer<T, Alloc>&& cb) BOOST_NOEXCEPT {
cb.swap(*this); // now `this` holds `cb`
- circular_buffer<T, Alloc>(get_allocator()) // temprary that holds initial `cb` allocator
+ circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator
.swap(cb); // makes `cb` empty
return *this;
}
@@ -1276,7 +1277,7 @@ public:
<code>assign(capacity_type, InputIterator, InputIterator)</code>
*/
void assign(size_type n, param_value_type item) {
- assign_n(n, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, m_alloc));
+ assign_n(n, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, alloc()));
}
//! Assign <code>n</code> items into the <code>circular_buffer</code> specifying the capacity.
@@ -1306,7 +1307,7 @@ public:
*/
void assign(capacity_type buffer_capacity, size_type n, param_value_type item) {
BOOST_CB_ASSERT(buffer_capacity >= n); // check for new capacity lower than n
- assign_n(buffer_capacity, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, m_alloc));
+ assign_n(buffer_capacity, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, alloc()));
}
//! Assign a copy of the range into the <code>circular_buffer</code>.
@@ -1422,7 +1423,7 @@ private:
increment(m_last);
m_first = m_last;
} else {
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(m_last), static_cast<ValT>(item));
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(m_last), static_cast<ValT>(item));
increment(m_last);
++m_size;
}
@@ -1439,7 +1440,7 @@ private:
m_last = m_first;
} else {
decrement(m_first);
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(m_first), static_cast<ValT>(item));
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(m_first), static_cast<ValT>(item));
++m_size;
}
} BOOST_CATCH(...) {
@@ -2173,7 +2174,7 @@ public:
the erased element (towards the beginning).
\par Complexity
Linear (in <code>std::distance(begin(), pos)</code>).
- \note This method is symetric to the <code>erase(iterator)</code> method and is more effective than
+ \note This method is symmetric to the <code>erase(iterator)</code> method and is more effective than
<code>erase(iterator)</code> if the iterator <code>pos</code> is close to the beginning of the
<code>circular_buffer</code>. (See the <i>Complexity</i>.)
\sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>,
@@ -2214,7 +2215,7 @@ public:
the erased range (towards the beginning).
\par Complexity
Linear (in <code>std::distance(begin(), last)</code>).
- \note This method is symetric to the <code>erase(iterator, iterator)</code> method and is more effective than
+ \note This method is symmetric to the <code>erase(iterator, iterator)</code> method and is more effective than
<code>erase(iterator, iterator)</code> if <code>std::distance(begin(), first)</code> is lower that
<code>std::distance(last, end())</code>.
\sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>,
@@ -2367,23 +2368,31 @@ private:
//! Map the null pointer to virtual end of circular buffer.
pointer map_pointer(pointer p) const { return p == 0 ? m_last : p; }
+ const Alloc& alloc() const {
+ return base::get();
+ }
+
+ Alloc& alloc() {
+ return base::get();
+ }
+
//! Allocate memory.
pointer allocate(size_type n) {
if (n > max_size())
throw_exception(std::length_error("circular_buffer"));
#if BOOST_CB_ENABLE_DEBUG
- pointer p = (n == 0) ? 0 : m_alloc.allocate(n);
+ pointer p = (n == 0) ? 0 : alloc().allocate(n);
cb_details::do_fill_uninitialized_memory(p, sizeof(value_type) * n);
return p;
#else
- return (n == 0) ? 0 : m_alloc.allocate(n);
+ return (n == 0) ? 0 : alloc().allocate(n);
#endif
}
//! Deallocate memory.
void deallocate(pointer p, size_type n) {
if (p != 0)
- m_alloc.deallocate(p, n);
+ alloc().deallocate(p, n);
}
//! Does the pointer point to the uninitialized memory?
@@ -2414,7 +2423,7 @@ private:
*/
void construct_or_replace(bool construct, pointer pos, param_value_type item) {
if (construct)
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(pos), item);
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(pos), item);
else
replace(pos, item);
}
@@ -2426,14 +2435,14 @@ private:
*/
void construct_or_replace(bool construct, pointer pos, rvalue_type item) {
if (construct)
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(pos), boost::move(item));
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(pos), boost::move(item));
else
replace(pos, boost::move(item));
}
//! Destroy an item.
void destroy_item(pointer p) {
- boost::container::allocator_traits<Alloc>::destroy(m_alloc, boost::to_address(p));
+ cb_details::allocator_traits<Alloc>::destroy(alloc(), boost::to_address(p));
#if BOOST_CB_ENABLE_DEBUG
invalidate_iterators(iterator(this, p));
cb_details::do_fill_uninitialized_memory(p, sizeof(value_type));
@@ -2488,7 +2497,7 @@ private:
void initialize_buffer(capacity_type buffer_capacity, param_value_type item) {
initialize_buffer(buffer_capacity);
BOOST_TRY {
- cb_details::uninitialized_fill_n_with_alloc(m_buff, size(), item, m_alloc);
+ cb_details::uninitialized_fill_n_with_alloc(m_buff, size(), item, alloc());
} BOOST_CATCH(...) {
deallocate(m_buff, size());
BOOST_RETHROW
@@ -2509,9 +2518,9 @@ private:
void initialize(Iterator first, Iterator last, const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- initialize(first, last, iterator_category<Iterator>::type());
+ initialize(first, last, std::iterator_traits<Iterator>::iterator_category());
#else
- initialize(first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ initialize(first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
@@ -2520,7 +2529,7 @@ private:
void initialize(InputIterator first, InputIterator last, const std::input_iterator_tag&) {
BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS // check if the STL provides templated iterator constructors
// for containers
- std::deque<value_type, allocator_type> tmp(first, last, m_alloc);
+ std::deque<value_type, allocator_type> tmp(first, last, alloc());
size_type distance = tmp.size();
initialize(distance, boost::make_move_iterator(tmp.begin()), boost::make_move_iterator(tmp.end()), distance);
}
@@ -2548,9 +2557,9 @@ private:
void initialize(capacity_type buffer_capacity, Iterator first, Iterator last, const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- initialize(buffer_capacity, first, last, iterator_category<Iterator>::type());
+ initialize(buffer_capacity, first, last, std::iterator_traits<Iterator>::iterator_category());
#else
- initialize(buffer_capacity, first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ initialize(buffer_capacity, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
@@ -2566,7 +2575,7 @@ private:
if (buffer_capacity == 0)
return;
while (first != last && !full()) {
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(m_last), *first++);
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(m_last), *first++);
increment(m_last);
++m_size;
}
@@ -2602,7 +2611,7 @@ private:
m_size = distance;
}
BOOST_TRY {
- m_last = cb_details::uninitialized_copy(first, last, m_buff, m_alloc);
+ m_last = cb_details::uninitialized_copy(first, last, m_buff, alloc());
} BOOST_CATCH(...) {
deallocate(m_buff, buffer_capacity);
BOOST_RETHROW
@@ -2628,7 +2637,7 @@ private:
//! Specialized method for swapping the allocator.
void swap_allocator(circular_buffer<T, Alloc>& cb, const false_type&) {
- adl_move_swap(m_alloc, cb.m_alloc);
+ adl_move_swap(alloc(), cb.alloc());
}
//! Specialized assign method.
@@ -2642,9 +2651,9 @@ private:
void assign(Iterator first, Iterator last, const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- assign(first, last, iterator_category<Iterator>::type());
+ assign(first, last, std::iterator_traits<Iterator>::iterator_category());
#else
- assign(first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ assign(first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
@@ -2653,11 +2662,11 @@ private:
void assign(InputIterator first, InputIterator last, const std::input_iterator_tag&) {
BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS // check if the STL provides templated iterator constructors
// for containers
- std::deque<value_type, allocator_type> tmp(first, last, m_alloc);
+ std::deque<value_type, allocator_type> tmp(first, last, alloc());
size_type distance = tmp.size();
assign_n(distance, distance,
cb_details::make_assign_range
- (boost::make_move_iterator(tmp.begin()), boost::make_move_iterator(tmp.end()), m_alloc));
+ (boost::make_move_iterator(tmp.begin()), boost::make_move_iterator(tmp.end()), alloc()));
}
//! Specialized assign method.
@@ -2665,7 +2674,7 @@ private:
void assign(ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) {
BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
size_type distance = std::distance(first, last);
- assign_n(distance, distance, cb_details::make_assign_range(first, last, m_alloc));
+ assign_n(distance, distance, cb_details::make_assign_range(first, last, alloc()));
}
//! Specialized assign method.
@@ -2679,9 +2688,9 @@ private:
void assign(capacity_type new_capacity, Iterator first, Iterator last, const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- assign(new_capacity, first, last, iterator_category<Iterator>::type());
+ assign(new_capacity, first, last, std::iterator_traits<Iterator>::iterator_category());
#else
- assign(new_capacity, first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ assign(new_capacity, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
@@ -2692,7 +2701,7 @@ private:
clear();
insert(begin(), first, last);
} else {
- circular_buffer<value_type, allocator_type> tmp(new_capacity, first, last, m_alloc);
+ circular_buffer<value_type, allocator_type> tmp(new_capacity, first, last, alloc());
tmp.swap(*this);
}
}
@@ -2708,7 +2717,7 @@ private:
distance = new_capacity;
}
assign_n(new_capacity, distance,
- cb_details::make_assign_range(first, last, m_alloc));
+ cb_details::make_assign_range(first, last, alloc()));
}
//! Helper assign method.
@@ -2788,9 +2797,9 @@ private:
void insert(const iterator& pos, Iterator first, Iterator last, const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- insert(pos, first, last, iterator_category<Iterator>::type());
+ insert(pos, first, last, std::iterator_traits<Iterator>::iterator_category());
#else
- insert(pos, first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ insert(pos, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
@@ -2831,7 +2840,7 @@ private:
pointer p = m_last;
BOOST_TRY {
for (; ii < construct; ++ii, increment(p))
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(p), *wrapper());
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(p), *wrapper());
for (;ii < n; ++ii, increment(p))
replace(p, *wrapper());
} BOOST_CATCH(...) {
@@ -2879,9 +2888,9 @@ private:
void rinsert(const iterator& pos, Iterator first, Iterator last, const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- rinsert(pos, first, last, iterator_category<Iterator>::type());
+ rinsert(pos, first, last, std::iterator_traits<Iterator>::iterator_category());
#else
- rinsert(pos, first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ rinsert(pos, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
@@ -2925,7 +2934,7 @@ private:
for (;ii > construct; --ii, increment(p))
replace(p, *wrapper());
for (; ii > 0; --ii, increment(p))
- boost::container::allocator_traits<Alloc>::construct(m_alloc, boost::to_address(p), *wrapper());
+ cb_details::allocator_traits<Alloc>::construct(alloc(), boost::to_address(p), *wrapper());
} BOOST_CATCH(...) {
size_type constructed = ii < construct ? construct - ii : 0;
m_last = add(m_last, constructed);
diff --git a/boost/circular_buffer/details.hpp b/boost/circular_buffer/details.hpp
index 843e918852..dd5ff29736 100644
--- a/boost/circular_buffer/details.hpp
+++ b/boost/circular_buffer/details.hpp
@@ -1,7 +1,9 @@
// Helper classes and functions for the circular buffer.
// Copyright (c) 2003-2008 Jan Gaspar
-// Copyright (c) 2014 Glen Joseph Fernandes // C++11 allocator model support.
+
+// Copyright 2014,2018 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -15,12 +17,11 @@
#endif
#include <boost/throw_exception.hpp>
-#include <boost/container/allocator_traits.hpp>
+#include <boost/circular_buffer/allocators.hpp>
#include <boost/core/pointer_traits.hpp>
#include <boost/move/move.hpp>
#include <boost/type_traits/is_nothrow_move_constructible.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/core/no_exceptions_support.hpp>
#include <iterator>
// Silence MS /W4 warnings like C4913:
@@ -56,7 +57,7 @@ struct const_traits {
// Basic types
typedef typename Traits::value_type value_type;
typedef typename Traits::const_pointer pointer;
- typedef typename Traits::const_reference reference;
+ typedef const value_type& reference;
typedef typename Traits::size_type size_type;
typedef typename Traits::difference_type difference_type;
@@ -73,7 +74,7 @@ struct nonconst_traits {
// Basic types
typedef typename Traits::value_type value_type;
typedef typename Traits::pointer pointer;
- typedef typename Traits::reference reference;
+ typedef value_type& reference;
typedef typename Traits::size_type size_type;
typedef typename Traits::difference_type difference_type;
@@ -113,7 +114,7 @@ private:
*/
template <class Value, class Alloc>
struct assign_n {
- typedef typename boost::container::allocator_traits<Alloc>::size_type size_type;
+ typedef typename allocator_traits<Alloc>::size_type size_type;
size_type m_n;
Value m_item;
Alloc& m_alloc;
@@ -195,46 +196,33 @@ public:
for iterating from begin() to end() of the circular buffer.
*/
template <class Buff, class Traits>
-struct iterator :
- public std::iterator<
- std::random_access_iterator_tag,
- typename Traits::value_type,
- typename Traits::difference_type,
- typename Traits::pointer,
- typename Traits::reference>
+struct iterator
#if BOOST_CB_ENABLE_DEBUG
- , public debug_iterator_base
+ : public debug_iterator_base
#endif // #if BOOST_CB_ENABLE_DEBUG
{
// Helper types
- //! Base iterator.
- typedef std::iterator<
- std::random_access_iterator_tag,
- typename Traits::value_type,
- typename Traits::difference_type,
- typename Traits::pointer,
- typename Traits::reference> base_iterator;
-
//! Non-const iterator.
typedef iterator<Buff, typename Traits::nonconst_self> nonconst_self;
// Basic types
+ typedef std::random_access_iterator_tag iterator_category;
//! The type of the elements stored in the circular buffer.
- typedef typename base_iterator::value_type value_type;
+ typedef typename Traits::value_type value_type;
//! Pointer to the element.
- typedef typename base_iterator::pointer pointer;
+ typedef typename Traits::pointer pointer;
//! Reference to the element.
- typedef typename base_iterator::reference reference;
+ typedef typename Traits::reference reference;
//! Size type.
typedef typename Traits::size_type size_type;
//! Difference type.
- typedef typename base_iterator::difference_type difference_type;
+ typedef typename Traits::difference_type difference_type;
// Member variables
@@ -436,10 +424,10 @@ inline ForwardIterator uninitialized_copy(InputIterator first, InputIterator las
ForwardIterator next = dest;
BOOST_TRY {
for (; first != last; ++first, ++dest)
- boost::container::allocator_traits<Alloc>::construct(a, boost::to_address(dest), *first);
+ allocator_traits<Alloc>::construct(a, boost::to_address(dest), *first);
} BOOST_CATCH(...) {
for (; next != dest; ++next)
- boost::container::allocator_traits<Alloc>::destroy(a, boost::to_address(next));
+ allocator_traits<Alloc>::destroy(a, boost::to_address(next));
BOOST_RETHROW
}
BOOST_CATCH_END
@@ -450,7 +438,7 @@ template<class InputIterator, class ForwardIterator, class Alloc>
ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a,
true_type) {
for (; first != last; ++first, ++dest)
- boost::container::allocator_traits<Alloc>::construct(a, boost::to_address(dest), boost::move(*first));
+ allocator_traits<Alloc>::construct(a, boost::to_address(dest), boost::move(*first));
return dest;
}
@@ -466,7 +454,7 @@ ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIt
*/
template<class InputIterator, class ForwardIterator, class Alloc>
ForwardIterator uninitialized_move_if_noexcept(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a) {
- typedef typename boost::is_nothrow_move_constructible<typename boost::container::allocator_traits<Alloc>::value_type>::type tag_t;
+ typedef typename boost::is_nothrow_move_constructible<typename allocator_traits<Alloc>::value_type>::type tag_t;
return uninitialized_move_if_noexcept_impl(first, last, dest, a, tag_t());
}
@@ -479,10 +467,10 @@ inline void uninitialized_fill_n_with_alloc(ForwardIterator first, Diff n, const
ForwardIterator next = first;
BOOST_TRY {
for (; n > 0; ++first, --n)
- boost::container::allocator_traits<Alloc>::construct(alloc, boost::to_address(first), item);
+ allocator_traits<Alloc>::construct(alloc, boost::to_address(first), item);
} BOOST_CATCH(...) {
for (; next != first; ++next)
- boost::container::allocator_traits<Alloc>::destroy(alloc, boost::to_address(next));
+ allocator_traits<Alloc>::destroy(alloc, boost::to_address(next));
BOOST_RETHROW
}
BOOST_CATCH_END
diff --git a/boost/circular_buffer/space_optimized.hpp b/boost/circular_buffer/space_optimized.hpp
index 3d001730b3..73d60c4f80 100644
--- a/boost/circular_buffer/space_optimized.hpp
+++ b/boost/circular_buffer/space_optimized.hpp
@@ -16,7 +16,7 @@
#endif
#include <boost/type_traits/is_same.hpp>
-#include <boost/detail/workaround.hpp>
+#include <boost/config/workaround.hpp>
namespace boost {
@@ -509,7 +509,7 @@ public:
first, last, alloc)
, m_capacity_ctrl(capacity_ctrl) {
reduce_capacity(
- is_same< BOOST_DEDUCED_TYPENAME iterator_category<InputIterator>::type, std::input_iterator_tag >());
+ is_same< BOOST_DEDUCED_TYPENAME std::iterator_traits<InputIterator>::iterator_category, std::input_iterator_tag >());
}
#if defined(BOOST_CB_NEVER_DEFINED)
@@ -579,7 +579,7 @@ public:
*/
circular_buffer_space_optimized<T, Alloc>& operator = (circular_buffer_space_optimized<T, Alloc>&& cb) BOOST_NOEXCEPT {
cb.swap(*this); // now `this` holds `cb`
- circular_buffer<T, Alloc>(get_allocator()) // temprary that holds initial `cb` allocator
+ circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator
.swap(cb); // makes `cb` empty
return *this;
}
@@ -1605,10 +1605,10 @@ private:
const false_type&) {
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- return init_capacity(capacity_ctrl, first, last, iterator_category<Iterator>::type());
+ return init_capacity(capacity_ctrl, first, last, std::iterator_traits<Iterator>::iterator_category());
#else
return init_capacity(
- capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
+ capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
#endif
}
diff --git a/boost/concept/assert.hpp b/boost/concept/assert.hpp
index cf98179522..36c3b03f33 100644
--- a/boost/concept/assert.hpp
+++ b/boost/concept/assert.hpp
@@ -5,7 +5,7 @@
# define BOOST_CONCEPT_ASSERT_DWA2006430_HPP
# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
+# include <boost/config/workaround.hpp>
// The old protocol used a constraints() member function in concept
// checking classes. If the compiler supports SFINAE, we can detect
diff --git a/boost/concept/detail/general.hpp b/boost/concept/detail/general.hpp
index 525ea656c2..eeb08750f1 100644
--- a/boost/concept/detail/general.hpp
+++ b/boost/concept/detail/general.hpp
@@ -10,7 +10,7 @@
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept/detail/has_constraints.hpp>
-# include <boost/mpl/if.hpp>
+# include <boost/type_traits/conditional.hpp>
# endif
// This implementation works on Comeau and GCC, all the way back to
@@ -49,8 +49,8 @@ struct constraint
template <class Model>
struct requirement_<void(*)(Model)>
- : mpl::if_<
- concepts::not_satisfied<Model>
+ : boost::conditional<
+ concepts::not_satisfied<Model>::value
, constraint<Model>
, requirement<failed ************ Model::************>
>::type
diff --git a/boost/concept/detail/has_constraints.hpp b/boost/concept/detail/has_constraints.hpp
index a309db3d88..dc2c20714e 100644
--- a/boost/concept/detail/has_constraints.hpp
+++ b/boost/concept/detail/has_constraints.hpp
@@ -4,8 +4,8 @@
#ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
# define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
+# include <boost/type_traits/integral_constant.hpp>
+# include <boost/config/workaround.hpp>
# include <boost/concept/detail/backward_compatibility.hpp>
namespace boost { namespace concepts {
@@ -42,7 +42,7 @@ struct not_satisfied
BOOST_STATIC_CONSTANT(
bool
, value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
- typedef mpl::bool_<value> type;
+ typedef boost::integral_constant<bool, value> type;
};
}} // namespace boost::concepts::detail
diff --git a/boost/concept/detail/msvc.hpp b/boost/concept/detail/msvc.hpp
index 078dd22330..933ac02a52 100644
--- a/boost/concept/detail/msvc.hpp
+++ b/boost/concept/detail/msvc.hpp
@@ -10,7 +10,7 @@
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept/detail/has_constraints.hpp>
-# include <boost/mpl/if.hpp>
+# include <boost/type_traits/conditional.hpp>
# endif
# ifdef BOOST_MSVC
@@ -54,7 +54,7 @@ namespace detail
template <class Model>
struct require
- : mpl::if_c<
+ : boost::conditional<
not_satisfied<Model>::value
, detail::constraint
# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
diff --git a/boost/concept/usage.hpp b/boost/concept/usage.hpp
index e73370fb37..373de63a9d 100644
--- a/boost/concept/usage.hpp
+++ b/boost/concept/usage.hpp
@@ -5,7 +5,7 @@
# define BOOST_CONCEPT_USAGE_DWA2006919_HPP
# include <boost/concept/assert.hpp>
-# include <boost/detail/workaround.hpp>
+# include <boost/config/workaround.hpp>
# include <boost/concept/detail/backward_compatibility.hpp>
namespace boost { namespace concepts {
diff --git a/boost/concept_archetype.hpp b/boost/concept_archetype.hpp
index f2455fd855..a9d1808f30 100644
--- a/boost/concept_archetype.hpp
+++ b/boost/concept_archetype.hpp
@@ -15,7 +15,7 @@
#define BOOST_CONCEPT_ARCHETYPES_HPP
#include <boost/config.hpp>
-#include <boost/mpl/identity.hpp>
+#include <boost/config/workaround.hpp>
#include <functional>
#include <iterator> // iterator tags
#include <cstddef> // std::ptrdiff_t
diff --git a/boost/concept_check.hpp b/boost/concept_check.hpp
index 25f118b643..abbadb76be 100644
--- a/boost/concept_check.hpp
+++ b/boost/concept_check.hpp
@@ -24,9 +24,9 @@
# include <utility>
# include <boost/type_traits/is_same.hpp>
# include <boost/type_traits/is_void.hpp>
-# include <boost/mpl/assert.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
+# include <boost/static_assert.hpp>
+# include <boost/type_traits/integral_constant.hpp>
+# include <boost/config/workaround.hpp>
# include <boost/concept/usage.hpp>
# include <boost/concept/detail/concept_def.hpp>
@@ -301,14 +301,14 @@ namespace boost
BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
private:
- void test(boost::mpl::false_)
+ void test(boost::false_type)
{
// Do we really want a reference here?
const Return& r = f();
ignore_unused_variable_warning(r);
}
- void test(boost::mpl::true_)
+ void test(boost::true_type)
{
f();
}
@@ -321,22 +321,22 @@ namespace boost
BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
private:
- void test(boost::mpl::false_)
+ void test(boost::false_type)
{
f(arg); // "priming the pump" this way keeps msvc6 happy (ICE)
Return r = f(arg);
ignore_unused_variable_warning(r);
}
- void test(boost::mpl::true_)
+ void test(boost::true_type)
{
f(arg);
}
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
&& BOOST_WORKAROUND(__GNUC__, > 3)))
- // Declare a dummy construktor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
+ // Declare a dummy constructor to make gcc happy.
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
// (warning: non-static reference "const double& boost::UnaryFunction<YourClassHere>::arg"
// in class without a constructor [-Wuninitialized])
UnaryFunction();
@@ -350,14 +350,14 @@ namespace boost
{
BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
private:
- void test(boost::mpl::false_)
+ void test(boost::false_type)
{
f(first,second);
Return r = f(first, second); // require operator()
(void)r;
}
- void test(boost::mpl::true_)
+ void test(boost::true_type)
{
f(first,second);
}
@@ -365,7 +365,7 @@ namespace boost
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
&& BOOST_WORKAROUND(__GNUC__, > 3)))
// Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
// (warning: non-static reference "const double& boost::BinaryFunction<YourClassHere>::arg"
// in class without a constructor [-Wuninitialized])
BinaryFunction();
@@ -385,7 +385,7 @@ namespace boost
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
&& BOOST_WORKAROUND(__GNUC__, > 3)))
// Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
// (warning: non-static reference "const double& boost::UnaryPredicate<YourClassHere>::arg"
// in class without a constructor [-Wuninitialized])
UnaryPredicate();
@@ -404,7 +404,7 @@ namespace boost
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
&& BOOST_WORKAROUND(__GNUC__, > 3)))
// Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
// (warning: non-static reference "const double& boost::BinaryPredicate<YourClassHere>::arg"
// in class without a constructor [-Wuninitialized])
BinaryPredicate();
@@ -429,7 +429,7 @@ namespace boost
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
&& BOOST_WORKAROUND(__GNUC__, > 3)))
// Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
// (warning: non-static reference "const double& boost::Const_BinaryPredicate<YourClassHere>::arg"
// in class without a constructor [-Wuninitialized])
Const_BinaryPredicate();
@@ -734,8 +734,8 @@ namespace boost
private:
void const_constraints(const C& cc)
{
- const_reverse_iterator i = cc.rbegin();
- i = cc.rend();
+ const_reverse_iterator _i = cc.rbegin();
+ _i = cc.rend();
}
C c;
};
@@ -966,7 +966,7 @@ namespace boost
{
typedef typename C::key_type key_type;
typedef typename C::value_type value_type;
- BOOST_MPL_ASSERT((boost::is_same<key_type,value_type>));
+ BOOST_STATIC_ASSERT((boost::is_same<key_type,value_type>::value));
}
};
@@ -979,7 +979,7 @@ namespace boost
typedef typename C::value_type value_type;
typedef typename C::mapped_type mapped_type;
typedef std::pair<const key_type, mapped_type> required_value_type;
- BOOST_MPL_ASSERT((boost::is_same<value_type,required_value_type>));
+ BOOST_STATIC_ASSERT((boost::is_same<value_type,required_value_type>::value));
}
};
diff --git a/boost/concept_check/general.hpp b/boost/concept_check/general.hpp
index cd09fb043e..c44da4972b 100644
--- a/boost/concept_check/general.hpp
+++ b/boost/concept_check/general.hpp
@@ -6,7 +6,7 @@
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept_check/has_constraints.hpp>
-# include <boost/mpl/if.hpp>
+# include <boost/type_traits/conditional.hpp>
# endif
@@ -54,7 +54,7 @@ namespace boost
template <class Model>
struct concept_check_<void(*)(Model)>
- : mpl::if_c<
+ : conditional<
concept_checking::has_constraints<Model>::value
, constraint_check<Model>
, concept_check<Model>
diff --git a/boost/concept_check/msvc.hpp b/boost/concept_check/msvc.hpp
index 3968469a89..23f6b13478 100644
--- a/boost/concept_check/msvc.hpp
+++ b/boost/concept_check/msvc.hpp
@@ -6,7 +6,7 @@
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept_check/has_constraints.hpp>
-# include <boost/mpl/if.hpp>
+# include <boost/type_traits/conditional.hpp>
# endif
@@ -40,7 +40,7 @@ namespace boost
template <class Model>
struct concept_check
- : mpl::if_c<
+ : conditional<
concept_checking::has_constraints<Model>::value
, concept_checking::constraint_check<Model>
, concept_checking::concept_check_<Model>
diff --git a/boost/config/auto_link.hpp b/boost/config/auto_link.hpp
index 271f837911..f34353b53d 100644
--- a/boost/config/auto_link.hpp
+++ b/boost/config/auto_link.hpp
@@ -28,6 +28,9 @@ BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
This is essentially the same as the default name-mangled version, but without
the compiler name and version, or the Boost version. Just the build options.
+BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option.
+ This is essentially the same as the non-name-mangled version, but with
+ the prefix to differentiate static and dll builds
These macros will be undef'ed at the end of the header, further this header
has no include guards - so be sure to include it only once from your library!
@@ -406,6 +409,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
# ifdef BOOST_LIB_DIAGNOSTIC
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
# endif
+#elif defined(BOOST_AUTO_LINK_SYSTEM)
+# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
+# ifdef BOOST_LIB_DIAGNOSTIC
+# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
+# endif
#elif defined(BOOST_AUTO_LINK_NOMANGLE)
# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
# ifdef BOOST_LIB_DIAGNOSTIC
diff --git a/boost/config/compiler/borland.hpp b/boost/config/compiler/borland.hpp
index cb164f8f2a..beec94621f 100644
--- a/boost/config/compiler/borland.hpp
+++ b/boost/config/compiler/borland.hpp
@@ -19,9 +19,9 @@
// last known compiler version:
#if (__BORLANDC__ > 0x613)
//# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
//# else
-//# pragma message( "Unknown compiler version - please run the configure tests and report the results")
+//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
//# endif
#elif (__BORLANDC__ == 0x600)
# error "CBuilderX preview compiler is no longer supported"
diff --git a/boost/config/compiler/clang.hpp b/boost/config/compiler/clang.hpp
index 3d893c689a..3a59ff5878 100644
--- a/boost/config/compiler/clang.hpp
+++ b/boost/config/compiler/clang.hpp
@@ -104,9 +104,9 @@
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
#else
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
+# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
# define BOOST_SYMBOL_IMPORT
#endif
-#define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
//
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
diff --git a/boost/config/compiler/codegear.hpp b/boost/config/compiler/codegear.hpp
index c2cfe15c64..52531d2f08 100644
--- a/boost/config/compiler/codegear.hpp
+++ b/boost/config/compiler/codegear.hpp
@@ -22,9 +22,9 @@
// last known and checked version is 0x621
#if (__CODEGEARC__ > 0x621)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# else
-# pragma message( "Unknown compiler version - please run the configure tests and report the results")
+# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
# endif
#endif
diff --git a/boost/config/compiler/comeau.hpp b/boost/config/compiler/comeau.hpp
index 09841604f9..ca80fac37a 100644
--- a/boost/config/compiler/comeau.hpp
+++ b/boost/config/compiler/comeau.hpp
@@ -50,7 +50,7 @@
// last known and checked version is 4245:
#if (__COMO_VERSION__ > 4245)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/digitalmars.hpp b/boost/config/compiler/digitalmars.hpp
index 3e9a3ab0f5..1466373191 100644
--- a/boost/config/compiler/digitalmars.hpp
+++ b/boost/config/compiler/digitalmars.hpp
@@ -135,6 +135,6 @@
// last known and checked version is ...:
#if (__DMC__ > 0x848)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp
index 19ccc592fd..594c44f572 100644
--- a/boost/config/compiler/gcc.hpp
+++ b/boost/config/compiler/gcc.hpp
@@ -346,14 +346,14 @@
# error "Compiler not configured - please reconfigure"
#endif
//
-// last known and checked version is 7.1:
-#if (BOOST_GCC_VERSION > 70100)
+// last known and checked version is 8.1:
+#if (BOOST_GCC_VERSION > 80100)
# if defined(BOOST_ASSERT_CONFIG)
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
# else
// we don't emit warnings here anymore since there are no defect macros defined for
// gcc post 3.4, so any failures are gcc regressions...
-//# warning "Unknown compiler version - please run the configure tests and report the results"
+//# warning "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/greenhills.hpp b/boost/config/compiler/greenhills.hpp
index a76a07cf4a..39112c2c1c 100644
--- a/boost/config/compiler/greenhills.hpp
+++ b/boost/config/compiler/greenhills.hpp
@@ -21,7 +21,7 @@
// last known and checked version is 0:
#if (__ghs > 0)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/hp_acc.hpp b/boost/config/compiler/hp_acc.hpp
index 9df18eaf67..49d676fa2b 100644
--- a/boost/config/compiler/hp_acc.hpp
+++ b/boost/config/compiler/hp_acc.hpp
@@ -142,6 +142,6 @@
// last known and checked version for PA-RISC is 38000
#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/intel.hpp b/boost/config/compiler/intel.hpp
index 0eea05b916..f56807dbbc 100644
--- a/boost/config/compiler/intel.hpp
+++ b/boost/config/compiler/intel.hpp
@@ -46,12 +46,17 @@
#undef BOOST_GCC_VERSION
#undef BOOST_GCC_CXX11
#undef BOOST_GCC
+#undef BOOST_FALLTHROUGH
// Broken in all versions up to 17 (newer versions not tested)
#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)
# define BOOST_NO_CXX14_CONSTEXPR
#endif
+#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703)
+# define BOOST_FALLTHROUGH [[fallthrough]]
+#endif
+
#endif // defined(_MSC_VER)
#undef BOOST_COMPILER
@@ -558,7 +563,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
// We don't emit this warning any more, since we have so few
// defect macros set anyway (just the one).
//
-//# pragma message("Unknown compiler version - please run the configure tests and report the results")
+//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results")
# endif
#endif
diff --git a/boost/config/compiler/kai.hpp b/boost/config/compiler/kai.hpp
index 960d501c86..0b22ec1d6c 100644
--- a/boost/config/compiler/kai.hpp
+++ b/boost/config/compiler/kai.hpp
@@ -25,7 +25,7 @@
// last known and checked version is 4001:
#if (__KCC_VERSION > 4001)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/metrowerks.hpp b/boost/config/compiler/metrowerks.hpp
index 4bfc01ece1..0e18e1809e 100644
--- a/boost/config/compiler/metrowerks.hpp
+++ b/boost/config/compiler/metrowerks.hpp
@@ -183,7 +183,7 @@
// last known and checked version:
#if (__MWERKS__ > 0x3205)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/mpw.hpp b/boost/config/compiler/mpw.hpp
index 2292ada092..05c066efbc 100644
--- a/boost/config/compiler/mpw.hpp
+++ b/boost/config/compiler/mpw.hpp
@@ -130,7 +130,7 @@
// last known and checked version is 0x890:
#if (MPW_CPLUS > 0x890)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/vacpp.hpp b/boost/config/compiler/vacpp.hpp
index cabe844ffd..8e26449968 100644
--- a/boost/config/compiler/vacpp.hpp
+++ b/boost/config/compiler/vacpp.hpp
@@ -56,7 +56,7 @@
// last known and checked version is 1210:
#if (__IBMCPP__ > 1210)
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
+# error "boost: Unknown compiler version - please run the configure tests and report the results"
# endif
#endif
diff --git a/boost/config/compiler/visualc.hpp b/boost/config/compiler/visualc.hpp
index ded7284a62..29642473cd 100644
--- a/boost/config/compiler/visualc.hpp
+++ b/boost/config/compiler/visualc.hpp
@@ -202,6 +202,8 @@
#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703)
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
# define BOOST_NO_CXX17_IF_CONSTEXPR
+# define BOOST_NO_CXX17_HDR_OPTIONAL
+# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
// MSVC including version 14 has not yet completely
@@ -234,9 +236,11 @@
// Supported from msvc-15.5 onwards:
#define BOOST_NO_CXX11_SFINAE_EXPR
#endif
+#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)
// C++ 14:
// Still gives internal compiler error for msvc-15.5:
# define BOOST_NO_CXX14_CONSTEXPR
+#endif
// C++ 17:
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
#define BOOST_NO_CXX17_INLINE_VARIABLES
@@ -284,9 +288,9 @@
# if _MSC_VER < 1400
// Note: I'm not aware of any CE compiler with version 13xx
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
+# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
# else
-# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
+# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
# endif
# elif _MSC_VER < 1500
# define BOOST_COMPILER_VERSION evc8
@@ -302,9 +306,9 @@
# define BOOST_COMPILER_VERSION evc14
# else
# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
+# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
# else
-# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
+# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
# endif
# endif
# else
diff --git a/boost/config/detail/select_compiler_config.hpp b/boost/config/detail/select_compiler_config.hpp
index ced8443da9..8970dffb4f 100644
--- a/boost/config/detail/select_compiler_config.hpp
+++ b/boost/config/detail/select_compiler_config.hpp
@@ -39,8 +39,7 @@
// Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
-#elif defined __clang__ && !defined(__CUDACC__) && !defined(__ibmxl__)
-// when using clang and cuda at same time, you want to appear as gcc
+#elif defined __clang__ && !defined(__ibmxl__)
// Clang C++ emulates GCC, so it has to appear early.
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
diff --git a/boost/config/detail/suffix.hpp b/boost/config/detail/suffix.hpp
index 22d31f68db..cee9647b6b 100644
--- a/boost/config/detail/suffix.hpp
+++ b/boost/config/detail/suffix.hpp
@@ -1023,6 +1023,19 @@ namespace std{ using ::type_info; }
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#endif
+// This is a catch all case for obsolete compilers / std libs:
+#if !defined(__has_include)
+# define BOOST_NO_CXX17_HDR_OPTIONAL
+# define BOOST_NO_CXX17_HDR_STRING_VIEW
+#else
+#if !__has_include(<optional>)
+# define BOOST_NO_CXX17_HDR_OPTIONAL
+#endif
+#if !__has_include(<string_view>)
+# define BOOST_NO_CXX17_HDR_STRING_VIEW
+#endif
+#endif
+
//
// Finish off with checks for macros that are depricated / no longer supported,
// if any of these are set then it's very likely that much of Boost will no
diff --git a/boost/config/stdlib/libcpp.hpp b/boost/config/stdlib/libcpp.hpp
index a051dbb750..ffe2f2a0f5 100644
--- a/boost/config/stdlib/libcpp.hpp
+++ b/boost/config/stdlib/libcpp.hpp
@@ -89,6 +89,8 @@
// C++17 features
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_HDR_OPTIONAL
+# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
# define BOOST_NO_AUTO_PTR
@@ -111,10 +113,16 @@
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
-#if defined(__linux__) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
+#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
// After libc++-dev is installed on Trusty, clang++-libc++ almost works,
// except uses of `thread_local` fail with undefined reference to
// `__cxa_thread_atexit`.
+//
+// clang's libc++abi provides an implementation by deferring to the glibc
+// implementation, which may or may not be available (it is not on Trusty).
+// clang 4's libc++abi will provide an implementation if one is not in glibc
+// though, so thread local support should work with clang 4 and above as long
+// as libc++abi is linked in.
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
@@ -128,4 +136,8 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
+#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000)
+# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#endif
+
// --- end ---
diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp
index f6eab26c65..38209ddd45 100644
--- a/boost/config/stdlib/libstdcpp3.hpp
+++ b/boost/config/stdlib/libstdcpp3.hpp
@@ -299,6 +299,8 @@ extern "C" char *gets (char *__s);
#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
# define BOOST_NO_CXX17_STD_APPLY
+# define BOOST_NO_CXX17_HDR_OPTIONAL
+# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
#if defined(__has_include)
diff --git a/boost/container/allocator.hpp b/boost/container/allocator.hpp
index c0deb0a108..2a21afff40 100644
--- a/boost/container/allocator.hpp
+++ b/boost/container/allocator.hpp
@@ -284,7 +284,7 @@ class allocator
//!This function is available only with Version == 2
void allocate_many(size_type elem_size, std::size_t n_elements, multiallocation_chain &chain)
{
- BOOST_STATIC_ASSERT(( Version > 1 ));/*
+ BOOST_STATIC_ASSERT(( Version > 1 ));
dlmalloc_memchain ch;
BOOST_CONTAINER_MEMCHAIN_INIT(&ch);
if(!dlmalloc_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch)){
@@ -293,10 +293,11 @@ class allocator
chain.incorporate_after(chain.before_begin()
,(T*)BOOST_CONTAINER_MEMCHAIN_FIRSTMEM(&ch)
,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch)
- ,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );*/
+ ,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );
+/*
if(!dlmalloc_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast<dlmalloc_memchain *>(&chain))){
boost::container::throw_bad_alloc();
- }
+ }*/
}
//!Allocates n_elements elements, each one of size elem_sizes[i]
diff --git a/boost/container/allocator_traits.hpp b/boost/container/allocator_traits.hpp
index af32f182b6..bb5a2d31b7 100644
--- a/boost/container/allocator_traits.hpp
+++ b/boost/container/allocator_traits.hpp
@@ -151,7 +151,7 @@ struct allocator_traits
//! Allocator::void_pointer if such a type exists ; otherwise, pointer_traits<pointer>::rebind<void>.
//!
typedef see_documentation void_pointer;
- //! Allocator::const_void_pointer if such a type exists ; otherwis e, pointer_traits<pointer>::rebind<const
+ //! Allocator::const_void_pointer if such a type exists ; otherwise, pointer_traits<pointer>::rebind<const
//!
typedef see_documentation const_void_pointer;
//! Allocator::difference_type if such a type exists ; otherwise, pointer_traits<pointer>::difference_type.
diff --git a/boost/container/deque.hpp b/boost/container/deque.hpp
index f04ba492ad..35cea2fd93 100644
--- a/boost/container/deque.hpp
+++ b/boost/container/deque.hpp
@@ -2238,7 +2238,7 @@ class deque : protected deque_base<Allocator>
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
deque(InputIterator, InputIterator) -> deque<typename iterator_traits<InputIterator>::value_type>;
template <typename InputIterator, typename Allocator>
diff --git a/boost/container/detail/adaptive_node_pool_impl.hpp b/boost/container/detail/adaptive_node_pool_impl.hpp
index a92ba98b82..b2070921d9 100644
--- a/boost/container/detail/adaptive_node_pool_impl.hpp
+++ b/boost/container/detail/adaptive_node_pool_impl.hpp
@@ -363,16 +363,16 @@ struct candidate_power_of_2_ct
// candidate_power_of_2_rt
//
/////////////////////////////////////////////
-void candidate_power_of_2_rt ( std::size_t initial_alignment
- , std::size_t real_node_size
- , std::size_t payload_per_allocation
- , std::size_t min_elements_per_block
- , std::size_t hdr_size
- , std::size_t hdr_offset_size
- , std::size_t overhead_percent
- , std::size_t &alignment
- , std::size_t &num_subblocks
- , std::size_t &real_num_node)
+inline void candidate_power_of_2_rt ( std::size_t initial_alignment
+ , std::size_t real_node_size
+ , std::size_t payload_per_allocation
+ , std::size_t min_elements_per_block
+ , std::size_t hdr_size
+ , std::size_t hdr_offset_size
+ , std::size_t overhead_percent
+ , std::size_t &alignment
+ , std::size_t &num_subblocks
+ , std::size_t &real_num_node)
{
bool overhead_satisfied = false;
std::size_t num_b_subblock = 0;
diff --git a/boost/container/detail/advanced_insert_int.hpp b/boost/container/detail/advanced_insert_int.hpp
index fc8a33a239..17ceb013fd 100644
--- a/boost/container/detail/advanced_insert_int.hpp
+++ b/boost/container/detail/advanced_insert_int.hpp
@@ -128,11 +128,11 @@ struct insert_value_initialized_n_proxy
void copy_n_and_update(Allocator &a, Iterator p, size_type n) const
{
for (; 0 < n; --n, ++p){
- typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type stor;
- value_type &v = *static_cast<value_type *>(static_cast<void *>(stor.data));
- alloc_traits::construct(a, &v);
- value_destructor<Allocator> on_exit(a, v); (void)on_exit;
- *p = ::boost::move(v);
+ typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
+ value_type *vp = reinterpret_cast<value_type *>(v.data);
+ alloc_traits::construct(a, vp);
+ value_destructor<Allocator> on_exit(a, *vp); (void)on_exit;
+ *p = ::boost::move(*vp);
}
}
};
@@ -151,11 +151,11 @@ struct insert_default_initialized_n_proxy
{
if(!is_pod<value_type>::value){
for (; 0 < n; --n, ++p){
- typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type stor;
- value_type &v = *static_cast<value_type *>(static_cast<void *>(stor.data));
- alloc_traits::construct(a, &v, default_init);
- value_destructor<Allocator> on_exit(a, v); (void)on_exit;
- *p = ::boost::move(v);
+ typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
+ value_type *vp = reinterpret_cast<value_type *>(v.data);
+ alloc_traits::construct(a, vp, default_init);
+ value_destructor<Allocator> on_exit(a, *vp); (void)on_exit;
+ *p = ::boost::move(*vp);
}
}
}
@@ -289,7 +289,7 @@ struct insert_emplace_proxy
{
BOOST_ASSERT(n ==1); (void)n;
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
- value_type *vp = static_cast<value_type *>(static_cast<void *>(v.data));
+ value_type *vp = reinterpret_cast<value_type *>(v.data);
alloc_traits::construct(a, vp,
::boost::forward<Args>(get<IdxPack>(this->args_))...);
BOOST_TRY{
@@ -400,7 +400,7 @@ struct insert_emplace_proxy_arg##N\
BOOST_ASSERT(n == 1); (void)n;\
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;\
BOOST_ASSERT((((size_type)(&v)) % alignment_of<value_type>::value) == 0);\
- value_type *vp = static_cast<value_type *>(static_cast<void *>(v.data));\
+ value_type *vp = reinterpret_cast<value_type *>(v.data);\
alloc_traits::construct(a, vp BOOST_MOVE_I##N BOOST_MOVE_MFWD##N);\
BOOST_TRY{\
*p = ::boost::move(*vp);\
diff --git a/boost/container/detail/allocator_version_traits.hpp b/boost/container/detail/allocator_version_traits.hpp
index 18460bdf08..d037e0e392 100644
--- a/boost/container/detail/allocator_version_traits.hpp
+++ b/boost/container/detail/allocator_version_traits.hpp
@@ -93,7 +93,8 @@ struct allocator_version_traits<Allocator, 1>
{
size_type n = holder.size();
typename multiallocation_chain::iterator it = holder.begin();
- while(n--){
+ while(n){
+ --n;
pointer p = boost::intrusive::pointer_traits<pointer>::pointer_to(*it);
++it;
a.deallocate(p, 1);
diff --git a/boost/container/detail/compare_functors.hpp b/boost/container/detail/compare_functors.hpp
index 28f9093b9a..2c8dc6a1fe 100644
--- a/boost/container/detail/compare_functors.hpp
+++ b/boost/container/detail/compare_functors.hpp
@@ -19,6 +19,8 @@
# pragma once
#endif
+#include <boost/intrusive/detail/ebo_functor_holder.hpp>
+
namespace boost {
namespace container {
@@ -37,7 +39,7 @@ class equal_to_value
{ return t_ == t; }
};
-template<class Node, class Pred>
+template<class Node, class Pred, class Ret = bool>
struct value_to_node_compare
: Pred
{
@@ -52,22 +54,76 @@ struct value_to_node_compare
: Pred(pred)
{}
- bool operator()(const Node &a, const Node &b) const
+ Ret operator()(const Node &a, const Node &b) const
{ return static_cast<const Pred&>(*this)(a.get_data(), b.get_data()); }
- bool operator()(const Node &a) const
+ Ret operator()(const Node &a) const
{ return static_cast<const Pred&>(*this)(a.get_data()); }
- bool operator()(const Node &a, const Node &b)
+ Ret operator()(const Node &a, const Node &b)
{ return static_cast<Pred&>(*this)(a.get_data(), b.get_data()); }
- bool operator()(const Node &a)
+ Ret operator()(const Node &a)
{ return static_cast<Pred&>(*this)(a.get_data()); }
predicate_type & predicate() { return static_cast<predicate_type&>(*this); }
const predicate_type & predicate() const { return static_cast<predicate_type&>(*this); }
};
+template<class KeyPred, class KeyOfValue, class Node, class Ret = bool>
+struct key_node_pred
+ : public boost::intrusive::detail::ebo_functor_holder<KeyPred>
+{
+ BOOST_CONTAINER_FORCEINLINE explicit key_node_pred(const KeyPred &comp)
+ : base_t(comp)
+ {}
+
+ typedef boost::intrusive::detail::ebo_functor_holder<KeyPred> base_t;
+ typedef KeyPred key_predicate;
+ typedef KeyOfValue key_of_value;
+ typedef typename KeyOfValue::type key_type;
+
+
+ BOOST_CONTAINER_FORCEINLINE static const key_type &key_from(const Node &n)
+ {
+ return key_of_value()(n.get_data());
+ }
+
+ template <class T>
+ BOOST_CONTAINER_FORCEINLINE static const T &
+ key_from(const T &t)
+ { return t; }
+
+ BOOST_CONTAINER_FORCEINLINE const key_predicate &key_pred() const
+ { return static_cast<const key_predicate &>(*this); }
+
+ BOOST_CONTAINER_FORCEINLINE key_predicate &key_pred()
+ { return static_cast<key_predicate &>(*this); }
+
+ BOOST_CONTAINER_FORCEINLINE Ret operator()(const key_type &key) const
+ { return this->key_pred()(key); }
+
+ template<class U>
+ BOOST_CONTAINER_FORCEINLINE Ret operator()(const U &nonkey) const
+ { return this->key_pred()(this->key_from(nonkey)); }
+
+ BOOST_CONTAINER_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const
+ { return this->key_pred()(key1, key2); }
+
+ template<class U>
+ BOOST_CONTAINER_FORCEINLINE bool operator()(const key_type &key1, const U &nonkey2) const
+ { return this->key_pred()(key1, this->key_from(nonkey2)); }
+
+ template<class U>
+ BOOST_CONTAINER_FORCEINLINE bool operator()(const U &nonkey1, const key_type &key2) const
+ { return this->key_pred()(this->key_from(nonkey1), key2); }
+
+ template<class U, class V>
+ BOOST_CONTAINER_FORCEINLINE bool operator()(const U &nonkey1, const V &nonkey2) const
+ { return this->key_pred()(this->key_from(nonkey1), this->key_from(nonkey2)); }
+};
+
+
} //namespace container {
} //namespace boost {
diff --git a/boost/container/detail/copy_move_algo.hpp b/boost/container/detail/copy_move_algo.hpp
index f03800a6e0..29d47ccbda 100644
--- a/boost/container/detail/copy_move_algo.hpp
+++ b/boost/container/detail/copy_move_algo.hpp
@@ -36,9 +36,18 @@
// std
#include <cstring> //for memmove/memcpy
-#if defined(BOOST_GCC) && (BOOST_GCC >= 80000)
+#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wclass-memaccess"
+//pair memcpy optimizations rightfully detected by GCC
+# if defined(BOOST_GCC) && (BOOST_GCC >= 80000)
+# pragma GCC diagnostic ignored "-Wclass-memaccess"
+# endif
+//GCC 8 seems a bit confused about array access error with static_vector
+//when out of bound exceptions are being thrown.
+# if defined(BOOST_GCC) && (BOOST_GCC >= 80000) && (BOOST_GCC < 80200)
+# pragma GCC diagnostic ignored "-Wstringop-overflow"
+# endif
+# pragma GCC diagnostic ignored "-Warray-bounds"
#endif
namespace boost {
@@ -165,9 +174,13 @@ template
inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef typename boost::container::iterator_traits<I>::value_type value_type;
- typename boost::container::iterator_traits<I>::difference_type n = boost::container::iterator_distance(f, l);
- if(n){
- std::memmove(boost::movelib::iterator_to_raw_pointer(r), boost::movelib::iterator_to_raw_pointer(f), sizeof(value_type)*n);
+ value_type *const dest_raw = boost::movelib::iterator_to_raw_pointer(r);
+ const value_type *const beg_raw = boost::movelib::iterator_to_raw_pointer(f);
+ const value_type *const end_raw = boost::movelib::iterator_to_raw_pointer(l);
+ if(BOOST_LIKELY(beg_raw != end_raw)){
+ BOOST_ASSERT(beg_raw != 0);
+ const typename boost::container::iterator_traits<I>::difference_type n = end_raw - beg_raw;
+ std::memmove(dest_raw, beg_raw, sizeof(value_type)*n);
boost::container::iterator_advance(r, n);
}
return r;
@@ -180,10 +193,11 @@ template
F memmove_n(I f, U n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef typename boost::container::iterator_traits<I>::value_type value_type;
- if(n){
+ if(BOOST_LIKELY(n)){
std::memmove(boost::movelib::iterator_to_raw_pointer(r), boost::movelib::iterator_to_raw_pointer(f), sizeof(value_type)*n);
boost::container::iterator_advance(r, n);
}
+
return r;
}
@@ -193,7 +207,7 @@ template
typename F> // F models ForwardIterator
I memmove_n_source(I f, U n, F r) BOOST_NOEXCEPT_OR_NOTHROW
{
- if(n){
+ if(BOOST_LIKELY(n)){
typedef typename boost::container::iterator_traits<I>::value_type value_type;
std::memmove(boost::movelib::iterator_to_raw_pointer(r), boost::movelib::iterator_to_raw_pointer(f), sizeof(value_type)*n);
boost::container::iterator_advance(f, n);
@@ -208,7 +222,7 @@ template
I memmove_n_source_dest(I f, U n, F &r) BOOST_NOEXCEPT_OR_NOTHROW
{
typedef typename boost::container::iterator_traits<I>::value_type value_type;
- if(n){
+ if(BOOST_LIKELY(n)){
std::memmove(boost::movelib::iterator_to_raw_pointer(r), boost::movelib::iterator_to_raw_pointer(f), sizeof(value_type)*n);
boost::container::iterator_advance(f, n);
boost::container::iterator_advance(r, n);
@@ -725,7 +739,8 @@ typename F> // F models ForwardIterator
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
copy_n(I f, U n, F r)
{
- while (n--) {
+ while (n) {
+ --n;
*r = *f;
++f; ++r;
}
@@ -1146,9 +1161,9 @@ void move_assign_range_alloc_n( Allocator &a, I inp_start, typename allocator_tr
} //namespace container {
} //namespace boost {
-#if defined(BOOST_GCC) && (BOOST_GCC >= 80000)
+//#pragma GCC diagnostic ignored "-Wclass-memaccess"
+#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
#pragma GCC diagnostic pop
#endif
-
#endif //#ifndef BOOST_CONTAINER_DETAIL_COPY_MOVE_ALGO_HPP
diff --git a/boost/container/detail/flat_tree.hpp b/boost/container/detail/flat_tree.hpp
index e9cbe38894..e131cf1f55 100644
--- a/boost/container/detail/flat_tree.hpp
+++ b/boost/container/detail/flat_tree.hpp
@@ -921,11 +921,11 @@ class flat_tree
std::pair<iterator, bool> emplace_unique(BOOST_FWD_REF(Args)... args)
{
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));
+ value_type *pval = reinterpret_cast<value_type *>(v.data);
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, &val, ::boost::forward<Args>(args)... );
- value_destructor<stored_allocator_type, value_type> d(a, val);
- return this->insert_unique(::boost::move(val));
+ stored_allocator_traits::construct(a, pval, ::boost::forward<Args>(args)... );
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);
+ return this->insert_unique(::boost::move(*pval));
}
template <class... Args>
@@ -933,22 +933,22 @@ class flat_tree
{
//hint checked in insert_unique
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));
+ value_type *pval = reinterpret_cast<value_type *>(v.data);
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, &val, ::boost::forward<Args>(args)... );
- value_destructor<stored_allocator_type, value_type> d(a, val);
- return this->insert_unique(hint, ::boost::move(val));
+ stored_allocator_traits::construct(a, pval, ::boost::forward<Args>(args)... );
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);
+ return this->insert_unique(hint, ::boost::move(*pval));
}
template <class... Args>
iterator emplace_equal(BOOST_FWD_REF(Args)... args)
{
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));
+ value_type *pval = reinterpret_cast<value_type *>(v.data);
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, &val, ::boost::forward<Args>(args)... );
- value_destructor<stored_allocator_type, value_type> d(a, val);
- return this->insert_equal(::boost::move(val));
+ stored_allocator_traits::construct(a, pval, ::boost::forward<Args>(args)... );
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);
+ return this->insert_equal(::boost::move(*pval));
}
template <class... Args>
@@ -956,11 +956,11 @@ class flat_tree
{
//hint checked in insert_equal
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));
+ value_type *pval = reinterpret_cast<value_type *>(v.data);
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, &val, ::boost::forward<Args>(args)... );
- value_destructor<stored_allocator_type, value_type> d(a, val);
- return this->insert_equal(hint, ::boost::move(val));
+ stored_allocator_traits::construct(a, pval, ::boost::forward<Args>(args)... );
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);
+ return this->insert_equal(hint, ::boost::move(*pval));
}
template <class KeyType, class... Args>
@@ -993,44 +993,44 @@ class flat_tree
std::pair<iterator, bool> emplace_unique(BOOST_MOVE_UREF##N)\
{\
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;\
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));\
+ value_type *pval = reinterpret_cast<value_type *>(v.data);\
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_destructor<stored_allocator_type, value_type> d(a, val);\
- return this->insert_unique(::boost::move(val));\
+ stored_allocator_traits::construct(a, pval BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);\
+ return this->insert_unique(::boost::move(*pval));\
}\
\
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
iterator emplace_hint_unique(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
{\
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;\
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));\
+ value_type *pval = reinterpret_cast<value_type *>(v.data);\
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_destructor<stored_allocator_type, value_type> d(a, val);\
- return this->insert_unique(hint, ::boost::move(val));\
+ stored_allocator_traits::construct(a, pval BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);\
+ return this->insert_unique(hint, ::boost::move(*pval));\
}\
\
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
iterator emplace_equal(BOOST_MOVE_UREF##N)\
{\
typename aligned_storage<sizeof(value_type), alignment_of<value_type>::value>::type v;\
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));\
+ value_type *pval = reinterpret_cast<value_type *>(v.data);\
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_destructor<stored_allocator_type, value_type> d(a, val);\
- return this->insert_equal(::boost::move(val));\
+ stored_allocator_traits::construct(a, pval BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);\
+ return this->insert_equal(::boost::move(*pval));\
}\
\
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
iterator emplace_hint_equal(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
{\
typename aligned_storage <sizeof(value_type), alignment_of<value_type>::value>::type v;\
- value_type &val = *static_cast<value_type *>(static_cast<void *>(v.data));\
+ value_type *pval = reinterpret_cast<value_type *>(v.data);\
get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_destructor<stored_allocator_type, value_type> d(a, val);\
- return this->insert_equal(hint, ::boost::move(val));\
+ stored_allocator_traits::construct(a, pval BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
+ value_destructor<stored_allocator_type, value_type> d(a, *pval);\
+ return this->insert_equal(hint, ::boost::move(*pval));\
}\
template <class KeyType BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool>\
@@ -1201,6 +1201,15 @@ class flat_tree
return n;
}
+ BOOST_CONTAINER_FORCEINLINE bool contains(const key_type& x) const
+ { return this->find(x) != this->cend(); }
+
+ template<typename K>
+ BOOST_CONTAINER_FORCEINLINE
+ typename dtl::enable_if_transparent<key_compare, K, bool>::type
+ contains(const K& x) const
+ { return this->find(x) != this->cend(); }
+
template<class C2>
BOOST_CONTAINER_FORCEINLINE void merge_unique(flat_tree<Value, KeyOfValue, C2, AllocatorOrContainer>& source)
{
diff --git a/boost/container/detail/iterator.hpp b/boost/container/detail/iterator.hpp
index 2ceaf26001..800cef3d92 100644
--- a/boost/container/detail/iterator.hpp
+++ b/boost/container/detail/iterator.hpp
@@ -23,6 +23,7 @@
#include <boost/intrusive/detail/iterator.hpp>
#include <boost/move/utility_core.hpp>
+#include <boost/container/detail/mpl.hpp>
namespace boost {
namespace container {
@@ -63,6 +64,21 @@ class back_emplacer
back_emplacer& operator++(int){ return *this; }
};
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
+
+template<class InputIterator>
+using it_based_non_const_first_type_t = typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type;
+
+template<class InputIterator>
+using it_based_const_first_type_t = const typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type;
+
+template<class InputIterator>
+using it_based_second_type_t = typename iterator_traits<InputIterator>::value_type::second_type;
+
+template<class InputIterator>
+using it_based_value_type_t = typename iterator_traits<InputIterator>::value_type;
+
+#endif
} //namespace container {
} //namespace boost {
diff --git a/boost/container/detail/mpl.hpp b/boost/container/detail/mpl.hpp
index 385f7dbaa6..4706c58022 100644
--- a/boost/container/detail/mpl.hpp
+++ b/boost/container/detail/mpl.hpp
@@ -61,6 +61,7 @@ using boost::move_detail::enable_if_and;
using boost::move_detail::disable_if_and;
using boost::move_detail::enable_if_or;
using boost::move_detail::disable_if_or;
+using boost::move_detail::remove_const;
template <class FirstType>
struct select1st
@@ -76,23 +77,62 @@ struct select1st
{ return const_cast<type&>(x.first); }
};
+
+template<typename T>
+struct void_t { typedef void type; };
+
template <class T, class=void>
-struct is_transparent
+struct is_transparent_base
{
static const bool value = false;
};
template <class T>
-struct is_transparent<T, typename T::is_transparent>
+struct is_transparent_base<T, typename void_t<typename T::is_transparent>::type>
{
static const bool value = true;
};
-template <typename C, typename K, typename R>
+template <class T>
+struct is_transparent
+ : is_transparent_base<T>
+{};
+
+template <typename C, class /*Dummy*/, typename R>
struct enable_if_transparent
: boost::move_detail::enable_if_c<dtl::is_transparent<C>::value, R>
{};
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
+
+// void_t (void_t for C++11)
+template<typename...> using variadic_void_t = void;
+
+// Trait to detect Allocator-like types.
+template<typename Allocator, typename = void>
+struct is_allocator
+{
+ static const bool value = false;
+};
+
+template <typename T>
+T&& ctad_declval();
+
+template<typename Allocator>
+struct is_allocator < Allocator,
+ variadic_void_t< typename Allocator::value_type
+ , decltype(ctad_declval<Allocator&>().allocate(size_t{})) >>
+{
+ static const bool value = true;
+};
+
+template<class T>
+using require_allocator_t = typename enable_if_c<is_allocator<T>::value, T>::type;
+
+template<class T>
+using require_nonallocator_t = typename enable_if_c<!is_allocator<T>::value, T>::type;
+
+#endif
} //namespace dtl {
} //namespace container {
diff --git a/boost/container/detail/multiallocation_chain.hpp b/boost/container/detail/multiallocation_chain.hpp
index c10f809bb4..c7d94f42a2 100644
--- a/boost/container/detail/multiallocation_chain.hpp
+++ b/boost/container/detail/multiallocation_chain.hpp
@@ -171,11 +171,16 @@ class basic_multiallocation_chain
std::pair<void_pointer, void_pointer> extract_data()
{
- std::pair<void_pointer, void_pointer> ret
- (slist_impl_.begin().operator->()
- ,slist_impl_.last().operator->());
- slist_impl_.clear();
- return ret;
+ if(BOOST_LIKELY(!slist_impl_.empty())){
+ std::pair<void_pointer, void_pointer> ret
+ (slist_impl_.begin().operator->()
+ ,slist_impl_.last().operator->());
+ slist_impl_.clear();
+ return ret;
+ }
+ else {
+ return std::pair<void_pointer, void_pointer>();
+ }
}
};
@@ -231,46 +236,46 @@ class transform_multiallocation_chain
return static_cast<MultiallocationChain&>
(this->MultiallocationChain::operator=(::boost::move(static_cast<MultiallocationChain&>(other))));
}
-/*
+
void push_front(const pointer &mem)
- { holder_.push_front(mem); }
+ { this->MultiallocationChain::push_front(mem); }
void push_back(const pointer &mem)
- { return holder_.push_back(mem); }
+ { return this->MultiallocationChain::push_back(mem); }
void swap(transform_multiallocation_chain &other_chain)
- { holder_.swap(other_chain.holder_); }
+ { this->MultiallocationChain::swap(other_chain); }
void splice_after(iterator after_this, transform_multiallocation_chain &x, iterator before_b, iterator before_e, size_type n)
- { holder_.splice_after(after_this.base(), x.holder_, before_b.base(), before_e.base(), n); }
+ { this->MultiallocationChain::splice_after(after_this.base(), x, before_b.base(), before_e.base(), n); }
void incorporate_after(iterator after_this, pointer b, pointer before_e, size_type n)
- { holder_.incorporate_after(after_this.base(), b, before_e, n); }
-*/
+ { this->MultiallocationChain::incorporate_after(after_this.base(), b, before_e, n); }
+
pointer pop_front()
{ return cast(this->MultiallocationChain::pop_front()); }
-/*
+
bool empty() const
- { return holder_.empty(); }
+ { return this->MultiallocationChain::empty(); }
iterator before_begin()
- { return iterator(holder_.before_begin()); }
-*/
+ { return iterator(this->MultiallocationChain::before_begin()); }
+
iterator begin()
{ return iterator(this->MultiallocationChain::begin()); }
-/*
- iterator end()
- { return iterator(holder_.end()); }
iterator last()
- { return iterator(holder_.last()); }
+ { return iterator(this->MultiallocationChain::last()); }
+
+ iterator end()
+ { return iterator(this->MultiallocationChain::end()); }
size_type size() const
- { return holder_.size(); }
+ { return this->MultiallocationChain::size(); }
void clear()
- { holder_.clear(); }
-*/
+ { this->MultiallocationChain::clear(); }
+
iterator insert_after(iterator it, pointer m)
{ return iterator(this->MultiallocationChain::insert_after(it.base(), m)); }
diff --git a/boost/container/detail/node_alloc_holder.hpp b/boost/container/detail/node_alloc_holder.hpp
index ad7b713d6e..a103e63c9a 100644
--- a/boost/container/detail/node_alloc_holder.hpp
+++ b/boost/container/detail/node_alloc_holder.hpp
@@ -52,26 +52,49 @@ namespace boost {
namespace container {
namespace dtl {
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(value_compare)
+BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(key_compare)
+BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(key_equal)
+BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(hasher)
BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(predicate_type)
template<class Allocator, class ICont>
struct node_alloc_holder
+ : public allocator_traits<Allocator>::template
+ portable_rebind_alloc<typename ICont::value_type>::type //NodeAlloc
{
//If the intrusive container is an associative container, obtain the predicate, which will
- //be of type node_compare<>. If not an associative container value_compare will be a "nat" type.
+ //be of type node_compare<>. If not an associative container val_compare will be a "nat" type.
typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
( boost::container::dtl::
- , ICont, value_compare, dtl::nat) intrusive_value_compare;
+ , ICont, key_compare, dtl::nat) intrusive_val_compare;
//In that case obtain the value predicate from the node predicate via predicate_type
- //if intrusive_value_compare is node_compare<>, nat otherwise
+ //if intrusive_val_compare is node_compare<>, nat otherwise
typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
( boost::container::dtl::
- , intrusive_value_compare
- , predicate_type, dtl::nat) value_compare;
+ , intrusive_val_compare
+ , predicate_type, dtl::nat) val_compare;
+
+ //If the intrusive container is a hash container, obtain the predicate, which will
+ //be of type node_compare<>. If not an associative container val_equal will be a "nat" type.
+ typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
+ (boost::container::dtl::
+ , ICont, key_equal, dtl::nat2) intrusive_val_equal;
+ typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
+ (boost::container::dtl::
+ , ICont, hasher, dtl::nat3) intrusive_val_hasher;
+ //In that case obtain the value predicate from the node predicate via predicate_type
+ //if intrusive_val_compare is node_compare<>, nat otherwise
+ typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
+ (boost::container::dtl::
+ , intrusive_val_equal
+ , predicate_type, dtl::nat2) val_equal;
+ typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
+ (boost::container::dtl::
+ , intrusive_val_hasher
+ , predicate_type, dtl::nat3) val_hasher;
typedef allocator_traits<Allocator> allocator_traits_type;
- typedef typename allocator_traits_type::value_type value_type;
+ typedef typename allocator_traits_type::value_type val_type;
typedef ICont intrusive_container;
typedef typename ICont::value_type Node;
typedef typename allocator_traits_type::template
@@ -99,51 +122,91 @@ struct node_alloc_holder
//Constructors for sequence containers
node_alloc_holder()
- : members_()
{}
explicit node_alloc_holder(const ValAlloc &a)
- : members_(a)
+ : NodeAlloc(a)
{}
//Constructors for associative containers
- node_alloc_holder(const value_compare &c, const ValAlloc &a)
- : members_(a, c)
+ node_alloc_holder(const val_compare &c, const ValAlloc &a)
+ : NodeAlloc(a), m_icont(typename ICont::key_compare(c))
+ {}
+
+ node_alloc_holder(const val_hasher &hf, const val_equal &eql, const ValAlloc &a)
+ : NodeAlloc(a)
+ , m_icont(typename ICont::bucket_traits()
+ , typename ICont::hasher(hf)
+ , typename ICont::key_equal(eql))
+ {}
+
+ node_alloc_holder(const val_hasher &hf, const ValAlloc &a)
+ : NodeAlloc(a)
+ , m_icont(typename ICont::bucket_traits()
+ , typename ICont::hasher(hf)
+ , typename ICont::key_equal())
+ {}
+
+ node_alloc_holder(const val_hasher &hf)
+ : m_icont(typename ICont::bucket_traits()
+ , typename ICont::hasher(hf)
+ , typename ICont::key_equal())
{}
explicit node_alloc_holder(const node_alloc_holder &x)
- : members_(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()))
+ : NodeAlloc(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()))
{}
- node_alloc_holder(const node_alloc_holder &x, const value_compare &c)
- : members_(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()), c)
+ node_alloc_holder(const node_alloc_holder &x, const val_compare &c)
+ : NodeAlloc(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()))
+ , m_icont(typename ICont::key_compare(c))
+ {}
+
+ node_alloc_holder(const node_alloc_holder &x, const val_hasher &hf, const val_equal &eql)
+ : NodeAlloc(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()))
+ , m_icont( typename ICont::bucket_traits()
+ , typename ICont::hasher(hf)
+ , typename ICont::key_equal(eql))
+ {}
+
+ node_alloc_holder(const val_hasher &hf, const val_equal &eql)
+ : m_icont(typename ICont::bucket_traits()
+ , typename ICont::hasher(hf)
+ , typename ICont::key_equal(eql))
{}
explicit node_alloc_holder(BOOST_RV_REF(node_alloc_holder) x)
- : members_(boost::move(x.node_alloc()))
+ : NodeAlloc(boost::move(x.node_alloc()))
{ this->icont().swap(x.icont()); }
- explicit node_alloc_holder(const value_compare &c)
- : members_(c)
+ explicit node_alloc_holder(const val_compare &c)
+ : m_icont(typename ICont::key_compare(c))
{}
//helpers for move assignments
- explicit node_alloc_holder(BOOST_RV_REF(node_alloc_holder) x, const value_compare &c)
- : members_(boost::move(x.node_alloc()), c)
+ explicit node_alloc_holder(BOOST_RV_REF(node_alloc_holder) x, const val_compare &c)
+ : NodeAlloc(boost::move(x.node_alloc())), m_icont(typename ICont::key_compare(c))
{ this->icont().swap(x.icont()); }
+ explicit node_alloc_holder(BOOST_RV_REF(node_alloc_holder) x, const val_hasher &hf, const val_equal &eql)
+ : NodeAlloc(boost::move(x.node_alloc()))
+ , m_icont( typename ICont::bucket_traits()
+ , typename ICont::hasher(hf)
+ , typename ICont::key_equal(eql))
+ { this->icont().swap(x.icont()); }
+
void copy_assign_alloc(const node_alloc_holder &x)
{
dtl::bool_<allocator_traits_type::propagate_on_container_copy_assignment::value> flag;
- dtl::assign_alloc( static_cast<NodeAlloc &>(this->members_)
- , static_cast<const NodeAlloc &>(x.members_), flag);
+ dtl::assign_alloc( static_cast<NodeAlloc &>(*this)
+ , static_cast<const NodeAlloc &>(x), flag);
}
void move_assign_alloc( node_alloc_holder &x)
{
dtl::bool_<allocator_traits_type::propagate_on_container_move_assignment::value> flag;
- dtl::move_alloc( static_cast<NodeAlloc &>(this->members_)
- , static_cast<NodeAlloc &>(x.members_), flag);
+ dtl::move_alloc( static_cast<NodeAlloc &>(*this)
+ , static_cast<NodeAlloc &>(x), flag);
}
~node_alloc_holder()
@@ -164,14 +227,18 @@ struct node_alloc_holder
NodePtr create_node(Args &&...args)
{
NodePtr p = this->allocate_one();
- Deallocator node_deallocator(p, this->node_alloc());
- allocator_traits<NodeAlloc>::construct
- ( this->node_alloc()
- , dtl::addressof(p->m_data), boost::forward<Args>(args)...);
- node_deallocator.release();
- //This does not throw
- typedef typename Node::hook_type hook_type;
- ::new(static_cast<hook_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t()) hook_type;
+ BOOST_TRY{
+ ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t()) Node;
+ allocator_traits<NodeAlloc>::construct
+ (this->node_alloc()
+ , p->get_real_data_ptr(), boost::forward<Args>(args)...);
+ }
+ BOOST_CATCH(...) {
+ p->destroy_header();
+ this->node_alloc().deallocate(p, 1);
+ BOOST_RETHROW
+ }
+ BOOST_CATCH_END
return (p);
}
@@ -182,14 +249,19 @@ struct node_alloc_holder
NodePtr create_node(BOOST_MOVE_UREF##N)\
{\
NodePtr p = this->allocate_one();\
- Deallocator node_deallocator(p, this->node_alloc());\
- allocator_traits<NodeAlloc>::construct\
- ( this->node_alloc()\
- , dtl::addressof(p->m_data)\
- BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- node_deallocator.release();\
- typedef typename Node::hook_type hook_type;\
- ::new(static_cast<hook_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t()) hook_type;\
+ BOOST_TRY{\
+ ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t()) Node;\
+ allocator_traits<NodeAlloc>::construct\
+ ( this->node_alloc()\
+ , p->get_real_data_ptr()\
+ BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
+ }\
+ BOOST_CATCH(...) {\
+ p->destroy_header();\
+ this->node_alloc().deallocate(p, 1);\
+ BOOST_RETHROW\
+ }\
+ BOOST_CATCH_END\
return (p);\
}\
//
@@ -202,12 +274,16 @@ struct node_alloc_holder
NodePtr create_node_from_it(const It &it)
{
NodePtr p = this->allocate_one();
- Deallocator node_deallocator(p, this->node_alloc());
- ::boost::container::construct_in_place(this->node_alloc(), dtl::addressof(p->m_data), it);
- node_deallocator.release();
- //This does not throw
- typedef typename Node::hook_type hook_type;
- ::new(static_cast<hook_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t()) hook_type;
+ BOOST_TRY{
+ ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t()) Node;
+ ::boost::container::construct_in_place(this->node_alloc(), p->get_real_data_ptr(), it);
+ }
+ BOOST_CATCH(...) {
+ p->destroy_header();
+ this->node_alloc().deallocate(p, 1);
+ BOOST_RETHROW
+ }
+ BOOST_CATCH_END
return (p);
}
@@ -215,22 +291,26 @@ struct node_alloc_holder
NodePtr create_node_from_key(BOOST_FWD_REF(KeyConvertible) key)
{
NodePtr p = this->allocate_one();
- NodeAlloc &na = this->node_alloc();
- Deallocator node_deallocator(p, this->node_alloc());
- node_allocator_traits_type::construct
- (na, dtl::addressof(p->m_data.first), boost::forward<KeyConvertible>(key));
BOOST_TRY{
- node_allocator_traits_type::construct(na, dtl::addressof(p->m_data.second));
+ ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t()) Node;
+ NodeAlloc &na = this->node_alloc();
+ node_allocator_traits_type::construct
+ (na, dtl::addressof(p->get_real_data().first), boost::forward<KeyConvertible>(key));
+ BOOST_TRY{
+ node_allocator_traits_type::construct(na, dtl::addressof(p->get_real_data().second));
+ }
+ BOOST_CATCH(...){
+ node_allocator_traits_type::destroy(na, dtl::addressof(p->get_real_data().first));
+ BOOST_RETHROW;
+ }
+ BOOST_CATCH_END
}
- BOOST_CATCH(...){
- node_allocator_traits_type::destroy(na, dtl::addressof(p->m_data.first));
- BOOST_RETHROW;
+ BOOST_CATCH(...) {
+ p->destroy_header();
+ this->node_alloc().deallocate(p, 1);
+ BOOST_RETHROW
}
BOOST_CATCH_END
- node_deallocator.release();
- //This does not throw
- typedef typename Node::hook_type hook_type;
- ::new(static_cast<hook_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t()) hook_type;
return (p);
}
@@ -252,30 +332,32 @@ struct node_alloc_holder
(FwdIterator beg, difference_type n, Inserter inserter)
{
if(n){
- typedef typename node_allocator_version_traits_type::multiallocation_chain multiallocation_chain;
+ typedef typename node_allocator_version_traits_type::multiallocation_chain multiallocation_chain_t;
//Try to allocate memory in a single block
- typedef typename multiallocation_chain::iterator multialloc_iterator;
- multiallocation_chain mem;
+ typedef typename multiallocation_chain_t::iterator multialloc_iterator_t;
+ multiallocation_chain_t chain;
NodeAlloc &nalloc = this->node_alloc();
- node_allocator_version_traits_type::allocate_individual(nalloc, n, mem);
- multialloc_iterator itbeg(mem.begin()), itlast(mem.last());
- mem.clear();
+ node_allocator_version_traits_type::allocate_individual(nalloc, n, chain);
+ multialloc_iterator_t itbeg = chain.begin();
+ multialloc_iterator_t itlast = chain.last();
+ chain.clear();
+
Node *p = 0;
- BOOST_TRY{
+ BOOST_TRY{
Deallocator node_deallocator(NodePtr(), nalloc);
dtl::scoped_destructor<NodeAlloc> sdestructor(nalloc, 0);
- while(n--){
+ while(n){
+ --n;
p = boost::movelib::iterator_to_raw_pointer(itbeg);
+ ++itbeg; //Increment iterator before overwriting pointed memory
+ //This does not throw
+ p = ::new(p, boost_container_new_t()) Node;
node_deallocator.set(p);
- ++itbeg;
//This can throw
- boost::container::construct_in_place(nalloc, dtl::addressof(p->m_data), beg);
+ boost::container::construct_in_place(nalloc, p->get_real_data_ptr(), beg);
sdestructor.set(p);
++beg;
- //This does not throw
- typedef typename Node::hook_type hook_type;
- ::new(static_cast<hook_type*>(p), boost_container_new_t()) hook_type;
//This can throw in some containers (predicate might throw).
//(sdestructor will destruct the node and node_deallocator will deallocate it in case of exception)
inserter(*p);
@@ -285,8 +367,9 @@ struct node_alloc_holder
node_deallocator.release();
}
BOOST_CATCH(...){
- mem.incorporate_after(mem.last(), &*itbeg, &*itlast, n);
- node_allocator_version_traits_type::deallocate_individual(this->node_alloc(), mem);
+ p->destroy_header();
+ chain.incorporate_after(chain.last(), &*itbeg, &*itlast, n);
+ node_allocator_version_traits_type::deallocate_individual(this->node_alloc(), chain);
BOOST_RETHROW
}
BOOST_CATCH_END
@@ -339,7 +422,7 @@ struct node_alloc_holder
{}
NodePtr operator()(const Node &other) const
- { return m_holder.create_node(other.m_data); }
+ { return m_holder.create_node(other.get_real_data()); }
node_alloc_holder &m_holder;
};
@@ -351,63 +434,32 @@ struct node_alloc_holder
{}
NodePtr operator()(Node &other)
- { //Use m_data instead of get_data to allow moving const key in [multi]map
- return m_holder.create_node(::boost::move(other.m_data));
+ { //Use get_real_data() instead of get_real_data to allow moving const key in [multi]map
+ return m_holder.create_node(::boost::move(other.get_real_data()));
}
node_alloc_holder &m_holder;
};
- struct members_holder
- : public NodeAlloc
- {
- private:
- members_holder(const members_holder&);
- members_holder & operator=(const members_holder&);
-
- public:
- members_holder()
- : NodeAlloc(), m_icont()
- {}
-
- template<class ConvertibleToAlloc>
- explicit members_holder(BOOST_FWD_REF(ConvertibleToAlloc) c2alloc)
- : NodeAlloc(boost::forward<ConvertibleToAlloc>(c2alloc))
- , m_icont()
- {}
-
- template<class ConvertibleToAlloc>
- members_holder(BOOST_FWD_REF(ConvertibleToAlloc) c2alloc, const value_compare &c)
- : NodeAlloc(boost::forward<ConvertibleToAlloc>(c2alloc))
- , m_icont(typename ICont::key_compare(c))
- {}
-
- explicit members_holder(const value_compare &c)
- : NodeAlloc()
- , m_icont(typename ICont::key_compare(c))
- {}
-
- //The intrusive container
- ICont m_icont;
- };
-
ICont &non_const_icont() const
- { return const_cast<ICont&>(this->members_.m_icont); }
+ { return const_cast<ICont&>(this->m_icont); }
NodeAlloc &node_alloc()
- { return static_cast<NodeAlloc &>(this->members_); }
+ { return static_cast<NodeAlloc &>(*this); }
const NodeAlloc &node_alloc() const
- { return static_cast<const NodeAlloc &>(this->members_); }
-
- members_holder members_;
+ { return static_cast<const NodeAlloc &>(*this); }
public:
ICont &icont()
- { return this->members_.m_icont; }
+ { return this->m_icont; }
const ICont &icont() const
- { return this->members_.m_icont; }
+ { return this->m_icont; }
+
+ private:
+ //The intrusive container
+ ICont m_icont;
};
} //namespace dtl {
diff --git a/boost/container/detail/std_fwd.hpp b/boost/container/detail/std_fwd.hpp
index 09678123ff..a25c411e80 100644
--- a/boost/container/detail/std_fwd.hpp
+++ b/boost/container/detail/std_fwd.hpp
@@ -32,6 +32,9 @@ class allocator;
template<class T>
struct less;
+template<class T>
+struct equal_to;
+
template<class T1, class T2>
struct pair;
diff --git a/boost/container/detail/thread_mutex.hpp b/boost/container/detail/thread_mutex.hpp
index 628f28bb02..66d64b9c5e 100644
--- a/boost/container/detail/thread_mutex.hpp
+++ b/boost/container/detail/thread_mutex.hpp
@@ -176,4 +176,6 @@ class thread_mutex
#endif //BOOST_HAS_PTHREADS
+#include <boost/container/detail/config_end.hpp>
+
#endif // #ifndef BOOST_CONTAINER_DETAIL_THREAD_MUTEX_HPP
diff --git a/boost/container/detail/tree.hpp b/boost/container/detail/tree.hpp
index c32e992c83..498fc73968 100644
--- a/boost/container/detail/tree.hpp
+++ b/boost/container/detail/tree.hpp
@@ -125,10 +125,6 @@ template <class T, class VoidPointer, boost::container::tree_type_enum tree_type
struct tree_node
: public intrusive_tree_hook<VoidPointer, tree_type_value, OptimizeSize>::type
{
- private:
- //BOOST_COPYABLE_AND_MOVABLE(tree_node)
- tree_node();
-
public:
typedef typename intrusive_tree_hook
<VoidPointer, tree_type_value, OptimizeSize>::type hook_type;
@@ -138,55 +134,86 @@ struct tree_node
typedef tree_node< T, VoidPointer
, tree_type_value, OptimizeSize> node_t;
+ typedef typename boost::container::dtl::aligned_storage
+ <sizeof(T), boost::container::dtl::alignment_of<T>::value>::type storage_t;
+ storage_t m_storage;
+
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600) && (BOOST_GCC < 80000)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+ #define BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
BOOST_CONTAINER_FORCEINLINE T &get_data()
- {
- T* ptr = reinterpret_cast<T*>(&this->m_data);
- return *ptr;
- }
+ { return *reinterpret_cast<T*>(this->m_storage.data); }
BOOST_CONTAINER_FORCEINLINE const T &get_data() const
- {
- const T* ptr = reinterpret_cast<const T*>(&this->m_data);
- return *ptr;
- }
+ { return *reinterpret_cast<const T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE T *get_data_ptr()
+ { return reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const T *get_data_ptr() const
+ { return reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE internal_type &get_real_data()
+ { return *reinterpret_cast<internal_type*>(this->m_storage.data); }
- internal_type m_data;
+ BOOST_CONTAINER_FORCEINLINE const internal_type &get_real_data() const
+ { return *reinterpret_cast<const internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE internal_type *get_real_data_ptr()
+ { return reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const internal_type *get_real_data_ptr() const
+ { return reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE ~tree_node()
+ { reinterpret_cast<internal_type*>(this->m_storage.data)->~internal_type(); }
+
+ #if defined(BOOST_CONTAINER_DISABLE_ALIASING_WARNING)
+ #pragma GCC diagnostic pop
+ #undef BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
+ BOOST_CONTAINER_FORCEINLINE void destroy_header()
+ { static_cast<hook_type*>(this)->~hook_type(); }
template<class T1, class T2>
BOOST_CONTAINER_FORCEINLINE void do_assign(const std::pair<const T1, T2> &p)
{
- const_cast<T1&>(m_data.first) = p.first;
- m_data.second = p.second;
+ const_cast<T1&>(this->get_real_data().first) = p.first;
+ this->get_real_data().second = p.second;
}
template<class T1, class T2>
BOOST_CONTAINER_FORCEINLINE void do_assign(const pair<const T1, T2> &p)
{
- const_cast<T1&>(m_data.first) = p.first;
- m_data.second = p.second;
+ const_cast<T1&>(this->get_real_data().first) = p.first;
+ this->get_real_data().second = p.second;
}
template<class V>
BOOST_CONTAINER_FORCEINLINE void do_assign(const V &v)
- { m_data = v; }
+ { this->get_real_data() = v; }
template<class T1, class T2>
BOOST_CONTAINER_FORCEINLINE void do_move_assign(std::pair<const T1, T2> &p)
{
- const_cast<T1&>(m_data.first) = ::boost::move(p.first);
- m_data.second = ::boost::move(p.second);
+ const_cast<T1&>(this->get_real_data().first) = ::boost::move(p.first);
+ this->get_real_data().second = ::boost::move(p.second);
}
template<class T1, class T2>
BOOST_CONTAINER_FORCEINLINE void do_move_assign(pair<const T1, T2> &p)
{
- const_cast<T1&>(m_data.first) = ::boost::move(p.first);
- m_data.second = ::boost::move(p.second);
+ const_cast<T1&>(this->get_real_data().first) = ::boost::move(p.first);
+ this->get_real_data().second = ::boost::move(p.second);
}
template<class V>
BOOST_CONTAINER_FORCEINLINE void do_move_assign(V &v)
- { m_data = ::boost::move(v); }
+ { this->get_real_data() = ::boost::move(v); }
};
template <class T, class VoidPointer, boost::container::tree_type_enum tree_type_value, bool OptimizeSize>
@@ -361,10 +388,10 @@ class RecyclingCloner
{}
BOOST_CONTAINER_FORCEINLINE static void do_assign(node_ptr_type &p, const node_t &other, bool_<true>)
- { p->do_move_assign(const_cast<node_t &>(other).m_data); }
+ { p->do_move_assign(const_cast<node_t &>(other).get_real_data()); }
BOOST_CONTAINER_FORCEINLINE static void do_assign(node_ptr_type &p, const node_t &other, bool_<false>)
- { p->do_assign(other.m_data); }
+ { p->do_assign(other.get_real_data()); }
node_ptr_type operator()(const node_t &other) const
{
@@ -386,7 +413,7 @@ class RecyclingCloner
BOOST_CATCH_END
}
else{
- return m_holder.create_node(other.m_data);
+ return m_holder.create_node(other.get_real_data());
}
}
@@ -1297,6 +1324,15 @@ class tree
count(const K& k) const
{ return size_type(this->icont().count(k, KeyNodeCompare(key_comp()))); }
+ BOOST_CONTAINER_FORCEINLINE bool contains(const key_type& x) const
+ { return this->find(x) != this->cend(); }
+
+ template<typename K>
+ BOOST_CONTAINER_FORCEINLINE
+ typename dtl::enable_if_transparent<key_compare, K, bool>::type
+ contains(const K& x) const
+ { return this->find(x) != this->cend(); }
+
BOOST_CONTAINER_FORCEINLINE iterator lower_bound(const key_type& k)
{ return iterator(this->icont().lower_bound(k, KeyNodeCompare(key_comp()))); }
@@ -1427,6 +1463,8 @@ class tree
{ return !(x < y); }
BOOST_CONTAINER_FORCEINLINE friend void swap(tree& x, tree& y)
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
+ && boost::container::dtl::is_nothrow_swappable<Compare>::value )
{ x.swap(y); }
};
diff --git a/boost/container/detail/type_traits.hpp b/boost/container/detail/type_traits.hpp
index 686cc409b7..5e901540e7 100644
--- a/boost/container/detail/type_traits.hpp
+++ b/boost/container/detail/type_traits.hpp
@@ -61,6 +61,8 @@ using ::boost::move_detail::is_nothrow_swappable;
using ::boost::move_detail::alignment_of;
using ::boost::move_detail::aligned_storage;
using ::boost::move_detail::nat;
+using ::boost::move_detail::nat2;
+using ::boost::move_detail::nat3;
using ::boost::move_detail::max_align_t;
} //namespace dtl {
diff --git a/boost/container/detail/workaround.hpp b/boost/container/detail/workaround.hpp
index 736326b779..4e49c0a04c 100644
--- a/boost/container/detail/workaround.hpp
+++ b/boost/container/detail/workaround.hpp
@@ -108,4 +108,22 @@
#define BOOST_CONTAINER_FORCEINLINE BOOST_FORCEINLINE
#endif
+#if !defined(__has_feature)
+#define BOOST_CONTAINER_HAS_FEATURE(feature) 0
+#else
+#define BOOST_CONTAINER_HAS_FEATURE(feature) __has_feature(feature)
+#endif
+
+//Detect address sanitizer
+#if defined(__SANITIZE_ADDRESS__) || BOOST_CONTAINER_HAS_FEATURE(address_sanitizer)
+#define BOOST_CONTAINER_ASAN
+#endif
+
+
+#if (__cplusplus >= 201703L)
+//CTAD supported
+#else
+#define BOOST_CONTAINER_NO_CXX17_CTAD
+#endif
+
#endif //#ifndef BOOST_CONTAINER_DETAIL_WORKAROUND_HPP
diff --git a/boost/container/flat_map.hpp b/boost/container/flat_map.hpp
index 9679946628..736af1c0bf 100644
--- a/boost/container/flat_map.hpp
+++ b/boost/container/flat_map.hpp
@@ -319,6 +319,21 @@ class flat_map
: m_flat_tree(ordered_range, first, last, comp, dtl::force<const impl_allocator_type>(a))
{}
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified allocator and
+ //! inserts elements from the ordered range [first ,last). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE
+ flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
+ : m_flat_tree(ordered_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! <b>Effects</b>: Constructs an empty flat_map and
//! inserts elements from the range [il.begin() ,il.end()).
@@ -1340,6 +1355,24 @@ class flat_map
BOOST_CONTAINER_FORCEINLINE size_type count(const K& x) const
{ return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ bool contains(const key_type& x) const
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
+
+ //! <b>Requires</b>: This overload is available only if
+ //! key_compare::is_transparent exists.
+ //!
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ template<typename K>
+ bool contains(const K& x) const
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
//! than k, or a.end() if such an element is not found.
//!
@@ -1545,55 +1578,65 @@ class flat_map
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
flat_map(InputIterator, InputIterator) ->
- flat_map< typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_map(InputIterator, InputIterator, Allocator const&) ->
- flat_map< typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_map(InputIterator, InputIterator, Compare const&) ->
- flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+ flat_map(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
+ flat_map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
, Compare
, Allocator>;
template <typename InputIterator>
flat_map(ordered_unique_range_t, InputIterator, InputIterator) ->
- flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_map(ordered_unique_range_t, InputIterator, InputIterator, Allocator const&) ->
- flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&) ->
- flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+flat_map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
+ flat_map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
, Compare
, Allocator>;
@@ -1860,6 +1903,21 @@ class flat_multimap
: m_flat_tree(ordered_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
+ //! inserts elements from the ordered range [first ,last). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE
+ flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
+ : m_flat_tree(ordered_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! <b>Effects</b>: Constructs an empty flat_map and
//! inserts elements from the range [il.begin(), il.end()).
@@ -2631,6 +2689,24 @@ class flat_multimap
BOOST_CONTAINER_FORCEINLINE size_type count(const K& x) const
{ return m_flat_tree.count(x); }
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ bool contains(const key_type& x) const
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
+
+ //! <b>Requires</b>: This overload is available only if
+ //! key_compare::is_transparent exists.
+ //!
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ template<typename K>
+ bool contains(const K& x) const
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
//! than k, or a.end() if such an element is not found.
//!
@@ -2810,57 +2886,67 @@ class flat_multimap
{ x.swap(y); }
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
flat_multimap(InputIterator, InputIterator) ->
- flat_multimap<typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_multimap(InputIterator, InputIterator, Allocator const&) ->
- flat_multimap<typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_multimap(InputIterator, InputIterator, Compare const&) ->
- flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+flat_multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare
- , Allocator>;
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , Compare
+ , Allocator>;
template <typename InputIterator>
flat_multimap(ordered_range_t, InputIterator, InputIterator) ->
- flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_multimap(ordered_range_t, InputIterator, InputIterator, Allocator const&) ->
- flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&) ->
- flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+flat_multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare
- , Allocator>;
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , Compare
+ , Allocator>;
#endif
diff --git a/boost/container/flat_set.hpp b/boost/container/flat_set.hpp
index cfea7c89e2..080beb5fae 100644
--- a/boost/container/flat_set.hpp
+++ b/boost/container/flat_set.hpp
@@ -257,6 +257,22 @@ class flat_set
: tree_t(ordered_unique_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty container using the specified allocator and
+ //! inserts elements from the ordered unique range [first ,last). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
+ //! unique values.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE
+ flat_set(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
+ : tree_t(ordered_unique_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! <b>Effects</b>: Constructs an empty container and
//! inserts elements from the range [il.begin(), il.end()).
@@ -912,6 +928,23 @@ class flat_set
{ return static_cast<size_type>(this->tree_t::find(x) != this->tree_t::cend()); }
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
+
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ bool contains(const key_type& x) const;
+
+ //! <b>Requires</b>: This overload is available only if
+ //! key_compare::is_transparent exists.
+ //!
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ template<typename K>
+ bool contains(const K& x) const;
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
//! than k, or a.end() if such an element is not found.
//!
@@ -1091,39 +1124,62 @@ class flat_set
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
flat_set(InputIterator, InputIterator) ->
- flat_set<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_set(InputIterator, InputIterator, Allocator const&) ->
- flat_set<typename iterator_traits<InputIterator>::value_type, std::less<typename iterator_traits<InputIterator>::value_type>, Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_set(InputIterator, InputIterator, Compare const&) ->
- flat_set<typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_set< it_based_value_type_t<InputIterator> >;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+ flat_set(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_set< it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_set(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_set<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ flat_set< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
template <typename InputIterator>
flat_set(ordered_unique_range_t, InputIterator, InputIterator) ->
- flat_set<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_set(ordered_unique_range_t, InputIterator, InputIterator, Allocator const&) ->
- flat_set<typename iterator_traits<InputIterator>::value_type, std::less<typename iterator_traits<InputIterator>::value_type>, Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_set(ordered_unique_range_t, InputIterator, InputIterator, Compare const&) ->
- flat_set<typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_set< it_based_value_type_t<InputIterator>>;
+
+
+template < typename InputIterator, typename AllocatorOrCompare>
+ flat_set(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_set< it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_set(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_set<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ flat_set< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
#endif
@@ -1303,6 +1359,20 @@ class flat_multiset
: tree_t(ordered_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty flat_multiset using the specified allocator and
+ //! inserts elements from the ordered range [first ,last ). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE flat_multiset(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
+ : tree_t(ordered_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! @copydoc ::boost::container::flat_set::flat_set(std::initializer_list<value_type)
BOOST_CONTAINER_FORCEINLINE flat_multiset(std::initializer_list<value_type> il)
@@ -1685,6 +1755,13 @@ class flat_multiset
//! @copydoc ::boost::container::flat_set::count(const key_type& ) const
size_type count(const key_type& x) const;
+ //! @copydoc ::boost::container::flat_set::contains(const key_type& ) const
+ bool contains(const key_type& x) const;
+
+ //! @copydoc ::boost::container::flat_set::contains(const K& ) const
+ template<typename K>
+ bool contains(const K& x) const;
+
//! @copydoc ::boost::container::flat_set::lower_bound(const key_type& )
iterator lower_bound(const key_type& x);
@@ -1781,43 +1858,62 @@ class flat_multiset
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
flat_multiset(InputIterator, InputIterator) ->
- flat_multiset<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_multiset(InputIterator, InputIterator, Allocator const&) ->
- flat_multiset< typename iterator_traits<InputIterator>::value_type
- , std::less<typename iterator_traits<InputIterator>::value_type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_multiset(InputIterator, InputIterator, Compare const&) ->
- flat_multiset<typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_multiset< it_based_value_type_t<InputIterator> >;
+
+
+template < typename InputIterator, typename AllocatorOrCompare>
+flat_multiset(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_multiset < it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_multiset(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_multiset<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ flat_multiset< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
template <typename InputIterator>
flat_multiset(ordered_range_t, InputIterator, InputIterator) ->
- flat_multiset<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-flat_multiset(ordered_range_t, InputIterator, InputIterator, Allocator const&) ->
- flat_multiset< typename iterator_traits<InputIterator>::value_type
- , std::less<typename iterator_traits<InputIterator>::value_type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-flat_multiset(ordered_range_t, InputIterator, InputIterator, Compare const&) ->
- flat_multiset< typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ flat_multiset< it_based_value_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+flat_multiset(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ flat_multiset < it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
flat_multiset(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_multiset<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ flat_multiset< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
#endif
diff --git a/boost/container/list.hpp b/boost/container/list.hpp
index 68892bc2bb..4be33fc111 100644
--- a/boost/container/list.hpp
+++ b/boost/container/list.hpp
@@ -71,20 +71,54 @@ template <class T, class VoidPointer>
struct list_node
: public list_hook<VoidPointer>::type
{
- private:
- list_node();
-
public:
typedef T value_type;
+ typedef T internal_type;
typedef typename list_hook<VoidPointer>::type hook_type;
- T m_data;
+ typedef typename aligned_storage<sizeof(T), alignment_of<T>::value>::type storage_t;
+ storage_t m_storage;
+
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600) && (BOOST_GCC < 80000)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+ #define BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
+ BOOST_CONTAINER_FORCEINLINE T &get_data()
+ { return *reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const T &get_data() const
+ { return *reinterpret_cast<const T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE T *get_data_ptr()
+ { return reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const T *get_data_ptr() const
+ { return reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE internal_type &get_real_data()
+ { return *reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const internal_type &get_real_data() const
+ { return *reinterpret_cast<const internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE internal_type *get_real_data_ptr()
+ { return reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const internal_type *get_real_data_ptr() const
+ { return reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE ~list_node()
+ { reinterpret_cast<T*>(this->m_storage.data)->~T(); }
- T &get_data()
- { return this->m_data; }
+ #if defined(BOOST_CONTAINER_DISABLE_ALIASING_WARNING)
+ #pragma GCC diagnostic pop
+ #undef BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
- const T &get_data() const
- { return this->m_data; }
+ BOOST_CONTAINER_FORCEINLINE void destroy_header()
+ { static_cast<hook_type*>(this)->~hook_type(); }
};
template <class T, class VoidPointer>
@@ -1464,7 +1498,7 @@ class list
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
list(InputIterator, InputIterator) ->
list<typename iterator_traits<InputIterator>::value_type>;
diff --git a/boost/container/map.hpp b/boost/container/map.hpp
index a88b6a5558..8592c2cb83 100644
--- a/boost/container/map.hpp
+++ b/boost/container/map.hpp
@@ -256,6 +256,22 @@ class map
: base_t(ordered_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty map using the specified allocator object and
+ //! inserts elements from the ordered unique range [first ,last). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
+ //! unique values.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
+ : base_t(ordered_range, first, last, Compare(), a)
+ {}
+
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! <b>Effects</b>: Constructs an empty map and
//! inserts elements from the range [il.begin(), il.end()).
@@ -1119,6 +1135,22 @@ class map
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ bool contains(const key_type& x) const;
+
+ //! <b>Requires</b>: This overload is available only if
+ //! key_compare::is_transparent exists.
+ //!
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ template<typename K>
+ bool contains(const K& x) const;
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
//! than k, or a.end() if such an element is not found.
//!
@@ -1263,55 +1295,65 @@ class map
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
map(InputIterator, InputIterator) ->
- map< typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-map(InputIterator, InputIterator, Allocator const&) ->
- map< typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-map(InputIterator, InputIterator, Compare const&) ->
- map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+ map(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
+ map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
, Compare
, Allocator>;
template <typename InputIterator>
map(ordered_unique_range_t, InputIterator, InputIterator) ->
- map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-map(ordered_unique_range_t, InputIterator, InputIterator, Allocator const&) ->
- map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&) ->
- map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- map< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
+ map< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
, Compare
, Allocator>;
@@ -1536,6 +1578,20 @@ class multimap
: base_t(ordered_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty multimap using the specified allocator and
+ //! inserts elements from the ordered range [first ,last). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type& a)
+ : base_t(ordered_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! <b>Effects</b>: Constructs an empty multimap and
//! and inserts elements from the range [il.begin(), il.end()).
@@ -2017,6 +2073,22 @@ class multimap
template<typename K>
size_type count(const K& x) const;
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ bool contains(const key_type& x) const;
+
+ //! <b>Requires</b>: This overload is available only if
+ //! key_compare::is_transparent exists.
+ //!
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ template<typename K>
+ bool contains(const K& x) const;
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
//! than k, or a.end() if such an element is not found.
//!
@@ -2152,58 +2224,67 @@ class multimap
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
multimap(InputIterator, InputIterator) ->
- multimap<typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-multimap(InputIterator, InputIterator, Allocator const&) ->
- multimap<typename dtl::remove_const< typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-multimap(InputIterator, InputIterator, Compare const&) ->
- multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
+ multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
, Compare
, Allocator>;
template <typename InputIterator>
multimap(ordered_range_t, InputIterator, InputIterator) ->
- multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type>;
-
-template <typename InputIterator, typename Allocator>
-multimap(ordered_range_t, InputIterator, InputIterator, Allocator const&) ->
- multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , std::less<typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-multimap(ordered_range_t, InputIterator, InputIterator, Compare const&) ->
- multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
- , Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_const_first_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- multimap< typename dtl::remove_const<typename iterator_traits<InputIterator>::value_type::first_type>::type
- , typename iterator_traits<InputIterator>::value_type::second_type
+ multimap< it_based_non_const_first_type_t<InputIterator>
+ , it_based_second_type_t<InputIterator>
, Compare
, Allocator>;
-
#endif
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
diff --git a/boost/container/pmr/resource_adaptor.hpp b/boost/container/pmr/resource_adaptor.hpp
index f5ce5c8a18..33406267aa 100644
--- a/boost/container/pmr/resource_adaptor.hpp
+++ b/boost/container/pmr/resource_adaptor.hpp
@@ -172,7 +172,7 @@ class resource_adaptor
{}
explicit resource_adaptor(BOOST_RV_REF(Allocator) a2)
- : base_t(BOOST_MOVE_BASE(base_t, a2))
+ : base_t(::boost::move(a2))
{}
resource_adaptor& operator=(BOOST_COPY_ASSIGN_REF(resource_adaptor) other)
diff --git a/boost/container/set.hpp b/boost/container/set.hpp
index e30089884e..8f9f58d67c 100644
--- a/boost/container/set.hpp
+++ b/boost/container/set.hpp
@@ -227,6 +227,21 @@ class set
: base_t(ordered_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty set using the specified allocator and
+ //! inserts elements from the ordered unique range [first ,last). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
+ //! unique values.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE set(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
+ : base_t(ordered_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! <b>Effects</b>: Constructs an empty set and
//! inserts elements from the range [il.begin(), il.end()).
@@ -772,13 +787,23 @@ class set
BOOST_CONTAINER_FORCEINLINE size_type count(const K& x) const
{ return static_cast<size_type>(this->find(x) != this->cend()); }
- //! <b>Returns</b>: The number of elements with key equivalent to x.
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
+
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
//!
- //! <b>Complexity</b>: log(size())+count(k)
- BOOST_CONTAINER_FORCEINLINE size_type count(const key_type& x)
- { return static_cast<size_type>(this->base_t::find(x) != this->base_t::end()); }
+ //! <b>Complexity</b>: log(size()).
+ bool contains(const key_type& x) const;
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
+ //! <b>Requires</b>: This overload is available only if
+ //! key_compare::is_transparent exists.
+ //!
+ //! <b>Returns</b>: Returns true if there is an element with key
+ //! equivalent to key in the container, otherwise false.
+ //!
+ //! <b>Complexity</b>: log(size()).
+ template<typename K>
+ bool contains(const K& x) const;
//! <b>Returns</b>: An iterator pointing to the first element with key not less
//! than k, or a.end() if such an element is not found.
@@ -865,7 +890,7 @@ class set
//!
//! <b>Complexity</b>: Logarithmic
template<typename K>
- std::pair<iterator,iterator> equal_range(const K& x)
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator,iterator> equal_range(const K& x)
{ return this->base_t::lower_bound_range(x); }
//! <b>Requires</b>: This overload is available only if
@@ -875,7 +900,7 @@ class set
//!
//! <b>Complexity</b>: Logarithmic
template<typename K>
- std::pair<const_iterator,const_iterator> equal_range(const K& x) const
+ BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator,const_iterator> equal_range(const K& x) const
{ return this->base_t::lower_bound_range(x); }
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
@@ -934,39 +959,62 @@ class set
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
set(InputIterator, InputIterator) ->
- set<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-set(InputIterator, InputIterator, Allocator const&) ->
- set<typename iterator_traits<InputIterator>::value_type, std::less<typename iterator_traits<InputIterator>::value_type>, Allocator>;
-
-template <typename InputIterator, typename Compare>
-set(InputIterator, InputIterator, Compare const&) ->
- set<typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ set< it_based_value_type_t<InputIterator> >;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+ set(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ set< it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
set(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- set<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ set< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
template <typename InputIterator>
set(ordered_unique_range_t, InputIterator, InputIterator) ->
- set<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-set(ordered_unique_range_t, InputIterator, InputIterator, Allocator const&) ->
- set<typename iterator_traits<InputIterator>::value_type, std::less<typename iterator_traits<InputIterator>::value_type>, Allocator>;
-
-template <typename InputIterator, typename Compare>
-set(ordered_unique_range_t, InputIterator, InputIterator, Compare const&) ->
- set<typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ set< it_based_value_type_t<InputIterator>>;
+
+
+template < typename InputIterator, typename AllocatorOrCompare>
+ set(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ set< it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
set(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- set<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ set< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
#endif
@@ -1140,6 +1188,20 @@ class multiset
: base_t(ordered_range, first, last, comp, a)
{}
+ //! <b>Effects</b>: Constructs an empty multiset using the specified allocator and
+ //! inserts elements from the ordered range [first ,last ). This function
+ //! is more efficient than the normal range creation for ordered ranges.
+ //!
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
+ //!
+ //! <b>Complexity</b>: Linear in N.
+ //!
+ //! <b>Note</b>: Non-standard extension.
+ template <class InputIterator>
+ BOOST_CONTAINER_FORCEINLINE multiset(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
+ : base_t(ordered_range, first, last, Compare(), a)
+ {}
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
//! @copydoc ::boost::container::set::set(std::initializer_list<value_type>)
BOOST_CONTAINER_FORCEINLINE multiset(std::initializer_list<value_type> il)
@@ -1461,6 +1523,13 @@ class multiset
template<typename K>
size_type count(const K& x) const;
+ //! @copydoc ::boost::container::set::contains(const key_type& ) const
+ bool contains(const key_type& x) const;
+
+ //! @copydoc ::boost::container::set::contains(const K& ) const
+ template<typename K>
+ bool contains(const K& x) const;
+
//! @copydoc ::boost::container::set::lower_bound(const key_type& )
iterator lower_bound(const key_type& x);
@@ -1556,43 +1625,62 @@ class multiset
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
multiset(InputIterator, InputIterator) ->
- multiset<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-multiset(InputIterator, InputIterator, Allocator const&) ->
- multiset< typename iterator_traits<InputIterator>::value_type
- , std::less<typename iterator_traits<InputIterator>::value_type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-multiset(InputIterator, InputIterator, Compare const&) ->
- multiset<typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ multiset< it_based_value_type_t<InputIterator> >;
+
+
+template < typename InputIterator, typename AllocatorOrCompare>
+multiset(InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ multiset < it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
multiset(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- multiset<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ multiset< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
template <typename InputIterator>
multiset(ordered_range_t, InputIterator, InputIterator) ->
- multiset<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-multiset(ordered_range_t, InputIterator, InputIterator, Allocator const&) ->
- multiset< typename iterator_traits<InputIterator>::value_type
- , std::less<typename iterator_traits<InputIterator>::value_type>
- , Allocator>;
-
-template <typename InputIterator, typename Compare>
-multiset(ordered_range_t, InputIterator, InputIterator, Compare const&) ->
- multiset< typename iterator_traits<InputIterator>::value_type, Compare>;
-
-template <typename InputIterator, typename Compare, typename Allocator>
+ multiset< it_based_value_type_t<InputIterator>>;
+
+template < typename InputIterator, typename AllocatorOrCompare>
+multiset(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
+ multiset < it_based_value_type_t<InputIterator>
+ , typename dtl::if_c< // Compare
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , std::less<it_based_value_type_t<InputIterator>>
+ , AllocatorOrCompare
+ >::type
+ , typename dtl::if_c< // Allocator
+ dtl::is_allocator<AllocatorOrCompare>::value
+ , AllocatorOrCompare
+ , new_allocator<it_based_value_type_t<InputIterator>>
+ >::type
+ >;
+
+template < typename InputIterator, typename Compare, typename Allocator
+ , typename = dtl::require_nonallocator_t<Compare>
+ , typename = dtl::require_allocator_t<Allocator>>
multiset(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- multiset<typename iterator_traits<InputIterator>::value_type, Compare, Allocator>;
+ multiset< it_based_value_type_t<InputIterator>
+ , Compare
+ , Allocator>;
#endif
diff --git a/boost/container/slist.hpp b/boost/container/slist.hpp
index 2769070f77..6310f58095 100644
--- a/boost/container/slist.hpp
+++ b/boost/container/slist.hpp
@@ -71,26 +71,62 @@ struct slist_hook
<dtl::bi::void_pointer<VoidPointer>, dtl::bi::link_mode<dtl::bi::normal_link> >::type type;
};
+
template <class T, class VoidPointer>
struct slist_node
: public slist_hook<VoidPointer>::type
{
- private:
- slist_node();
-
public:
typedef T value_type;
+ typedef T internal_type;
typedef typename slist_hook<VoidPointer>::type hook_type;
- T m_data;
+ typedef typename aligned_storage<sizeof(T), alignment_of<T>::value>::type storage_t;
+ storage_t m_storage;
+
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600) && (BOOST_GCC < 80000)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+ #define BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
+ BOOST_CONTAINER_FORCEINLINE T &get_data()
+ { return *reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const T &get_data() const
+ { return *reinterpret_cast<const T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE T *get_data_ptr()
+ { return reinterpret_cast<T*>(this->m_storage.data); }
- T &get_data()
- { return this->m_data; }
+ BOOST_CONTAINER_FORCEINLINE const T *get_data_ptr() const
+ { return reinterpret_cast<T*>(this->m_storage.data); }
- const T &get_data() const
- { return this->m_data; }
+ BOOST_CONTAINER_FORCEINLINE internal_type &get_real_data()
+ { return *reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const internal_type &get_real_data() const
+ { return *reinterpret_cast<const internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE internal_type *get_real_data_ptr()
+ { return reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const internal_type *get_real_data_ptr() const
+ { return reinterpret_cast<internal_type*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE ~slist_node()
+ { reinterpret_cast<T*>(this->m_storage.data)->~T(); }
+
+ #if defined(BOOST_CONTAINER_DISABLE_ALIASING_WARNING)
+ #pragma GCC diagnostic pop
+ #undef BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
+ BOOST_CONTAINER_FORCEINLINE void destroy_header()
+ { static_cast<hook_type*>(this)->~hook_type(); }
};
+
template <class T, class VoidPointer>
struct iiterator_node_value_type< slist_node<T,VoidPointer> > {
typedef T type;
@@ -1632,7 +1668,7 @@ class slist
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InpIt>
slist(InpIt, InpIt) ->
diff --git a/boost/container/small_vector.hpp b/boost/container/small_vector.hpp
index 70704d6b63..c0edac84dc 100644
--- a/boost/container/small_vector.hpp
+++ b/boost/container/small_vector.hpp
@@ -276,10 +276,11 @@ class small_vector_allocator
using Allocator::allocate_many;
using Allocator::deallocate_many;*/
- BOOST_CONTAINER_FORCEINLINE bool is_internal_storage(pointer p) const
+ BOOST_CONTAINER_FORCEINLINE bool is_internal_storage(const_pointer p) const
{ return this->internal_storage() == p; }
- pointer internal_storage() const
+ BOOST_CONTAINER_FORCEINLINE
+ const_pointer internal_storage() const
{
typedef typename Allocator::value_type value_type;
typedef typename allocator_traits_type::size_type size_type;
@@ -292,6 +293,21 @@ class small_vector_allocator
const derived_type &d_base = static_cast<const derived_type &>(v_base);
return d_base.internal_storage();
}
+
+ BOOST_CONTAINER_FORCEINLINE
+ pointer internal_storage()
+ {
+ typedef typename Allocator::value_type value_type;
+ typedef typename allocator_traits_type::size_type size_type;
+ typedef vector_alloc_holder< small_vector_allocator<Allocator>, size_type > vector_alloc_holder_t;
+ typedef vector<value_type, small_vector_allocator<Allocator> > vector_base;
+ typedef small_vector_base<value_type, Allocator> derived_type;
+ //
+ vector_alloc_holder_t &v_holder = static_cast<vector_alloc_holder_t &>(*this);
+ vector_base &v_base = reinterpret_cast<vector_base &>(v_holder);
+ derived_type &d_base = static_cast<derived_type &>(v_base);
+ return d_base.internal_storage();
+ }
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
@@ -328,17 +344,34 @@ class small_vector_base
public:
//Make it public as it will be inherited by small_vector and container
//must have this public member
- typedef typename allocator_traits<SecondaryAllocator>::pointer pointer;
+ typedef typename allocator_traits<SecondaryAllocator>::pointer pointer;
+ typedef typename allocator_traits<SecondaryAllocator>::const_pointer const_pointer;
+ typedef typename allocator_traits<SecondaryAllocator>::void_pointer void_pointer;
+ typedef typename allocator_traits<SecondaryAllocator>::const_void_pointer const_void_pointer;
private:
BOOST_COPYABLE_AND_MOVABLE(small_vector_base)
friend class small_vector_allocator<SecondaryAllocator>;
- pointer internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW
+ BOOST_CONTAINER_FORCEINLINE
+ const_pointer internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW
+ {
+ typedef typename boost::intrusive::pointer_traits<const_pointer>::template
+ rebind_pointer<const unsigned char>::type const_char_pointer;
+ const_void_pointer void_p = boost::intrusive::pointer_traits<const_char_pointer>::
+ pointer_to(*m_storage_start.data);
+ return boost::intrusive::pointer_traits<const_pointer>::static_cast_from(void_p);
+ }
+
+ BOOST_CONTAINER_FORCEINLINE
+ pointer internal_storage() BOOST_NOEXCEPT_OR_NOTHROW
{
- return boost::intrusive::pointer_traits<pointer>::pointer_to
- (*const_cast<T*>(static_cast<const T*>(static_cast<const void*>(m_storage_start.data))));
+ typedef typename boost::intrusive::pointer_traits<pointer>::template
+ rebind_pointer<unsigned char>::type char_pointer;
+ void_pointer void_p = boost::intrusive::pointer_traits<char_pointer>::
+ pointer_to(*m_storage_start.data);
+ return boost::intrusive::pointer_traits<pointer>::static_cast_from(void_p);
}
typedef vector<T, small_vector_allocator<SecondaryAllocator> > base_type;
@@ -575,6 +608,7 @@ class small_vector : public small_vector_base<T, Allocator>
{ this->move_construct_impl(other, other.get_stored_allocator()); }
BOOST_CONTAINER_FORCEINLINE small_vector(BOOST_RV_REF(small_vector) other)
+ BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_assignable<value_type>::value)
: base_type(initial_capacity_t(), internal_capacity(), ::boost::move(other.get_stored_allocator()))
{ this->move_construct_impl(other, other.get_stored_allocator()); }
@@ -594,6 +628,9 @@ class small_vector : public small_vector_base<T, Allocator>
{ return static_cast<small_vector&>(this->base_type::operator=(static_cast<base_type const&>(other))); }
BOOST_CONTAINER_FORCEINLINE small_vector& operator=(BOOST_RV_REF(small_vector) other)
+ BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_assignable<value_type>::value
+ && (allocator_traits_type::propagate_on_container_move_assignment::value
+ || allocator_traits_type::is_always_equal::value))
{ return static_cast<small_vector&>(this->base_type::operator=(BOOST_MOVE_BASE(base_type, other))); }
BOOST_CONTAINER_FORCEINLINE small_vector& operator=(const base_type &other)
diff --git a/boost/container/stable_vector.hpp b/boost/container/stable_vector.hpp
index 41f45df879..1f55c435ad 100644
--- a/boost/container/stable_vector.hpp
+++ b/boost/container/stable_vector.hpp
@@ -114,12 +114,14 @@ struct node_base
typedef typename void_ptr_traits::
template rebind_pointer
<node_base>::type node_base_ptr;
+
+ public:
typedef typename void_ptr_traits::
template rebind_pointer
<node_base_ptr>::type node_base_ptr_ptr;
public:
- node_base(const node_base_ptr_ptr &n)
+ explicit node_base(const node_base_ptr_ptr &n)
: up(n)
{}
@@ -130,6 +132,7 @@ struct node_base
node_base_ptr_ptr up;
};
+
template<typename Pointer>
struct node
: public node_base
@@ -137,11 +140,52 @@ struct node
rebind_pointer<void>::type
>
{
- private:
- node();
-
public:
- typename ::boost::intrusive::pointer_traits<Pointer>::element_type value;
+ typedef typename ::boost::intrusive::pointer_traits<Pointer>::element_type T;
+ typedef node_base
+ <typename ::boost::intrusive::pointer_traits<Pointer>::template
+ rebind_pointer<void>::type
+ > hook_type;
+
+ typedef typename boost::container::dtl::aligned_storage
+ <sizeof(T), boost::container::dtl::alignment_of<T>::value>::type storage_t;
+ storage_t m_storage;
+
+ BOOST_CONTAINER_FORCEINLINE explicit node(const typename hook_type::node_base_ptr_ptr &n)
+ : hook_type(n)
+ {}
+
+ BOOST_CONTAINER_FORCEINLINE node()
+ {}
+
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600) && (BOOST_GCC < 80000)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+ #define BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
+ BOOST_CONTAINER_FORCEINLINE T &get_data()
+ { return *reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const T &get_data() const
+ { return *reinterpret_cast<const T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE T *get_data_ptr()
+ { return reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE const T *get_data_ptr() const
+ { return reinterpret_cast<T*>(this->m_storage.data); }
+
+ BOOST_CONTAINER_FORCEINLINE ~node()
+ { reinterpret_cast<T*>(this->m_storage.data)->~T(); }
+
+ #if defined(BOOST_CONTAINER_DISABLE_ALIASING_WARNING)
+ #pragma GCC diagnostic pop
+ #undef BOOST_CONTAINER_DISABLE_ALIASING_WARNING
+ # endif
+
+ BOOST_CONTAINER_FORCEINLINE void destroy_header()
+ { static_cast<hook_type*>(this)->~hook_type(); }
};
template<class VoidPtr, class VoidAllocator>
@@ -290,7 +334,7 @@ class stable_vector_iterator
public:
//Pointer like operators
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
- { return node_pointer()->value; }
+ { return node_pointer()->get_data(); }
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
{ return ptr_traits::pointer_to(this->operator*()); }
@@ -317,7 +361,7 @@ class stable_vector_iterator
{ stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); }
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
- { return node_ptr_traits::static_cast_from(this->m_pn->up[off])->value; }
+ { return node_ptr_traits::static_cast_from(this->m_pn->up[off])->get_data(); }
stable_vector_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
{
@@ -793,7 +837,7 @@ class stable_vector
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|| allocator_traits_type::is_always_equal::value)
{
- //for move constructor, no aliasing (&x != this) is assummed.
+ //for move constructor, no aliasing (&x != this) is assumed.
BOOST_ASSERT(this != &x);
node_allocator_type &this_alloc = this->priv_node_alloc();
node_allocator_type &x_alloc = x.priv_node_alloc();
@@ -1198,7 +1242,7 @@ class stable_vector
reference front() BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
- return static_cast<node_reference>(*this->index.front()).value;
+ return static_cast<node_reference>(*this->index.front()).get_data();
}
//! <b>Requires</b>: !empty()
@@ -1212,7 +1256,7 @@ class stable_vector
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
- return static_cast<const_node_reference>(*this->index.front()).value;
+ return static_cast<const_node_reference>(*this->index.front()).get_data();
}
//! <b>Requires</b>: !empty()
@@ -1226,7 +1270,7 @@ class stable_vector
reference back() BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
- return static_cast<node_reference>(*this->index[this->size()-1u]).value;
+ return static_cast<node_reference>(*this->index[this->size()-1u]).get_data();
}
//! <b>Requires</b>: !empty()
@@ -1240,7 +1284,7 @@ class stable_vector
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(!this->empty());
- return static_cast<const_node_reference>(*this->index[this->size()-1u]).value;
+ return static_cast<const_node_reference>(*this->index[this->size()-1u]).get_data();
}
//! <b>Requires</b>: size() > n.
@@ -1254,7 +1298,7 @@ class stable_vector
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(this->size() > n);
- return static_cast<node_reference>(*this->index[n]).value;
+ return static_cast<node_reference>(*this->index[n]).get_data();
}
//! <b>Requires</b>: size() > n.
@@ -1268,7 +1312,7 @@ class stable_vector
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
{
BOOST_ASSERT(this->size() > n);
- return static_cast<const_node_reference>(*this->index[n]).value;
+ return static_cast<const_node_reference>(*this->index[n]).get_data();
}
//! <b>Requires</b>: size() >= n.
@@ -1956,8 +2000,7 @@ class stable_vector
void priv_destroy_node(const node_type &n)
{
allocator_traits<node_allocator_type>::
- destroy(this->priv_node_alloc(), dtl::addressof(n.value));
- static_cast<const node_base_type*>(&n)->~node_base_type();
+ destroy(this->priv_node_alloc(), &n);
}
void priv_delete_node(const node_ptr &n)
@@ -1969,26 +2012,40 @@ class stable_vector
template<class Iterator>
void priv_build_node_from_it(const node_ptr &p, const index_iterator &up_index, const Iterator &it)
{
- //This can throw
- boost::container::construct_in_place
- ( this->priv_node_alloc()
- , dtl::addressof(p->value)
- , it);
- //This does not throw
- ::new(static_cast<node_base_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t())
- node_base_type(index_traits_type::ptr_to_node_base_ptr(*up_index));
+ node_type *praw = ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t())
+ node_type(index_traits_type::ptr_to_node_base_ptr(*up_index));
+ BOOST_TRY{
+ //This can throw
+ boost::container::construct_in_place
+ ( this->priv_node_alloc()
+ , praw->get_data_ptr()
+ , it);
+ }
+ BOOST_CATCH(...) {
+ praw->destroy_header();
+ this->priv_node_alloc().deallocate(p, 1);
+ BOOST_RETHROW
+ }
+ BOOST_CATCH_END
}
template<class ValueConvertible>
void priv_build_node_from_convertible(const node_ptr &p, BOOST_FWD_REF(ValueConvertible) value_convertible)
{
- //This can throw
- boost::container::allocator_traits<node_allocator_type>::construct
- ( this->priv_node_alloc()
- , dtl::addressof(p->value)
- , ::boost::forward<ValueConvertible>(value_convertible));
- //This does not throw
- ::new(static_cast<node_base_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t()) node_base_type;
+ node_type *praw = ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t()) node_type;
+ BOOST_TRY{
+ //This can throw
+ boost::container::allocator_traits<node_allocator_type>::construct
+ ( this->priv_node_alloc()
+ , p->get_data_ptr()
+ , ::boost::forward<ValueConvertible>(value_convertible));
+ }
+ BOOST_CATCH(...) {
+ praw->destroy_header();
+ this->priv_node_alloc().deallocate(p, 1);
+ BOOST_RETHROW
+ }
+ BOOST_CATCH_END
}
void priv_swap_members(stable_vector &x)
@@ -2085,7 +2142,7 @@ class stable_vector
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
stable_vector(InputIterator, InputIterator) ->
diff --git a/boost/container/static_vector.hpp b/boost/container/static_vector.hpp
index b40d5c37f6..059640e937 100644
--- a/boost/container/static_vector.hpp
+++ b/boost/container/static_vector.hpp
@@ -96,7 +96,7 @@ class static_storage_allocator
//! Insertion beyond the capacity result in throwing std::bad_alloc() if exceptions are enabled or
//! calling throw_bad_alloc() if not enabled.
//!
-//! std::out_of_range is thrown if out of bound access is performed in <code>at()</code> if exceptions are
+//! std::out_of_range is thrown if out of bounds access is performed in <code>at()</code> if exceptions are
//! enabled, throw_out_of_range() if not enabled.
//!
//!@tparam Value The type of element that will be stored.
@@ -372,6 +372,7 @@ public:
//! @par Complexity
//! Linear O(N).
BOOST_CONTAINER_FORCEINLINE static_vector & operator=(BOOST_RV_REF(static_vector) other)
+ BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_assignable<value_type>::value)
{
return static_cast<static_vector&>(base_t::operator=(BOOST_MOVE_BASE(base_t, other)));
}
diff --git a/boost/container/string.hpp b/boost/container/string.hpp
index 6c0cc96870..ca51cfdd73 100644
--- a/boost/container/string.hpp
+++ b/boost/container/string.hpp
@@ -98,27 +98,25 @@ class basic_string_base
basic_string_base()
: members_()
- { init(); }
+ {}
explicit basic_string_base(const allocator_type& a)
: members_(a)
- { init(); }
+ {}
explicit basic_string_base(BOOST_RV_REF(allocator_type) a)
: members_(boost::move(a))
- { this->init(); }
+ {}
basic_string_base(const allocator_type& a, size_type n)
: members_(a)
{
- this->init();
this->allocate_initial_block(n);
}
explicit basic_string_base(size_type n)
: members_()
{
- this->init();
this->allocate_initial_block(n);
}
@@ -140,6 +138,11 @@ class basic_string_base
pointer start;
long_t()
+ : is_short(0)
+ {}
+
+ long_t(size_type len, size_type stor, pointer ptr)
+ : is_short(0), length(len), storage(stor), start(ptr)
{}
long_t(const long_t &other)
@@ -190,35 +193,49 @@ class basic_string_base
value_type data[UnalignedFinalInternalBufferChars];
};
- union repr_t
+ union repr_t_size_t
{
long_raw_t r;
short_t s;
+ };
- const short_t &short_repr() const
- { return s; }
-
- const long_t &long_repr() const
- { return *static_cast<const long_t*>(static_cast<const void*>(r.data)); }
-
- short_t &short_repr()
- { return s; }
-
- long_t &long_repr()
- { return *static_cast<long_t*>(static_cast<void*>(&r)); }
+ union repr_t
+ {
+ long_raw_t r_aligner;
+ short_t s_aligner;
+ unsigned char data[sizeof(repr_t_size_t)];
};
struct members_holder
: public Allocator
{
+ void init()
+ {
+ short_t &s = *::new(this->m_repr.data) short_t;
+ s.h.is_short = 1;
+ s.h.length = 0;
+ }
+
members_holder()
: Allocator()
- {}
+ { this->init(); }
template<class AllocatorConvertible>
explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a)
: Allocator(boost::forward<AllocatorConvertible>(a))
- {}
+ { this->init(); }
+
+ const short_t *pshort_repr() const
+ { return reinterpret_cast<const short_t*>(m_repr.data); }
+
+ const long_t *plong_repr() const
+ { return reinterpret_cast<const long_t*>(m_repr.data); }
+
+ short_t *pshort_repr()
+ { return reinterpret_cast<short_t*>(m_repr.data); }
+
+ long_t *plong_repr()
+ { return reinterpret_cast<long_t*>(m_repr.data); }
repr_t m_repr;
} members_;
@@ -246,32 +263,51 @@ class basic_string_base
return hdr.is_short != 0;
}
- void is_short(bool yes)
+ short_t *construct_short()
{
- const bool was_short = this->is_short();
- if(yes && !was_short){
- allocator_traits_type::destroy
- ( this->alloc()
- , static_cast<long_t*>(static_cast<void*>(&this->members_.m_repr.r))
- );
- this->members_.m_repr.s.h.is_short = true;
- }
- else if(!yes && was_short){
- allocator_traits_type::construct
- ( this->alloc()
- , static_cast<long_t*>(static_cast<void*>(&this->members_.m_repr.r))
- );
- this->members_.m_repr.s.h.is_short = false;
+ short_t *ps = ::new(this->members_.m_repr.data) short_t;
+ ps->h.is_short = 1;
+ return ps;
+ }
+
+ void destroy_short()
+ {
+ BOOST_ASSERT(this->is_short());
+ this->members_.pshort_repr()->~short_t();
+ }
+
+ short_t *assure_short()
+ {
+ if (!this->is_short()){
+ this->destroy_long();
+ return construct_short();
}
+ return this->members_.pshort_repr();
}
- private:
- void init()
+ long_t *construct_long()
+ {
+ long_t *pl = ::new(this->members_.m_repr.data) long_t;
+ //is_short flag is written in the constructor
+ return pl;
+ }
+
+ void destroy_long()
+ {
+ BOOST_ASSERT(!this->is_short());
+ this->members_.plong_repr()->~long_t();
+ }
+
+ long_t *assure_long()
{
- this->members_.m_repr.s.h.is_short = 1;
- this->members_.m_repr.s.h.length = 0;
+ if (this->is_short()){
+ this->destroy_short();
+ return this->construct_long();
+ }
+ return this->members_.plong_repr();
}
+
protected:
typedef dtl::integral_constant<unsigned,
@@ -334,7 +370,8 @@ class basic_string_base
size_type new_cap = this->next_capacity(n);
pointer reuse = 0;
pointer p = this->allocation_command(allocate_new, n, new_cap, reuse);
- this->is_short(false);
+ BOOST_ASSERT(this->is_short());
+ this->construct_long();
this->priv_long_addr(p);
this->priv_long_size(0);
this->priv_storage(new_cap);
@@ -356,10 +393,16 @@ class basic_string_base
{ return this->priv_storage() - 1; }
pointer priv_short_addr() const
- { return pointer_traits::pointer_to(const_cast<value_type&>(this->members_.m_repr.short_repr().data[0])); }
+ { return pointer_traits::pointer_to(const_cast<value_type&>(this->members_.pshort_repr()->data[0])); }
+
+ //GCC seems a bit confused about uninitialized accesses
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+ #endif
pointer priv_long_addr() const
- { return this->members_.m_repr.long_repr().start; }
+ { return this->members_.plong_repr()->start; }
pointer priv_addr() const
{
@@ -378,7 +421,7 @@ class basic_string_base
}
void priv_long_addr(pointer addr)
- { this->members_.m_repr.long_repr().start = addr; }
+ { this->members_.plong_repr()->start = addr; }
size_type priv_storage() const
{ return this->is_short() ? priv_short_storage() : priv_long_storage(); }
@@ -387,7 +430,7 @@ class basic_string_base
{ return InternalBufferChars; }
size_type priv_long_storage() const
- { return this->members_.m_repr.long_repr().storage; }
+ { return this->members_.plong_repr()->storage; }
void priv_storage(size_type storage)
{
@@ -397,17 +440,17 @@ class basic_string_base
void priv_long_storage(size_type storage)
{
- this->members_.m_repr.long_repr().storage = storage;
+ this->members_.plong_repr()->storage = storage;
}
size_type priv_size() const
{ return this->is_short() ? this->priv_short_size() : this->priv_long_size(); }
size_type priv_short_size() const
- { return this->members_.m_repr.short_repr().h.length; }
+ { return this->members_.pshort_repr()->h.length; }
size_type priv_long_size() const
- { return this->members_.m_repr.long_repr().length; }
+ { return this->members_.plong_repr()->length; }
void priv_size(size_type sz)
{
@@ -418,14 +461,14 @@ class basic_string_base
}
void priv_short_size(size_type sz)
- {
- this->members_.m_repr.s.h.length = (unsigned char)sz;
- }
+ { this->members_.pshort_repr()->h.length = (unsigned char)sz; }
void priv_long_size(size_type sz)
- {
- this->members_.m_repr.long_repr().length = sz;
- }
+ { this->members_.plong_repr()->length = sz; }
+
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
+ #pragma GCC diagnostic pop
+ #endif
void swap_data(basic_string_base& other)
{
@@ -436,23 +479,23 @@ class basic_string_base
other.members_.m_repr = tmp;
}
else{
- short_t short_backup(this->members_.m_repr.short_repr());
- this->members_.m_repr.short_repr().~short_t();
- ::new(&this->members_.m_repr.long_repr()) long_t(other.members_.m_repr.long_repr());
- other.members_.m_repr.long_repr().~long_t();
- ::new(&other.members_.m_repr.short_repr()) short_t(short_backup);
+ short_t short_backup(*this->members_.pshort_repr());
+ this->members_.pshort_repr()->~short_t();
+ ::new(this->members_.plong_repr()) long_t(*other.members_.plong_repr());
+ other.members_.plong_repr()->~long_t();
+ ::new(other.members_.pshort_repr()) short_t(short_backup);
}
}
else{
if(other.is_short()){
- short_t short_backup(other.members_.m_repr.short_repr());
- other.members_.m_repr.short_repr().~short_t();
- ::new(&other.members_.m_repr.long_repr()) long_t(this->members_.m_repr.long_repr());
- this->members_.m_repr.long_repr().~long_t();
- ::new(&this->members_.m_repr.short_repr()) short_t(short_backup);
+ short_t short_backup(*other.members_.pshort_repr());
+ other.members_.pshort_repr()->~short_t();
+ ::new(other.members_.plong_repr()) long_t(*this->members_.plong_repr());
+ this->members_.plong_repr()->~long_t();
+ ::new(this->members_.pshort_repr()) short_t(short_backup);
}
else{
- boost::adl_move_swap(this->members_.m_repr.long_repr(), other.members_.m_repr.long_repr());
+ boost::adl_move_swap(*this->members_.plong_repr(), *other.members_.plong_repr());
}
}
}
@@ -830,7 +873,7 @@ class basic_string
if(flag && this_alloc != x_alloc){
if(!this->is_short()){
this->deallocate_block();
- this->is_short(true);
+ this->assure_short();
Traits::assign(*this->priv_addr(), CharT(0));
this->priv_short_size(0);
}
@@ -853,7 +896,7 @@ class basic_string
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|| allocator_traits_type::is_always_equal::value)
{
- //for move constructor, no aliasing (&x != this) is assummed.
+ //for move constructor, no aliasing (&x != this) is assumed.
BOOST_ASSERT(this != &x);
allocator_type &this_alloc = this->alloc();
allocator_type &x_alloc = x.alloc();
@@ -1159,7 +1202,9 @@ class basic_string
Traits::copy( boost::movelib::to_raw_pointer(this->priv_short_addr())
, boost::movelib::to_raw_pointer(long_addr)
, long_size+1);
- this->is_short(true);
+ BOOST_ASSERT(!this->is_short());
+ this->destroy_long();
+ this->construct_short();
this->alloc().deallocate(long_addr, long_storage);
}
else{
@@ -1763,7 +1808,7 @@ class basic_string
this->priv_construct_null(new_start + new_length);
this->deallocate_block();
- this->is_short(false);
+ this->assure_long();
this->priv_long_addr(new_start);
this->priv_long_size(new_length);
this->priv_long_storage(new_cap);
@@ -1782,7 +1827,7 @@ class basic_string
//Now initialize the new data
priv_uninitialized_copy(first, last, new_start + before);
this->priv_construct_null(new_start + (old_size + n));
- this->is_short(false);
+ this->assure_long();
this->priv_long_addr(new_start);
this->priv_long_size(old_size + n);
this->priv_long_storage(new_cap);
@@ -2790,7 +2835,7 @@ class basic_string
this->priv_construct_null(new_start + new_length);
}
this->deallocate_block();
- this->is_short(false);
+ this->assure_long();
this->priv_long_addr(new_start);
this->priv_long_size(new_length);
this->priv_storage(new_cap);
@@ -2933,7 +2978,7 @@ class basic_string
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
basic_string(InputIterator, InputIterator) ->
diff --git a/boost/container/vector.hpp b/boost/container/vector.hpp
index c3baebc333..b3ff8ed821 100644
--- a/boost/container/vector.hpp
+++ b/boost/container/vector.hpp
@@ -145,19 +145,19 @@ class vec_iterator
//Arithmetic
BOOST_CONTAINER_FORCEINLINE vec_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
- { BOOST_ASSERT(!!m_ptr); m_ptr += off; return *this; }
+ { BOOST_ASSERT(m_ptr || !off); m_ptr += off; return *this; }
BOOST_CONTAINER_FORCEINLINE vec_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
- { BOOST_ASSERT(!!m_ptr); m_ptr -= off; return *this; }
+ { BOOST_ASSERT(m_ptr || !off); m_ptr -= off; return *this; }
BOOST_CONTAINER_FORCEINLINE friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
- { BOOST_ASSERT(!!x.m_ptr); return vec_iterator(x.m_ptr+off); }
+ { BOOST_ASSERT(x.m_ptr || !off); return vec_iterator(x.m_ptr+off); }
BOOST_CONTAINER_FORCEINLINE friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_NOEXCEPT_OR_NOTHROW
- { BOOST_ASSERT(!!right.m_ptr); right.m_ptr += off; return right; }
+ { BOOST_ASSERT(right.m_ptr || !off); right.m_ptr += off; return right; }
BOOST_CONTAINER_FORCEINLINE friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
- { BOOST_ASSERT(!!left.m_ptr); left.m_ptr -= off; return left; }
+ { BOOST_ASSERT(left.m_ptr || !off); left.m_ptr -= off; return left; }
BOOST_CONTAINER_FORCEINLINE friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
{ return left.m_ptr - right.m_ptr; }
@@ -1131,7 +1131,6 @@ class vector
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|| allocator_traits_type::is_always_equal::value)
{
- BOOST_ASSERT(&x != this);
this->priv_move_assign(boost::move(x));
return *this;
}
@@ -1352,7 +1351,11 @@ class vector
//!
//! <b>Complexity</b>: Constant.
BOOST_CONTAINER_FORCEINLINE iterator end() BOOST_NOEXCEPT_OR_NOTHROW
- { return iterator(this->m_holder.start() + this->m_holder.m_size); }
+ {
+ pointer const bg = this->m_holder.start();
+ size_type const sz = this->m_holder.m_size;
+ return iterator(BOOST_LIKELY(sz) ? bg + sz : bg); //Avoid UB on null-pointer arithmetic
+ }
//! <b>Effects</b>: Returns a const_iterator to the end of the vector.
//!
@@ -1412,7 +1415,12 @@ class vector
//!
//! <b>Complexity</b>: Constant.
BOOST_CONTAINER_FORCEINLINE const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return const_iterator(this->m_holder.start() + this->m_holder.m_size); }
+ {
+ pointer const bg = this->m_holder.start();
+ size_type const sz = this->m_holder.m_size;
+ return const_iterator(BOOST_LIKELY(sz) ? bg + sz : bg); //Avoid UB on null-pointer arithmetic
+ }
+ //{ return const_iterator(this->m_holder.start() + this->m_holder.m_size); }
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
//! of the reversed vector.
@@ -2037,9 +2045,10 @@ class vector
//! plus linear to the elements between pos and the last element.
iterator erase(const_iterator first, const_iterator last)
{
- BOOST_ASSERT(first == last ||
- (first < last && this->priv_in_range(first) && this->priv_in_range_or_end(last)));
if (first != last){
+ BOOST_ASSERT(this->priv_in_range(first));
+ BOOST_ASSERT(this->priv_in_range_or_end(last));
+ BOOST_ASSERT(first < last);
T* const old_end_ptr = this->priv_raw_end();
T* const first_ptr = boost::movelib::to_raw_pointer(vector_iterator_get_ptr(first));
T* const last_ptr = boost::movelib::to_raw_pointer(vector_iterator_get_ptr(last));
@@ -2182,7 +2191,7 @@ class vector
this->priv_merge_in_new_buffer(first, n, comp, alloc_version());
}
else{
- iterator pos(this->insert(this->cend(), first, last));
+ this->insert(this->cend(), first, last);
T *const raw_beg = this->priv_raw_begin();
T *const raw_end = this->priv_raw_end();
T *const raw_pos = raw_beg + s;
@@ -2396,26 +2405,21 @@ class vector
, dtl::is_different<OtherAllocator, allocator_type>
>::type * = 0)
{
- //for move assignment, no aliasing (&x != this) is assummed.
- BOOST_ASSERT(this != &x);
+ //for move assignment, no aliasing (&x != this) is assumed.
+ //x.size() == 0 is allowed for buggy std libraries.
+ BOOST_ASSERT(this != &x || x.size() == 0);
allocator_type &this_alloc = this->m_holder.alloc();
allocator_type &x_alloc = x.m_holder.alloc();
const bool propagate_alloc = allocator_traits_type::propagate_on_container_move_assignment::value;
const bool is_propagable_from_x = is_propagable_from(x_alloc, x.m_holder.start(), this_alloc, propagate_alloc);
- const bool is_propagable_from_t = is_propagable_from(this_alloc, m_holder.start(), x_alloc, propagate_alloc);
- const bool are_both_propagable = is_propagable_from_x && is_propagable_from_t;
//Resources can be transferred if both allocators are
//going to be equal after this function (either propagated or already equal)
- if(are_both_propagable){
- //Destroy objects but retain memory in case x reuses it in the future
+ if(is_propagable_from_x){
this->clear();
- this->m_holder.swap_resources(x.m_holder);
- }
- else if(is_propagable_from_x){
- this->clear();
- this->m_holder.deallocate(this->m_holder.m_start, this->m_holder.m_capacity);
+ if(BOOST_LIKELY(!!this->m_holder.m_start))
+ this->m_holder.deallocate(this->m_holder.m_start, this->m_holder.m_capacity);
this->m_holder.steal_resources(x.m_holder);
}
//Else do a one by one move
@@ -2479,6 +2483,9 @@ class vector
this->m_holder.swap_resources(x.m_holder);
}
else{
+ if (BOOST_UNLIKELY(&x == this))
+ return;
+
//Else swap element by element...
bool const t_smaller = this->size() < x.size();
vector &sml = t_smaller ? *this : x;
@@ -2654,7 +2661,8 @@ class vector
if(cp){
const size_type sz = this->size();
if(!sz){
- this->m_holder.deallocate(this->m_holder.m_start, cp);
+ if(BOOST_LIKELY(!!this->m_holder.m_start))
+ this->m_holder.deallocate(this->m_holder.m_start, cp);
this->m_holder.m_start = pointer();
this->m_holder.m_capacity = 0;
}
@@ -2680,7 +2688,8 @@ class vector
if(cp){
const size_type sz = this->size();
if(!sz){
- this->m_holder.deallocate(this->m_holder.m_start, cp);
+ if(BOOST_LIKELY(!!this->m_holder.m_start))
+ this->m_holder.deallocate(this->m_holder.m_start, cp);
this->m_holder.m_start = pointer();
this->m_holder.m_capacity = 0;
}
@@ -3354,7 +3363,7 @@ class vector
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
};
-#if __cplusplus >= 201703L
+#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
template <typename InputIterator>
vector(InputIterator, InputIterator) ->
diff --git a/boost/convert/base.hpp b/boost/convert/base.hpp
index 678d99cfc6..d8a7948e7c 100644
--- a/boost/convert/base.hpp
+++ b/boost/convert/base.hpp
@@ -78,26 +78,26 @@ struct boost::cnv::cnvbase
BOOST_CNV_STRING_TO (string_type const& s, optional< dbl_type>& r) const { str_to_(s, r); }
BOOST_CNV_STRING_TO (string_type const& s, optional< ldbl_type>& r) const { str_to_(s, r); }
// Formatters
-// BOOST_CNV_PARAM (locale, std::locale const) { locale_ = arg[ARG:: locale]; return dncast(); }
- BOOST_CNV_PARAM (base, base::type const) { base_ = arg[ARG:: base]; return dncast(); }
- BOOST_CNV_PARAM (adjust, adjust::type const) { adjust_ = arg[ARG:: adjust]; return dncast(); }
- BOOST_CNV_PARAM (precision, int const) { precision_ = arg[ARG::precision]; return dncast(); }
- BOOST_CNV_PARAM (precision, int) { precision_ = arg[ARG::precision]; return dncast(); }
- BOOST_CNV_PARAM (uppercase, bool const) { uppercase_ = arg[ARG::uppercase]; return dncast(); }
- BOOST_CNV_PARAM (skipws, bool const) { skipws_ = arg[ARG:: skipws]; return dncast(); }
- BOOST_CNV_PARAM (width, int const) { width_ = arg[ARG:: width]; return dncast(); }
- BOOST_CNV_PARAM (fill, char const) { fill_ = arg[ARG:: fill]; return dncast(); }
+// BOOST_CNV_PARAM (locale, std::locale const) { locale_ = arg[ARG:: locale]; return dncast(); }
+ BOOST_CNV_PARAM (base, cnv::base const) { base_ = arg[ARG:: base]; return dncast(); }
+ BOOST_CNV_PARAM (adjust, cnv::adjust const) { adjust_ = arg[ARG:: adjust]; return dncast(); }
+ BOOST_CNV_PARAM (precision, int const) { precision_ = arg[ARG::precision]; return dncast(); }
+ BOOST_CNV_PARAM (precision, int) { precision_ = arg[ARG::precision]; return dncast(); }
+ BOOST_CNV_PARAM (uppercase, bool const) { uppercase_ = arg[ARG::uppercase]; return dncast(); }
+ BOOST_CNV_PARAM (skipws, bool const) { skipws_ = arg[ARG:: skipws]; return dncast(); }
+ BOOST_CNV_PARAM (width, int const) { width_ = arg[ARG:: width]; return dncast(); }
+ BOOST_CNV_PARAM (fill, char const) { fill_ = arg[ARG:: fill]; return dncast(); }
protected:
cnvbase()
:
- base_ (10),
skipws_ (false),
precision_ (0),
uppercase_ (false),
width_ (0),
fill_ (' '),
+ base_ (boost::cnv::base::dec),
adjust_ (boost::cnv::adjust::right)
{}
@@ -162,13 +162,13 @@ struct boost::cnv::cnvbase
// ULONG_MAX(8 bytes) = 18446744073709551615 (20(10) or 32(2) characters)
// double (8 bytes) max is 316 chars
static int const bufsize_ = 512;
- int base_;
bool skipws_;
int precision_;
bool uppercase_;
int width_;
int fill_;
- adjust::type adjust_;
+ cnv::base base_;
+ cnv::adjust adjust_;
// std::locale locale_;
};
diff --git a/boost/convert/detail/boost_parameter_ext.hpp b/boost/convert/detail/boost_parameter_ext.hpp
deleted file mode 100644
index 8d2ee3c402..0000000000
--- a/boost/convert/detail/boost_parameter_ext.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright (c) 2009-2016 Vladimir Batov.
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt.
-
-#ifndef BOOST_PARAMETER_EXT_PRIVATE_HPP
-#define BOOST_PARAMETER_EXT_PRIVATE_HPP
-
-#include <boost/parameter/keyword.hpp>
-
-// A Boost.Parameter extension by Andrey Semashev.
-// This should really go to Boost.Parameter in the end.
-
-namespace boost { namespace parameter {
-
-// The metafunction, given the type of the arguments pack and the keyword tag,
-// returns the corresponding parameter type
-template< typename ArgsT, typename KeywordTagT >
-struct parameter_type
-{
- typedef void type;
-};
-
-template< typename ArgT, typename KeywordTagT >
-struct parameter_type<aux::tagged_argument<KeywordTagT, ArgT>, KeywordTagT>
-{
- typedef typename aux::tagged_argument< KeywordTagT, ArgT >::value_type type;
-};
-
-template< typename KeywordTagT1, typename ArgT, typename KeywordTagT2 >
-struct parameter_type< aux::tagged_argument< KeywordTagT1, ArgT >, KeywordTagT2 >
-{
- typedef void type;
-};
-
-template< typename ArgT, typename TailT, typename KeywordTagT >
-struct parameter_type<
- aux::arg_list<
- aux::tagged_argument< KeywordTagT, ArgT >,
- TailT
- >,
- KeywordTagT
->
-{
- typedef typename aux::tagged_argument< KeywordTagT, ArgT >::value_type type;
-};
-
-template< typename KeywordTagT1, typename ArgT, typename TailT, typename KeywordTagT2 >
-struct parameter_type<
- aux::arg_list<
- aux::tagged_argument< KeywordTagT1, ArgT >,
- TailT
- >,
- KeywordTagT2
-> :
- public parameter_type< TailT, KeywordTagT2 >
-{
-};
-
-}} // boost::parameter
-
-#endif // BOOST_PARAMETER_EXT_PRIVATE_HPP
-
diff --git a/boost/convert/parameters.hpp b/boost/convert/parameters.hpp
index fc427c19b5..21a1376f2e 100644
--- a/boost/convert/parameters.hpp
+++ b/boost/convert/parameters.hpp
@@ -5,29 +5,26 @@
#ifndef BOOST_CONVERT_PARAMETERS_HPP
#define BOOST_CONVERT_PARAMETERS_HPP
-#include <boost/convert/detail/boost_parameter_ext.hpp>
+#include <boost/parameter/name.hpp>
-namespace boost
+namespace boost { namespace cnv
{
- namespace cnv
- {
- struct adjust { enum type { left, right, center };};
- struct base { enum type { bin =2, dec =10, hex =16, oct =8 };};
- struct notation { enum type { fixed, scientific };};
+ enum class adjust { left, right, center };
+ enum class base { bin =2, oct =8, dec =10, hex =16 };
+ enum class notation { fixed, scientific };
- namespace parameter
- {
- BOOST_PARAMETER_KEYWORD(type, adjust)
- BOOST_PARAMETER_KEYWORD(type, base)
- BOOST_PARAMETER_KEYWORD(type, fill)
- BOOST_PARAMETER_KEYWORD(type, locale)
- BOOST_PARAMETER_KEYWORD(type, notation)
- BOOST_PARAMETER_KEYWORD(type, precision)
- BOOST_PARAMETER_KEYWORD(type, skipws)
- BOOST_PARAMETER_KEYWORD(type, uppercase)
- BOOST_PARAMETER_KEYWORD(type, width)
- }
+ namespace parameter
+ {
+ BOOST_PARAMETER_NAME(( adjust, type) adjust)
+ BOOST_PARAMETER_NAME(( base, type) base)
+ BOOST_PARAMETER_NAME(( fill, type) fill)
+ BOOST_PARAMETER_NAME(( locale, type) locale)
+ BOOST_PARAMETER_NAME(( notation, type) notation)
+ BOOST_PARAMETER_NAME((precision, type) precision)
+ BOOST_PARAMETER_NAME(( skipws, type) skipws)
+ BOOST_PARAMETER_NAME((uppercase, type) uppercase)
+ BOOST_PARAMETER_NAME(( width, type) width)
}
-}
+}}
#endif // BOOST_CONVERT_PARAMETERS_HPP
diff --git a/boost/convert/printf.hpp b/boost/convert/printf.hpp
index 443464f0e2..e20634904c 100644
--- a/boost/convert/printf.hpp
+++ b/boost/convert/printf.hpp
@@ -18,10 +18,10 @@ namespace boost { namespace cnv
struct printf;
}}
-struct boost::cnv::printf : public boost::cnv::cnvbase<boost::cnv::printf>
+struct boost::cnv::printf : boost::cnv::cnvbase<boost::cnv::printf>
{
- typedef boost::cnv::printf this_type;
- typedef boost::cnv::cnvbase<this_type> base_type;
+ using this_type = boost::cnv::printf;
+ using base_type = boost::cnv::cnvbase<this_type>;
using base_type::operator();
@@ -50,39 +50,37 @@ struct boost::cnv::printf : public boost::cnv::cnvbase<boost::cnv::printf>
template<typename Type> int pos() const
{
- typedef boost::mpl::vector<double, float,
- int, unsigned int,
- short int, unsigned short int,
- long int, unsigned long int
- > managed_types;
-
- typedef typename boost::mpl::find<managed_types, Type>::type type_iterator;
- typedef typename type_iterator::pos type_pos;
+ using managed_types = boost::mpl::vector<double, float,
+ int, unsigned int,
+ short int, unsigned short int,
+ long int, unsigned long int>;
+ using type_iterator = typename boost::mpl::find<managed_types, Type>::type;
+ using type_pos = typename type_iterator::pos;
return type_pos::value;
}
char const* pformat(int pos) const
{
- static char const* d_format[] = { "%.*f", "%.*f", "%.*d", "%.*u", "%.*hd", "%.*hu", "%.*ld", "%.*lu" }; // Must match managed_types
- static char const* x_format[] = { "%.*f", "%.*f", "%.*x", "%.*x", "%.*hx", "%.*hx", "%.*lx", "%.*lx" }; // Must match managed_types
- static char const* o_format[] = { "%.*f", "%.*f", "%.*o", "%.*o", "%.*ho", "%.*ho", "%.*lo", "%.*lo" }; // Must match managed_types
- char const* format = base_ == 10 ? d_format[pos]
- : base_ == 16 ? x_format[pos]
- : base_ == 8 ? o_format[pos]
- : (BOOST_ASSERT(0), (char const*) 0);
- return format;
+ static char const* d_fmt[] = { "%.*f", "%.*f", "%.*d", "%.*u", "%.*hd", "%.*hu", "%.*ld", "%.*lu" }; // Must match managed_types
+ static char const* x_fmt[] = { "%.*f", "%.*f", "%.*x", "%.*x", "%.*hx", "%.*hx", "%.*lx", "%.*lx" }; // Must match managed_types
+ static char const* o_fmt[] = { "%.*f", "%.*f", "%.*o", "%.*o", "%.*ho", "%.*ho", "%.*lo", "%.*lo" }; // Must match managed_types
+ char const* fmt = base_ == boost::cnv::base::dec ? d_fmt[pos]
+ : base_ == boost::cnv::base::hex ? x_fmt[pos]
+ : base_ == boost::cnv::base::oct ? o_fmt[pos]
+ : (BOOST_ASSERT(0), nullptr);
+ return fmt;
}
char const* format(int pos) const
{
- static char const* d_format[] = { "%f", "%f", "%d", "%u", "%hd", "%hu", "%ld", "%lu" }; // Must match managed_types
- static char const* x_format[] = { "%f", "%f", "%x", "%x", "%hx", "%hx", "%lx", "%lx" }; // Must match managed_types
- static char const* o_format[] = { "%f", "%f", "%o", "%o", "%ho", "%ho", "%lo", "%lo" }; // Must match managed_types
- char const* format = base_ == 10 ? d_format[pos]
- : base_ == 16 ? x_format[pos]
- : base_ == 8 ? o_format[pos]
- : (BOOST_ASSERT(0), (char const*) 0);
- return format;
+ static char const* d_fmt[] = { "%f", "%f", "%d", "%u", "%hd", "%hu", "%ld", "%lu" }; // Must match managed_types
+ static char const* x_fmt[] = { "%f", "%f", "%x", "%x", "%hx", "%hx", "%lx", "%lx" }; // Must match managed_types
+ static char const* o_fmt[] = { "%f", "%f", "%o", "%o", "%ho", "%ho", "%lo", "%lo" }; // Must match managed_types
+ char const* fmt = base_ == boost::cnv::base::dec ? d_fmt[pos]
+ : base_ == boost::cnv::base::hex ? x_fmt[pos]
+ : base_ == boost::cnv::base::oct ? o_fmt[pos]
+ : (BOOST_ASSERT(0), nullptr);
+ return fmt;
}
};
diff --git a/boost/convert/stream.hpp b/boost/convert/stream.hpp
index 086d836175..ee95d6914b 100644
--- a/boost/convert/stream.hpp
+++ b/boost/convert/stream.hpp
@@ -8,6 +8,7 @@
#include <boost/convert/parameters.hpp>
#include <boost/convert/detail/is_string.hpp>
#include <boost/make_default.hpp>
+#include <boost/noncopyable.hpp>
#include <sstream>
#include <iomanip>
@@ -24,8 +25,8 @@ namespace boost { namespace cnv
{
template<class Char> struct basic_stream;
- typedef boost::cnv::basic_stream<char> cstream;
- typedef boost::cnv::basic_stream<wchar_t> wstream;
+ using cstream = boost::cnv::basic_stream<char>;
+ using wstream = boost::cnv::basic_stream<wchar_t>;
}}
template<class Char>
@@ -41,15 +42,15 @@ struct boost::cnv::basic_stream : boost::noncopyable
// to "bool" with std::boolalpha set. Seems that istream state gets unsynced compared
// to the actual underlying buffer.
- typedef Char char_type;
- typedef boost::cnv::basic_stream<char_type> this_type;
- typedef std::basic_stringstream<char_type> stream_type;
- typedef std::basic_istream<char_type> istream_type;
- typedef std::basic_streambuf<char_type> buffer_type;
- typedef std::basic_string<char_type> stdstr_type;
- typedef std::ios_base& (*manipulator_type)(std::ios_base&);
+ using char_type = Char;
+ using this_type = boost::cnv::basic_stream<char_type>;
+ using stream_type = std::basic_stringstream<char_type>;
+ using istream_type = std::basic_istream<char_type>;
+ using buffer_type = std::basic_streambuf<char_type>;
+ using stdstr_type = std::basic_string<char_type>;
+ using manipulator_type = std::ios_base& (*)(std::ios_base&);
- struct ibuffer_type : public buffer_type
+ struct ibuffer_type : buffer_type
{
using buffer_type::eback;
using buffer_type::gptr;
@@ -62,7 +63,7 @@ struct boost::cnv::basic_stream : boost::noncopyable
buffer_type::setg(b, b, b + sz);
}
};
- struct obuffer_type : public buffer_type
+ struct obuffer_type : buffer_type
{
using buffer_type::pbase;
using buffer_type::pptr;
@@ -103,9 +104,9 @@ struct boost::cnv::basic_stream : boost::noncopyable
skipws ? (void) stream_.setf(std::ios::skipws) : stream_.unsetf(std::ios::skipws);
return *this;
}
- BOOST_CNV_PARAM(adjust, boost::cnv::adjust::type const)
+ BOOST_CNV_PARAM(adjust, boost::cnv::adjust const)
{
- cnv::adjust::type adjust = arg[cnv::parameter::adjust];
+ cnv::adjust adjust = arg[cnv::parameter::adjust];
/**/ if (adjust == cnv::adjust:: left) stream_.setf(std::ios::adjustfield, std::ios:: left);
else if (adjust == cnv::adjust::right) stream_.setf(std::ios::adjustfield, std::ios::right);
@@ -113,25 +114,25 @@ struct boost::cnv::basic_stream : boost::noncopyable
return *this;
}
- BOOST_CNV_PARAM(base, boost::cnv::base::type const)
+ BOOST_CNV_PARAM(base, boost::cnv::base const)
{
- cnv::base::type base = arg[cnv::parameter::base];
-
+ cnv::base base = arg[cnv::parameter::base];
+
/**/ if (base == cnv::base::dec) std::dec(stream_);
else if (base == cnv::base::hex) std::hex(stream_);
else if (base == cnv::base::oct) std::oct(stream_);
else BOOST_ASSERT(!"Not implemented");
-
+
return *this;
}
- BOOST_CNV_PARAM(notation, boost::cnv::notation::type const)
+ BOOST_CNV_PARAM(notation, boost::cnv::notation const)
{
- cnv::notation::type notation = arg[cnv::parameter::notation];
-
+ cnv::notation notation = arg[cnv::parameter::notation];
+
/**/ if (notation == cnv::notation:: fixed) std::fixed(stream_);
else if (notation == cnv::notation::scientific) std::scientific(stream_);
else BOOST_ASSERT(!"Not implemented");
-
+
return *this;
}
diff --git a/boost/convert/strtol.hpp b/boost/convert/strtol.hpp
index 4dd26eef7f..37f503d375 100644
--- a/boost/convert/strtol.hpp
+++ b/boost/convert/strtol.hpp
@@ -80,9 +80,10 @@ boost::cnv::strtol::i_to_str(Type in_value, char_type* buf) const
char_type* end = beg;
bool const is_neg = std::is_signed<Type>::value && in_value < 0;
unsigned_type value = static_cast<unsigned_type>(is_neg ? -in_value : in_value);
+ int base = int(base_);
- if (base_ == 10) for (; value; *(--beg) = int(value % 10) + '0', value /= 10); //C1
- else for (; value; *(--beg) = get_char(value % base_), value /= base_);
+ if (base == 10) for (; value; *(--beg) = int(value % 10) + '0', value /= 10); //C1
+ else for (; value; *(--beg) = get_char(value % base), value /= base);
if (beg == end) *(--beg) = '0';
if (is_neg) *(--beg) = '-';
@@ -165,7 +166,7 @@ boost::cnv::strtol::str_to_i(cnv::range<string_type> range, boost::optional<out_
unsigned int ch = *s;
bool const is_negative = ch == '-' ? (ch = *++s, true) : ch == '+' ? (ch = *++s, false) : false;
bool const is_unsigned = boost::is_same<out_type, unsigned_type>::value;
- unsigned int base = base_;
+ int base = int(base_);
/**/ if (is_negative && is_unsigned) return;
else if ((base == 0 || base == 16) && ch == '0' && (*++s == 'x' || *s == 'X')) ++s, base = 16;
@@ -206,7 +207,7 @@ boost::cnv::strtol::str_to_d(cnv::range<string_type> range, optional<out_type>&
typedef typename range_type::value_type ch_type;
size_t const sz = 128;
- ch_type str[sz] = {0}; std::strncpy(str, &*range.begin(), std::min(sz - 1, range.size()));
+ ch_type str[sz] = {0}; std::strncpy(str, &*range.begin(), (std::min)(sz - 1, range.size()));
char* cnv_end = 0;
ldbl_type result = strtold(str, &cnv_end);
bool good = result != -HUGE_VALL && result != HUGE_VALL && *cnv_end == 0; //C3
diff --git a/boost/core/empty_value.hpp b/boost/core/empty_value.hpp
new file mode 100644
index 0000000000..9265f05d3a
--- /dev/null
+++ b/boost/core/empty_value.hpp
@@ -0,0 +1,136 @@
+/*
+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_CORE_EMPTY_VALUE_HPP
+#define BOOST_CORE_EMPTY_VALUE_HPP
+
+#include <boost/config.hpp>
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#include <utility>
+#endif
+
+#if defined(BOOST_GCC_VERSION) && (BOOST_GCC_VERSION >= 40700)
+#define BOOST_DETAIL_EMPTY_VALUE_BASE
+#elif defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1800)
+#define BOOST_DETAIL_EMPTY_VALUE_BASE
+#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1800)
+#define BOOST_DETAIL_EMPTY_VALUE_BASE
+#elif defined(BOOST_CLANG) && !defined(__CUDACC__)
+#if __has_feature(is_empty) && __has_feature(is_final)
+#define BOOST_DETAIL_EMPTY_VALUE_BASE
+#endif
+#endif
+
+namespace boost {
+
+template<class T>
+struct use_empty_value_base {
+ enum {
+#if defined(BOOST_DETAIL_EMPTY_VALUE_BASE)
+ value = __is_empty(T) && !__is_final(T)
+#else
+ value = false
+#endif
+ };
+};
+
+struct empty_init_t { };
+
+namespace empty_ {
+
+template<class T, unsigned N = 0,
+ bool E = boost::use_empty_value_base<T>::value>
+class empty_value {
+public:
+ typedef T type;
+
+#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
+ empty_value() = default;
+#else
+ empty_value() { }
+#endif
+
+ empty_value(boost::empty_init_t)
+ : value_() { }
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template<class... Args>
+ explicit empty_value(boost::empty_init_t, Args&&... args)
+ : value_(std::forward<Args>(args)...) { }
+#else
+ template<class U>
+ empty_value(boost::empty_init_t, U&& value)
+ : value_(std::forward<U>(value)) { }
+#endif
+#else
+ template<class U>
+ empty_value(boost::empty_init_t, const U& value)
+ : value_(value) { }
+#endif
+
+ const T& get() const BOOST_NOEXCEPT {
+ return value_;
+ }
+
+ T& get() BOOST_NOEXCEPT {
+ return value_;
+ }
+
+private:
+ T value_;
+};
+
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+template<class T, unsigned N>
+class empty_value<T, N, true>
+ : T {
+public:
+ typedef T type;
+
+#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
+ empty_value() = default;
+#else
+ empty_value() { }
+#endif
+
+ empty_value(boost::empty_init_t)
+ : T() { }
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template<class... Args>
+ explicit empty_value(boost::empty_init_t, Args&&... args)
+ : T(std::forward<Args>(args)...) { }
+#else
+ template<class U>
+ empty_value(boost::empty_init_t, U&& value)
+ : T(std::forward<U>(value)) { }
+#endif
+#else
+ template<class U>
+ empty_value(boost::empty_init_t, const U& value)
+ : T(value) { }
+#endif
+
+ const T& get() const BOOST_NOEXCEPT {
+ return *this;
+ }
+
+ T& get() BOOST_NOEXCEPT {
+ return *this;
+ }
+};
+#endif
+
+} /* empty_ */
+
+using empty_::empty_value;
+
+} /* boost */
+
+#endif
diff --git a/boost/core/explicit_operator_bool.hpp b/boost/core/explicit_operator_bool.hpp
index a8936e2cd6..d689f114d3 100644
--- a/boost/core/explicit_operator_bool.hpp
+++ b/boost/core/explicit_operator_bool.hpp
@@ -19,6 +19,7 @@
#define BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP
#include <boost/config.hpp>
+#include <boost/config/workaround.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
@@ -52,6 +53,8 @@
return !this->operator! ();\
}
+#if !BOOST_WORKAROUND(BOOST_GCC, < 40700)
+
/*!
* \brief The macro defines a constexpr explicit operator of conversion to \c bool
*
@@ -65,6 +68,12 @@
return !this->operator! ();\
}
+#else
+
+#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL() BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
+
+#endif
+
#else // !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
#if (defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) && !defined(BOOST_NO_COMPILER_CONFIG)
diff --git a/boost/core/lightweight_test.hpp b/boost/core/lightweight_test.hpp
index 73557be21f..45736cb733 100644
--- a/boost/core/lightweight_test.hpp
+++ b/boost/core/lightweight_test.hpp
@@ -14,16 +14,19 @@
// Copyright (2) Beman Dawes 2010, 2011
// Copyright (3) Ion Gaztanaga 2013
//
+// Copyright 2018 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
+//
// 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
//
#include <boost/core/no_exceptions_support.hpp>
-#include <boost/assert.hpp>
#include <boost/current_function.hpp>
#include <iostream>
#include <iterator>
+#include <cstdlib>
#include <cstring>
#include <cstddef>
@@ -39,29 +42,45 @@ namespace boost
namespace detail
{
-struct report_errors_reminder
-{
- bool called_report_errors_function;
+class test_result {
+public:
+ test_result()
+ : report_(false)
+ , errors_(0) {
+#if defined(_MSC_VER) && (_MSC_VER > 1310)
+ ::_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
+#endif
+ }
- report_errors_reminder() : called_report_errors_function(false) {}
+ ~test_result() {
+ if (!report_) {
+ BOOST_LIGHTWEIGHT_TEST_OSTREAM << "main() should return report_errors()" << std::endl;
+ std::abort();
+ }
+ }
- ~report_errors_reminder()
- {
- BOOST_ASSERT(called_report_errors_function); // verify report_errors() was called
+ int& errors() {
+ return errors_;
}
+
+ void done() {
+ report_ = true;
+ }
+
+private:
+ bool report_;
+ int errors_;
};
-inline report_errors_reminder& report_errors_remind()
+inline test_result& test_results()
{
- static report_errors_reminder r;
- return r;
+ static test_result instance;
+ return instance;
}
-inline int & test_errors()
+inline int& test_errors()
{
- static int x = 0;
- report_errors_remind();
- return x;
+ return test_results().errors();
}
inline void test_failed_impl(char const * expr, char const * file, int line, char const * function)
@@ -69,7 +88,7 @@ inline void test_failed_impl(char const * expr, char const * file, int line, cha
BOOST_LIGHTWEIGHT_TEST_OSTREAM
<< file << "(" << line << "): test '" << expr << "' failed in function '"
<< function << "'" << std::endl;
- ++test_errors();
+ ++test_results().errors();
}
inline void error_impl(char const * msg, char const * file, int line, char const * function)
@@ -77,7 +96,7 @@ inline void error_impl(char const * msg, char const * file, int line, char const
BOOST_LIGHTWEIGHT_TEST_OSTREAM
<< file << "(" << line << "): " << msg << " in function '"
<< function << "'" << std::endl;
- ++test_errors();
+ ++test_results().errors();
}
inline void throw_failed_impl(char const * excep, char const * file, int line, char const * function)
@@ -85,7 +104,7 @@ inline void throw_failed_impl(char const * excep, char const * file, int line, c
BOOST_LIGHTWEIGHT_TEST_OSTREAM
<< file << "(" << line << "): Exception '" << excep << "' not thrown in function '"
<< function << "'" << std::endl;
- ++test_errors();
+ ++test_results().errors();
}
// In the comparisons below, it is possible that T and U are signed and unsigned integer types, which generates warnings in some compilers.
@@ -118,105 +137,58 @@ template<class T> inline const void* test_output_impl(T volatile* v) { return co
inline const void* test_output_impl(std::nullptr_t) { return nullptr; }
#endif
-template<class T, class U> inline void test_eq_impl( char const * expr1, char const * expr2,
- char const * file, int line, char const * function, T const & t, U const & u )
-{
- if( t == u )
- {
- report_errors_remind();
- }
- else
- {
- BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " == " << expr2
- << "' failed in function '" << function << "': "
- << "'" << test_output_impl(t) << "' != '" << test_output_impl(u) << "'" << std::endl;
- ++test_errors();
- }
-}
+struct lw_test_eq {
+ template <typename T, typename U>
+ bool operator()(const T& t, const U& u) const { return t == u; }
+ static const char* op() { return "=="; }
+};
-template<class T, class U> inline void test_ne_impl( char const * expr1, char const * expr2,
- char const * file, int line, char const * function, T const & t, U const & u )
-{
- if( t != u )
- {
- report_errors_remind();
- }
- else
- {
- BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " != " << expr2
- << "' failed in function '" << function << "': "
- << "'" << test_output_impl(t) << "' == '" << test_output_impl(u) << "'" << std::endl;
- ++test_errors();
- }
-}
+struct lw_test_ne {
+ template <typename T, typename U>
+ bool operator()(const T& t, const U& u) const { return t != u; }
+ static const char* op() { return "!="; }
+};
-template<class T, class U> inline void test_lt_impl( char const * expr1, char const * expr2,
- char const * file, int line, char const * function, T const & t, U const & u )
-{
- if( t < u )
- {
- report_errors_remind();
- }
- else
- {
- BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " < " << expr2
- << "' failed in function '" << function << "': "
- << "'" << test_output_impl(t) << "' >= '" << test_output_impl(u) << "'" << std::endl;
- ++test_errors();
- }
-}
+struct lw_test_lt {
+ template <typename T, typename U>
+ bool operator()(const T& t, const U& u) const { return t < u; }
+ static const char* op() { return "<"; }
+};
-template<class T, class U> inline void test_le_impl( char const * expr1, char const * expr2,
- char const * file, int line, char const * function, T const & t, U const & u )
-{
- if( t <= u )
- {
- report_errors_remind();
- }
- else
- {
- BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " <= " << expr2
- << "' failed in function '" << function << "': "
- << "'" << test_output_impl(t) << "' > '" << test_output_impl(u) << "'" << std::endl;
- ++test_errors();
- }
-}
+struct lw_test_le {
+ template <typename T, typename U>
+ bool operator()(const T& t, const U& u) const { return t <= u; }
+ static const char* op() { return "<="; }
+};
-template<class T, class U> inline void test_gt_impl( char const * expr1, char const * expr2,
- char const * file, int line, char const * function, T const & t, U const & u )
-{
- if( t > u )
- {
- report_errors_remind();
- }
- else
- {
- BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " > " << expr2
- << "' failed in function '" << function << "': "
- << "'" << test_output_impl(t) << "' <= '" << test_output_impl(u) << "'" << std::endl;
- ++test_errors();
- }
-}
+struct lw_test_gt {
+ template <typename T, typename U>
+ bool operator()(const T& t, const U& u) const { return t > u; }
+ static const char* op() { return ">"; }
+};
-template<class T, class U> inline void test_ge_impl( char const * expr1, char const * expr2,
- char const * file, int line, char const * function, T const & t, U const & u )
+struct lw_test_ge {
+ template <typename T, typename U>
+ bool operator()(const T& t, const U& u) const { return t >= u; }
+ static const char* op() { return ">="; }
+};
+
+template<class BinaryPredicate, class T, class U>
+inline void test_with_impl(BinaryPredicate pred, char const * expr1, char const * expr2,
+ char const * file, int line, char const * function,
+ T const & t, U const & u)
{
- if( t >= u )
+ if( pred(t, u) )
{
- report_errors_remind();
+ test_results();
}
else
{
BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " >= " << expr2
- << "' failed in function '" << function << "': "
- << "'" << test_output_impl(t) << "' < '" << test_output_impl(u) << "'" << std::endl;
- ++test_errors();
+ << file << "(" << line << "): test '" << expr1 << " " << pred.op() << " " << expr2
+ << "' ('" << test_output_impl(t) << "' " << pred.op() << " '" << test_output_impl(u)
+ << "') failed in function '" << function << "'" << std::endl;
+ ++test_results().errors();
}
}
@@ -225,15 +197,14 @@ inline void test_cstr_eq_impl( char const * expr1, char const * expr2,
{
if( std::strcmp(t, u) == 0 )
{
- report_errors_remind();
+ test_results();
}
else
{
BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " == " << expr2
- << "' failed in function '" << function << "': "
- << "'" << t << "' != '" << u << "'" << std::endl;
- ++test_errors();
+ << file << "(" << line << "): test '" << expr1 << " == " << expr2 << "' ('" << t
+ << "' == '" << u << "') failed in function '" << function << "'" << std::endl;
+ ++test_results().errors();
}
}
@@ -242,15 +213,14 @@ inline void test_cstr_ne_impl( char const * expr1, char const * expr2,
{
if( std::strcmp(t, u) != 0 )
{
- report_errors_remind();
+ test_results();
}
else
{
BOOST_LIGHTWEIGHT_TEST_OSTREAM
- << file << "(" << line << "): test '" << expr1 << " == " << expr2
- << "' failed in function '" << function << "': "
- << "'" << t << "' == '" << u << "'" << std::endl;
- ++test_errors();
+ << file << "(" << line << "): test '" << expr1 << " != " << expr2 << "' ('" << t
+ << "' != '" << u << "') failed in function '" << function << "'" << std::endl;
+ ++test_results().errors();
}
}
@@ -313,12 +283,12 @@ void test_all_eq_impl(FormattedOutputFunction& output,
if (error_count == 0)
{
- boost::detail::report_errors_remind();
+ test_results();
}
else
{
output << std::endl;
- ++boost::detail::test_errors();
+ ++test_results().errors();
}
}
@@ -382,12 +352,12 @@ void test_all_with_impl(FormattedOutputFunction& output,
if (error_count == 0)
{
- report_errors_remind();
+ test_results();
}
else
{
output << std::endl;
- ++test_errors();
+ ++test_results().errors();
}
}
@@ -405,10 +375,10 @@ void test_all_with_impl(FormattedOutputFunction& output,
inline int report_errors()
{
- boost::detail::report_errors_remind().called_report_errors_function = true;
-
- int errors = boost::detail::test_errors();
+ boost::detail::test_result& result = boost::detail::test_results();
+ result.done();
+ int errors = result.errors();
if( errors == 0 )
{
BOOST_LIGHTWEIGHT_TEST_OSTREAM
@@ -425,18 +395,18 @@ inline int report_errors()
} // namespace boost
-#define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
+#define BOOST_TEST(expr) ((expr)? (void)::boost::detail::test_results(): ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
#define BOOST_TEST_NOT(expr) BOOST_TEST(!(expr))
#define BOOST_ERROR(msg) ( ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) )
-#define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_NE(expr1,expr2) ( ::boost::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_with_impl(::boost::detail::lw_test_eq(), #expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define BOOST_TEST_NE(expr1,expr2) ( ::boost::detail::test_with_impl(::boost::detail::lw_test_ne(), #expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_LT(expr1,expr2) ( ::boost::detail::test_lt_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_LE(expr1,expr2) ( ::boost::detail::test_le_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_GT(expr1,expr2) ( ::boost::detail::test_gt_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_GE(expr1,expr2) ( ::boost::detail::test_ge_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define BOOST_TEST_LT(expr1,expr2) ( ::boost::detail::test_with_impl(::boost::detail::lw_test_lt(), #expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define BOOST_TEST_LE(expr1,expr2) ( ::boost::detail::test_with_impl(::boost::detail::lw_test_le(), #expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define BOOST_TEST_GT(expr1,expr2) ( ::boost::detail::test_with_impl(::boost::detail::lw_test_gt(), #expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define BOOST_TEST_GE(expr1,expr2) ( ::boost::detail::test_with_impl(::boost::detail::lw_test_ge(), #expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
#define BOOST_TEST_CSTR_EQ(expr1,expr2) ( ::boost::detail::test_cstr_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
#define BOOST_TEST_CSTR_NE(expr1,expr2) ( ::boost::detail::test_cstr_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
@@ -452,6 +422,7 @@ inline int report_errors()
(#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \
} \
catch(EXCEP const&) { \
+ ::boost::detail::test_results(); \
} \
catch(...) { \
::boost::detail::throw_failed_impl \
diff --git a/boost/core/lightweight_test_trait.hpp b/boost/core/lightweight_test_trait.hpp
index 0e2aab4435..13aa3f0335 100644
--- a/boost/core/lightweight_test_trait.hpp
+++ b/boost/core/lightweight_test_trait.hpp
@@ -31,7 +31,7 @@ template< class T > inline void test_trait_impl( char const * trait, void (*)( T
{
if( T::value == expected )
{
- report_errors_remind();
+ test_results();
}
else
{
@@ -42,7 +42,7 @@ template< class T > inline void test_trait_impl( char const * trait, void (*)( T
<< "' (should have been " << ( expected? "true": "false" ) << ")"
<< std::endl;
- ++test_errors();
+ ++test_results().errors();
}
}
diff --git a/boost/core/noncopyable.hpp b/boost/core/noncopyable.hpp
index 6ae8c244dd..4a4f8baba5 100644
--- a/boost/core/noncopyable.hpp
+++ b/boost/core/noncopyable.hpp
@@ -20,7 +20,22 @@ namespace boost {
namespace noncopyable_ // protection from unintended ADL
{
- class noncopyable
+#ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED
+#define BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED
+
+// noncopyable derives from base_token to enable Type Traits to detect
+// whether a type derives from noncopyable without needing the definition
+// of noncopyable itself.
+//
+// The definition of base_token is macro-guarded so that Type Trais can
+// define it locally without including this header, to avoid a dependency
+// on Core.
+
+ struct base_token {};
+
+#endif // #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED
+
+ class noncopyable: base_token
{
protected:
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)
diff --git a/boost/core/quick_exit.hpp b/boost/core/quick_exit.hpp
new file mode 100644
index 0000000000..aa557f440c
--- /dev/null
+++ b/boost/core/quick_exit.hpp
@@ -0,0 +1,59 @@
+#ifndef BOOST_CORE_QUICK_EXIT_HPP_INCLUDED
+#define BOOST_CORE_QUICK_EXIT_HPP_INCLUDED
+
+// MS compatible compilers support #pragma once
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// boost/core/quick_exit.hpp
+//
+// Copyright 2018 Peter Dimov
+//
+// 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)
+
+#include <boost/config.hpp>
+#include <cstdlib>
+
+#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
+
+extern "C" _CRTIMP __cdecl __MINGW_NOTHROW void _exit (int) __MINGW_ATTRIB_NORETURN;
+
+#endif
+
+#if defined(__CYGWIN__) && __cplusplus < 201103L
+
+extern "C" _Noreturn void quick_exit(int);
+
+#endif
+
+namespace boost
+{
+
+BOOST_NORETURN void quick_exit( int code ) BOOST_NOEXCEPT
+{
+#if defined(_MSC_VER) && _MSC_VER < 1900
+
+ ::_exit( code );
+
+#elif defined(__MINGW32__)
+
+ ::_exit( code );
+
+#elif defined(__APPLE__)
+
+ ::_Exit( code );
+
+#else
+
+ ::quick_exit( code );
+
+#endif
+}
+
+} // namespace boost
+
+#endif // #ifndef BOOST_CORE_QUICK_EXIT_HPP_INCLUDED
diff --git a/boost/core/ref.hpp b/boost/core/ref.hpp
index 7d768ffc75..77ef2b6086 100644
--- a/boost/core/ref.hpp
+++ b/boost/core/ref.hpp
@@ -19,7 +19,8 @@
// Copyright (C) 2002 David Abrahams
//
// Copyright (C) 2014 Glen Joseph Fernandes
-// glenfe at live dot com
+// (glenjofe@gmail.com)
+//
// Copyright (C) 2014 Agustin Berge
//
// Distributed under the Boost Software License, Version 1.0. (See
diff --git a/boost/core/swap.hpp b/boost/core/swap.hpp
index baa1be970d..eff6b978df 100644
--- a/boost/core/swap.hpp
+++ b/boost/core/swap.hpp
@@ -21,13 +21,19 @@
// avoid ambiguity when swapping objects of a Boost type that does
// not have its own boost::swap overload.
+#include <boost/core/enable_if.hpp>
+#include <boost/config.hpp>
#include <utility> //for std::swap (C++11)
#include <algorithm> //for std::swap (C++98)
#include <cstddef> //for std::size_t
-#include <boost/config.hpp>
namespace boost_swap_impl
{
+ // we can't use type_traits here
+
+ template<class T> struct is_const { enum _vt { value = 0 }; };
+ template<class T> struct is_const<T const> { enum _vt { value = 1 }; };
+
template<class T>
BOOST_GPU_ENABLED
void swap_impl(T& left, T& right)
@@ -51,7 +57,8 @@ namespace boost
{
template<class T1, class T2>
BOOST_GPU_ENABLED
- void swap(T1& left, T2& right)
+ typename enable_if_c< !boost_swap_impl::is_const<T1>::value && !boost_swap_impl::is_const<T2>::value >::type
+ swap(T1& left, T2& right)
{
::boost_swap_impl::swap_impl(left, right);
}
diff --git a/boost/core/typeinfo.hpp b/boost/core/typeinfo.hpp
index e67b4a3198..a272596a82 100644
--- a/boost/core/typeinfo.hpp
+++ b/boost/core/typeinfo.hpp
@@ -21,6 +21,7 @@
#include <boost/current_function.hpp>
#include <functional>
+#include <cstring>
namespace boost
{
@@ -36,26 +37,43 @@ private:
typeinfo& operator=( typeinfo const& );
char const * name_;
+ void (*lib_id_)();
public:
- explicit typeinfo( char const * name ): name_( name )
+ typeinfo( char const * name, void (*lib_id)() ): name_( name ), lib_id_( lib_id )
{
}
bool operator==( typeinfo const& rhs ) const
{
+#if ( defined(_WIN32) || defined(__CYGWIN__) ) && defined(__GNUC__) && !defined(BOOST_DISABLE_CURRENT_FUNCTION)
+
+ return lib_id_ == rhs.lib_id_? this == &rhs: std::strcmp( name_, rhs.name_ ) == 0;
+
+#else
+
return this == &rhs;
+
+#endif
}
bool operator!=( typeinfo const& rhs ) const
{
- return this != &rhs;
+ return !( *this == rhs );
}
bool before( typeinfo const& rhs ) const
{
+#if ( defined(_WIN32) || defined(__CYGWIN__) ) && defined(__GNUC__) && !defined(BOOST_DISABLE_CURRENT_FUNCTION)
+
+ return lib_id_ == rhs.lib_id_? std::less< typeinfo const* >()( this, &rhs ): std::strcmp( name_, rhs.name_ ) < 0;
+
+#else
+
return std::less< typeinfo const* >()( this, &rhs );
+
+#endif
}
char const* name() const
@@ -74,7 +92,7 @@ inline char const * demangled_name( core::typeinfo const & ti )
namespace detail
{
-template<class T> struct core_typeid_
+template<class T> struct BOOST_SYMBOL_VISIBLE core_typeid_
{
static boost::core::typeinfo ti_;
@@ -84,13 +102,11 @@ template<class T> struct core_typeid_
}
};
-#if defined(__SUNPRO_CC)
-// see #4199, the Sun Studio compiler gets confused about static initialization
-// constructor arguments. But an assignment works just fine.
-template<class T> boost::core::typeinfo core_typeid_< T >::ti_ = core_typeid_< T >::name();
-#else
-template<class T> boost::core::typeinfo core_typeid_< T >::ti_(core_typeid_< T >::name());
-#endif
+BOOST_SYMBOL_VISIBLE inline void core_typeid_lib_id()
+{
+}
+
+template<class T> boost::core::typeinfo core_typeid_< T >::ti_( core_typeid_< T >::name(), &core_typeid_lib_id );
template<class T> struct core_typeid_< T & >: core_typeid_< T >
{
diff --git a/boost/crc.hpp b/boost/crc.hpp
index 6be5aa1d8b..edd66b0daa 100644
--- a/boost/crc.hpp
+++ b/boost/crc.hpp
@@ -1,16 +1,47 @@
// Boost CRC library crc.hpp header file -----------------------------------//
-// Copyright 2001, 2004 Daryle Walker. Use, modification, and distribution are
-// subject to the Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)
+// Copyright 2001, 2004, 2011 Daryle Walker.
+// Distributed under the Boost Software License, Version 1.0. (See the
+// accompanying file LICENSE_1_0.txt or a copy at
+// <http://www.boost.org/LICENSE_1_0.txt>.)
// See <http://www.boost.org/libs/crc/> for the library's home page.
+/** \file
+ \brief A collection of function templates and class templates that compute
+ various forms of Cyclic Redundancy Codes (CRCs).
+
+ \author Daryle Walker
+
+ \version 1.5
+
+ \copyright Boost Software License, version 1.0
+
+ Contains the declarations (and definitions) of various kinds of CRC
+ computation functions, function object types, and encapsulated policy types.
+
+ \warning The sample CRC-computer types were just checked against the
+ <a href="http://regregex.bbcmicro.net/crc-catalogue.htm">Catalogue of
+ parametrised CRC algorithms</a>. New type aliases were added where I got
+ a standard wrong. However, the mistaken <code>typedef</code>s are still
+ there for backwards compatibility.
+ \note There are references to the <i>Rocksoft&trade; Model CRC
+ Algorithm</i>, as described within \"A Painless Guide to CRC Error
+ Detection Algorithms,\" linked from \"<a
+ href="http://www.ross.net/crc/crcpaper.html">CRC: A Paper On CRCs</a>\" by
+ Ross Williams. It will be abbreviated \"RMCA\" in other documentation
+ blocks.
+ */
+
#ifndef BOOST_CRC_HPP
#define BOOST_CRC_HPP
-#include <boost/config.hpp> // for BOOST_STATIC_CONSTANT, etc.
-#include <boost/integer.hpp> // for boost::uint_t
+#include <boost/array.hpp> // for boost::array
+#include <boost/config.hpp> // for BOOST_STATIC_CONSTANT, etc.
+#include <boost/cstdint.hpp> // for UINTMAX_C, boost::uintmax_t
+#include <boost/integer.hpp> // for boost::uint_t
+#include <boost/type_traits/conditional.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#include <climits> // for CHAR_BIT, etc.
#include <cstddef> // for std::size_t
@@ -22,78 +53,58 @@
// on the CRC's bit count. This macro expresses that type in a compact
// form, but also allows an alternate type for compilers that don't support
// dependent types (in template value-parameters).
-#if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || (defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)))
+#if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS))
#define BOOST_CRC_PARM_TYPE typename ::boost::uint_t<Bits>::fast
#else
#define BOOST_CRC_PARM_TYPE unsigned long
#endif
-// Some compilers [MS VC++ 6] cannot correctly set up several versions of a
-// function template unless every template argument can be unambiguously
-// deduced from the function arguments. (The bug is hidden if only one version
-// is needed.) Since all of the CRC function templates have this problem, the
-// workaround is to make up a dummy function argument that encodes the template
-// arguments. Calls to such template functions need all their template
-// arguments explicitly specified. At least one compiler that needs this
-// workaround also needs the default value for the dummy argument to be
-// specified in the definition.
-#if defined(__GNUC__) || !defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)
-#define BOOST_CRC_DUMMY_PARM_TYPE
-#define BOOST_CRC_DUMMY_INIT
-#define BOOST_ACRC_DUMMY_PARM_TYPE
-#define BOOST_ACRC_DUMMY_INIT
-#else
-namespace boost { namespace detail {
- template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
- BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
- bool ReflectIn, bool ReflectRem >
- struct dummy_crc_argument { };
-} }
-#define BOOST_CRC_DUMMY_PARM_TYPE , detail::dummy_crc_argument<Bits, \
- TruncPoly, InitRem, FinalXor, ReflectIn, ReflectRem> *p_
-#define BOOST_CRC_DUMMY_INIT BOOST_CRC_DUMMY_PARM_TYPE = 0
-#define BOOST_ACRC_DUMMY_PARM_TYPE , detail::dummy_crc_argument<Bits, \
- TruncPoly, 0, 0, false, false> *p_
-#define BOOST_ACRC_DUMMY_INIT BOOST_ACRC_DUMMY_PARM_TYPE = 0
-#endif
-
-
namespace boost
{
// Forward declarations ----------------------------------------------------//
+//! Bit-wise CRC computer
template < std::size_t Bits >
class crc_basic;
+//! Table-driven CRC computer, usable as a function object
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly = 0u,
BOOST_CRC_PARM_TYPE InitRem = 0u,
BOOST_CRC_PARM_TYPE FinalXor = 0u, bool ReflectIn = false,
bool ReflectRem = false >
class crc_optimal;
+//! Compute the (unaugmented) CRC of a memory block
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
typename uint_t<Bits>::fast crc( void const *buffer,
- std::size_t byte_count
- BOOST_CRC_DUMMY_PARM_TYPE );
+ std::size_t byte_count);
+//! Compute the CRC of a memory block, with any augmentation provided by user
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
typename uint_t<Bits>::fast augmented_crc( void const *buffer,
- std::size_t byte_count, typename uint_t<Bits>::fast initial_remainder
- BOOST_ACRC_DUMMY_PARM_TYPE );
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
- typename uint_t<Bits>::fast augmented_crc( void const *buffer,
- std::size_t byte_count
- BOOST_ACRC_DUMMY_PARM_TYPE );
+ std::size_t byte_count,
+ typename uint_t<Bits>::fast initial_remainder = 0u);
+//! Computation type for ARC|CRC-16|CRC-IBM|CRC-16/ARC|CRC-16/LHA standard
typedef crc_optimal<16, 0x8005, 0, 0, true, true> crc_16_type;
-typedef crc_optimal<16, 0x1021, 0xFFFF, 0, false, false> crc_ccitt_type;
+//! Computation type for CRC-16/CCITT-FALSE standard
+typedef crc_optimal<16, 0x1021, 0xFFFF, 0, false, false> crc_ccitt_false_t;
+//! Computation type for the CRC mistakenly called the CCITT standard
+typedef crc_ccitt_false_t crc_ccitt_type;
+//! Computation type for the actual
+//! KERMIT|CRC-16/CCITT|CRC-16/CCITT-TRUE|CRC-CCITT standard
+typedef crc_optimal<16, 0x1021, 0, 0, true, true> crc_ccitt_true_t;
+//! Computation type that I mistakenly called the XMODEM standard; it inverts
+//! both reflection parameters and reflects the truncated divisor (Don't use?!)
typedef crc_optimal<16, 0x8408, 0, 0, true, true> crc_xmodem_type;
+//! Computation type for the actual XMODEM|ZMODEM|CRC-16/ACORN standard
+typedef crc_optimal<16, 0x1021, 0, 0, false, false> crc_xmodem_t;
+//! Computation type for CRC-32|CRC-32/ADCCP|PKZIP standard
typedef crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>
crc_32_type;
@@ -101,81 +112,90 @@ typedef crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>
// Forward declarations for implementation detail stuff --------------------//
// (Just for the stuff that will be needed for the next two sections)
+//! \cond
namespace detail
{
- template < std::size_t Bits >
- struct mask_uint_t;
-
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned char>::digits >;
-
- #if USHRT_MAX > UCHAR_MAX
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned short>::digits >;
- #endif
+ //! Mix-in class to add a possibly-reflecting member function
+ template < int BitLength, bool DoIt, int Id = 0 >
+ class possible_reflector;
- #if UINT_MAX > USHRT_MAX
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned int>::digits >;
- #endif
-
- #if ULONG_MAX > UINT_MAX
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned long>::digits >;
- #endif
-
- template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
- struct crc_table_t;
-
- template < std::size_t Bits, bool DoReflect >
- class crc_helper;
-
- #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template < std::size_t Bits >
- class crc_helper< Bits, false >;
- #endif
+ //! Mix-in class for byte-fed, table-driven CRC algorithms
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect,
+ int Id = 0 >
+ class crc_driver;
} // namespace detail
+//! \endcond
// Simple cyclic redundancy code (CRC) class declaration -------------------//
+/** Objects of this type compute the CRC checksum of submitted data, where said
+ data can be entered piecemeal through several different kinds of groupings.
+ Modulo-2 polynomial division steps are always performed bit-wise, without
+ the use of pre-computation tables. Said division uses the altered
+ algorithm, so any data has to be unaugmented.
+
+ \pre 0 \< \a Bits \<= \c std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
+ the RMCA)
+ */
template < std::size_t Bits >
class crc_basic
{
- // Implementation type
- typedef detail::mask_uint_t<Bits> masking_type;
-
public:
// Type
- typedef typename masking_type::least value_type;
+ /** \brief The register type used for computations
+
+ This type is used for CRC calculations and is the type for any returned
+ checksums and returned or submitted remainders, (truncated) divisors, or
+ XOR masks. It is a built-in unsigned integer type.
+ */
+ typedef typename boost::uint_t<Bits>::fast value_type;
// Constant for the template parameter
+ //! A copy of \a Bits provided for meta-programming purposes
BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
- // Constructor
- explicit crc_basic( value_type truncated_polynominal,
+ // Constructor (use the automatic copy-ctr, move-ctr, and dtr)
+ //! Create a computer, separately listing each needed parameter
+ explicit crc_basic( value_type truncated_polynomial,
value_type initial_remainder = 0, value_type final_xor_value = 0,
bool reflect_input = false, bool reflect_remainder = false );
// Internal Operations
+ //! Return the (truncated) polynomial divisor
value_type get_truncated_polynominal() const;
+ //! Return what the polynomial remainder was set to during construction
value_type get_initial_remainder() const;
+ //! Return the XOR-mask used during output processing
value_type get_final_xor_value() const;
+ //! Check if input-bytes will be reflected before processing
bool get_reflect_input() const;
+ //! Check if the remainder will be reflected during output processing
bool get_reflect_remainder() const;
+ //! Return the remainder based from already-processed bits
value_type get_interim_remainder() const;
+ //! Change the interim remainder to a new value
void reset( value_type new_rem );
+ //! Change the interim remainder back to the initial value
void reset();
// External Operations
+ //! Submit a single bit for input processing
void process_bit( bool bit );
- void process_bits( unsigned char bits, std::size_t bit_count );
+ //! Submit the lowest \a bit_length bits of a byte for input processing
+ void process_bits( unsigned char bits, std::size_t bit_length );
+ //! Submit a single byte for input processing
void process_byte( unsigned char byte );
+ //! Submit a memory block for input processing, iterator-pair style
void process_block( void const *bytes_begin, void const *bytes_end );
+ //! Submit a memory block for input processing, pointer-and-size style
void process_bytes( void const *buffer, std::size_t byte_count );
+ //! Return the checksum of the already-processed bits
value_type checksum() const;
private:
@@ -189,67 +209,106 @@ private:
// Optimized cyclic redundancy code (CRC) class declaration ----------------//
+/** Objects of this type compute the CRC checksum of submitted data, where said
+ data can be entered piecemeal through several different kinds of groupings.
+ Modulo-2 polynomial division steps are performed byte-wise, aided by the use
+ of pre-computation tables. Said division uses the altered algorithm, so any
+ data has to be unaugmented.
+
+ \pre 0 \< \a Bits \<= \c std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
+ the RMCA)
+ \tparam TruncPoly The lowest coefficients of the divisor polynomial. The
+ highest-order coefficient is omitted and always assumed to be 1. Defaults
+ to \c 0, i.e. the only non-zero term is the implicit one for
+ x<sup><var>Bits</var></sup>. (\e Poly from the RMCA)
+ \tparam InitRem The (unaugmented) initial state of the polynomial
+ remainder. Defaults to \c 0 if omitted. (\e Init from the RMCA)
+ \tparam FinalXor The (XOR) bit-mask to be applied to the output remainder,
+ after possible reflection but before returning. Defaults to \c 0 (i.e. no
+ bit changes) if omitted. (\e XorOut from the RMCA)
+ \tparam ReflectIn If \c true, input bytes are read lowest-order bit first,
+ otherwise highest-order bit first. Defaults to \c false if omitted.
+ (\e RefIn from the RMCA)
+ \tparam ReflectRem If \c true, the output remainder is reflected before the
+ XOR-mask. Defaults to \c false if omitted. (\e RefOut from the RMCA)
+
+ \todo Get rid of the default value for \a TruncPoly. Choosing a divisor is
+ an important decision with many factors, so a default is never useful,
+ especially a bad one.
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
class crc_optimal
{
- // Implementation type
- typedef detail::mask_uint_t<Bits> masking_type;
-
public:
// Type
- typedef typename masking_type::fast value_type;
+ //! \copydoc boost::crc_basic::value_type
+ typedef typename boost::uint_t<Bits>::fast value_type;
// Constants for the template parameters
+ //! \copydoc boost::crc_basic::bit_count
BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
+ //! A copy of \a TruncPoly provided for meta-programming purposes
BOOST_STATIC_CONSTANT( value_type, truncated_polynominal = TruncPoly );
+ //! A copy of \a InitRem provided for meta-programming purposes
BOOST_STATIC_CONSTANT( value_type, initial_remainder = InitRem );
+ //! A copy of \a FinalXor provided for meta-programming purposes
BOOST_STATIC_CONSTANT( value_type, final_xor_value = FinalXor );
+ //! A copy of \a ReflectIn provided for meta-programming purposes
BOOST_STATIC_CONSTANT( bool, reflect_input = ReflectIn );
+ //! A copy of \a ReflectRem provided for meta-programming purposes
BOOST_STATIC_CONSTANT( bool, reflect_remainder = ReflectRem );
- // Constructor
- explicit crc_optimal( value_type init_rem = InitRem );
+ // Constructor (use the automatic copy-ctr, move-ctr, and dtr)
+ //! Create a computer, giving an initial remainder if desired
+ explicit crc_optimal( value_type init_rem = initial_remainder );
// Internal Operations
+ //! \copybrief boost::crc_basic::get_truncated_polynominal
value_type get_truncated_polynominal() const;
+ //! \copybrief boost::crc_basic::get_initial_remainder
value_type get_initial_remainder() const;
+ //! \copybrief boost::crc_basic::get_final_xor_value
value_type get_final_xor_value() const;
+ //! \copybrief boost::crc_basic::get_reflect_input
bool get_reflect_input() const;
+ //! \copybrief boost::crc_basic::get_reflect_remainder
bool get_reflect_remainder() const;
+ //! \copybrief boost::crc_basic::get_interim_remainder
value_type get_interim_remainder() const;
- void reset( value_type new_rem = InitRem );
+ //! Change the interim remainder to either a given value or the initial one
+ void reset( value_type new_rem = initial_remainder );
// External Operations
+ //! \copybrief boost::crc_basic::process_byte
void process_byte( unsigned char byte );
+ //! \copybrief boost::crc_basic::process_block
void process_block( void const *bytes_begin, void const *bytes_end );
+ //! \copybrief boost::crc_basic::process_bytes
void process_bytes( void const *buffer, std::size_t byte_count );
+ //! \copybrief boost::crc_basic::checksum
value_type checksum() const;
// Operators
+ //! Submit a single byte for input processing, suitable for the STL
void operator ()( unsigned char byte );
+ //! Return the checksum of the already-processed bits, suitable for the STL
value_type operator ()() const;
private:
- // The implementation of output reflection depends on both reflect states.
- BOOST_STATIC_CONSTANT( bool, reflect_output = (ReflectRem != ReflectIn) );
-
- #ifndef __BORLANDC__
- #define BOOST_CRC_REF_OUT_VAL reflect_output
- #else
- typedef crc_optimal self_type;
- #define BOOST_CRC_REF_OUT_VAL (self_type::reflect_output)
- #endif
-
- // More implementation types
- typedef detail::crc_table_t<Bits, TruncPoly, ReflectIn> crc_table_type;
- typedef detail::crc_helper<Bits, ReflectIn> helper_type;
- typedef detail::crc_helper<Bits, BOOST_CRC_REF_OUT_VAL> reflect_out_type;
-
- #undef BOOST_CRC_REF_OUT_VAL
+ // Implementation types
+ // (Processing for reflected input gives reflected remainders, so you only
+ // have to apply output-reflection if Reflect-Remainder doesn't match
+ // Reflect-Input.)
+ typedef detail::possible_reflector<Bits, ReflectIn> reflect_i_type;
+ typedef detail::crc_driver<Bits, TruncPoly, ReflectIn> crc_table_type;
+ typedef detail::possible_reflector<Bits, ReflectRem != ReflectIn>
+ reflect_o_type;
// Member data
value_type rem_;
@@ -259,390 +318,1264 @@ private:
// Implementation detail stuff ---------------------------------------------//
+//! \cond
namespace detail
{
- // Forward declarations for more implementation details
- template < std::size_t Bits >
- struct high_uint_t;
+ /** \brief Meta-programming integral constant for a single-bit bit-mask
+
+ Generates a compile-time constant for a bit-mask that affects a single
+ bit. The \c value will be 2<sup><var>BitIndex</var></sup>. The \c type
+ will be the smallest built-in unsigned integer type that can contain the
+ value, unless there's a built-in type that the system can handle easier,
+ then the \c type will be smallest fast-handled unsigned integer type.
+
+ \pre 0 \<= BitIndex \< \c std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam BitIndex The place of the sole set bit.
+ */
+ template < int BitIndex >
+ struct high_bit_mask_c
+ : boost::integral_constant<typename boost::uint_t< BitIndex + 1 >::fast,
+ ( UINTMAX_C(1) << BitIndex )>
+ {};
+
+ /** \brief Meta-programming integral constant for a lowest-bits bit-mask
+
+ Generates a compile-time constant for a bit-mask that affects the lowest
+ bits. The \c value will be 2<sup><var>BitCount</var></sup> - 1. The
+ \c type will be the smallest built-in unsigned integer type that can
+ contain the value, unless there's a built-in type that the system can
+ handle easier, then the \c type will be smallest fast-handled unsigned
+ integer type.
+
+ \pre 0 \<= BitCount \<= \c std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam BitCount The number of lowest-placed bits set.
+ */
+ template < int BitCount >
+ struct low_bits_mask_c
+ : boost::integral_constant<typename boost::uint_t< BitCount >::fast, (
+ BitCount ? (( (( UINTMAX_C(1) << (BitCount - 1) ) - 1u) << 1 ) |
+ UINTMAX_C( 1 )) : 0u )>
+ {};
+
+ /** \brief Reflects the bits of a number
+
+ Reverses the order of the given number of bits within a value. For
+ instance, if the given reflect count is 5, then the bit values for the
+ 16- and 1-place will switch and the 8- and 2-place will switch, leaving
+ the other bits alone. (The 4-place bit is in the middle, so it wouldn't
+ change.)
+
+ \pre \a Unsigned is a built-in unsigned integer type
+ \pre 0 \< word_length \<= \c std\::numeric_limits\<Unsigned\>\::digits
+
+ \tparam Unsigned The type of \a x.
+
+ \param x The value to be (partially) reflected.
+ \param word_length The number of low-order bits to reflect. Defaults
+ to the total number of value bits in \a Unsigned.
+
+ \return The (partially) reflected value.
+
+ \todo Check if this is the fastest way.
+ */
+ template < typename Unsigned >
+ Unsigned reflect_unsigned( Unsigned x, int word_length
+ = std::numeric_limits<Unsigned>::digits )
+ {
+ for ( Unsigned l = 1u, h = l << (word_length - 1) ; h > l ; h >>= 1, l
+ <<= 1 )
+ {
+ Unsigned const m = h | l, t = x & m;
+
+ if ( (t == h) || (t == l) )
+ x ^= m;
+ }
+
+ return x;
+ }
- template < std::size_t Bits >
- struct reflector;
+ /** \brief Make a byte-to-byte-reflection map
+ Creates a mapping array so the results can be cached. Uses
+ #reflect_unsigned to generate the element values.
- // Traits class for mask; given the bit number
- // (1-based), get the mask for that bit by itself.
- template < std::size_t Bits >
- struct high_uint_t
- : boost::uint_t< Bits >
+ \return An array <var>a</var> such that, for a given byte value
+ <var>i</var>, <code><var>a</var>[ <var>i</var> ]</code> resolves to
+ the reflected value of <var>i</var>.
+ */
+ boost::array< unsigned char, (UINTMAX_C( 1 ) << CHAR_BIT) >
+ inline make_byte_reflection_table()
{
- typedef boost::uint_t<Bits> base_type;
- typedef typename base_type::least least;
- typedef typename base_type::fast fast;
+ boost::array<unsigned char, ( UINTMAX_C(1) << CHAR_BIT )> result;
+ unsigned char i = 0u;
-#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243
- static const least high_bit = 1ul << ( Bits - 1u );
- static const fast high_bit_fast = 1ul << ( Bits - 1u );
-#else
- BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << ( Bits
- - 1u )) );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << ( Bits
- - 1u )) );
-#endif
+ do
+ result[ i ] = reflect_unsigned( i );
+ while ( ++i );
+ return result;
+ }
- }; // boost::detail::high_uint_t
+ /** \brief Reflects the bits of a single byte
+ Reverses the order of all the bits within a value. For instance, the
+ bit values for the 2<sup><code>CHAR_BIT</code> - 1</sup>- and 1-place
+ will switch and the 2<sup><code>CHAR_BIT</code> - 2</sup>- and 2-place
+ will switch, etc.
- // Reflection routine class wrapper
- // (since MS VC++ 6 couldn't handle the unwrapped version)
- template < std::size_t Bits >
- struct reflector
- {
- typedef typename boost::uint_t<Bits>::fast value_type;
+ \param x The byte value to be reflected.
- static value_type reflect( value_type x );
+ \return The reflected value.
- }; // boost::detail::reflector
+ \note Since this could be the most common type of reflection, and the
+ number of states is relatively small, the implementation pre-computes
+ and uses a table of all the results.
+ */
+ inline unsigned char reflect_byte( unsigned char x )
+ {
+ static boost::array<unsigned char, ( UINTMAX_C(1) << CHAR_BIT )> const
+ table = make_byte_reflection_table();
+
+ return table[ x ];
+ }
- // Function that reflects its argument
- template < std::size_t Bits >
- typename reflector<Bits>::value_type
- reflector<Bits>::reflect
- (
- typename reflector<Bits>::value_type x
- )
+ /** \brief Reflects some bits within a single byte
+
+ Like #reflect_unsigned, except it takes advantage of any (long-term)
+ speed gains #reflect_byte may bring.
+
+ \pre 0 \< \a word_length \<= \c CHAR_BIT
+
+ \param x The value to be (partially) reflected.
+ \param word_length The number of low-order bits to reflect.
+
+ \return The (partially) reflected value.
+ */
+ inline unsigned char reflect_sub_byte( unsigned char x, int word_length )
+ { return reflect_byte(x) >> (CHAR_BIT - word_length); }
+
+ /** \brief Possibly reflects the bits of a number
+
+ Reverses the order of the given number of bits within a value. For
+ instance, if the given reflect count is 5, then the bit values for the
+ 16- and 1-place will switch and the 8- and 2-place will switch, leaving
+ the other bits alone. (The 4-place bit is in the middle, so it wouldn't
+ change.) This variant function allows the reflection be controlled by
+ an extra parameter, in case the decision to use reflection is made at
+ run-time.
+
+ \pre \a Unsigned is a built-in unsigned integer type
+ \pre 0 \< word_length \<= \c std\::numeric_limits\<Unsigned\>\::digits
+
+ \tparam Unsigned The type of \a x.
+
+ \param x The value to be (partially) reflected.
+ \param reflect Controls whether \a x is actually reflected (\c true) or
+ left alone (\c false).
+ \param word_length The number of low-order bits to reflect. Defaults
+ to the total number of value bits in \a Unsigned.
+
+ \return The possibly (partially) reflected value.
+ */
+ template < typename Unsigned >
+ inline
+ Unsigned reflect_optionally( Unsigned x, bool reflect, int word_length
+ = std::numeric_limits<Unsigned>::digits )
+ { return reflect ? reflect_unsigned(x, word_length) : x; }
+
+ /** \brief Possibly reflects the bits of a single byte
+
+ Uses #reflect_byte (if \a reflect is \c true).
+
+ \param x The byte value to be (possibly) reflected.
+ \param reflect Whether (\c true) or not (\c false) \a x is reflected.
+
+ \return <code><var>reflect</var> ? reflect_byte(<var>x</var>) :
+ <var>x</var></code>
+ */
+ inline
+ unsigned char reflect_byte_optionally( unsigned char x, bool reflect )
+ { return reflect ? reflect_byte(x) : x; }
+
+ /** \brief Update a CRC remainder by several bits, assuming a non-augmented
+ message
+
+ Performs several steps of division required by the CRC algorithm, giving
+ a new remainder polynomial based on the divisor polynomial and the
+ synthesized dividend polynomial (from the old remainder and the
+ newly-provided input). The computations assume that the CRC is directly
+ exposed from the remainder, without any zero-valued bits augmented to
+ the message bits.
+
+ \pre \a Register and \a Word are both built-in unsigned integer types
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
+ \::digits
+ \pre 0 \< \a word_length \<= std\::numeric_limits\<\a Word\>\::digits
+
+ \tparam Register The type used for representing the remainder and
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i>.
+ \tparam Word The type used for storing the incoming terms of the
+ dividend modulo-2 polynomial. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i> when \a reflect is
+ \c false, and the coefficient of <i>x<sup><var>word_length</var> - 1 -
+ i</sup></i> otherwise.
+
+ \param[in] register_length The number of significant low-order bits
+ to be used from \a Register values. It is the order of the modulo-2
+ polynomial remainder and one less than the divisor's order.
+ \param[in,out] remainder The upper part of the dividend polynomial
+ before division, and the remainder polynomial after.
+ \param[in] new_dividend_bits The coefficients for the next
+ \a word_length lowest terms of the dividend polynomial.
+ \param[in] truncated_divisor The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \param[in] word_length The number of lowest-order bits to read from
+ \a new_dividend_bits.
+ \param[in] reflect If \c false, read from the highest-order marked
+ bit from \a new_dividend_bits and go down, as normal. Otherwise,
+ proceed from the lowest-order bit and go up.
+
+ \note This routine performs a modulo-2 polynomial division variant.
+ The exclusive-or operations are applied in a different order, since
+ that kind of operation is commutative and associative. It also
+ assumes that the zero-valued augment string was applied before this
+ step, which means that the updated remainder can be directly used as
+ the final CRC.
+ */
+ template < typename Register, typename Word >
+ void crc_modulo_word_update( int register_length, Register &remainder, Word
+ new_dividend_bits, Register truncated_divisor, int word_length, bool
+ reflect )
{
- value_type reflection = 0;
- value_type const one = 1;
+ // Create this masking constant outside the loop.
+ Register const high_bit_mask = UINTMAX_C(1) << (register_length - 1);
+
+ // The natural reading order for division is highest digit/bit first.
+ // The "reflect" parameter switches this. However, building a bit mask
+ // for the lowest bit is the easiest....
+ new_dividend_bits = reflect_optionally( new_dividend_bits, !reflect,
+ word_length );
- for ( std::size_t i = 0 ; i < Bits ; ++i, x >>= 1 )
+ // Perform modulo-2 division for each new dividend input bit
+ for ( int i = word_length ; i ; --i, new_dividend_bits >>= 1 )
{
- if ( x & one )
- {
- reflection |= ( one << (Bits - 1u - i) );
- }
+ // compare the new bit with the remainder's highest
+ remainder ^= ( new_dividend_bits & 1u ) ? high_bit_mask : 0u;
+
+ // perform modulo-2 division
+ bool const quotient = remainder & high_bit_mask;
+
+ remainder <<= 1;
+ remainder ^= quotient ? truncated_divisor : 0u;
+
+ // The quotient isn't used for anything, so don't keep it.
}
+ }
- return reflection;
+ /** \brief Update a CRC remainder by a single bit, assuming a non-augmented
+ message
+
+ Performs the next step of division required by the CRC algorithm, giving
+ a new remainder polynomial based on the divisor polynomial and the
+ synthesized dividend polynomial (from the old remainder and the
+ newly-provided input). The computations assume that the CRC is directly
+ exposed from the remainder, without any zero-valued bits augmented to
+ the message bits.
+
+ \pre \a Register is a built-in unsigned integer type
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
+ \::digits
+
+ \tparam Register The type used for representing the remainder and
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i>.
+
+ \param[in] register_length The number of significant low-order bits
+ to be used from \a Register values. It is the order of the modulo-2
+ polynomial remainder and one less than the divisor's order.
+ \param[in,out] remainder The upper part of the dividend polynomial
+ before division, and the remainder polynomial after.
+ \param[in] new_dividend_bit The coefficient for the constant term
+ of the dividend polynomial.
+ \param[in] truncated_divisor The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+
+ \note This routine performs a modulo-2 polynomial division variant.
+ The exclusive-or operations are applied in a different order, since
+ that kind of operation is commutative and associative. It also
+ assumes that the zero-valued augment string was applied before this
+ step, which means that the updated remainder can be directly used as
+ the final CRC.
+ */
+ template < typename Register >
+ inline void crc_modulo_update( int register_length, Register &remainder,
+ bool new_dividend_bit, Register truncated_divisor )
+ {
+ crc_modulo_word_update( register_length, remainder,
+ static_cast<unsigned>(new_dividend_bit), truncated_divisor, 1, false );
}
+ /** \brief Update a CRC remainder by several bits, assuming an augmented
+ message
+
+ Performs several steps of division required by the CRC algorithm, giving
+ a new remainder polynomial based on the divisor polynomial and the
+ synthesized dividend polynomial (from the old remainder and the
+ newly-provided input). The computations assume that a zero-valued
+ string of bits will be appended to the message before extracting the
+ CRC.
+
+ \pre \a Register and \a Word are both built-in unsigned integer types
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
+ \::digits
+ \pre 0 \< \a word_length \<= std\::numeric_limits\<\a Word\>\::digits
+
+ \tparam Register The type used for representing the remainder and
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i>.
+ \tparam Word The type used for storing the incoming terms of the
+ dividend modulo-2 polynomial. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i> when \a reflect is
+ \c false, and the coefficient of <i>x<sup><var>word_length</var> - 1 -
+ i</sup></i> otherwise.
+
+ \param[in] register_length The number of significant low-order bits
+ to be used from \a Register values. It is the order of the modulo-2
+ polynomial remainder and one less than the divisor's order.
+ \param[in,out] remainder The upper part of the dividend polynomial
+ before division, and the remainder polynomial after.
+ \param[in] new_dividend_bits The coefficients for the next
+ \a word_length lowest terms of the dividend polynomial.
+ \param[in] truncated_divisor The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \param[in] word_length The number of lowest-order bits to read from
+ \a new_dividend_bits.
+ \param[in] reflect If \c false, read from the highest-order marked
+ bit from \a new_dividend_bits and go down, as normal. Otherwise,
+ proceed from the lowest-order bit and go up.
+
+ \note This routine performs straight-forward modulo-2 polynomial
+ division. It assumes that an augment string will be processed at the
+ end of the message bits before doing CRC analysis.
+ \todo Use this function somewhere so I can test it.
+ */
+ template < typename Register, typename Word >
+ void augmented_crc_modulo_word_update( int register_length, Register
+ &remainder, Word new_dividend_bits, Register truncated_divisor, int
+ word_length, bool reflect )
+ {
+ // Create this masking constant outside the loop.
+ Register const high_bit_mask = UINTMAX_C(1) << (register_length - 1);
+
+ // The natural reading order for division is highest digit/bit first.
+ // The "reflect" parameter switches this. However, building a bit mask
+ // for the lowest bit is the easiest....
+ new_dividend_bits = reflect_optionally( new_dividend_bits, not reflect,
+ word_length );
+
+ // Perform modulo-2 division for each new dividend input bit
+ for ( int i = word_length ; i ; --i, new_dividend_bits >>= 1 )
+ {
+ bool const quotient = remainder & high_bit_mask;
- // Traits class for masks; given the bit number (1-based),
- // get the mask for that bit and its lower bits.
- template < std::size_t Bits >
- struct mask_uint_t
- : high_uint_t< Bits >
+ remainder <<= 1;
+ remainder |= new_dividend_bits & 1u;
+ remainder ^= quotient ? truncated_divisor : 0u;
+
+ // The quotient isn't used for anything, so don't keep it.
+ }
+ }
+
+ /** \brief Update a CRC remainder by a single bit, assuming an augmented
+ message
+
+ Performs the next step of division required by the CRC algorithm, giving
+ a new remainder polynomial based on the divisor polynomial and the
+ synthesized dividend polynomial (from the old remainder and the
+ newly-provided input). The computations assume that a zero-valued
+ string of bits will be appended to the message before extracting the
+ CRC.
+
+ \pre \a Register is a built-in unsigned integer type
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
+ \::digits
+
+ \tparam Register The type used for representing the remainder and
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i>.
+
+ \param[in] register_length The number of significant low-order bits
+ to be used from \a Register values. It is the order of the modulo-2
+ polynomial remainder and one less than the divisor's order.
+ \param[in,out] remainder The upper part of the dividend polynomial
+ before division, and the remainder polynomial after.
+ \param[in] new_dividend_bit The coefficient for the constant term
+ of the dividend polynomial.
+ \param[in] truncated_divisor The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+
+ \note This routine performs straight-forward modulo-2 polynomial
+ division. It assumes that an augment string will be processed at the
+ end of the message bits before doing CRC analysis.
+ \todo Use this function somewhere so I can test it.
+ */
+ template < typename Register >
+ inline void augmented_crc_modulo_update( int register_length, Register
+ &remainder, bool new_dividend_bit, Register truncated_divisor )
{
- typedef high_uint_t<Bits> base_type;
- typedef typename base_type::least least;
- typedef typename base_type::fast fast;
-
- #ifndef __BORLANDC__
- using base_type::high_bit;
- using base_type::high_bit_fast;
- #else
- BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
- #endif
-
-#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243
- static const least sig_bits = (~( ~( 0ul ) << Bits )) ;
-#else
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) );
-#endif
-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2
- // Work around a weird bug that ICEs the compiler in build_c_cast
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = static_cast<fast>(sig_bits) );
-#else
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-#endif
- }; // boost::detail::mask_uint_t
+ augmented_crc_modulo_word_update( register_length, remainder,
+ static_cast<unsigned>(new_dividend_bit), truncated_divisor, 1, false );
+ }
+
+ /** \brief A mix-in class that returns its argument
+
+ This class template makes a function object that returns its argument
+ as-is. It's one case for #possible_reflector.
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned char>::digits >
- : high_uint_t< std::numeric_limits<unsigned char>::digits >
+ \pre 0 \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t\>
+ \::digits
+
+ \tparam BitLength How many significant bits arguments have.
+ */
+ template < int BitLength >
+ class non_reflector
{
- typedef high_uint_t<std::numeric_limits<unsigned char>::digits>
- base_type;
- typedef base_type::least least;
- typedef base_type::fast fast;
-
- #ifndef __BORLANDC__
- using base_type::high_bit;
- using base_type::high_bit_fast;
- #else
- BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
- #endif
-
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
- }; // boost::detail::mask_uint_t
-
- #if USHRT_MAX > UCHAR_MAX
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned short>::digits >
- : high_uint_t< std::numeric_limits<unsigned short>::digits >
+ public:
+ /** \brief The type to check for specialization
+
+ This is a Boost integral constant indicating that this class
+ does not reflect its input values.
+ */
+ typedef boost::false_type is_reflecting_type;
+ /** \brief The type to check for register bit length
+
+ This is a Boost integral constant indicating how many
+ significant bits won't actually be reflected.
+ */
+ typedef boost::integral_constant< int, BitLength > width_c;
+ /** \brief The type of (not-)reflected values
+
+ This type is the input and output type for the (possible-)
+ reflection function, which does nothing here.
+ */
+ typedef typename boost::uint_t< BitLength >::fast value_type;
+
+ /** \brief Does nothing
+
+ Returns the given value, not reflecting any part of it.
+
+ \param x The value to not be reflected.
+
+ \return \a x
+ */
+ inline static value_type reflect_q( value_type x )
+ { return x; }
+ };
+
+ /** \brief A mix-in class that reflects (the lower part of) its argument,
+ generally for types larger than a byte
+
+ This class template makes a function object that returns its argument
+ after reflecting its lower-order bits. It's one sub-case for
+ #possible_reflector.
+
+ \pre \c CHAR_BIT \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t
+ \>\::digits
+
+ \tparam BitLength How many significant bits arguments have.
+ */
+ template < int BitLength >
+ class super_byte_reflector
{
- typedef high_uint_t<std::numeric_limits<unsigned short>::digits>
- base_type;
- typedef base_type::least least;
- typedef base_type::fast fast;
-
- #ifndef __BORLANDC__
- using base_type::high_bit;
- using base_type::high_bit_fast;
- #else
- BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
- #endif
-
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
- }; // boost::detail::mask_uint_t
- #endif
-
- #if UINT_MAX > USHRT_MAX
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned int>::digits >
- : high_uint_t< std::numeric_limits<unsigned int>::digits >
+ public:
+ /** \brief The type to check for specialization
+
+ This is a Boost integral constant indicating that this class
+ does reflect its input values.
+ */
+ typedef boost::true_type is_reflecting_type;
+ /** \brief The type to check for register bit length
+
+ This is a Boost integral constant indicating how many
+ significant bits will be reflected.
+ */
+ typedef boost::integral_constant< int, BitLength > width_c;
+ /** \brief The type of reflected values
+
+ This is both the input and output type for the reflection function.
+ */
+ typedef typename boost::uint_t< BitLength >::fast value_type;
+
+ /** \brief Reflect (part of) the given value
+
+ Reverses the order of the given number of bits within a value,
+ using #reflect_unsigned.
+
+ \param x The value to be (partially) reflected.
+
+ \return ( <var>x</var> &amp;
+ ~(2<sup><var>width_c</var>\::value</sup> - 1) ) | REFLECT(
+ <var>x</var> &amp; (2<sup><var>width_c</var>\::value</sup> -
+ 1) )
+ */
+ inline static value_type reflect_q( value_type x )
+ { return reflect_unsigned(x, width_c::value); }
+ };
+
+ /** \brief A mix-in class that reflects (the lower part of) its argument,
+ generally for bytes
+
+ This class template makes a function object that returns its argument
+ after reflecting its lower-order bits. It's one sub-case for
+ #possible_reflector.
+
+ \pre 0 \< \a BitLength \<= \c CHAR_BIT
+
+ \tparam BitLength How many significant bits arguments have.
+ */
+ template < int BitLength >
+ class sub_type_reflector
{
- typedef high_uint_t<std::numeric_limits<unsigned int>::digits>
- base_type;
- typedef base_type::least least;
- typedef base_type::fast fast;
-
- #ifndef __BORLANDC__
- using base_type::high_bit;
- using base_type::high_bit_fast;
- #else
- BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
- #endif
-
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
- }; // boost::detail::mask_uint_t
- #endif
-
- #if ULONG_MAX > UINT_MAX
- template < >
- struct mask_uint_t< std::numeric_limits<unsigned long>::digits >
- : high_uint_t< std::numeric_limits<unsigned long>::digits >
+ public:
+ /** \brief The type to check for specialization
+
+ This is a Boost integral constant indicating that this class
+ does reflect its input values.
+ */
+ typedef boost::true_type is_reflecting_type;
+ /** \brief The type to check for register bit length
+
+ This is a Boost integral constant indicating how many
+ significant bits will be reflected.
+ */
+ typedef boost::integral_constant< int, BitLength > width_c;
+ /** \brief The type of reflected values
+
+ This is both the input and output type for the reflection function.
+ */
+ typedef unsigned char value_type;
+
+ /** \brief Reflect (part of) the given value
+
+ Reverses the order of the given number of bits within a value,
+ using #reflect_sub_byte.
+
+ \param x The value to be (partially) reflected.
+
+ \return ( <var>x</var> &amp;
+ ~(2<sup><var>width_c</var>\::value</sup> - 1) ) | REFLECT(
+ <var>x</var> &amp; (2<sup><var>width_c</var>\::value</sup> -
+ 1) )
+ */
+ inline static value_type reflect_q( value_type x )
+ { return reflect_sub_byte(x, width_c::value); }
+ };
+
+ /** \brief A mix-in class that reflects (the lower part of) its argument
+
+ This class template makes a function object that returns its argument
+ after reflecting its lower-order bits. It's one case for
+ #possible_reflector.
+
+ \pre 0 \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t\>
+ \::digits
+
+ \tparam BitLength How many significant bits arguments have.
+ */
+ template < int BitLength >
+ class reflector
+ : public boost::conditional< (BitLength > CHAR_BIT),
+ super_byte_reflector<BitLength>, sub_type_reflector<BitLength> >::type
+ { };
+
+ /** This class template adds a member function #reflect_q that will
+ conditionally reflect its first argument, controlled by a compile-time
+ parameter.
+
+ \pre 0 \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t\>
+ \::digits
+
+ \tparam BitLength How many significant bits arguments have.
+ \tparam DoIt \c true if #reflect_q will reflect, \c false if it should
+ return its argument unchanged.
+ \tparam Id An extra differentiator if multiple copies of this class
+ template are mixed-in as base classes. Defaults to 0 if omitted.
+ */
+ template < int BitLength, bool DoIt, int Id >
+ class possible_reflector
+ : public boost::conditional< DoIt, reflector<BitLength>,
+ non_reflector<BitLength> >::type
{
- typedef high_uint_t<std::numeric_limits<unsigned long>::digits>
- base_type;
- typedef base_type::least least;
- typedef base_type::fast fast;
+ public:
+ /** \brief The type to check for ID
- #ifndef __BORLANDC__
- using base_type::high_bit;
- using base_type::high_bit_fast;
- #else
- BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
- #endif
+ This is a Boost integral constant indicating what ID number this
+ instantiation used.
+ */
+ typedef boost::integral_constant<int, Id> id_type;
+ };
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
+ /** \brief Find the composite remainder update effect from a fixed bit
+ sequence, for each potential sequence combination.
+
+ For each value between 0 and 2<sup><var>SubOrder</var></sup> - 1,
+ computes the XOR mask corresponding to the composite effect they update
+ the incoming remainder, which is the upper part of the dividend that
+ gets (partially) pushed out of its register by the incoming value's
+ bits. The composite value merges the \"partial products\" from each bit
+ of the value being updated individually.
+
+ \pre \a Register is a built-in unsigned integer type
+ \pre 0 \< \a SubOrder \<= \a register_length \<=
+ std\::numeric_limits\<\a Register\>\::digits
+
+ \tparam SubOrder The number of low-order significant bits of the trial
+ new dividends.
+ \tparam Register The type used for representing the remainder and
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
+ is used as the coefficient of <i>x<sup>i</sup></i>.
+
+ \param[in] register_length The number of significant low-order bits
+ to be used from \a Register values. It is the order of the modulo-2
+ polynomial remainder and one less than the divisor's order.
+ \param[in] truncated_divisor The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \param[in] reflect If \c false, read from the highest-order marked
+ bit from a new dividend's bits and go down, as normal. Otherwise,
+ proceed from the lowest-order bit and go up.
+
+ \return An array such that the element at index <var>i</var> is the
+ composite effect XOR mask for value <var>i</var>.
+
+ \note This routine performs a modulo-2 polynomial division variant.
+ The exclusive-or operations are applied in a different order, since
+ that kind of operation is commutative and associative. It also
+ assumes that the zero-valued augment string was applied before this
+ step, which means that the updated remainder can be directly used as
+ the final CRC.
+ \todo Check that using the unaugmented-CRC division routines give the
+ same composite mask table as using augmented-CRC routines.
+ */
+ template < int SubOrder, typename Register >
+ boost::array< Register, (UINTMAX_C( 1 ) << SubOrder) >
+ make_partial_xor_products_table( int register_length, Register
+ truncated_divisor, bool reflect )
+ {
+ boost::array<Register, ( UINTMAX_C(1) << SubOrder )> result;
- }; // boost::detail::mask_uint_t
- #endif
+ // Loop over every possible dividend value
+ for ( typename boost::uint_t<SubOrder + 1>::fast dividend = 0u;
+ dividend < result.size() ; ++dividend )
+ {
+ Register remainder = 0u;
+ crc_modulo_word_update( register_length, remainder, dividend,
+ truncated_divisor, SubOrder, false );
+ result[ reflect_optionally(dividend, reflect, SubOrder) ] =
+ reflect_optionally( remainder, reflect, register_length );
+ }
+ return result;
+ }
- // CRC table generator
- template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
- struct crc_table_t
+ /** \brief A mix-in class for the table of table-driven CRC algorithms
+
+ Encapsulates the parameters need to make a global (technically,
+ class-static) table usuable in CRC algorithms, and generates said
+ table.
+
+ \pre 0 \< \a SubOrder \<= Order \<=
+ std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam SubOrder The number of low-order significant bits of the trial
+ new dividends.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \tparam Reflect If \c false, read from the highest-order marked
+ bit from a new dividend's bits and go down, as normal. Otherwise,
+ proceed from the lowest-order bit and go up.
+ */
+ template < int Order, int SubOrder, boost::uintmax_t TruncatedPolynomial,
+ bool Reflect >
+ class crc_table_t
{
- BOOST_STATIC_CONSTANT( std::size_t, byte_combos = (1ul << CHAR_BIT) );
-
- typedef mask_uint_t<Bits> masking_type;
- typedef typename masking_type::fast value_type;
-#if defined(__BORLANDC__) && defined(_M_IX86) && (__BORLANDC__ == 0x560)
- // for some reason Borland's command line compiler (version 0x560)
- // chokes over this unless we do the calculation for it:
- typedef value_type table_type[ 0x100 ];
-#elif defined(__GNUC__)
- // old versions of GCC (before 4.0.2) choke on using byte_combos
- // as a constant expression when compiling with -pedantic.
- typedef value_type table_type[1ul << CHAR_BIT];
-#else
- typedef value_type table_type[ byte_combos ];
-#endif
+ public:
+ /** \brief The type to check for register bit length
+
+ This is a Boost integral constant indicating how many
+ significant bits are in the remainder and (truncated) divisor.
+ */
+ typedef boost::integral_constant< int, Order > width_c;
+ /** \brief The type to check for index-unit bit length
+
+ This is a Boost integral constant indicating how many
+ significant bits are in the trial new dividends.
+ */
+ typedef boost::integral_constant< int, SubOrder > unit_width_c;
+ /** \brief The type of registers
+
+ This is the output type for the partial-product map.
+ */
+ typedef typename boost::uint_t< Order >::fast value_type;
+ /** \brief The type to check the divisor
+
+ This is a Boost integral constant representing the (truncated)
+ divisor.
+ */
+ typedef boost::integral_constant< value_type, TruncatedPolynomial >
+ poly_c;
+ /** \brief The type to check for reflection
+
+ This is a Boost integral constant representing whether input
+ units should be read in reverse order.
+ */
+ typedef boost::integral_constant< bool, Reflect > refin_c;
+ /** \brief The type to check for map size
+
+ This is a Boost integral constant representing the number of
+ elements in the partial-product map, based on the unit size.
+ */
+ typedef high_bit_mask_c< SubOrder > table_size_c;
+ /** \brief The type of the unit TO partial-product map
+
+ This is the array type that takes units as the index and said unit's
+ composite partial-product mask as the element.
+ */
+ typedef boost::array<value_type, table_size_c::value> array_type;
+ /** \brief Create a global array for the mapping table
+
+ Creates an instance of a partial-product array with this class's
+ parameters.
+
+ \return A reference to a immutable array giving the partial-product
+ update XOR map for each potential sub-unit value.
+ */
+ static array_type const & get_table()
+ {
+ static array_type const table =
+ make_partial_xor_products_table<unit_width_c::value>(
+ width_c::value, poly_c::value, refin_c::value );
- static void init_table();
+ return table;
+ }
+ };
- static table_type table_;
+ /** \brief A mix-in class that handles direct (i.e. non-reflected) byte-fed
+ table-driven CRC algorithms
+
+ This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes aren't
+ reflected before processing.
+
+ \pre \c CHAR_BIT \<= \a Order \<= \c std\::numeric_limits\<uintmax_t\>
+ \::digits
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
+ class direct_byte_table_driven_crcs
+ : public crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, false>
+ {
+ typedef crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, false>
+ base_type;
- }; // boost::detail::crc_table_t
+ public:
+ typedef typename base_type::value_type value_type;
+ typedef typename base_type::array_type array_type;
- // CRC table generator static data member definition
- // (Some compilers [Borland C++] require the initializer to be present.)
- template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
- typename crc_table_t<Bits, TruncPoly, Reflect>::table_type
- crc_table_t<Bits, TruncPoly, Reflect>::table_
- = { 0 };
+ /** \brief Compute the updated remainder after reading some bytes
- // Populate CRC lookup table
- template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
- void
- crc_table_t<Bits, TruncPoly, Reflect>::init_table
- (
- )
- {
- // compute table only on the first run
- static bool did_init = false;
- if ( did_init ) return;
+ The implementation reads from a table to speed-up applying
+ augmented-CRC updates byte-wise.
- // factor-out constants to avoid recalculation
- value_type const fast_hi_bit = masking_type::high_bit_fast;
- unsigned char const byte_hi_bit = 1u << (CHAR_BIT - 1u);
+ \param remainder The pre-update remainder
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
- // loop over every possible dividend value
- unsigned char dividend = 0;
- do
+ \return The updated remainder
+ */
+ static value_type augmented_crc_update( value_type remainder, unsigned
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
{
- value_type remainder = 0;
+ static array_type const & table = base_type::get_table();
- // go through all the dividend's bits
- for ( unsigned char mask = byte_hi_bit ; mask ; mask >>= 1 )
+ while ( new_dividend_byte_count-- )
{
- // check if divisor fits
- if ( dividend & mask )
- {
- remainder ^= fast_hi_bit;
- }
-
- // do polynominal division
- if ( remainder & fast_hi_bit )
- {
- remainder <<= 1;
- remainder ^= TruncPoly;
- }
- else
- {
- remainder <<= 1;
- }
+ // Locates the merged partial product based on the leading byte
+ unsigned char const index = ( remainder >> (Order - CHAR_BIT) )
+ & UCHAR_MAX;
+
+ // Complete the multi-bit modulo-2 polynomial division
+ remainder <<= CHAR_BIT;
+ remainder |= *new_dividend_bytes++;
+ remainder ^= table.elems[ index ];
}
- table_[ crc_helper<CHAR_BIT, Reflect>::reflect(dividend) ]
- = crc_helper<Bits, Reflect>::reflect( remainder );
+ return remainder;
}
- while ( ++dividend );
- did_init = true;
- }
+ /** \brief Compute the updated remainder after reading some bytes
- #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // Align the msb of the remainder to a byte
- template < std::size_t Bits, bool RightShift >
- class remainder
- {
- public:
- typedef typename uint_t<Bits>::fast value_type;
+ The implementation reads from a table to speed-up applying
+ unaugmented-CRC updates byte-wise.
- static unsigned char align_msb( value_type rem )
- { return rem >> (Bits - CHAR_BIT); }
+ \param remainder The pre-update remainder
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
+
+ \return The updated remainder
+ */
+ static value_type crc_update( value_type remainder, unsigned char
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ static array_type const & table = base_type::get_table();
+
+ while ( new_dividend_byte_count-- )
+ {
+ // Locates the merged partial product based on comparing the
+ // leading and incoming bytes
+ unsigned char const index = ( (remainder >> ( Order - CHAR_BIT
+ )) & UCHAR_MAX ) ^ *new_dividend_bytes++;
+
+ // Complete the multi-bit altered modulo-2 polynomial division
+ remainder <<= CHAR_BIT;
+ remainder ^= table.elems[ index ];
+ }
+
+ return remainder;
+ }
};
- // Specialization for the case that the remainder has less
- // bits than a byte: align the remainder msb to the byte msb
- template < std::size_t Bits >
- class remainder< Bits, false >
+ /** \brief A mix-in class that handles reflected byte-fed, table-driven CRC
+ algorithms
+
+ This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes are
+ reflected before processing.
+
+ \pre \c CHAR_BIT \<= \a Order \<= \c std\::numeric_limits\<uintmax_t\>
+ \::digits
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
+ class reflected_byte_table_driven_crcs
+ : public crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, true>
{
+ typedef crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, true>
+ base_type;
+
public:
- typedef typename uint_t<Bits>::fast value_type;
+ typedef typename base_type::value_type value_type;
+ typedef typename base_type::array_type array_type;
- static unsigned char align_msb( value_type rem )
- { return rem << (CHAR_BIT - Bits); }
+ /** \brief Compute the updated remainder after reading some bytes
+
+ The implementation reads from a table to speed-up applying
+ reflecting augmented-CRC updates byte-wise.
+
+ \param remainder The pre-update remainder; since the bytes are
+ being reflected, this remainder also has to be reflected
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
+
+ \return The updated, reflected remainder
+ */
+ static value_type augmented_crc_update( value_type remainder, unsigned
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ static array_type const & table = base_type::get_table();
+
+ while ( new_dividend_byte_count-- )
+ {
+ // Locates the merged partial product based on the leading byte
+ // (which is at the low-order end for reflected remainders)
+ unsigned char const index = remainder & UCHAR_MAX;
+
+ // Complete the multi-bit reflected modulo-2 polynomial division
+ remainder >>= CHAR_BIT;
+ remainder |= static_cast<value_type>( *new_dividend_bytes++ )
+ << ( Order - CHAR_BIT );
+ remainder ^= table.elems[ index ];
+ }
+
+ return remainder;
+ }
+
+ /** \brief Compute the updated remainder after reading some bytes
+
+ The implementation reads from a table to speed-up applying
+ reflected unaugmented-CRC updates byte-wise.
+
+ \param remainder The pre-update remainder; since the bytes are
+ being reflected, this remainder also has to be reflected
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
+
+ \return The updated, reflected remainder
+ */
+ static value_type crc_update( value_type remainder, unsigned char
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ static array_type const & table = base_type::get_table();
+
+ while ( new_dividend_byte_count-- )
+ {
+ // Locates the merged partial product based on comparing the
+ // leading and incoming bytes
+ unsigned char const index = ( remainder & UCHAR_MAX ) ^
+ *new_dividend_bytes++;
+
+ // Complete the multi-bit reflected altered modulo-2 polynomial
+ // division
+ remainder >>= CHAR_BIT;
+ remainder ^= table.elems[ index ];
+ }
+
+ return remainder;
+ }
};
- #endif
- // CRC helper routines
- template < std::size_t Bits, bool DoReflect >
- class crc_helper
+ /** \brief Mix-in class for byte-fed, table-driven CRC algorithms with
+ parameter values at least a byte in width
+
+ This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes may be
+ reflected before processing, controlled by a compile-time parameter.
+
+ \pre \c CHAR_BIT \<= \a Order \<= \c std\::numeric_limits\<uintmax_t\>
+ \::digits
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \tparam Reflect If \c false, read from the highest-order bit from a new
+ input byte and go down, as normal. Otherwise, proceed from the
+ lowest-order bit and go up.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect >
+ class byte_table_driven_crcs
+ : public boost::conditional< Reflect,
+ reflected_byte_table_driven_crcs<Order, TruncatedPolynomial>,
+ direct_byte_table_driven_crcs<Order, TruncatedPolynomial> >::type
+ { };
+
+ /** \brief A mix-in class that handles direct (i.e. non-reflected) byte-fed
+ CRC algorithms for sub-byte parameters
+
+ This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes aren't
+ reflected before processing.
+
+ \pre 0 \< \a Order \< \c CHAR_BIT
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
+ class direct_sub_byte_crcs
+ : public crc_table_t<Order, Order, TruncatedPolynomial, false>
{
+ typedef crc_table_t<Order, Order, TruncatedPolynomial, false>
+ base_type;
+
public:
- // Type
- typedef typename uint_t<Bits>::fast value_type;
-
- #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // Possibly reflect a remainder
- static value_type reflect( value_type x )
- { return detail::reflector<Bits>::reflect( x ); }
-
- // Compare a byte to the remainder's highest byte
- static unsigned char index( value_type rem, unsigned char x )
- { return x ^ rem; }
-
- // Shift out the remainder's highest byte
- static value_type shift( value_type rem )
- { return rem >> CHAR_BIT; }
- #else
- // Possibly reflect a remainder
- static value_type reflect( value_type x )
- { return DoReflect ? detail::reflector<Bits>::reflect( x ) : x; }
-
- // Compare a byte to the remainder's highest byte
- static unsigned char index( value_type rem, unsigned char x )
- { return x ^ ( DoReflect ? rem :
- ((Bits>CHAR_BIT)?( rem >> (Bits - CHAR_BIT) ) :
- ( rem << (CHAR_BIT - Bits) ))); }
-
- // Shift out the remainder's highest byte
- static value_type shift( value_type rem )
- { return DoReflect ? rem >> CHAR_BIT : rem << CHAR_BIT; }
- #endif
-
- }; // boost::detail::crc_helper
-
- #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template < std::size_t Bits >
- class crc_helper<Bits, false>
+ typedef typename base_type::width_c width_c;
+ typedef typename base_type::value_type value_type;
+ typedef typename base_type::poly_c poly_c;
+ typedef typename base_type::array_type array_type;
+
+ /** \brief Compute the updated remainder after reading some bytes
+
+ The implementation reads from a table to speed-up applying
+ augmented-CRC updates byte-wise.
+
+ \param remainder The pre-update remainder
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
+
+ \return The updated remainder
+
+ \todo Use this function somewhere so I can test it.
+ */
+ static value_type augmented_crc_update( value_type remainder, unsigned
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ //static array_type const & table = base_type::get_table();
+
+ while ( new_dividend_byte_count-- )
+ {
+ // Without a table, process each byte explicitly
+ augmented_crc_modulo_word_update( width_c::value, remainder,
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, false );
+ }
+
+ return remainder;
+ }
+
+ /** \brief Compute the updated remainder after reading some bytes
+
+ The implementation reads from a table to speed-up applying
+ unaugmented-CRC updates byte-wise.
+
+ \param remainder The pre-update remainder
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
+
+ \return The updated remainder
+ */
+ static value_type crc_update( value_type remainder, unsigned char
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ //static array_type const & table = base_type::get_table();
+
+ while ( new_dividend_byte_count-- )
+ {
+ // Without a table, process each byte explicitly
+ crc_modulo_word_update( width_c::value, remainder,
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, false );
+ }
+
+ return remainder;
+ }
+ };
+
+ /** \brief A mix-in class that handles reflected byte-fed, CRC algorithms
+ for sub-byte parameters
+
+ This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes are
+ reflected before processing.
+
+ \pre 0 \< \a Order \< \c CHAR_BIT
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
+ class reflected_sub_byte_crcs
+ : public crc_table_t<Order, Order, TruncatedPolynomial, true>
{
+ typedef crc_table_t<Order, Order, TruncatedPolynomial, true>
+ base_type;
+
public:
- // Type
- typedef typename uint_t<Bits>::fast value_type;
+ typedef typename base_type::width_c width_c;
+ typedef typename base_type::value_type value_type;
+ typedef typename base_type::poly_c poly_c;
+ typedef typename base_type::array_type array_type;
+
+ /** \brief Compute the updated remainder after reading some bytes
+
+ The implementation reads from a table to speed-up applying
+ reflecting augmented-CRC updates byte-wise.
+
+ \param remainder The pre-update remainder; since the bytes are
+ being reflected, this remainder also has to be reflected
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
+
+ \return The updated, reflected remainder
+
+ \todo Use this function somewhere so I can test it.
+ */
+ static value_type augmented_crc_update( value_type remainder, unsigned
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ //static array_type const & table = base_type::get_table();
+
+ remainder = reflect_sub_byte( remainder, width_c::value );
+ while ( new_dividend_byte_count-- )
+ {
+ // Without a table, process each byte explicitly
+ augmented_crc_modulo_word_update( width_c::value, remainder,
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, true );
+ }
+ remainder = reflect_sub_byte( remainder, width_c::value );
+
+ return remainder;
+ }
- // Possibly reflect a remainder
- static value_type reflect( value_type x )
- { return x; }
+ /** \brief Compute the updated remainder after reading some bytes
- // Compare a byte to the remainder's highest byte
- static unsigned char index( value_type rem, unsigned char x )
- { return x ^ remainder<Bits,(Bits>CHAR_BIT)>::align_msb( rem ); }
+ The implementation reads from a table to speed-up applying
+ reflected unaugmented-CRC updates byte-wise.
- // Shift out the remainder's highest byte
- static value_type shift( value_type rem )
- { return rem << CHAR_BIT; }
+ \param remainder The pre-update remainder; since the bytes are
+ being reflected, this remainder also has to be reflected
+ \param new_dividend_bytes The address where the new bytes start
+ \param new_dividend_byte_count The number of new bytes to read
- }; // boost::detail::crc_helper
- #endif
+ \return The updated, reflected remainder
+ */
+ static value_type crc_update( value_type remainder, unsigned char
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
+ {
+ //static array_type const & table = base_type::get_table();
+
+ remainder = reflect_sub_byte( remainder, width_c::value );
+ while ( new_dividend_byte_count-- )
+ {
+ // Without a table, process each byte explicitly
+ crc_modulo_word_update( width_c::value, remainder,
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, true );
+ }
+ remainder = reflect_sub_byte( remainder, width_c::value );
+
+ return remainder;
+ }
+ };
+
+ /** \brief Mix-in class for byte-fed, table-driven CRC algorithms with
+ sub-byte parameters
+
+ This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes may be
+ reflected before processing, controlled by a compile-time parameter.
+
+ \pre 0 \< \a Order \< \c CHAR_BIT
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \tparam Reflect If \c false, read from the highest-order bit from a new
+ input byte and go down, as normal. Otherwise, proceed from the
+ lowest-order bit and go up.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect >
+ class sub_byte_crcs
+ : public boost::conditional< Reflect,
+ reflected_sub_byte_crcs<Order, TruncatedPolynomial>,
+ direct_sub_byte_crcs<Order, TruncatedPolynomial> >::type
+ { };
+
+ /** This class template adds member functions #augmented_crc_update and
+ #crc_update to update remainders from new input bytes. The bytes may be
+ reflected before processing, controlled by a compile-time parameter.
+
+ \pre 0 \< \a Order \<= \c std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam Order The order of the modulo-2 polynomial remainder and one
+ less than the divisor's order.
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always
+ assumed to be 1.
+ \tparam Reflect If \c false, read from the highest-order bit from a new
+ input byte and go down, as normal. Otherwise, proceed from the
+ lowest-order bit and go up.
+ \tparam Id An extra differentiator if multiple copies of this class
+ template are mixed-in as base classes. Defaults to 0 if omitted.
+ */
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect,
+ int Id >
+ class crc_driver
+ : public boost::conditional< (Order < CHAR_BIT), sub_byte_crcs<Order,
+ TruncatedPolynomial, Reflect>, byte_table_driven_crcs<Order,
+ TruncatedPolynomial, Reflect> >::type
+ {
+ public:
+ /** \brief The type to check for ID
+
+ This is a Boost integral constant indicating what ID number this
+ instantiation used.
+ */
+ typedef boost::integral_constant<int, Id> id_type;
+ };
} // namespace detail
+//! \endcond
// Simple CRC class function definitions -----------------------------------//
+/** Constructs a \c crc_basic object with at least the required parameters to a
+ particular CRC formula to be processed upon receiving input.
+
+ \param[in] truncated_polynomial The lowest coefficients of the divisor
+ polynomial. The highest-order coefficient is omitted and always assumed
+ to be 1. (\e Poly from the RMCA)
+ \param[in] initial_remainder The (unaugmented) initial state of the
+ polynomial remainder. Defaults to \c 0 if omitted. (\e Init from the
+ RMCA)
+ \param[in] final_xor_value The (XOR) bit-mask to be applied to the output
+ remainder, after possible reflection but before returning. Defaults to
+ \c 0 (i.e. no bit changes) if omitted. (\e XorOut from the RMCA)
+ \param[in] reflect_input If \c true, input bytes are read lowest-order bit
+ first, otherwise highest-order bit first. Defaults to \c false if
+ omitted. (\e RefIn from the RMCA)
+ \param[in] reflect_remainder If \c true, the output remainder is reflected
+ before the XOR-mask. Defaults to \c false if omitted. (\e RefOut from
+ the RMCA)
+
+ \post <code><var>truncated_polynomial</var> ==
+ this-&gt;get_truncated_polynominal()</code>
+ \post <code><var>initial_remainder</var> ==
+ this-&gt;get_initial_remainder()</code>
+ \post <code><var>final_xor_value</var> ==
+ this-&gt;get_final_xor_value()</code>
+ \post <code><var>reflect_input</var> ==
+ this-&gt;get_reflect_input()</code>
+ \post <code><var>reflect_remainder</var> ==
+ this-&gt;get_reflect_remainder()</code>
+ \post <code><var>initial_remainder</var> ==
+ this-&gt;get_interim_remainder()</code>
+ \post <code>(<var>reflect_remainder</var> ?
+ REFLECT(<var>initial_remainder</var>) : <var>initial_remainder</var>) ^
+ <var>final_xor_value</var> == this-&gt;checksum()</code>
+ */
template < std::size_t Bits >
inline
crc_basic<Bits>::crc_basic
(
- typename crc_basic<Bits>::value_type truncated_polynominal,
- typename crc_basic<Bits>::value_type initial_remainder, // = 0
- typename crc_basic<Bits>::value_type final_xor_value, // = 0
- bool reflect_input, // = false
- bool reflect_remainder // = false
+ value_type truncated_polynomial,
+ value_type initial_remainder, // = 0
+ value_type final_xor_value, // = 0
+ bool reflect_input, // = false
+ bool reflect_remainder // = false
)
- : rem_( initial_remainder ), poly_( truncated_polynominal )
+ : rem_( initial_remainder ), poly_( truncated_polynomial )
, init_( initial_remainder ), final_( final_xor_value )
, rft_in_( reflect_input ), rft_out_( reflect_remainder )
{
}
+/** Returns a representation of the polynomial divisor. The value of the
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
+ x<sup>i</sup> term. The omitted bit for x<sup>(#bit_count)</sup> term is
+ always 1.
+
+ \return The bit-packed list of coefficients. If the bit-length of
+ #value_type exceeds #bit_count, the values of higher-placed bits should be
+ ignored (even any for x<sup>(#bit_count)</sup>) since they're unregulated.
+ */
template < std::size_t Bits >
inline
typename crc_basic<Bits>::value_type
@@ -653,6 +1586,14 @@ crc_basic<Bits>::get_truncated_polynominal
return poly_;
}
+/** Returns a representation of the polynomial remainder before any input has
+ been submitted. The value of the 2<sup>i</sup> bit is the value of the
+ coefficient of the polynomial's x<sup>i</sup> term.
+
+ \return The bit-packed list of coefficients. If the bit-length of
+ #value_type exceeds #bit_count, the values of higher-placed bits should be
+ ignored since they're unregulated.
+ */
template < std::size_t Bits >
inline
typename crc_basic<Bits>::value_type
@@ -663,6 +1604,15 @@ crc_basic<Bits>::get_initial_remainder
return init_;
}
+/** Returns the mask to be used during creation of a checksum. The mask is used
+ for an exclusive-or (XOR) operation applied bit-wise to the interim
+ remainder representation (after any reflection, if #get_reflect_remainder()
+ returns \c true).
+
+ \return The bit-mask. If the bit-length of #value_type exceeds #bit_count,
+ the values of higher-placed bits should be ignored since they're
+ unregulated.
+ */
template < std::size_t Bits >
inline
typename crc_basic<Bits>::value_type
@@ -673,6 +1623,13 @@ crc_basic<Bits>::get_final_xor_value
return final_;
}
+/** Returns a whether or not a submitted byte will be \"reflected\" before it is
+ used to update the interim remainder. Only the byte-wise operations
+ #process_byte, #process_block, and #process_bytes are affected.
+
+ \retval true Input bytes will be read starting from the lowest-order bit.
+ \retval false Input bytes will be read starting from the highest-order bit.
+ */
template < std::size_t Bits >
inline
bool
@@ -683,6 +1640,12 @@ crc_basic<Bits>::get_reflect_input
return rft_in_;
}
+/** Indicates if the interim remainder will be \"reflected\" before it is passed
+ to the XOR-mask stage when returning a checksum.
+
+ \retval true The interim remainder is reflected before further work.
+ \retval false The interim remainder is applied to the XOR-mask as-is.
+ */
template < std::size_t Bits >
inline
bool
@@ -693,6 +1656,19 @@ crc_basic<Bits>::get_reflect_remainder
return rft_out_;
}
+/** Returns a representation of the polynomial remainder after all the input
+ submissions since construction or the last #reset call. The value of the
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
+ x<sup>i</sup> term. If CRC processing gets interrupted here, retain the
+ value returned, and use it to start up the next CRC computer where you left
+ off (with #reset(value_type) or construction). The next computer has to
+ have its other parameters compatible with this computer.
+
+ \return The bit-packed list of coefficients. If the bit-length of
+ #value_type exceeds #bit_count, the values of higher-placed bits should be
+ ignored since they're unregulated. No output processing (reflection or
+ XOR mask) has been applied to the value.
+ */
template < std::size_t Bits >
inline
typename crc_basic<Bits>::value_type
@@ -700,20 +1676,45 @@ crc_basic<Bits>::get_interim_remainder
(
) const
{
- return rem_ & masking_type::sig_bits;
+ return rem_ & detail::low_bits_mask_c<bit_count>::value;
}
+/** Changes the interim polynomial remainder to \a new_rem, purging any
+ influence previously submitted input has had. The value of the
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
+ x<sup>i</sup> term.
+
+ \param[in] new_rem The (unaugmented) state of the polynomial remainder
+ starting from this point, with no output processing applied.
+
+ \post <code><var>new_rem</var> == this-&gt;get_interim_remainder()</code>
+ \post <code>((this-&gt;get_reflect_remainder() ?
+ REFLECT(<var>new_rem</var>) : <var>new_rem</var>) ^
+ this-&gt;get_final_xor_value()) == this-&gt;checksum()</code>
+ */
template < std::size_t Bits >
inline
void
crc_basic<Bits>::reset
(
- typename crc_basic<Bits>::value_type new_rem
+ value_type new_rem
)
{
rem_ = new_rem;
}
+/** Changes the interim polynomial remainder to the initial remainder given
+ during construction, purging any influence previously submitted input has
+ had. The value of the 2<sup>i</sup> bit is the value of the coefficient of
+ the polynomial's x<sup>i</sup> term.
+
+ \post <code>this-&gt;get_initial_remainder() ==
+ this-&gt;get_interim_remainder()</code>
+ \post <code>((this-&gt;get_reflect_remainder() ?
+ REFLECT(this-&gt;get_initial_remainder()) :
+ this-&gt;get_initial_remainder()) ^ this-&gt;get_final_xor_value())
+ == this-&gt;checksum()</code>
+ */
template < std::size_t Bits >
inline
void
@@ -724,6 +1725,13 @@ crc_basic<Bits>::reset
this->reset( this->get_initial_remainder() );
}
+/** Updates the interim remainder with a single altered-CRC-division step.
+
+ \param[in] bit The new input bit.
+
+ \post The interim remainder is updated though a modulo-2 polynomial
+ division, where the division steps are altered for unaugmented CRCs.
+ */
template < std::size_t Bits >
inline
void
@@ -732,43 +1740,54 @@ crc_basic<Bits>::process_bit
bool bit
)
{
- value_type const high_bit_mask = masking_type::high_bit;
+ detail::crc_modulo_update( bit_count, rem_, bit, poly_ );
+}
- // compare the new bit with the remainder's highest
- rem_ ^= ( bit ? high_bit_mask : 0u );
+/** Updates the interim remainder with several altered-CRC-division steps. Each
+ bit is processed separately, starting from the one at the
+ 2<sup><var>bit_length</var> - 1</sup> place, then proceeding down to the
+ lowest-placed bit. Any order imposed by
+ <code>this-&gt;get_reflect_input()</code> is ignored.
- // a full polynominal division step is done when the highest bit is one
- bool const do_poly_div = static_cast<bool>( rem_ & high_bit_mask );
+ \pre 0 \< \a bit_length \<= \c CHAR_BIT
- // shift out the highest bit
- rem_ <<= 1;
-
- // carry out the division, if needed
- if ( do_poly_div )
- {
- rem_ ^= poly_;
- }
-}
+ \param[in] bits The byte containing the new input bits.
+ \param[in] bit_length The number of bits in the byte to be read.
+ \post The interim remainder is updated though \a bit_length modulo-2
+ polynomial divisions, where the division steps are altered for unaugmented
+ CRCs.
+ */
template < std::size_t Bits >
void
crc_basic<Bits>::process_bits
(
unsigned char bits,
- std::size_t bit_count
+ std::size_t bit_length
)
{
// ignore the bits above the ones we want
- bits <<= CHAR_BIT - bit_count;
+ bits <<= CHAR_BIT - bit_length;
// compute the CRC for each bit, starting with the upper ones
unsigned char const high_bit_mask = 1u << ( CHAR_BIT - 1u );
- for ( std::size_t i = bit_count ; i > 0u ; --i, bits <<= 1u )
+ for ( std::size_t i = bit_length ; i > 0u ; --i, bits <<= 1u )
{
process_bit( static_cast<bool>(bits & high_bit_mask) );
}
}
+/** Updates the interim remainder with a byte's worth of altered-CRC-division
+ steps. The bits within the byte are processed from the highest place down
+ if <code>this-&gt;get_reflect_input()</code> is \c false, and lowest place
+ up otherwise.
+
+ \param[in] byte The new input byte.
+
+ \post The interim remainder is updated though \c CHAR_BIT modulo-2
+ polynomial divisions, where the division steps are altered for unaugmented
+ CRCs.
+ */
template < std::size_t Bits >
inline
void
@@ -777,10 +1796,33 @@ crc_basic<Bits>::process_byte
unsigned char byte
)
{
- process_bits( (rft_in_ ? detail::reflector<CHAR_BIT>::reflect(byte)
- : byte), CHAR_BIT );
+ process_bits( (rft_in_ ? detail::reflect_byte( byte ) : byte), CHAR_BIT );
}
+/** Updates the interim remainder with several bytes' worth of
+ altered-CRC-division steps. The bits within each byte are processed from
+ the highest place down if <code>this-&gt;get_reflect_input()</code> is
+ \c false, and lowest place up otherwise. The bytes themselves are processed
+ starting from the one pointed by \a bytes_begin until \a bytes_end is
+ reached through forward iteration, treating the two pointers as if they
+ point to <code>unsigned char</code> objects.
+
+ \pre \a bytes_end has to equal \a bytes_begin if the latter is \c NULL or
+ otherwise doesn't point to a valid buffer.
+ \pre \a bytes_end, if not equal to \a bytes_begin, has to point within or
+ one-byte-past the same buffer \a bytes_begin points into.
+ \pre \a bytes_end has to be reachable from \a bytes_begin through a finite
+ number of forward byte-pointer increments.
+
+ \param[in] bytes_begin The address where the memory block begins.
+ \param[in] bytes_end Points to one-byte past the address of the memory
+ block's last byte, or \a bytes_begin if no bytes are to be read.
+
+ \post The interim remainder is updated though <code>CHAR_BIT * (((unsigned
+ char const *) bytes_end) - ((unsigned char const *) bytes_begin))</code>
+ modulo-2 polynomial divisions, where the division steps are altered for
+ unaugmented CRCs.
+ */
template < std::size_t Bits >
void
crc_basic<Bits>::process_block
@@ -796,6 +1838,26 @@ crc_basic<Bits>::process_block
}
}
+/** Updates the interim remainder with several bytes' worth of
+ altered-CRC-division steps. The bits within each byte are processed from
+ the highest place down if <code>this-&gt;get_reflect_input()</code> is
+ \c false, and lowest place up otherwise. The bytes themselves are processed
+ starting from the one pointed by \a buffer, forward-iterated (as if the
+ pointed-to objects were of <code>unsigned char</code>) until \a byte_count
+ bytes are read.
+
+ \pre \a byte_count has to equal 0 if \a buffer is \c NULL or otherwise
+ doesn't point to valid memory.
+ \pre If \a buffer points within valid memory, then that block has to have
+ at least \a byte_count more valid bytes allocated from that point.
+
+ \param[in] buffer The address where the memory block begins.
+ \param[in] byte_count The number of bytes in the memory block.
+
+ \post The interim remainder is updated though <code>CHAR_BIT *
+ <var>byte_count</var></code> modulo-2 polynomial divisions, where the
+ division steps are altered for unaugmented CRCs.
+ */
template < std::size_t Bits >
inline
void
@@ -811,6 +1873,18 @@ crc_basic<Bits>::process_bytes
process_block( b, b + byte_count );
}
+/** Computes the checksum of all the submitted bits since construction or the
+ last call to #reset. The checksum will be the raw checksum, i.e. the
+ (interim) remainder after all the modulo-2 polynomial division, plus any
+ output processing.
+
+ \return <code>(this-&gt;get_reflect_remainder() ?
+ REFLECT(this-&gt;get_interim_remainder()) :
+ this-&gt;get_interim_remainder()) ^ this-&gt;get_final_xor_value()</code>
+
+ \note Since checksums are meant to be compared, any higher-placed bits
+ (when the bit-length of #value_type exceeds #bit_count) will be set to 0.
+ */
template < std::size_t Bits >
inline
typename crc_basic<Bits>::value_type
@@ -818,8 +1892,8 @@ crc_basic<Bits>::checksum
(
) const
{
- return ( (rft_out_ ? detail::reflector<Bits>::reflect( rem_ ) : rem_)
- ^ final_ ) & masking_type::sig_bits;
+ return ( (rft_out_ ? detail::reflect_unsigned( rem_, bit_count ) :
+ rem_) ^ final_ ) & detail::low_bits_mask_c<bit_count>::value;
}
@@ -829,19 +1903,35 @@ crc_basic<Bits>::checksum
#define BOOST_CRC_OPTIMAL_NAME crc_optimal<Bits, TruncPoly, InitRem, \
FinalXor, ReflectIn, ReflectRem>
+/** Constructs a \c crc_optimal object with a particular CRC formula to be
+ processed upon receiving input. The initial remainder may be overridden.
+
+ \param[in] init_rem The (unaugmented) initial state of the polynomial
+ remainder. Defaults to #initial_remainder if omitted.
+
+ \post <code>#truncated_polynominal ==
+ this-&gt;get_truncated_polynominal()</code>
+ \post <code>#initial_remainder == this-&gt;get_initial_remainder()</code>
+ \post <code>#final_xor_value == this-&gt;get_final_xor_value()</code>
+ \post <code>#reflect_input == this-&gt;get_reflect_input()</code>
+ \post <code>#reflect_remainder == this-&gt;get_reflect_remainder()</code>
+ \post <code><var>init_rem</var> == this-&gt;get_interim_remainder()</code>
+ \post <code>(#reflect_remainder ? REFLECT(<var>init_rem</var>) :
+ <var>init_rem</var>) ^ #final_xor_value == this-&gt;checksum()</code>
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
inline
BOOST_CRC_OPTIMAL_NAME::crc_optimal
(
- typename BOOST_CRC_OPTIMAL_NAME::value_type init_rem // = InitRem
+ value_type init_rem // = initial_remainder
)
- : rem_( helper_type::reflect(init_rem) )
+ : rem_( reflect_i_type::reflect_q(init_rem) )
{
- crc_table_type::init_table();
}
+//! \copydetails boost::crc_basic::get_truncated_polynominal
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -851,9 +1941,10 @@ BOOST_CRC_OPTIMAL_NAME::get_truncated_polynominal
(
) const
{
- return TruncPoly;
+ return truncated_polynominal;
}
+//! \copydetails boost::crc_basic::get_initial_remainder
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -863,9 +1954,10 @@ BOOST_CRC_OPTIMAL_NAME::get_initial_remainder
(
) const
{
- return InitRem;
+ return initial_remainder;
}
+//! \copydetails boost::crc_basic::get_final_xor_value
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -875,9 +1967,10 @@ BOOST_CRC_OPTIMAL_NAME::get_final_xor_value
(
) const
{
- return FinalXor;
+ return final_xor_value;
}
+//! \copydetails boost::crc_basic::get_reflect_input
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -887,9 +1980,10 @@ BOOST_CRC_OPTIMAL_NAME::get_reflect_input
(
) const
{
- return ReflectIn;
+ return reflect_input;
}
+//! \copydetails boost::crc_basic::get_reflect_remainder
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -899,9 +1993,10 @@ BOOST_CRC_OPTIMAL_NAME::get_reflect_remainder
(
) const
{
- return ReflectRem;
+ return reflect_remainder;
}
+//! \copydetails boost::crc_basic::get_interim_remainder
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -912,9 +2007,24 @@ BOOST_CRC_OPTIMAL_NAME::get_interim_remainder
) const
{
// Interim remainder should be _un_-reflected, so we have to undo it.
- return helper_type::reflect( rem_ ) & masking_type::sig_bits_fast;
+ return reflect_i_type::reflect_q( rem_ ) &
+ detail::low_bits_mask_c<bit_count>::value;
}
+/** Changes the interim polynomial remainder to \a new_rem, purging any
+ influence previously submitted input has had. The value of the
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
+ x<sup>i</sup> term.
+
+ \param[in] new_rem The (unaugmented) state of the polynomial remainder
+ starting from this point, with no output processing applied. Defaults to
+ <code>this-&gt;get_initial_remainder()</code> if omitted.
+
+ \post <code><var>new_rem</var> == this-&gt;get_interim_remainder()</code>
+ \post <code>((this-&gt;get_reflect_remainder() ?
+ REFLECT(<var>new_rem</var>) : <var>new_rem</var>) ^
+ this-&gt;get_final_xor_value()) == this-&gt;checksum()</code>
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -922,12 +2032,18 @@ inline
void
BOOST_CRC_OPTIMAL_NAME::reset
(
- typename BOOST_CRC_OPTIMAL_NAME::value_type new_rem // = InitRem
+ value_type new_rem // = initial_remainder
)
{
- rem_ = helper_type::reflect( new_rem );
+ rem_ = reflect_i_type::reflect_q( new_rem );
}
+/** \copydetails boost::crc_basic::process_byte
+
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
+ remainder changes (as XOR masks) to speed computation when reading data
+ byte-wise.
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -941,9 +2057,16 @@ BOOST_CRC_OPTIMAL_NAME::process_byte
process_bytes( &byte, sizeof(byte) );
}
+/** \copydetails boost::crc_basic::process_block
+
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
+ remainder changes (as XOR masks) to speed computation when reading data
+ byte-wise.
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
+inline
void
BOOST_CRC_OPTIMAL_NAME::process_block
(
@@ -951,20 +2074,16 @@ BOOST_CRC_OPTIMAL_NAME::process_block
void const * bytes_end
)
{
- // Recompute the CRC for each byte passed
- for ( unsigned char const * p
- = static_cast<unsigned char const *>(bytes_begin) ; p < bytes_end ; ++p )
- {
- // Compare the new byte with the remainder's higher bits to
- // get the new bits, shift out the remainder's current higher
- // bits, and update the remainder with the polynominal division
- // of the new bits.
- unsigned char const byte_index = helper_type::index( rem_, *p );
- rem_ = helper_type::shift( rem_ );
- rem_ ^= crc_table_type::table_[ byte_index ];
- }
+ process_bytes( bytes_begin, static_cast<unsigned char const *>(bytes_end) -
+ static_cast<unsigned char const *>(bytes_begin) );
}
+/** \copydetails boost::crc_basic::process_bytes
+
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
+ remainder changes (as XOR masks) to speed computation when reading data
+ byte-wise.
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -976,11 +2095,11 @@ BOOST_CRC_OPTIMAL_NAME::process_bytes
std::size_t byte_count
)
{
- unsigned char const * const b = static_cast<unsigned char const *>(
- buffer );
- process_block( b, b + byte_count );
+ rem_ = crc_table_type::crc_update( rem_, static_cast<unsigned char const
+ *>(buffer), byte_count );
}
+//! \copydetails boost::crc_basic::checksum
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -990,10 +2109,29 @@ BOOST_CRC_OPTIMAL_NAME::checksum
(
) const
{
- return ( reflect_out_type::reflect(rem_) ^ get_final_xor_value() )
- & masking_type::sig_bits_fast;
+ return ( reflect_o_type::reflect_q(rem_) ^ get_final_xor_value() )
+ & detail::low_bits_mask_c<bit_count>::value;
}
+/** Updates the interim remainder with a byte's worth of altered-CRC-division
+ steps. The bits within the byte are processed from the highest place down
+ if <code>this-&gt;get_reflect_input()</code> is \c false, and lowest place
+ up otherwise. This function is meant to present a function-object interface
+ to code that wants to process a stream of bytes with
+ <code>std::for_each</code> or similar range-processing algorithms. Since
+ some of these algorithms takes their function object by value, make sure to
+ copy back the result to this object so the updates can be remembered.
+
+ \param[in] byte The new input byte.
+
+ \post The interim remainder is updated though \c CHAR_BIT modulo-2
+ polynomial divisions, where the division steps are altered for unaugmented
+ CRCs.
+
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
+ remainder changes (as XOR masks) to speed computation when reading data
+ byte-wise.
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -1007,6 +2145,22 @@ BOOST_CRC_OPTIMAL_NAME::operator ()
process_byte( byte );
}
+/** Computes the checksum of all the submitted bits since construction or the
+ last call to #reset. The checksum will be the raw checksum, i.e. the
+ (interim) remainder after all the modulo-2 polynomial division, plus any
+ output processing. This function is meant to present a function-object
+ interface to code that wants to receive data like
+ <code>std::generate_n</code> or similar data-processing algorithms. Note
+ that if this object is used as a generator multiple times without an
+ intervening mutating operation, the same value will always be returned.
+
+ \return <code>(this-&gt;get_reflect_remainder() ?
+ REFLECT(this-&gt;get_interim_remainder()) :
+ this-&gt;get_interim_remainder()) ^ this-&gt;get_final_xor_value()</code>
+
+ \note Since checksums are meant to be compared, any higher-placed bits
+ (when the bit-length of #value_type exceeds #bit_count) will be set to 0.
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -1022,6 +2176,43 @@ BOOST_CRC_OPTIMAL_NAME::operator ()
// CRC computation function definition -------------------------------------//
+/** Computes the polynomial remainder of a CRC run, assuming that \a buffer and
+ \a byte_count describe a memory block representing the polynomial dividend.
+ The division steps are altered so the result directly gives a checksum,
+ without need to augment the memory block with scratch-space bytes. The
+ first byte is considered the highest order, going down for subsequent bytes.
+
+ \pre 0 \< \a Bits \<= \c std\::numeric_limits\<uintmax_t\>\::digits
+
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
+ the RMCA)
+ \tparam TruncPoly The lowest coefficients of the divisor polynomial. The
+ highest-order coefficient is omitted and always assumed to be 1.
+ (\e Poly from the RMCA)
+ \tparam InitRem The (unaugmented) initial state of the polynomial
+ remainder. (\e Init from the RMCA)
+ \tparam FinalXor The (XOR) bit-mask to be applied to the output remainder,
+ after possible reflection but before returning. (\e XorOut from the RMCA)
+ \tparam ReflectIn If \c True, input bytes are read lowest-order bit first,
+ otherwise highest-order bit first. (\e RefIn from the RMCA)
+ \tparam ReflectRem If \c True, the output remainder is reflected before the
+ XOR-mask. (\e RefOut from the RMCA)
+
+ \param[in] buffer The address where the memory block begins.
+ \param[in] byte_count The number of bytes in the memory block.
+
+ \return The checksum, which is the last (interim) remainder plus any output
+ processing.
+
+ \note Unaugmented-style CRC runs perform modulo-2 polynomial division in
+ an altered order. The trailing \a Bits number of zero-valued bits needed
+ to extracted an (unprocessed) checksum is virtually moved to near the
+ beginning of the message. This is OK since the XOR operation is
+ commutative and associative. It also means that you can get a checksum
+ anytime. Since data is being read byte-wise, a table of pre-computed
+ remainder changes (as XOR masks) can be used to speed computation.
+
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
@@ -1031,7 +2222,6 @@ crc
(
void const * buffer,
std::size_t byte_count
- BOOST_CRC_DUMMY_INIT
)
{
BOOST_CRC_OPTIMAL_NAME computer;
@@ -1040,57 +2230,67 @@ crc
}
-// Augmented-message CRC computation function definitions ------------------//
-
+// Augmented-message CRC computation function definition -------------------//
+
+/** Computes the polynomial remainder of a CRC run, assuming that \a buffer and
+ \a byte_count describe a memory block representing the polynomial dividend.
+ The first byte is considered the highest order, going down for subsequent
+ bytes. Within a byte, the highest-order bit is read first (corresponding to
+ \e RefIn = \c False in the RMCA). Check the other parts of this function's
+ documentation to see how a checksum can be gained and/or used.
+
+ \pre 0 \< \a Bits \<= \c std\::numeric_limit\<uintmax_t\>\::digits
+
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
+ the RMCA)
+ \tparam TruncPoly The lowest coefficients of the divisor polynomial. The
+ highest-order coefficient is omitted and always assumed to be 1.
+ (\e Poly from the RMCA)
+
+ \param[in] buffer The address where the memory block begins.
+ \param[in] byte_count The number of bytes in the memory block.
+ \param[in] initial_remainder The initial state of the polynomial
+ remainder, defaulting to zero if omitted. If you are reading a memory
+ block in multiple runs, put the return value of the previous run here.
+ (Note that initial-remainders given by RMCA parameter lists, as
+ \e Init, assume that the initial remainder is in its \b unaugmented state,
+ so you would need to convert the value to make it suitable for this
+ function. I currently don't provide a conversion routine.)
+
+ \return The interim remainder, if no augmentation is used. A special value
+ if augmentation is used (see the notes). No output processing is done on
+ the value. (In RMCA terms, \e RefOut is \c False and \e XorOut is \c 0.)
+
+ \note Augmented-style CRC runs use straight-up modulo-2 polynomial
+ division. Since data is being read byte-wise, a table of pre-computed
+ remainder changes (as XOR masks) can be used to speed computation.
+ \note Reading just a memory block will yield an interim remainder, and not
+ the final checksum. To get that checksum, allocate \a Bits / \c CHAR_BIT
+ bytes directly after the block and fill them with zero values, then extend
+ \a byte_count to include those extra bytes. A data block is corrupt if
+ the return value doesn't equal your separately given checksum.
+ \note Another way to perform a check is use the zero-byte extension method,
+ but replace the zero values with your separately-given checksum. The
+ checksum must be loaded in big-endian order. Here corruption, in either
+ the data block or the given checksum, is confirmed if the return value is
+ not zero.
+ \note The two checksum techniques assume the CRC-run is performed bit-wise,
+ while this function works byte-wise. That means that the techniques can
+ be used only if \c CHAR_BIT divides \a Bits evenly!
+ */
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
typename uint_t<Bits>::fast
augmented_crc
(
void const * buffer,
std::size_t byte_count,
- typename uint_t<Bits>::fast initial_remainder
- BOOST_ACRC_DUMMY_INIT
-)
-{
- typedef unsigned char byte_type;
- typedef detail::mask_uint_t<Bits> masking_type;
- typedef detail::crc_table_t<Bits, TruncPoly, false> crc_table_type;
-
- typename masking_type::fast rem = initial_remainder;
- byte_type const * const b = static_cast<byte_type const *>( buffer );
- byte_type const * const e = b + byte_count;
-
- crc_table_type::init_table();
- for ( byte_type const * p = b ; p < e ; ++p )
- {
- // Use the current top byte as the table index to the next
- // "partial product." Shift out that top byte, shifting in
- // the next augmented-message byte. Complete the division.
- byte_type const byte_index = rem >> ( Bits - CHAR_BIT );
- rem <<= CHAR_BIT;
- rem |= *p;
- rem ^= crc_table_type::table_[ byte_index ];
- }
-
- return rem & masking_type::sig_bits_fast;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
-inline
-typename uint_t<Bits>::fast
-augmented_crc
-(
- void const * buffer,
- std::size_t byte_count
- BOOST_ACRC_DUMMY_INIT
+ typename uint_t<Bits>::fast initial_remainder // = 0u
)
{
- // The last function argument has its type specified so the other version of
- // augmented_crc will be called. If the cast wasn't in place, and the
- // BOOST_ACRC_DUMMY_INIT added a third argument (for a workaround), the "0"
- // would match as that third argument, leading to infinite recursion.
- return augmented_crc<Bits, TruncPoly>( buffer, byte_count,
- static_cast<typename uint_t<Bits>::fast>(0) );
+ return detail::low_bits_mask_c<Bits>::value &
+ detail::byte_table_driven_crcs<Bits, TruncPoly, false>::
+ augmented_crc_update( initial_remainder, static_cast<unsigned char const
+ *>(buffer), byte_count );
}
@@ -1099,10 +2299,6 @@ augmented_crc
// Undo header-private macros
#undef BOOST_CRC_OPTIMAL_NAME
-#undef BOOST_ACRC_DUMMY_INIT
-#undef BOOST_ACRC_DUMMY_PARM_TYPE
-#undef BOOST_CRC_DUMMY_INIT
-#undef BOOST_CRC_DUMMY_PARM_TYPE
#undef BOOST_CRC_PARM_TYPE
diff --git a/boost/date_time/compiler_config.hpp b/boost/date_time/compiler_config.hpp
index e37d0614a4..5dfb863f14 100644
--- a/boost/date_time/compiler_config.hpp
+++ b/boost/date_time/compiler_config.hpp
@@ -165,5 +165,10 @@ namespace std {
# endif
#endif
+#if defined(BOOST_NO_CXX11_NULLPTR)
+# define BOOST_DATE_TIME_NULLPTR 0
+#else
+# define BOOST_DATE_TIME_NULLPTR nullptr
+#endif
#endif
diff --git a/boost/date_time/posix_time/posix_time_duration.hpp b/boost/date_time/posix_time/posix_time_duration.hpp
index c7ec57e8aa..c69236faeb 100644
--- a/boost/date_time/posix_time/posix_time_duration.hpp
+++ b/boost/date_time/posix_time/posix_time_duration.hpp
@@ -27,7 +27,7 @@ namespace posix_time {
public:
template <typename T>
explicit hours(T const& h,
- typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
+ typename boost::enable_if<boost::is_integral<T>, void>::type* = BOOST_DATE_TIME_NULLPTR) :
time_duration(numeric_cast<hour_type>(h), 0, 0)
{}
};
@@ -41,7 +41,7 @@ namespace posix_time {
public:
template <typename T>
explicit minutes(T const& m,
- typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
+ typename boost::enable_if<boost::is_integral<T>, void>::type* = BOOST_DATE_TIME_NULLPTR) :
time_duration(0, numeric_cast<min_type>(m),0)
{}
};
@@ -55,7 +55,7 @@ namespace posix_time {
public:
template <typename T>
explicit seconds(T const& s,
- typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
+ typename boost::enable_if<boost::is_integral<T>, void>::type* = BOOST_DATE_TIME_NULLPTR) :
time_duration(0,0, numeric_cast<sec_type>(s))
{}
};
diff --git a/boost/date_time/time_duration.hpp b/boost/date_time/time_duration.hpp
index 67930cf8d3..6337c3da1a 100644
--- a/boost/date_time/time_duration.hpp
+++ b/boost/date_time/time_duration.hpp
@@ -283,7 +283,7 @@ namespace date_time {
// The argument (ss) must be an integral type
template <typename T>
explicit subsecond_duration(T const& ss,
- typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
+ typename boost::enable_if<boost::is_integral<T>, void>::type* = BOOST_DATE_TIME_NULLPTR) :
base_duration(impl_type(traits_type::ticks_per_second >= frac_of_second ? ss * adjustment_ratio : ss / adjustment_ratio))
{
}
diff --git a/boost/detail/allocator_utilities.hpp b/boost/detail/allocator_utilities.hpp
index 11eecbe1b5..b9778a92e7 100644
--- a/boost/detail/allocator_utilities.hpp
+++ b/boost/detail/allocator_utilities.hpp
@@ -11,7 +11,7 @@
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
#include <boost/detail/workaround.hpp>
-#include <boost/mpl/eval_if.hpp>
+#include <boost/detail/select_type.hpp>
#include <boost/type_traits/is_same.hpp>
#include <cstddef>
#include <memory>
@@ -142,11 +142,12 @@ struct compliant_allocator_rebind_to
template<typename Allocator,typename Type>
struct rebind_to:
- mpl::eval_if_c<
- is_partial_std_allocator<Allocator>::value,
+ boost::detail::if_true<
+ is_partial_std_allocator<Allocator>::value
+ >::template then<
partial_std_allocator_rebind_to<Allocator,Type>,
compliant_allocator_rebind_to<Allocator,Type>
- >
+ >::type
{
};
diff --git a/boost/detail/compressed_pair.hpp b/boost/detail/compressed_pair.hpp
index 5dc21e23e6..b090a727de 100644
--- a/boost/detail/compressed_pair.hpp
+++ b/boost/detail/compressed_pair.hpp
@@ -24,6 +24,7 @@
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/is_empty.hpp>
+#include <boost/type_traits/is_final.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/call_traits.hpp>
@@ -42,6 +43,14 @@ class compressed_pair;
namespace details
{
+ template<class T, bool E = boost::is_final<T>::value>
+ struct compressed_pair_empty
+ : ::boost::false_type { };
+
+ template<class T>
+ struct compressed_pair_empty<T, false>
+ : ::boost::is_empty<T> { };
+
// JM altered 26 Jan 2000:
template <class T1, class T2, bool IsSame, bool FirstEmpty, bool SecondEmpty>
struct compressed_pair_switch;
@@ -343,8 +352,8 @@ class compressed_pair
T1,
T2,
::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,
- ::boost::is_empty<T1>::value,
- ::boost::is_empty<T2>::value>::value>
+ ::boost::details::compressed_pair_empty<T1>::value,
+ ::boost::details::compressed_pair_empty<T2>::value>::value>
{
private:
typedef details::compressed_pair_imp<T1, T2,
@@ -352,8 +361,8 @@ private:
T1,
T2,
::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,
- ::boost::is_empty<T1>::value,
- ::boost::is_empty<T2>::value>::value> base;
+ ::boost::details::compressed_pair_empty<T1>::value,
+ ::boost::details::compressed_pair_empty<T2>::value>::value> base;
public:
typedef T1 first_type;
typedef T2 second_type;
@@ -388,8 +397,8 @@ class compressed_pair<T, T>
T,
T,
::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
- ::boost::is_empty<T>::value,
- ::boost::is_empty<T>::value>::value>
+ ::boost::details::compressed_pair_empty<T>::value,
+ ::boost::details::compressed_pair_empty<T>::value>::value>
{
private:
typedef details::compressed_pair_imp<T, T,
@@ -397,8 +406,8 @@ private:
T,
T,
::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
- ::boost::is_empty<T>::value,
- ::boost::is_empty<T>::value>::value> base;
+ ::boost::details::compressed_pair_empty<T>::value,
+ ::boost::details::compressed_pair_empty<T>::value>::value> base;
public:
typedef T first_type;
typedef T second_type;
diff --git a/boost/detail/indirect_traits.hpp b/boost/detail/indirect_traits.hpp
index 6294e40f6a..94e9b34dc2 100644
--- a/boost/detail/indirect_traits.hpp
+++ b/boost/detail/indirect_traits.hpp
@@ -4,6 +4,7 @@
// http://www.boost.org/LICENSE_1_0.txt)
#ifndef INDIRECT_TRAITS_DWA2002131_HPP
# define INDIRECT_TRAITS_DWA2002131_HPP
+# include <boost/type_traits/integral_constant.hpp>
# include <boost/type_traits/is_function.hpp>
# include <boost/type_traits/is_reference.hpp>
# include <boost/type_traits/is_pointer.hpp>
@@ -17,13 +18,7 @@
# include <boost/type_traits/remove_pointer.hpp>
# include <boost/detail/workaround.hpp>
-
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
+# include <boost/detail/select_type.hpp>
namespace boost { namespace detail {
@@ -31,24 +26,24 @@ namespace boost { namespace detail {
namespace indirect_traits {
template <class T>
-struct is_reference_to_const : mpl::false_
+struct is_reference_to_const : boost::false_type
{
};
template <class T>
-struct is_reference_to_const<T const&> : mpl::true_
+struct is_reference_to_const<T const&> : boost::true_type
{
};
# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
template<class T>
-struct is_reference_to_const<T const volatile&> : mpl::true_
+struct is_reference_to_const<T const volatile&> : boost::true_type
{
};
-# endif
+# endif
template <class T>
-struct is_reference_to_function : mpl::false_
+struct is_reference_to_function : boost::false_type
{
};
@@ -58,7 +53,7 @@ struct is_reference_to_function<T&> : is_function<T>
};
template <class T>
-struct is_pointer_to_function : mpl::false_
+struct is_pointer_to_function : boost::false_type
{
};
@@ -70,7 +65,7 @@ struct is_pointer_to_function<T*> : is_function<T>
};
template <class T>
-struct is_reference_to_member_function_pointer_impl : mpl::false_
+struct is_reference_to_member_function_pointer_impl : boost::false_type
{
};
@@ -85,18 +80,17 @@ template <class T>
struct is_reference_to_member_function_pointer
: is_reference_to_member_function_pointer_impl<T>
{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
};
template <class T>
struct is_reference_to_function_pointer_aux
- : mpl::and_<
- is_reference<T>
- , is_pointer_to_function<
+ : boost::integral_constant<bool,
+ is_reference<T>::value &&
+ is_pointer_to_function<
typename remove_cv<
typename remove_reference<T>::type
>::type
- >
+ >::value
>
{
// There's no such thing as a pointer-to-cv-function, so we don't need specializations for those
@@ -104,94 +98,91 @@ struct is_reference_to_function_pointer_aux
template <class T>
struct is_reference_to_function_pointer
- : mpl::if_<
- is_reference_to_function<T>
- , mpl::false_
+ : boost::detail::if_true<
+ is_reference_to_function<T>::value
+ >::template then<
+ boost::false_type
, is_reference_to_function_pointer_aux<T>
- >::type
+ >::type
{
};
template <class T>
struct is_reference_to_non_const
- : mpl::and_<
- is_reference<T>
- , mpl::not_<
- is_reference_to_const<T>
- >
+ : boost::integral_constant<bool,
+ is_reference<T>::value &&
+ !is_reference_to_const<T>::value
>
{
};
template <class T>
-struct is_reference_to_volatile : mpl::false_
+struct is_reference_to_volatile : boost::false_type
{
};
template <class T>
-struct is_reference_to_volatile<T volatile&> : mpl::true_
+struct is_reference_to_volatile<T volatile&> : boost::true_type
{
};
# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
template <class T>
-struct is_reference_to_volatile<T const volatile&> : mpl::true_
+struct is_reference_to_volatile<T const volatile&> : boost::true_type
{
};
-# endif
+# endif
template <class T>
-struct is_reference_to_pointer : mpl::false_
+struct is_reference_to_pointer : boost::false_type
{
};
template <class T>
-struct is_reference_to_pointer<T*&> : mpl::true_
+struct is_reference_to_pointer<T*&> : boost::true_type
{
};
template <class T>
-struct is_reference_to_pointer<T* const&> : mpl::true_
+struct is_reference_to_pointer<T* const&> : boost::true_type
{
};
template <class T>
-struct is_reference_to_pointer<T* volatile&> : mpl::true_
+struct is_reference_to_pointer<T* volatile&> : boost::true_type
{
};
template <class T>
-struct is_reference_to_pointer<T* const volatile&> : mpl::true_
+struct is_reference_to_pointer<T* const volatile&> : boost::true_type
{
};
template <class T>
struct is_reference_to_class
- : mpl::and_<
- is_reference<T>
- , is_class<
+ : boost::integral_constant<bool,
+ is_reference<T>::value &&
+ is_class<
typename remove_cv<
typename remove_reference<T>::type
>::type
- >
+ >::value
>
{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
};
template <class T>
struct is_pointer_to_class
- : mpl::and_<
- is_pointer<T>
- , is_class<
+ : boost::integral_constant<bool,
+ is_pointer<T>::value &&
+ is_class<
typename remove_cv<
typename remove_pointer<T>::type
>::type
- >
+ >::value
>
{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T))
};
diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp
index e20e3e4671..b746cccff1 100644
--- a/boost/detail/interlocked.hpp
+++ b/boost/detail/interlocked.hpp
@@ -5,6 +5,7 @@
// boost/detail/interlocked.hpp
//
// Copyright 2005 Peter Dimov
+// Copyright 2018 Andrey Semashev
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -13,11 +14,40 @@
#include <boost/config.hpp>
-// MS compatible compilers support #pragma once
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
#endif
+// BOOST_INTERLOCKED_HAS_INTRIN_H
+
+// VC9 has intrin.h, but it collides with <utility>
+#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
+
+# define BOOST_INTERLOCKED_HAS_INTRIN_H
+
+// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets.
+#elif defined( __MINGW64_VERSION_MAJOR )
+
+// MinGW-w64 provides intrin.h for both 32 and 64-bit targets.
+# define BOOST_INTERLOCKED_HAS_INTRIN_H
+
+#elif defined( __CYGWIN__ ) && defined( __LP64__ )
+
+// We have to use intrin.h on Cygwin 64
+# define BOOST_INTERLOCKED_HAS_INTRIN_H
+
+// Intel C++ on Windows on VC10+ stdlib
+#elif defined( BOOST_INTEL_WIN ) && defined( _CPPLIB_VER ) && _CPPLIB_VER >= 520
+
+# define BOOST_INTERLOCKED_HAS_INTRIN_H
+
+// clang-cl on Windows on VC10+ stdlib
+#elif defined( __clang__ ) && defined( _MSC_VER ) && defined( _CPPLIB_VER ) && _CPPLIB_VER >= 520
+
+# define BOOST_INTERLOCKED_HAS_INTRIN_H
+
+#endif
+
#if defined( BOOST_USE_WINDOWS_H )
# include <windows.h>
@@ -30,7 +60,7 @@
# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
-#elif defined( BOOST_USE_INTRIN_H )
+#elif defined( BOOST_USE_INTRIN_H ) || defined( BOOST_INTERLOCKED_HAS_INTRIN_H )
#include <intrin.h>
@@ -56,13 +86,29 @@
#elif defined(_WIN32_WCE)
+#if _WIN32_WCE >= 0x600
+
+extern "C" long __cdecl _InterlockedIncrement( long volatile * );
+extern "C" long __cdecl _InterlockedDecrement( long volatile * );
+extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long );
+extern "C" long __cdecl _InterlockedExchange( long volatile *, long );
+extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long );
+
+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
+
+#else // _WIN32_WCE >= 0x600
+
// under Windows CE we still have old-style Interlocked* functions
-extern "C" long __cdecl InterlockedIncrement( long volatile* );
-extern "C" long __cdecl InterlockedDecrement( long volatile* );
-extern "C" long __cdecl InterlockedCompareExchange( long volatile*, long, long );
-extern "C" long __cdecl InterlockedExchange( long volatile*, long );
-extern "C" long __cdecl InterlockedExchangeAdd( long volatile*, long );
+extern "C" long __cdecl InterlockedIncrement( long * );
+extern "C" long __cdecl InterlockedDecrement( long * );
+extern "C" long __cdecl InterlockedCompareExchange( long *, long, long );
+extern "C" long __cdecl InterlockedExchange( long *, long );
+extern "C" long __cdecl InterlockedExchangeAdd( long *, long );
# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
@@ -70,6 +116,8 @@ extern "C" long __cdecl InterlockedExchangeAdd( long volatile*, long );
# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
+#endif // _WIN32_WCE >= 0x600
+
# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare)))
# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
@@ -77,12 +125,6 @@ extern "C" long __cdecl InterlockedExchangeAdd( long volatile*, long );
#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
-#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1400
-
-#include <intrin.h>
-
-#else
-
# if defined( __CLRCALL_PURE_OR_CDECL )
# define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __CLRCALL_PURE_OR_CDECL
# else
@@ -105,8 +147,6 @@ extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd(
# pragma intrinsic( _InterlockedExchangeAdd )
# endif
-#endif
-
# if defined(_M_IA64) || defined(_M_AMD64)
extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
@@ -130,27 +170,6 @@ extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets.
-#elif defined(__MINGW64_VERSION_MAJOR)
-
-// MinGW-w64 provides intrin.h for both 32 and 64-bit targets.
-#include <intrin.h>
-
-# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-# if defined(__x86_64__) || defined(__x86_64)
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
-# else
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
- ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
- ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-# endif
-
#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
diff --git a/boost/detail/is_incrementable.hpp b/boost/detail/is_incrementable.hpp
index 5ebf4b7aca..fa70cf2ed7 100644
--- a/boost/detail/is_incrementable.hpp
+++ b/boost/detail/is_incrementable.hpp
@@ -6,8 +6,6 @@
# include <boost/type_traits/integral_constant.hpp>
# include <boost/type_traits/remove_cv.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-# include <boost/mpl/bool.hpp>
# include <boost/detail/workaround.hpp>
namespace boost { namespace detail {
@@ -106,14 +104,12 @@ template<typename T>
struct is_incrementable :
public boost::integral_constant<bool, boost::detail::is_incrementable_::impl<T>::value>
{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T))
};
template<typename T>
struct is_postfix_incrementable :
public boost::integral_constant<bool, boost::detail::is_incrementable_::postfix_impl<T>::value>
{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T))
};
} // namespace detail
diff --git a/boost/detail/is_xxx.hpp b/boost/detail/is_xxx.hpp
index 3f9a1265ee..d54bf7b88c 100644
--- a/boost/detail/is_xxx.hpp
+++ b/boost/detail/is_xxx.hpp
@@ -5,13 +5,13 @@
# define BOOST_DETAIL_IS_XXX_DWA20051011_HPP
# include <boost/config.hpp>
-# include <boost/mpl/bool.hpp>
+# include <boost/type_traits/integral_constant.hpp>
# include <boost/preprocessor/enum_params.hpp>
# define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \
template <class T> \
-struct is_##name : mpl::false_ \
+struct is_##name : boost::false_type \
{ \
}; \
\
@@ -19,7 +19,7 @@ template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > \
struct is_##name< \
qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > \
> \
- : mpl::true_ \
+ : boost::true_type \
{ \
};
diff --git a/boost/detail/lcast_precision.hpp b/boost/detail/lcast_precision.hpp
index 2be88fd87f..84bf1222b1 100644
--- a/boost/detail/lcast_precision.hpp
+++ b/boost/detail/lcast_precision.hpp
@@ -17,7 +17,7 @@
#ifndef BOOST_NO_IS_ABSTRACT
// Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/type_traits/is_abstract.hpp>
#endif
@@ -47,8 +47,8 @@ struct lcast_precision
#ifdef BOOST_NO_IS_ABSTRACT
typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
#else
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
- boost::is_abstract<T>
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
+ boost::is_abstract<T>::value
, std::numeric_limits<lcast_abstract_stub>
, std::numeric_limits<T>
>::type limits;
@@ -105,8 +105,8 @@ inline std::streamsize lcast_get_precision(T* = 0)
#ifdef BOOST_NO_IS_ABSTRACT
typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
#else
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
- boost::is_abstract<T>
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
+ boost::is_abstract<T>::value
, std::numeric_limits<lcast_abstract_stub>
, std::numeric_limits<T>
>::type limits;
diff --git a/boost/detail/reference_content.hpp b/boost/detail/reference_content.hpp
index 36b80d244e..c93ea6fdd0 100644
--- a/boost/detail/reference_content.hpp
+++ b/boost/detail/reference_content.hpp
@@ -15,15 +15,15 @@
#include "boost/config.hpp"
-# include "boost/mpl/bool.hpp"
+# include "boost/type_traits/integral_constant.hpp"
# include "boost/type_traits/has_nothrow_copy.hpp"
-#include "boost/mpl/void.hpp"
-
namespace boost {
namespace detail {
+struct void_type {};
+
///////////////////////////////////////////////////////////////////////////////
// (detail) class template reference_content
//
@@ -71,7 +71,7 @@ public: // queries
// Wraps with reference_content if specified type is reference.
//
-template <typename T = mpl::void_> struct make_reference_content;
+template <typename T = void_type> struct make_reference_content;
template <typename T>
@@ -88,7 +88,7 @@ struct make_reference_content< T& >
template <>
-struct make_reference_content< mpl::void_ >
+struct make_reference_content< void_type >
{
template <typename T>
struct apply
@@ -96,7 +96,7 @@ struct make_reference_content< mpl::void_ >
{
};
- typedef mpl::void_ type;
+ typedef void_type type;
};
} // namespace detail
@@ -110,7 +110,7 @@ template <typename T>
struct has_nothrow_copy<
::boost::detail::reference_content< T& >
>
- : mpl::true_
+ : boost::true_type
{
};
diff --git a/boost/detail/utf8_codecvt_facet.hpp b/boost/detail/utf8_codecvt_facet.hpp
index 12ae19ba93..ad714c09e8 100644
--- a/boost/detail/utf8_codecvt_facet.hpp
+++ b/boost/detail/utf8_codecvt_facet.hpp
@@ -114,7 +114,7 @@ struct BOOST_UTF8_DECL utf8_codecvt_facet :
{
public:
explicit utf8_codecvt_facet(std::size_t no_locale_manage=0);
- virtual ~utf8_codecvt_facet(){}
+ virtual ~utf8_codecvt_facet();
protected:
virtual std::codecvt_base::result do_in(
std::mbstate_t& state,
diff --git a/boost/detail/utf8_codecvt_facet.ipp b/boost/detail/utf8_codecvt_facet.ipp
index d60f906341..24eb61aa2d 100644
--- a/boost/detail/utf8_codecvt_facet.ipp
+++ b/boost/detail/utf8_codecvt_facet.ipp
@@ -36,6 +36,9 @@ utf8_codecvt_facet::utf8_codecvt_facet(
std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage)
{}
+utf8_codecvt_facet::~utf8_codecvt_facet()
+{}
+
// Translate incoming UTF-8 into UCS-4
std::codecvt_base::result utf8_codecvt_facet::do_in(
std::mbstate_t& /*state*/,
diff --git a/boost/dll/alias.hpp b/boost/dll/alias.hpp
index b8ee45ffa3..597b0aa870 100644
--- a/boost/dll/alias.hpp
+++ b/boost/dll/alias.hpp
@@ -32,7 +32,7 @@ namespace boost { namespace dll {
#define BOOST_DLL_FORCE_ALIAS_INSTANTIATION
/// Define this macro to disable exporting weak symbols and start using the \forcedmacrolink{BOOST_DLL_FORCE_ALIAS_INSTANTIATION}.
-/// This may be usefull for working around linker problems or to test your program for compatability with linkers that do not support export of weak symbols.
+/// This may be useful for working around linker problems or to test your program for compatibility with linkers that do not support export of weak symbols.
#define BOOST_DLL_FORCE_NO_WEAK_EXPORTS
#endif
@@ -124,7 +124,7 @@ namespace boost { namespace dll {
/*!
* \brief Makes an alias name for exported function or variable.
*
-* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::sting)`
+* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::string)`
* function name will change to something like `N5boostN3foosE` after mangling.
* Importing function by `N5boostN3foosE` name does not looks user friendly, especially assuming the fact
* that different compilers have different mangling schemes. AliasName is the name that won't be mangled
@@ -213,7 +213,7 @@ namespace boost { namespace dll {
/*!
* \brief Exports variable or function with unmangled alias name.
*
-* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::sting)`
+* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::string)`
* function name will change to something like `N5boostN3foosE` after mangling.
* Importing function by `N5boostN3foosE` name does not looks user friendly, especially assuming the fact
* that different compilers have different mangling schemes.*
diff --git a/boost/dll/detail/ctor_dtor.hpp b/boost/dll/detail/ctor_dtor.hpp
index 3da8395ff5..47e55f5b4a 100644
--- a/boost/dll/detail/ctor_dtor.hpp
+++ b/boost/dll/detail/ctor_dtor.hpp
@@ -46,7 +46,7 @@ struct constructor<Class(Args...)> {
//! The allocating constructor. @warning May differ with the compiler. Use @ref constructor::call_allocating instead.
allocating_t allocating;
- //! Call the standard contructor
+ //! Call the standard constructor
void call_standard (Class * const ptr, Args...args){ (ptr->*standard)(static_cast<Args>(args)...); }
//! Call the deleting destructor
@@ -91,7 +91,7 @@ struct destructor {
//! The deleting destructor. @warning May differ with the compiler. Use @ref destructor::call_deallocating instead.
deleting_t deleting;
- //! Call the standard contructor
+ //! Call the standard constructor
void call_standard(Class * const ptr){ standard(ptr); }
//! Call the deleting destructor
diff --git a/boost/dll/detail/demangling/demangle_symbol.hpp b/boost/dll/detail/demangling/demangle_symbol.hpp
index 30525f6b31..e1ba19f67d 100644
--- a/boost/dll/detail/demangling/demangle_symbol.hpp
+++ b/boost/dll/detail/demangling/demangle_symbol.hpp
@@ -11,6 +11,7 @@
#include <boost/config.hpp>
#include <string>
#include <algorithm>
+#include <memory>
#if defined(BOOST_MSVC) || defined(BOOST_MSVC_FULL_VER)
@@ -88,7 +89,7 @@ inline std::string demangle_symbol(const char *mangled_name)
}
-//for my personal convinience
+//for my personal convenience
inline std::string demangle_symbol(const std::string& mangled_name)
{
return demangle_symbol(mangled_name.c_str());
diff --git a/boost/dll/detail/demangling/msvc.hpp b/boost/dll/detail/demangling/msvc.hpp
index c1abd6a185..6f98e780a2 100644
--- a/boost/dll/detail/demangling/msvc.hpp
+++ b/boost/dll/detail/demangling/msvc.hpp
@@ -36,7 +36,7 @@ class mangled_storage_impl : public mangled_storage_base
{
return get_name<Return>();
}
- //function to remove preceeding 'class ' or 'struct ' if the are given in this format.
+ //function to remove preceding 'class ' or 'struct ' if the are given in this format.
inline static void trim_typename(std::string & val);
public:
@@ -78,7 +78,7 @@ public:
void mangled_storage_impl::trim_typename(std::string & val)
{
- //remove preceeding class or struct, because you might want to use a struct as class, et vice versa
+ //remove preceding class or struct, because you might want to use a struct as class, et vice versa
if (val.size() >= 6)
{
using namespace std;
@@ -98,46 +98,48 @@ namespace parser
{
namespace x3 = spirit::x3;
- auto ptr_rule_impl(std::integral_constant<std::size_t, 32>)
+ inline auto ptr_rule_impl(std::integral_constant<std::size_t, 32>)
{
return -((-x3::space) >> "__ptr32");
}
- auto ptr_rule_impl(std::integral_constant<std::size_t, 64>)
+ inline auto ptr_rule_impl(std::integral_constant<std::size_t, 64>)
{
return -((-x3::space) >> "__ptr64");
}
- auto ptr_rule() { return ptr_rule_impl(std::integral_constant<std::size_t, sizeof(std::size_t)*8>());}
+ inline auto ptr_rule() {
+ return ptr_rule_impl(std::integral_constant<std::size_t, sizeof(std::size_t)*8>());
+ }
auto const visibility = ("public:" | x3::lit("protected:") | "private:");
auto const virtual_ = x3::space >> "virtual";
auto const static_ = x3::space >> x3::lit("static") ;
- auto const_rule_impl(true_type ) {return x3::space >> "const";};
- auto const_rule_impl(false_type) {return x3::eps;};
+ inline auto const_rule_impl(true_type ) {return x3::space >> "const";};
+ inline auto const_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto const_rule() {using t = is_const<typename remove_reference<T>::type>; return const_rule_impl(t());}
- auto volatile_rule_impl(true_type ) {return x3::space >> "volatile";};
- auto volatile_rule_impl(false_type) {return x3::eps;};
+ inline auto volatile_rule_impl(true_type ) {return x3::space >> "volatile";};
+ inline auto volatile_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto volatile_rule() {using t = is_volatile<typename remove_reference<T>::type>; return volatile_rule_impl(t());}
- auto inv_const_rule_impl(true_type ) {return "const" >> x3::space ;};
- auto inv_const_rule_impl(false_type) {return x3::eps;};
+ inline auto inv_const_rule_impl(true_type ) {return "const" >> x3::space ;};
+ inline auto inv_const_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto inv_const_rule() {using t = is_const<typename remove_reference<T>::type>; return inv_const_rule_impl(t());}
- auto inv_volatile_rule_impl(true_type ) {return "volatile" >> x3::space;};
- auto inv_volatile_rule_impl(false_type) {return x3::eps;};
+ inline auto inv_volatile_rule_impl(true_type ) {return "volatile" >> x3::space;};
+ inline auto inv_volatile_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto inv_volatile_rule() {using t = is_volatile<typename remove_reference<T>::type>; return inv_volatile_rule_impl(t());}
- auto reference_rule_impl(false_type, false_type) {return x3::eps;}
- auto reference_rule_impl(true_type, false_type) {return x3::space >>"&" ;}
- auto reference_rule_impl(false_type, true_type ) {return x3::space >>"&&" ;}
+ inline auto reference_rule_impl(false_type, false_type) {return x3::eps;}
+ inline auto reference_rule_impl(true_type, false_type) {return x3::space >>"&" ;}
+ inline auto reference_rule_impl(false_type, true_type ) {return x3::space >>"&&" ;}
template<typename T>
@@ -158,7 +160,7 @@ namespace parser
ptr_rule();
}
template<>
- auto type_rule<void>(const std::string &) { return x3::string("void"); };
+ inline auto type_rule<void>(const std::string &) { return x3::string("void"); };
auto const cdecl_ = "__cdecl" >> x3::space;
auto const stdcall = "__stdcall" >> x3::space;
diff --git a/boost/dll/library_info.hpp b/boost/dll/library_info.hpp
index 4666a16353..de1b420296 100644
--- a/boost/dll/library_info.hpp
+++ b/boost/dll/library_info.hpp
@@ -15,6 +15,7 @@
#include <boost/noncopyable.hpp>
#include <boost/predef/os.h>
#include <boost/predef/architecture.h>
+#include <boost/throw_exception.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/dll/detail/pe_info.hpp>
diff --git a/boost/dll/smart_library.hpp b/boost/dll/smart_library.hpp
index c5859251de..86fa1c903b 100644
--- a/boost/dll/smart_library.hpp
+++ b/boost/dll/smart_library.hpp
@@ -61,7 +61,7 @@ using boost::dll::detail::destructor;
* BOOST_DLL_MEMBER_EXPORT for this, so that MinGW and MSVC can provide those functions. This does however not work with gcc on linux.
*
* Direct initialization of members.
-* On linux the following member variable i will not be initialized when using the allocating contructor:
+* On linux the following member variable i will not be initialized when using the allocating constructor:
* \code
* struct BOOST_SYMBOL_EXPORT my_class { int i; my_class() : i(42) {} };
* \endcode
@@ -80,7 +80,7 @@ public:
using mangled_storage = detail::mangled_storage_impl;
/*!
- * Acces to the mangled storage, which is created on construction.
+ * Access to the mangled storage, which is created on construction.
*
* \throw Nothing.
*/
@@ -295,7 +295,7 @@ public:
* destructor<MyClass> f1 = lib.get_mem_fn<MyClass>();
* \endcode
*
- * \tparam Class The class whichs destructor shall be loaded
+ * \tparam Class The class whose destructor shall be loaded
* \return A destructor object.
*
* \throw boost::system::system_error if symbol does not exist or if the DLL/DSO was not loaded.
@@ -316,7 +316,7 @@ public:
* std::type_info &ti = lib.get_Type_info<MyClass>();
* \endcode
*
- * \tparam Class The class whichs typeinfo shall be loaded
+ * \tparam Class The class whose typeinfo shall be loaded
* \return A reference to a type_info object.
*
* \throw boost::system::system_error if symbol does not exist or if the DLL/DSO was not loaded.
diff --git a/boost/detail/dynamic_bitset.hpp b/boost/dynamic_bitset/detail/dynamic_bitset.hpp
index e0f675d5ec..599994662c 100644
--- a/boost/detail/dynamic_bitset.hpp
+++ b/boost/dynamic_bitset/detail/dynamic_bitset.hpp
@@ -1,10 +1,10 @@
// -----------------------------------------------------------
//
// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek
-// Copyright (c) 2003-2006, 2008 Gennaro Prota
-//
-// Copyright (c) 2014 Glen Joseph Fernandes
-// glenfe at live dot com
+// Copyright (c) 2003-2006, 2008 Gennaro Prota
+// Copyright (c) 2014 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
+// Copyright (c) 2018 Evgeny Shulgin
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
@@ -20,6 +20,9 @@
#include "boost/config.hpp"
#include "boost/detail/workaround.hpp"
+#if ((defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64))
+#include <intrin.h>
+#endif
namespace boost {
@@ -125,6 +128,61 @@ namespace boost {
}
+ // Some platforms have fast popcount operation, that allow us to implement
+ // counting bits much more efficiently
+ //
+ template <typename ValueType>
+ BOOST_FORCEINLINE std::size_t popcount(ValueType value) BOOST_NOEXCEPT
+ {
+ std::size_t num = 0;
+ while (value) {
+ num += count_table<>::table[value & ((1u<<table_width) - 1)];
+ value >>= table_width;
+ }
+ return num;
+ }
+
+#if ((defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64))
+ template <>
+ BOOST_FORCEINLINE std::size_t popcount<unsigned short>(unsigned short value) BOOST_NOEXCEPT
+ {
+ return static_cast<std::size_t>(__popcnt16(value));
+ }
+
+ template <>
+ BOOST_FORCEINLINE std::size_t popcount<unsigned int>(unsigned int value) BOOST_NOEXCEPT
+ {
+ return static_cast<std::size_t>(__popcnt(value));
+ }
+
+#ifdef _M_X64
+ template <>
+ BOOST_FORCEINLINE std::size_t popcount<unsigned __int64>(unsigned __int64 value) BOOST_NOEXCEPT
+ {
+ return static_cast<std::size_t>(__popcnt64(value));
+ }
+#endif
+
+#elif defined(BOOST_GCC) || defined(__clang__) || (defined(BOOST_INTEL) && defined(__GNUC__))
+ template <>
+ BOOST_FORCEINLINE std::size_t popcount<unsigned int>(unsigned int value) BOOST_NOEXCEPT
+ {
+ return __builtin_popcount(value);
+ }
+
+ template <>
+ BOOST_FORCEINLINE std::size_t popcount<unsigned long>(unsigned long value) BOOST_NOEXCEPT
+ {
+ return __builtin_popcountl(value);
+ }
+
+ template <>
+ BOOST_FORCEINLINE std::size_t popcount<boost::ulong_long_type>(boost::ulong_long_type value) BOOST_NOEXCEPT
+ {
+ return __builtin_popcountll(value);
+ }
+#endif
+
// overload for access by blocks
//
template <typename Iterator, typename ValueType>
@@ -133,13 +191,7 @@ namespace boost {
{
std::size_t num = 0;
while (length){
-
- ValueType value = *first;
- while (value) {
- num += count_table<>::table[value & ((1u<<table_width) - 1)];
- value >>= table_width;
- }
-
+ num += popcount<ValueType>(*first);
++first;
--length;
}
diff --git a/boost/pending/lowest_bit.hpp b/boost/dynamic_bitset/detail/lowest_bit.hpp
index 697f6d070f..42f6fb6174 100644
--- a/boost/pending/lowest_bit.hpp
+++ b/boost/dynamic_bitset/detail/lowest_bit.hpp
@@ -14,16 +14,16 @@
#ifndef BOOST_LOWEST_BIT_HPP_GP_20030301
#define BOOST_LOWEST_BIT_HPP_GP_20030301
-#include <assert.h>
#include "boost/integer/integer_log2.hpp"
-
+#include "boost/assert.hpp"
namespace boost {
+namespace detail {
template <typename T>
int lowest_bit(T x) {
- assert(x >= 1); // PRE
+ BOOST_ASSERT(x >= 1); // PRE
// clear all bits on except the rightmost one,
// then calculate the logarithm base 2
@@ -32,7 +32,7 @@ namespace boost {
}
-
+}
}
diff --git a/boost/dynamic_bitset/dynamic_bitset.hpp b/boost/dynamic_bitset/dynamic_bitset.hpp
index 83fcb61a1e..a128a69845 100644
--- a/boost/dynamic_bitset/dynamic_bitset.hpp
+++ b/boost/dynamic_bitset/dynamic_bitset.hpp
@@ -5,8 +5,10 @@
// Copyright (c) 2014 Ahmed Charles
//
// Copyright (c) 2014 Glen Joseph Fernandes
-// glenfe at live dot com
+// (glenjofe@gmail.com)
+//
// Copyright (c) 2014 Riccardo Marcangelo
+// Copyright (c) 2018 Evgeny Shulgin
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
@@ -39,11 +41,11 @@
#endif
#include "boost/dynamic_bitset_fwd.hpp"
-#include "boost/detail/dynamic_bitset.hpp"
+#include "boost/dynamic_bitset/detail/dynamic_bitset.hpp"
+#include "boost/dynamic_bitset/detail/lowest_bit.hpp"
#include "boost/detail/iterator.hpp" // used to implement append(Iter, Iter)
#include "boost/move/move.hpp"
#include "boost/limits.hpp"
-#include "boost/pending/lowest_bit.hpp"
#include "boost/static_assert.hpp"
#include "boost/utility/addressof.hpp"
#include "boost/detail/no_exceptions_support.hpp"
@@ -279,10 +281,13 @@ public:
dynamic_bitset operator>>(size_type n) const;
// basic bit operations
+ dynamic_bitset& set(size_type n, size_type len, bool val /* = true */); // default would make it ambiguous
dynamic_bitset& set(size_type n, bool val = true);
dynamic_bitset& set();
+ dynamic_bitset& reset(size_type n, size_type len);
dynamic_bitset& reset(size_type n);
dynamic_bitset& reset();
+ dynamic_bitset& flip(size_type n, size_type len);
dynamic_bitset& flip(size_type n);
dynamic_bitset& flip();
bool test(size_type n) const;
@@ -360,6 +365,9 @@ public:
private:
BOOST_STATIC_CONSTANT(block_width_type, ulong_width = std::numeric_limits<unsigned long>::digits);
+ dynamic_bitset& range_operation(size_type pos, size_type len,
+ Block (*partial_block_operation)(Block, size_type, size_type),
+ Block (*full_block_operation)(Block));
void m_zero_unused_bits();
bool m_check_invariants() const;
@@ -369,6 +377,51 @@ private:
static size_type block_index(size_type pos) BOOST_NOEXCEPT { return pos / bits_per_block; }
static block_width_type bit_index(size_type pos) BOOST_NOEXCEPT { return static_cast<block_width_type>(pos % bits_per_block); }
static Block bit_mask(size_type pos) BOOST_NOEXCEPT { return Block(1) << bit_index(pos); }
+ static Block bit_mask(size_type first, size_type last) BOOST_NOEXCEPT
+ {
+ Block res = (last == bits_per_block - 1)
+ ? static_cast<Block>(~0)
+ : ((Block(1) << (last + 1)) - 1);
+ res ^= (Block(1) << first) - 1;
+ return res;
+ }
+ static Block set_block_bits(Block block, size_type first,
+ size_type last, bool val) BOOST_NOEXCEPT
+ {
+ if (val)
+ return block | bit_mask(first, last);
+ else
+ return block & static_cast<Block>(~bit_mask(first, last));
+ }
+
+ // Functions for operations on ranges
+ inline static Block set_block_partial(Block block, size_type first,
+ size_type last) BOOST_NOEXCEPT
+ {
+ return set_block_bits(block, first, last, true);
+ }
+ inline static Block set_block_full(Block) BOOST_NOEXCEPT
+ {
+ return static_cast<Block>(~0);
+ }
+ inline static Block reset_block_partial(Block block, size_type first,
+ size_type last) BOOST_NOEXCEPT
+ {
+ return set_block_bits(block, first, last, false);
+ }
+ inline static Block reset_block_full(Block) BOOST_NOEXCEPT
+ {
+ return 0;
+ }
+ inline static Block flip_block_partial(Block block, size_type first,
+ size_type last) BOOST_NOEXCEPT
+ {
+ return block ^ bit_mask(first, last);
+ }
+ inline static Block flip_block_full(Block block) BOOST_NOEXCEPT
+ {
+ return ~block;
+ }
template <typename CharT, typename Traits, typename Alloc>
void init_from_string(const std::basic_string<CharT, Traits, Alloc>& s,
@@ -961,6 +1014,17 @@ dynamic_bitset<Block, Allocator>::operator>>(size_type n) const
template <typename Block, typename Allocator>
dynamic_bitset<Block, Allocator>&
+dynamic_bitset<Block, Allocator>::set(size_type pos,
+ size_type len, bool val)
+{
+ if (val)
+ return range_operation(pos, len, set_block_partial, set_block_full);
+ else
+ return range_operation(pos, len, reset_block_partial, reset_block_full);
+}
+
+template <typename Block, typename Allocator>
+dynamic_bitset<Block, Allocator>&
dynamic_bitset<Block, Allocator>::set(size_type pos, bool val)
{
assert(pos < m_num_bits);
@@ -983,6 +1047,13 @@ dynamic_bitset<Block, Allocator>::set()
}
template <typename Block, typename Allocator>
+inline dynamic_bitset<Block, Allocator>&
+dynamic_bitset<Block, Allocator>::reset(size_type pos, size_type len)
+{
+ return range_operation(pos, len, reset_block_partial, reset_block_full);
+}
+
+template <typename Block, typename Allocator>
dynamic_bitset<Block, Allocator>&
dynamic_bitset<Block, Allocator>::reset(size_type pos)
{
@@ -1008,6 +1079,13 @@ dynamic_bitset<Block, Allocator>::reset()
template <typename Block, typename Allocator>
dynamic_bitset<Block, Allocator>&
+dynamic_bitset<Block, Allocator>::flip(size_type pos, size_type len)
+{
+ return range_operation(pos, len, flip_block_partial, flip_block_full);
+}
+
+template <typename Block, typename Allocator>
+dynamic_bitset<Block, Allocator>&
dynamic_bitset<Block, Allocator>::flip(size_type pos)
{
assert(pos < m_num_bits);
@@ -1125,7 +1203,17 @@ dynamic_bitset<Block, Allocator>::count() const BOOST_NOEXCEPT
enum { enough_table_width = table_width >= CHAR_BIT };
- enum { mode = (no_padding && enough_table_width)
+#if ((defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64))
+ // Windows popcount is effective starting from the unsigned short type
+ enum { uneffective_popcount = sizeof(Block) < sizeof(unsigned short) };
+#elif defined(BOOST_GCC) || defined(__clang__) || (defined(BOOST_INTEL) && defined(__GNUC__))
+ // GCC popcount is effective starting from the unsigned int type
+ enum { uneffective_popcount = sizeof(Block) < sizeof(unsigned int) };
+#else
+ enum { uneffective_popcount = true };
+#endif
+
+ enum { mode = (no_padding && enough_table_width && uneffective_popcount)
? access_by_bytes
: access_by_blocks };
@@ -1346,7 +1434,6 @@ bool dynamic_bitset<Block, Allocator>::intersects(const dynamic_bitset & b) cons
// --------------------------------
// lookup
-
// look for the first bit "on", starting
// from the block with index first_block
//
@@ -1363,8 +1450,7 @@ dynamic_bitset<Block, Allocator>::m_do_find_from(size_type first_block) const
if (i >= num_blocks())
return npos; // not found
- return i * bits_per_block + static_cast<size_type>(boost::lowest_bit(m_bits[i]));
-
+ return i * bits_per_block + static_cast<size_type>(detail::lowest_bit(m_bits[i]));
}
@@ -1394,7 +1480,7 @@ dynamic_bitset<Block, Allocator>::find_next(size_type pos) const
const Block fore = m_bits[blk] >> ind;
return fore?
- pos + static_cast<size_type>(lowest_bit(fore))
+ pos + static_cast<size_type>(detail::lowest_bit(fore))
:
m_do_find_from(blk + 1);
@@ -1925,6 +2011,63 @@ inline const Block& dynamic_bitset<Block, Allocator>::m_highest_block() const
return m_bits.back();
}
+template <typename Block, typename Allocator>
+dynamic_bitset<Block, Allocator>& dynamic_bitset<Block, Allocator>::range_operation(
+ size_type pos, size_type len,
+ Block (*partial_block_operation)(Block, size_type, size_type),
+ Block (*full_block_operation)(Block))
+{
+ assert(pos + len <= m_num_bits);
+
+ // Do nothing in case of zero length
+ if (!len)
+ return *this;
+
+ // Use an additional asserts in order to detect size_type overflow
+ // For example: pos = 10, len = size_type_limit - 2, pos + len = 7
+ // In case of overflow, 'pos + len' is always smaller than 'len'
+ assert(pos + len >= len);
+
+ // Start and end blocks of the [pos; pos + len - 1] sequence
+ const size_type first_block = block_index(pos);
+ const size_type last_block = block_index(pos + len - 1);
+
+ const size_type first_bit_index = bit_index(pos);
+ const size_type last_bit_index = bit_index(pos + len - 1);
+
+ if (first_block == last_block) {
+ // Filling only a sub-block of a block
+ m_bits[first_block] = partial_block_operation(m_bits[first_block],
+ first_bit_index, last_bit_index);
+ } else {
+ // Check if the corner blocks won't be fully filled with 'val'
+ const size_type first_block_shift = bit_index(pos) ? 1 : 0;
+ const size_type last_block_shift = (bit_index(pos + len - 1)
+ == bits_per_block - 1) ? 0 : 1;
+
+ // Blocks that will be filled with ~0 or 0 at once
+ const size_type first_full_block = first_block + first_block_shift;
+ const size_type last_full_block = last_block - last_block_shift;
+
+ for (size_type i = first_full_block; i <= last_full_block; ++i) {
+ m_bits[i] = full_block_operation(m_bits[i]);
+ }
+
+ // Fill the first block from the 'first' bit index to the end
+ if (first_block_shift) {
+ m_bits[first_block] = partial_block_operation(m_bits[first_block],
+ first_bit_index, bits_per_block - 1);
+ }
+
+ // Fill the last block from the start to the 'last' bit index
+ if (last_block_shift) {
+ m_bits[last_block] = partial_block_operation(m_bits[last_block],
+ 0, last_bit_index);
+ }
+ }
+
+ return *this;
+}
// If size() is not a multiple of bits_per_block
// then not all the bits in the last block are used.
diff --git a/boost/endian/arithmetic.hpp b/boost/endian/arithmetic.hpp
index e20d25b3b4..38e8bdcf31 100644
--- a/boost/endian/arithmetic.hpp
+++ b/boost/endian/arithmetic.hpp
@@ -35,7 +35,8 @@
#endif
#include <boost/config.hpp>
-#include <boost/predef/detail/endian_compat.h>
+#include <boost/config/workaround.hpp>
+#include <boost/predef/other/endian.h>
#include <boost/endian/conversion.hpp>
#include <boost/endian/buffers.hpp>
#define BOOST_ENDIAN_MINIMAL_COVER_OPERATORS
@@ -58,7 +59,8 @@
# define BOOST_ENDIAN_DEFAULT_CONSTRUCT = default; // C++0x
# endif
-# if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && defined(BOOST_ENDIAN_FORCE_PODNESS)
+// g++ pre-4.6 does not support unrestricted unions, but we have no Config macro for that
+# if (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || BOOST_WORKAROUND(BOOST_GCC, < 40600)) && defined(BOOST_ENDIAN_FORCE_PODNESS)
# define BOOST_ENDIAN_NO_CTORS
# endif
@@ -146,7 +148,7 @@ namespace endian
typedef endian_arithmetic<order::little, uint_least64_t, 56> little_uint56_t;
typedef endian_arithmetic<order::little, uint_least64_t, 64> little_uint64_t;
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
// native endian signed integer unaligned types
typedef big_int8_t native_int8_t;
typedef big_int16_t native_int16_t;
diff --git a/boost/endian/buffers.hpp b/boost/endian/buffers.hpp
index 258bbecb54..467fd591ee 100644
--- a/boost/endian/buffers.hpp
+++ b/boost/endian/buffers.hpp
@@ -35,7 +35,8 @@
#endif
#include <boost/config.hpp>
-#include <boost/predef/detail/endian_compat.h>
+#include <boost/config/workaround.hpp>
+#include <boost/predef/other/endian.h>
#include <boost/endian/conversion.hpp>
#include <boost/type_traits/is_signed.hpp>
#include <boost/type_traits/make_unsigned.hpp>
@@ -59,7 +60,8 @@
# define BOOST_ENDIAN_DEFAULT_CONSTRUCT = default; // C++0x
# endif
-# if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && defined(BOOST_ENDIAN_FORCE_PODNESS)
+// g++ pre-4.6 does not support unrestricted unions, but we have no Config macro for that
+# if (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || BOOST_WORKAROUND(BOOST_GCC, < 40600)) && defined(BOOST_ENDIAN_FORCE_PODNESS)
# define BOOST_ENDIAN_NO_CTORS
# endif
@@ -148,7 +150,7 @@ namespace endian
typedef endian_buffer<order::little, uint_least64_t, 56> little_uint56_buf_t;
typedef endian_buffer<order::little, uint_least64_t, 64> little_uint64_buf_t;
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
// unaligned native endian signed integer buffers
typedef big_int8_buf_t native_int8_buf_t;
typedef big_int16_buf_t native_int16_buf_t;
diff --git a/boost/endian/conversion.hpp b/boost/endian/conversion.hpp
index 9dc40231d4..9da4225e21 100644
--- a/boost/endian/conversion.hpp
+++ b/boost/endian/conversion.hpp
@@ -9,7 +9,7 @@
#define BOOST_ENDIAN_CONVERSION_HPP
#include <boost/config.hpp>
-#include <boost/predef/detail/endian_compat.h>
+#include <boost/predef/other/endian.h>
#include <boost/cstdint.hpp>
#include <boost/endian/detail/intrinsic.hpp>
#include <boost/core/scoped_enum.hpp>
@@ -26,7 +26,7 @@ namespace endian
BOOST_SCOPED_ENUM_START(order)
{
big, little,
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
native = big
# else
native = little
@@ -285,7 +285,7 @@ namespace endian
template <class EndianReversible >
inline EndianReversible big_to_native(EndianReversible x) BOOST_NOEXCEPT
{
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
return x;
# else
return endian_reverse(x);
@@ -295,7 +295,7 @@ namespace endian
template <class EndianReversible >
inline EndianReversible native_to_big(EndianReversible x) BOOST_NOEXCEPT
{
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
return x;
# else
return endian_reverse(x);
@@ -305,7 +305,7 @@ namespace endian
template <class EndianReversible >
inline EndianReversible little_to_native(EndianReversible x) BOOST_NOEXCEPT
{
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
return x;
# else
return endian_reverse(x);
@@ -315,7 +315,7 @@ namespace endian
template <class EndianReversible >
inline EndianReversible native_to_little(EndianReversible x) BOOST_NOEXCEPT
{
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
return x;
# else
return endian_reverse(x);
@@ -370,14 +370,14 @@ namespace endian
}
template <class EndianReversibleInplace>
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
inline void big_to_native_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {}
# else
inline void big_to_native_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT
{ endian_reverse_inplace(x); }
# endif
template <class EndianReversibleInplace>
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
inline void native_to_big_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {}
# else
inline void native_to_big_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT
@@ -387,14 +387,14 @@ namespace endian
# endif
template <class EndianReversibleInplace>
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
inline void little_to_native_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {}
# else
inline void little_to_native_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT
{ endian_reverse_inplace(x); }
# endif
template <class EndianReversibleInplace>
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
inline void native_to_little_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {}
# else
inline void native_to_little_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT
@@ -449,7 +449,7 @@ namespace endian
template <class T>
inline void big_reverse_copy(T from, char* to) BOOST_NOEXCEPT
{
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
std::memcpy(to, reinterpret_cast<const char*>(&from), sizeof(T));
# else
std::reverse_copy(reinterpret_cast<const char*>(&from),
@@ -459,7 +459,7 @@ namespace endian
template <class T>
inline void big_reverse_copy(const char* from, T& to) BOOST_NOEXCEPT
{
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
std::memcpy(reinterpret_cast<char*>(&to), from, sizeof(T));
# else
std::reverse_copy(from, from + sizeof(T), reinterpret_cast<char*>(&to));
@@ -468,7 +468,7 @@ namespace endian
template <class T>
inline void little_reverse_copy(T from, char* to) BOOST_NOEXCEPT
{
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
std::memcpy(to, reinterpret_cast<const char*>(&from), sizeof(T));
# else
std::reverse_copy(reinterpret_cast<const char*>(&from),
@@ -478,7 +478,7 @@ namespace endian
template <class T>
inline void little_reverse_copy(const char* from, T& to) BOOST_NOEXCEPT
{
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
std::memcpy(reinterpret_cast<char*>(&to), from, sizeof(T));
# else
std::reverse_copy(from, from + sizeof(T), reinterpret_cast<char*>(&to));
diff --git a/boost/endian/detail/config.hpp b/boost/endian/detail/config.hpp
deleted file mode 100644
index 6d446fa5d5..0000000000
--- a/boost/endian/detail/config.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// boost/endian/detail/config.hpp ----------------------------------------------------//
-
-// Copyright Beman Dawes 2003, 2010
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-//--------------------------------------------------------------------------------------//
-
-#ifndef BOOST_ENDIAN_CONFIG_HPP
-#define BOOST_ENDIAN_CONFIG_HPP
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-#include <boost/config.hpp>
-#include <boost/system/api_config.hpp> // for BOOST_POSIX_API or BOOST_WINDOWS_API
-
-// throw an exception ----------------------------------------------------------------//
-//
-// Exceptions were originally thrown via boost::throw_exception().
-// As throw_exception() became more complex, it caused user error reporting
-// to be harder to interpret, since the exception reported became much more complex.
-// The immediate fix was to throw directly, wrapped in a macro to make any later change
-// easier.
-
-#define BOOST_ENDIAN_THROW(EX) throw EX
-
-// enable dynamic linking -------------------------------------------------------------//
-
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ENDIAN_DYN_LINK)
-# if defined(BOOST_ENDIAN_SOURCE)
-# define BOOST_ENDIAN_DECL BOOST_SYMBOL_EXPORT
-# else
-# define BOOST_ENDIAN_DECL BOOST_SYMBOL_IMPORT
-# endif
-#else
-# define BOOST_ENDIAN_DECL
-#endif
-
-// enable automatic library variant selection ----------------------------------------//
-
-#if !defined(BOOST_ENDIAN_SOURCE) && !defined(BOOST_ALL_NO_LIB) \
- && !defined(BOOST_ENDIAN_NO_LIB)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_endian
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ENDIAN_DYN_LINK)
-# define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif // auto-linking disabled
-
-#endif // BOOST_ENDIAN_CONFIG_HPP
diff --git a/boost/endian/detail/disable_warnings_pop.hpp b/boost/endian/detail/disable_warnings_pop.hpp
index 0ebc74a452..09a31e9641 100644
--- a/boost/endian/detail/disable_warnings_pop.hpp
+++ b/boost/endian/detail/disable_warnings_pop.hpp
@@ -8,5 +8,5 @@
//--------------------------------------------------------------------------------------//
#ifdef _MSC_VER
-# pragma warning(push)
+# pragma warning(pop)
#endif
diff --git a/boost/exception/exception.hpp b/boost/exception/exception.hpp
index c0fdaf9e55..d5c22c4ca2 100644
--- a/boost/exception/exception.hpp
+++ b/boost/exception/exception.hpp
@@ -5,21 +5,24 @@
#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
#define UUID_274DA366004E11DCB1DDFE2E56D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
+
+#include <boost/config.hpp>
#ifdef BOOST_EXCEPTION_MINI_BOOST
#include <memory>
namespace boost { namespace exception_detail { using std::shared_ptr; } }
#else
-namespace boost { template <class T> class shared_ptr; };
+namespace boost { template <class T> class shared_ptr; }
namespace boost { namespace exception_detail { using boost::shared_ptr; } }
#endif
+#if defined(__GNUC__) && (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma GCC system_header
+#endif
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(push,1)
+#endif
+
namespace
boost
{
@@ -140,17 +143,9 @@ boost
}
};
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
- class exception;
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
+ class
+ BOOST_SYMBOL_VISIBLE
+ exception;
namespace
exception_detail
@@ -216,12 +211,8 @@ boost
E const & set_info( E const &, throw_line const & );
}
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
class
+ BOOST_SYMBOL_VISIBLE
exception
{
//<N3757>
@@ -293,11 +284,6 @@ boost
mutable char const * throw_file_;
mutable int throw_line_;
};
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
inline
exception::
@@ -338,13 +324,9 @@ boost
namespace
exception_detail
{
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
template <class T>
struct
+ BOOST_SYMBOL_VISIBLE
error_info_injector:
public T,
public exception
@@ -359,11 +341,6 @@ boost
{
}
};
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
struct large_size { char c[256]; };
large_size dispatch_boost_exception( exception const * );
@@ -411,12 +388,8 @@ boost
namespace
exception_detail
{
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
class
+ BOOST_SYMBOL_VISIBLE
clone_base
{
public:
@@ -429,11 +402,6 @@ boost
{
}
};
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
inline
void
@@ -454,13 +422,9 @@ boost
{
}
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
template <class T>
class
+ BOOST_SYMBOL_VISIBLE
clone_impl:
public T,
public virtual clone_base
@@ -500,11 +464,6 @@ boost
}
};
}
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
template <class T>
inline
@@ -513,6 +472,51 @@ boost
{
return exception_detail::clone_impl<T>(x);
}
+
+ template <class T>
+ struct
+ BOOST_SYMBOL_VISIBLE
+ wrapexcept:
+ public exception_detail::clone_impl<typename exception_detail::enable_error_info_return_type<T>::type>
+ {
+ typedef exception_detail::clone_impl<typename exception_detail::enable_error_info_return_type<T>::type> base_type;
+ public:
+ explicit
+ wrapexcept( typename exception_detail::enable_error_info_return_type<T>::type const & x ):
+ base_type( x )
+ {
+ }
+
+ ~wrapexcept() throw()
+ {
+ }
+ };
+
+ namespace
+ exception_detail
+ {
+ template <class T>
+ struct
+ remove_error_info_injector
+ {
+ typedef T type;
+ };
+
+ template <class T>
+ struct
+ remove_error_info_injector< error_info_injector<T> >
+ {
+ typedef T type;
+ };
+
+ template <class T>
+ inline
+ wrapexcept<typename remove_error_info_injector<T>::type>
+ enable_both( T const & x )
+ {
+ return wrapexcept<typename remove_error_info_injector<T>::type>( enable_error_info( x ) );
+ }
+ }
}
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
diff --git a/boost/fiber/buffered_channel.hpp b/boost/fiber/buffered_channel.hpp
index 53b5f81616..956b447981 100644
--- a/boost/fiber/buffered_channel.hpp
+++ b/boost/fiber/buffered_channel.hpp
@@ -87,33 +87,35 @@ public:
void close() noexcept {
context * active_ctx = context::active();
detail::spinlock_lock lk{ splk_ };
- closed_ = true;
- // notify all waiting producers
- while ( ! waiting_producers_.empty() ) {
- context * producer_ctx = & waiting_producers_.front();
- waiting_producers_.pop_front();
- std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
- if ( producer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
- // notify context
- active_ctx->schedule( producer_ctx);
- } else if ( static_cast< std::intptr_t >( 0) == expected) {
- // no timed-wait op.
- // notify context
- active_ctx->schedule( producer_ctx);
+ if ( ! closed_) {
+ closed_ = true;
+ // notify all waiting producers
+ while ( ! waiting_producers_.empty() ) {
+ context * producer_ctx = & waiting_producers_.front();
+ waiting_producers_.pop_front();
+ std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
+ if ( producer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
+ // notify context
+ active_ctx->schedule( producer_ctx);
+ } else if ( static_cast< std::intptr_t >( 0) == expected) {
+ // no timed-wait op.
+ // notify context
+ active_ctx->schedule( producer_ctx);
+ }
}
- }
- // notify all waiting consumers
- while ( ! waiting_consumers_.empty() ) {
- context * consumer_ctx = & waiting_consumers_.front();
- waiting_consumers_.pop_front();
- std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
- if ( consumer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
- // notify context
- active_ctx->schedule( consumer_ctx);
- } else if ( static_cast< std::intptr_t >( 0) == expected) {
- // no timed-wait op.
- // notify context
- active_ctx->schedule( consumer_ctx);
+ // notify all waiting consumers
+ while ( ! waiting_consumers_.empty() ) {
+ context * consumer_ctx = & waiting_consumers_.front();
+ waiting_consumers_.pop_front();
+ std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
+ if ( consumer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
+ // notify context
+ active_ctx->schedule( consumer_ctx);
+ } else if ( static_cast< std::intptr_t >( 0) == expected) {
+ // no timed-wait op.
+ // notify context
+ active_ctx->schedule( consumer_ctx);
+ }
}
}
}
diff --git a/boost/fiber/detail/context_spmc_queue.hpp b/boost/fiber/detail/context_spmc_queue.hpp
index 89f93044f9..5f906cf581 100644
--- a/boost/fiber/detail/context_spmc_queue.hpp
+++ b/boost/fiber/detail/context_spmc_queue.hpp
@@ -1,4 +1,4 @@
-
+
// Copyright Oliver Kowalke 2013.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/fiber/detail/exchange.hpp b/boost/fiber/detail/exchange.hpp
new file mode 100644
index 0000000000..57a495be7b
--- /dev/null
+++ b/boost/fiber/detail/exchange.hpp
@@ -0,0 +1,36 @@
+
+// Copyright Oliver Kowalke 2018.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_FIBER_DETAIL_EXCHANGE_H
+#define BOOST_FIBER_DETAIL_EXCHANGE_H
+
+#include <algorithm>
+#include <utility>
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_HAS_ABI_HEADERS
+# include BOOST_ABI_PREFIX
+#endif
+
+namespace boost {
+namespace fibers {
+namespace detail {
+
+template< typename T, typename U = T >
+T exchange( T & t, U && nv) {
+ T ov = std::move( t);
+ t = std::forward< U >( nv);
+ return ov;
+}
+
+}}}
+
+#ifdef BOOST_HAS_ABI_HEADERS
+#include BOOST_ABI_SUFFIX
+#endif
+
+#endif // BOOST_FIBER_DETAIL_EXCHANGE_H
diff --git a/boost/fiber/detail/thread_barrier.hpp b/boost/fiber/detail/thread_barrier.hpp
new file mode 100644
index 0000000000..3262c1f395
--- /dev/null
+++ b/boost/fiber/detail/thread_barrier.hpp
@@ -0,0 +1,63 @@
+
+// Copyright Oliver Kowalke 2013.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_FIBER_DETAIL_THREAD_BARRIER_H
+#define BOOST_FIBER_DETAIL_THREAD_BARRIER_H
+
+#include <cstddef>
+#include <condition_variable>
+#include <mutex>
+
+#include <boost/assert.hpp>
+#include <boost/config.hpp>
+
+#include <boost/fiber/detail/config.hpp>
+
+#ifdef BOOST_HAS_ABI_HEADERS
+# include BOOST_ABI_PREFIX
+#endif
+
+namespace boost {
+namespace fibers {
+namespace detail {
+
+class thread_barrier {
+private:
+ std::size_t initial_;
+ std::size_t current_;
+ bool cycle_{ true };
+ std::mutex mtx_{};
+ std::condition_variable cond_{};
+
+public:
+ explicit thread_barrier( std::size_t initial) :
+ initial_{ initial },
+ current_{ initial_ } {
+ BOOST_ASSERT ( 0 != initial);
+ }
+
+ thread_barrier( thread_barrier const&) = delete;
+ thread_barrier & operator=( thread_barrier const&) = delete;
+
+ bool wait() {
+ std::unique_lock< std::mutex > lk( mtx_);
+ const bool cycle = cycle_;
+ if ( 0 == --current_) {
+ cycle_ = ! cycle_;
+ current_ = initial_;
+ lk.unlock(); // no pessimization
+ cond_.notify_all();
+ return true;
+ } else {
+ cond_.wait( lk, [&](){ return cycle != cycle_; });
+ }
+ return false;
+ }
+};
+
+}}}
+
+#endif // BOOST_FIBER_DETAIL_THREAD_BARRIER_H
diff --git a/boost/fiber/unbuffered_channel.hpp b/boost/fiber/unbuffered_channel.hpp
index dd08701707..e8209c1f1c 100644
--- a/boost/fiber/unbuffered_channel.hpp
+++ b/boost/fiber/unbuffered_channel.hpp
@@ -20,6 +20,9 @@
#include <boost/fiber/context.hpp>
#include <boost/fiber/detail/config.hpp>
#include <boost/fiber/detail/convert.hpp>
+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
+#include <boost/fiber/detail/exchange.hpp>
+#endif
#include <boost/fiber/detail/spinlock.hpp>
#include <boost/fiber/exceptions.hpp>
@@ -110,35 +113,43 @@ public:
void close() noexcept {
context * active_ctx = context::active();
- // notify all waiting producers
- closed_.store( true, std::memory_order_release);
- detail::spinlock_lock lk1{ splk_producers_ };
- while ( ! waiting_producers_.empty() ) {
- context * producer_ctx = & waiting_producers_.front();
- waiting_producers_.pop_front();
- std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
- if ( producer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
- // notify context
- active_ctx->schedule( producer_ctx);
- } else if ( static_cast< std::intptr_t >( 0) == expected) {
- // no timed-wait op.
+ // set flag
+ if ( ! closed_.exchange( true, std::memory_order_acquire) ) {
+ // notify current waiting
+ slot * s = slot_.load( std::memory_order_acquire);
+ if ( nullptr != s) {
// notify context
- active_ctx->schedule( producer_ctx);
+ active_ctx->schedule( s->ctx);
}
- }
- // notify all waiting consumers
- detail::spinlock_lock lk2{ splk_consumers_ };
- while ( ! waiting_consumers_.empty() ) {
- context * consumer_ctx = & waiting_consumers_.front();
- waiting_consumers_.pop_front();
- std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
- if ( consumer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
- // notify context
- active_ctx->schedule( consumer_ctx);
- } else if ( static_cast< std::intptr_t >( 0) == expected) {
- // no timed-wait op.
- // notify context
- active_ctx->schedule( consumer_ctx);
+ // notify all waiting producers
+ detail::spinlock_lock lk1{ splk_producers_ };
+ while ( ! waiting_producers_.empty() ) {
+ context * producer_ctx = & waiting_producers_.front();
+ waiting_producers_.pop_front();
+ std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
+ if ( producer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
+ // notify context
+ active_ctx->schedule( producer_ctx);
+ } else if ( static_cast< std::intptr_t >( 0) == expected) {
+ // no timed-wait op.
+ // notify context
+ active_ctx->schedule( producer_ctx);
+ }
+ }
+ // notify all waiting consumers
+ detail::spinlock_lock lk2{ splk_consumers_ };
+ while ( ! waiting_consumers_.empty() ) {
+ context * consumer_ctx = & waiting_consumers_.front();
+ waiting_consumers_.pop_front();
+ std::intptr_t expected = reinterpret_cast< std::intptr_t >( this);
+ if ( consumer_ctx->twstatus.compare_exchange_strong( expected, static_cast< std::intptr_t >( -1), std::memory_order_acq_rel) ) {
+ // notify context
+ active_ctx->schedule( consumer_ctx);
+ } else if ( static_cast< std::intptr_t >( 0) == expected) {
+ // no timed-wait op.
+ // notify context
+ active_ctx->schedule( consumer_ctx);
+ }
}
}
}
@@ -170,8 +181,14 @@ public:
}
// suspend till value has been consumed
active_ctx->suspend( lk);
- // resumed, value has been consumed
- return channel_op_status::success;
+ // resumed
+ if ( nullptr == s.ctx) {
+ // value has been consumed
+ return channel_op_status::success;
+ } else {
+ // channel was closed before value was consumed
+ return channel_op_status::closed;
+ }
} else {
detail::spinlock_lock lk{ splk_producers_ };
if ( BOOST_UNLIKELY( is_closed() ) ) {
@@ -216,8 +233,14 @@ public:
}
// suspend till value has been consumed
active_ctx->suspend( lk);
- // resumed, value has been consumed
- return channel_op_status::success;
+ // resumed
+ if ( nullptr == s.ctx) {
+ // value has been consumed
+ return channel_op_status::success;
+ } else {
+ // channel was closed before value was consumed
+ return channel_op_status::closed;
+ }
} else {
detail::spinlock_lock lk{ splk_producers_ };
if ( BOOST_UNLIKELY( is_closed() ) ) {
@@ -286,8 +309,14 @@ public:
// resumed, value has not been consumed
return channel_op_status::timeout;
}
- // resumed, value has been consumed
- return channel_op_status::success;
+ // resumed
+ if ( nullptr == s.ctx) {
+ // value has been consumed
+ return channel_op_status::success;
+ } else {
+ // channel was closed before value was consumed
+ return channel_op_status::closed;
+ }
} else {
detail::spinlock_lock lk{ splk_producers_ };
if ( BOOST_UNLIKELY( is_closed() ) ) {
@@ -348,8 +377,14 @@ public:
// resumed, value has not been consumed
return channel_op_status::timeout;
}
- // resumed, value has been consumed
- return channel_op_status::success;
+ // resumed
+ if ( nullptr == s.ctx) {
+ // value has been consumed
+ return channel_op_status::success;
+ } else {
+ // channel was closed before value was consumed
+ return channel_op_status::closed;
+ }
} else {
detail::spinlock_lock lk{ splk_producers_ };
if ( BOOST_UNLIKELY( is_closed() ) ) {
@@ -401,7 +436,11 @@ public:
}
value = std::move( s->value);
// notify context
- active_ctx->schedule( s->ctx);
+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
+ active_ctx->schedule( detail::exchange( s->ctx, nullptr) );
+#else
+ active_ctx->schedule( std::exchange( s->ctx, nullptr) );
+#endif
return channel_op_status::success;
} else {
detail::spinlock_lock lk{ splk_consumers_ };
@@ -449,7 +488,11 @@ public:
// consume value
value_type value = std::move( s->value);
// notify context
- active_ctx->schedule( s->ctx);
+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
+ active_ctx->schedule( detail::exchange( s->ctx, nullptr) );
+#else
+ active_ctx->schedule( std::exchange( s->ctx, nullptr) );
+#endif
return std::move( value);
} else {
detail::spinlock_lock lk{ splk_consumers_ };
@@ -509,7 +552,11 @@ public:
// consume value
value = std::move( s->value);
// notify context
- active_ctx->schedule( s->ctx);
+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
+ active_ctx->schedule( detail::exchange( s->ctx, nullptr) );
+#else
+ active_ctx->schedule( std::exchange( s->ctx, nullptr) );
+#endif
return channel_op_status::success;
} else {
detail::spinlock_lock lk{ splk_consumers_ };
diff --git a/boost/filesystem/operations.hpp b/boost/filesystem/operations.hpp
index b0ea42a308..640d288882 100644
--- a/boost/filesystem/operations.hpp
+++ b/boost/filesystem/operations.hpp
@@ -32,8 +32,6 @@
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/cstdint.hpp>
-#include <boost/range/mutable_iterator.hpp>
-#include <boost/range/const_iterator.hpp>
#include <boost/assert.hpp>
#include <string>
#include <utility> // for pair
@@ -243,7 +241,11 @@ namespace boost
// nor remove_perms is given, replace the current bits with
// the given bits.
- symlink_perms = 0x4000 // on POSIX, don't resolve symlinks; implied on Windows
+ symlink_perms = 0x4000, // on POSIX, don't resolve symlinks; implied on Windows
+
+ // BOOST_BITMASK op~ casts to int32_least_t, producing invalid enum values
+ _detail_extend_perms_32_1 = 0x7fffffff,
+ _detail_extend_perms_32_2 = -0x7fffffff-1
};
BOOST_BITMASK(perms)
@@ -968,16 +970,26 @@ namespace detail
directory_iterator range_begin(const directory_iterator& iter) BOOST_NOEXCEPT
{return iter;}
inline
+ directory_iterator range_end(directory_iterator&) BOOST_NOEXCEPT
+ {return directory_iterator();}
+ inline
directory_iterator range_end(const directory_iterator&) BOOST_NOEXCEPT
{return directory_iterator();}
} // namespace filesystem
// namespace boost template specializations
+ template<typename C, typename Enabler>
+ struct range_mutable_iterator;
+
template<>
- struct range_mutable_iterator<boost::filesystem::directory_iterator>
+ struct range_mutable_iterator<boost::filesystem::directory_iterator, void>
{ typedef boost::filesystem::directory_iterator type; };
+
+ template<typename C, typename Enabler>
+ struct range_const_iterator;
+
template<>
- struct range_const_iterator <boost::filesystem::directory_iterator>
+ struct range_const_iterator<boost::filesystem::directory_iterator, void>
{ typedef boost::filesystem::directory_iterator type; };
namespace filesystem
@@ -994,7 +1006,11 @@ namespace filesystem
none,
no_recurse = none, // don't follow directory symlinks (default behavior)
recurse, // follow directory symlinks
- _detail_no_push = recurse << 1 // internal use only
+ _detail_no_push = recurse << 1, // internal use only
+
+ // BOOST_BITMASK op~ casts to int32_least_t, producing invalid enum values
+ _detail_extend_symlink_option_32_1 = 0x7fffffff,
+ _detail_extend_symlink_option_32_2 = -0x7fffffff-1
};
BOOST_SCOPED_ENUM_END
@@ -1320,16 +1336,19 @@ namespace filesystem
range_begin(const recursive_directory_iterator& iter) BOOST_NOEXCEPT
{return iter;}
inline
+ recursive_directory_iterator range_end(recursive_directory_iterator&) BOOST_NOEXCEPT
+ {return recursive_directory_iterator();}
+ inline
recursive_directory_iterator range_end(const recursive_directory_iterator&) BOOST_NOEXCEPT
{return recursive_directory_iterator();}
} // namespace filesystem
// namespace boost template specializations
template<>
- struct range_mutable_iterator<boost::filesystem::recursive_directory_iterator>
+ struct range_mutable_iterator<boost::filesystem::recursive_directory_iterator, void>
{ typedef boost::filesystem::recursive_directory_iterator type; };
template<>
- struct range_const_iterator <boost::filesystem::recursive_directory_iterator>
+ struct range_const_iterator<boost::filesystem::recursive_directory_iterator, void>
{ typedef boost::filesystem::recursive_directory_iterator type; };
namespace filesystem
diff --git a/boost/flyweight/detail/flyweight_core.hpp b/boost/flyweight/detail/flyweight_core.hpp
index 8be8586e1b..84411b4b7d 100644
--- a/boost/flyweight/detail/flyweight_core.hpp
+++ b/boost/flyweight/detail/flyweight_core.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2006-2014 Joaquin M Lopez Munoz.
+/* Copyright 2006-2018 Joaquin M Lopez Munoz.
* 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)
@@ -67,7 +67,7 @@ public:
{
typedef typename core::lock_type lock_type;
core::init();
- lock_type lock(core::mutex());
+ lock_type lock(core::mutex());(void)lock;
if(chk(h))core::factory().erase(h);
}
};
@@ -178,7 +178,7 @@ private:
{
init();
entry_type e(x);
- lock_type lock(mutex());
+ lock_type lock(mutex());(void)lock;
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
base_handle_type h(factory().insert(std::move(e)));
#else
@@ -201,7 +201,7 @@ private:
{
init();
entry_type e((rep_type(x)));
- lock_type lock(mutex());
+ lock_type lock(mutex());(void)lock;
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
base_handle_type h(factory().insert(std::move(e)));
@@ -226,7 +226,7 @@ private:
{
init();
entry_type e(std::move(x));
- lock_type lock(mutex());
+ lock_type lock(mutex());(void)lock;
base_handle_type h(factory().insert(std::move(e)));
BOOST_TRY{
@@ -245,7 +245,7 @@ private:
{
init();
entry_type e(rep_type(std::move(x)));
- lock_type lock(mutex());
+ lock_type lock(mutex());(void)lock;
base_handle_type h(factory().insert(std::move(e)));
BOOST_TRY{
ValuePolicy::move_value(
diff --git a/boost/flyweight/detail/not_placeholder_expr.hpp b/boost/flyweight/detail/not_placeholder_expr.hpp
index 004c67035a..ce5f8fbde9 100644
--- a/boost/flyweight/detail/not_placeholder_expr.hpp
+++ b/boost/flyweight/detail/not_placeholder_expr.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2006-2008 Joaquin M Lopez Munoz.
+/* Copyright 2006-2018 Joaquin M Lopez Munoz.
* 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)
@@ -30,13 +30,18 @@
#include <boost/detail/workaround.hpp>
#if BOOST_WORKAROUND(__GNUC__, <4)||\
- BOOST_WORKAROUND(__GNUC__,==4)&&(__GNUC_MINOR__<2)
+ BOOST_WORKAROUND(__GNUC__,==4)&&(__GNUC_MINOR__<2)||\
+ BOOST_WORKAROUND(__GNUC__, ==7)&&( __cplusplus>=201703L)||\
+ BOOST_WORKAROUND(__GNUC__, >=8)&&( __cplusplus>=201103L)
/* The default trick on which the macro is based, namely adding a int=0
* defaulted template parameter, does not work in GCC prior to 4.2 due to
* an unfortunate compiler non-standard extension, as explained in
* http://lists.boost.org/boost-users/2007/07/29866.php
- * We resort to an uglier technique, adding defaulted template parameters
- * so as to exceed BOOST_MPL_LIMIT_METAFUNCTION_ARITY.
+ * As it happens, GCC 7 in C++17 mode and GCC 8 (and presumably later) in
+ * C++11 mode (and presumably later) go back to this old behavior, anticipating
+ * the resolution of CWG DR 150 (see P0522R0).
+ * In these cases we resort to an uglier technique, adding defaulted template
+ * parameters so as to exceed BOOST_MPL_LIMIT_METAFUNCTION_ARITY.
*/
#include <boost/mpl/limits/arity.hpp>
diff --git a/boost/flyweight/key_value.hpp b/boost/flyweight/key_value.hpp
index eb58d152cb..6a95ae0b0c 100644
--- a/boost/flyweight/key_value.hpp
+++ b/boost/flyweight/key_value.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2006-2014 Joaquin M Lopez Munoz.
+/* Copyright 2006-2018 Joaquin M Lopez Munoz.
* 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)
@@ -215,11 +215,11 @@ struct regular_key_value:value_marker
#undef BOOST_FLYWEIGHT_PERFECT_FWD_CTR_BODY
rep_type(const rep_type& x):key(x.key),value_ptr(0){}
- rep_type(const value_type& x):key(no_key_from_value_failure()){}
+ rep_type(const value_type&):key(no_key_from_value_failure()){}
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
rep_type(rep_type&& x):key(std::move(x.key)),value_ptr(0){}
- rep_type(value_type&& x):key(no_key_from_value_failure()){}
+ rep_type(value_type&&):key(no_key_from_value_failure()){}
#endif
~rep_type()
diff --git a/boost/function.hpp b/boost/function.hpp
index 68a25ab069..ef907e0ff1 100644
--- a/boost/function.hpp
+++ b/boost/function.hpp
@@ -23,7 +23,7 @@
#include <functional> // unary_function, binary_function
#include <boost/preprocessor/iterate.hpp>
-#include <boost/detail/workaround.hpp>
+#include <boost/config/workaround.hpp>
// Include the prologue here so that the use of file-level iteration
// in anything that may be included by function_template.hpp doesn't break
diff --git a/boost/function/function_base.hpp b/boost/function/function_base.hpp
index 841affb49a..4db31c4fbc 100644
--- a/boost/function/function_base.hpp
+++ b/boost/function/function_base.hpp
@@ -26,13 +26,13 @@
#include <boost/type_traits/is_volatile.hpp>
#include <boost/type_traits/composite_traits.hpp>
#include <boost/ref.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/detail/workaround.hpp>
+#include <boost/type_traits/conditional.hpp>
+#include <boost/config/workaround.hpp>
#include <boost/type_traits/alignment_of.hpp>
#ifndef BOOST_NO_SFINAE
-# include "boost/utility/enable_if.hpp"
+#include <boost/type_traits/enable_if.hpp>
#else
-# include "boost/mpl/bool.hpp"
+#include <boost/type_traits/integral_constant.hpp>
#endif
#include <boost/function_equal.hpp>
#include <boost/function/function_fwd.hpp>
@@ -50,7 +50,7 @@
#endif // __ICL etc
# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \
- typename ::boost::enable_if_c< \
+ typename ::boost::enable_if_< \
!(::boost::is_integral<Functor>::value), \
Type>::type
@@ -101,7 +101,7 @@ namespace boost {
} obj_ref;
};
- union function_buffer
+ union BOOST_SYMBOL_VISIBLE function_buffer
{
// Type-specific union members
mutable function_buffer_members members;
@@ -152,15 +152,15 @@ namespace boost {
template<typename F>
class get_function_tag
{
- typedef typename mpl::if_c<(is_pointer<F>::value),
+ typedef typename conditional<(is_pointer<F>::value),
function_ptr_tag,
function_obj_tag>::type ptr_or_obj_tag;
- typedef typename mpl::if_c<(is_member_pointer<F>::value),
+ typedef typename conditional<(is_member_pointer<F>::value),
member_ptr_tag,
ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag;
- typedef typename mpl::if_c<(is_reference_wrapper<F>::value),
+ typedef typename conditional<(is_reference_wrapper<F>::value),
function_obj_ref_tag,
ptr_or_obj_or_mem_tag>::type or_ref_tag;
@@ -328,7 +328,7 @@ namespace boost {
// Function objects that fit in the small-object buffer.
static inline void
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, mpl::true_)
+ functor_manager_operation_type op, true_type)
{
functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);
}
@@ -336,7 +336,7 @@ namespace boost {
// Function objects that require heap allocation
static inline void
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, mpl::false_)
+ functor_manager_operation_type op, false_type)
{
if (op == clone_functor_tag) {
// Clone the functor
@@ -377,7 +377,7 @@ namespace boost {
functor_manager_operation_type op, function_obj_tag)
{
manager(in_buffer, out_buffer, op,
- mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
+ integral_constant<bool, (function_allows_small_object_optimization<functor_type>::value)>());
}
// For member pointers, we use the small-object optimization buffer.
@@ -385,7 +385,7 @@ namespace boost {
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
functor_manager_operation_type op, member_ptr_tag)
{
- manager(in_buffer, out_buffer, op, mpl::true_());
+ manager(in_buffer, out_buffer, op, true_type());
}
public:
@@ -427,7 +427,7 @@ namespace boost {
// Function objects that fit in the small-object buffer.
static inline void
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, mpl::true_)
+ functor_manager_operation_type op, true_type)
{
functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);
}
@@ -435,7 +435,7 @@ namespace boost {
// Function objects that require heap allocation
static inline void
manager(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op, mpl::false_)
+ functor_manager_operation_type op, false_type)
{
typedef functor_wrapper<Functor,Allocator> functor_wrapper_type;
#if defined(BOOST_NO_CXX11_ALLOCATOR)
@@ -499,7 +499,7 @@ namespace boost {
functor_manager_operation_type op, function_obj_tag)
{
manager(in_buffer, out_buffer, op,
- mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
+ integral_constant<bool, (function_allows_small_object_optimization<functor_type>::value)>());
}
public:
@@ -530,24 +530,24 @@ namespace boost {
#ifdef BOOST_NO_SFINAE
// These routines perform comparisons between a Boost.Function
// object and an arbitrary function object (when the last
- // parameter is mpl::bool_<false>) or against zero (when the
- // last parameter is mpl::bool_<true>). They are only necessary
+ // parameter is false_type) or against zero (when the
+ // last parameter is true_type). They are only necessary
// for compilers that don't support SFINAE.
template<typename Function, typename Functor>
bool
- compare_equal(const Function& f, const Functor&, int, mpl::bool_<true>)
+ compare_equal(const Function& f, const Functor&, int, true_type)
{ return f.empty(); }
template<typename Function, typename Functor>
bool
compare_not_equal(const Function& f, const Functor&, int,
- mpl::bool_<true>)
+ true_type)
{ return !f.empty(); }
template<typename Function, typename Functor>
bool
compare_equal(const Function& f, const Functor& g, long,
- mpl::bool_<false>)
+ false_type)
{
if (const Functor* fp = f.template target<Functor>())
return function_equal(*fp, g);
@@ -557,7 +557,7 @@ namespace boost {
template<typename Function, typename Functor>
bool
compare_equal(const Function& f, const reference_wrapper<Functor>& g,
- int, mpl::bool_<false>)
+ int, false_type)
{
if (const Functor* fp = f.template target<Functor>())
return fp == g.get_pointer();
@@ -567,7 +567,7 @@ namespace boost {
template<typename Function, typename Functor>
bool
compare_not_equal(const Function& f, const Functor& g, long,
- mpl::bool_<false>)
+ false_type)
{
if (const Functor* fp = f.template target<Functor>())
return !function_equal(*fp, g);
@@ -578,7 +578,7 @@ namespace boost {
bool
compare_not_equal(const Function& f,
const reference_wrapper<Functor>& g, int,
- mpl::bool_<false>)
+ false_type)
{
if (const Functor* fp = f.template target<Functor>())
return fp != g.get_pointer();
@@ -710,7 +710,7 @@ public: // should be protected, but GCC 2.95.3 will fail to allow access
* The bad_function_call exception class is thrown when a boost::function
* object is invoked
*/
-class bad_function_call : public std::runtime_error
+class BOOST_SYMBOL_VISIBLE bad_function_call : public std::runtime_error
{
public:
bad_function_call() : std::runtime_error("call to empty boost::function") {}
@@ -750,28 +750,28 @@ inline bool operator!=(detail::function::useless_clear_type*,
template<typename Functor>
inline bool operator==(const function_base& f, Functor g)
{
- typedef mpl::bool_<(is_integral<Functor>::value)> integral;
+ typedef integral_constant<bool, (is_integral<Functor>::value)> integral;
return detail::function::compare_equal(f, g, 0, integral());
}
template<typename Functor>
inline bool operator==(Functor g, const function_base& f)
{
- typedef mpl::bool_<(is_integral<Functor>::value)> integral;
+ typedef integral_constant<bool, (is_integral<Functor>::value)> integral;
return detail::function::compare_equal(f, g, 0, integral());
}
template<typename Functor>
inline bool operator!=(const function_base& f, Functor g)
{
- typedef mpl::bool_<(is_integral<Functor>::value)> integral;
+ typedef integral_constant<bool, (is_integral<Functor>::value)> integral;
return detail::function::compare_not_equal(f, g, 0, integral());
}
template<typename Functor>
inline bool operator!=(Functor g, const function_base& f)
{
- typedef mpl::bool_<(is_integral<Functor>::value)> integral;
+ typedef integral_constant<bool, (is_integral<Functor>::value)> integral;
return detail::function::compare_not_equal(f, g, 0, integral());
}
#else
diff --git a/boost/function/function_template.hpp b/boost/function/function_template.hpp
index 177b60a7b4..56f6bb491a 100644
--- a/boost/function/function_template.hpp
+++ b/boost/function/function_template.hpp
@@ -11,7 +11,7 @@
// Note: this header is a header template and must NOT have multiple-inclusion
// protection.
#include <boost/function/detail/prologue.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/core/no_exceptions_support.hpp>
#if defined(BOOST_MSVC)
# pragma warning( push )
@@ -29,8 +29,7 @@
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
#else
-# include <boost/move/utility_core.hpp>
-# define BOOST_FUNCTION_ARG(J,I,D) ::boost::forward< BOOST_PP_CAT(T,I) >(BOOST_PP_CAT(a,I))
+# define BOOST_FUNCTION_ARG(J,I,D) static_cast<BOOST_PP_CAT(T,I)&&>(BOOST_PP_CAT(a,I))
# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG,BOOST_PP_EMPTY)
#endif
@@ -240,7 +239,7 @@ namespace boost {
>
struct BOOST_FUNCTION_GET_FUNCTION_INVOKER
{
- typedef typename mpl::if_c<(is_void<R>::value),
+ typedef typename conditional<(is_void<R>::value),
BOOST_FUNCTION_VOID_FUNCTION_INVOKER<
FunctionPtr,
R BOOST_FUNCTION_COMMA
@@ -261,7 +260,7 @@ namespace boost {
>
struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
{
- typedef typename mpl::if_c<(is_void<R>::value),
+ typedef typename conditional<(is_void<R>::value),
BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER<
FunctionObj,
R BOOST_FUNCTION_COMMA
@@ -282,7 +281,7 @@ namespace boost {
>
struct BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
{
- typedef typename mpl::if_c<(is_void<R>::value),
+ typedef typename conditional<(is_void<R>::value),
BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER<
FunctionObj,
R BOOST_FUNCTION_COMMA
@@ -305,7 +304,7 @@ namespace boost {
>
struct BOOST_FUNCTION_GET_MEMBER_INVOKER
{
- typedef typename mpl::if_c<(is_void<R>::value),
+ typedef typename conditional<(is_void<R>::value),
BOOST_FUNCTION_VOID_MEMBER_INVOKER<
MemberPtr,
R BOOST_FUNCTION_COMMA
@@ -350,9 +349,8 @@ namespace boost {
typedef functor_manager<FunctionPtr> manager_type;
};
- template<typename FunctionPtr,
- typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
+ template<typename FunctionPtr, typename Allocator,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
struct apply_a
{
typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
@@ -385,9 +383,8 @@ namespace boost {
typedef functor_manager<MemberPtr> manager_type;
};
- template<typename MemberPtr,
- typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
+ template<typename MemberPtr, typename Allocator,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
struct apply_a
{
typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
@@ -420,9 +417,8 @@ namespace boost {
typedef functor_manager<FunctionObj> manager_type;
};
- template<typename FunctionObj,
- typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
+ template<typename FunctionObj, typename Allocator,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
struct apply_a
{
typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
@@ -454,9 +450,8 @@ namespace boost {
typedef reference_manager<typename RefWrapper::type> manager_type;
};
- template<typename RefWrapper,
- typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
- typename Allocator>
+ template<typename RefWrapper, typename Allocator,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
struct apply_a
{
typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
@@ -567,27 +562,27 @@ namespace boost {
// Assign to a function object using the small object optimization
template<typename FunctionObj>
void
- assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) const
+ assign_functor(FunctionObj f, function_buffer& functor, true_type) const
{
new (reinterpret_cast<void*>(functor.data)) FunctionObj(f);
}
template<typename FunctionObj,typename Allocator>
void
- assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_) const
+ assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, true_type) const
{
- assign_functor(f,functor,mpl::true_());
+ assign_functor(f,functor,true_type());
}
// Assign to a function object allocated on the heap.
template<typename FunctionObj>
void
- assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) const
+ assign_functor(FunctionObj f, function_buffer& functor, false_type) const
{
functor.members.obj_ptr = new FunctionObj(f);
}
template<typename FunctionObj,typename Allocator>
void
- assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_) const
+ assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, false_type) const
{
typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
#if defined(BOOST_NO_CXX11_ALLOCATOR)
@@ -615,7 +610,7 @@ namespace boost {
{
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
assign_functor(f, functor,
- mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
+ integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
return true;
} else {
return false;
@@ -627,7 +622,7 @@ namespace boost {
{
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
assign_functor_a(f, functor, a,
- mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
+ integral_constant<bool, (function_allows_small_object_optimization<FunctionObj>::value)>());
return true;
} else {
return false;
@@ -708,14 +703,14 @@ namespace boost {
typedef BOOST_FUNCTION_FUNCTION self_type;
- BOOST_FUNCTION_FUNCTION() : function_base() { }
+ BOOST_DEFAULTED_FUNCTION(BOOST_FUNCTION_FUNCTION(), : function_base() {})
// MSVC chokes if the following two constructors are collapsed into
// one with a default parameter.
template<typename Functor>
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f
#ifndef BOOST_NO_SFINAE
- ,typename boost::enable_if_c<
+ ,typename boost::enable_if_<
!(is_integral<Functor>::value),
int>::type = 0
#endif // BOOST_NO_SFINAE
@@ -727,7 +722,7 @@ namespace boost {
template<typename Functor,typename Allocator>
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
#ifndef BOOST_NO_SFINAE
- ,typename boost::enable_if_c<
+ ,typename boost::enable_if_<
!(is_integral<Functor>::value),
int>::type = 0
#endif // BOOST_NO_SFINAE
@@ -776,7 +771,7 @@ namespace boost {
// construct.
template<typename Functor>
#ifndef BOOST_NO_SFINAE
- typename boost::enable_if_c<
+ typename boost::enable_if_<
!(is_integral<Functor>::value),
BOOST_FUNCTION_FUNCTION&>::type
#else
@@ -955,9 +950,8 @@ namespace boost {
typedef typename boost::detail::function::get_function_tag<Functor>::type tag;
typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
typedef typename get_invoker::
- template apply_a<Functor, R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS,
- Allocator>
+ template apply_a<Functor, Allocator, R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS>
handler_type;
typedef typename handler_type::invoker_type invoker_type;
@@ -1046,7 +1040,7 @@ template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
#if BOOST_FUNCTION_NUM_ARGS == 0
#define BOOST_FUNCTION_PARTIAL_SPEC R (void)
#else
-#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
+#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_FUNCTION_TEMPLATE_ARGS)
#endif
template<typename R BOOST_FUNCTION_COMMA
@@ -1061,12 +1055,12 @@ class function<BOOST_FUNCTION_PARTIAL_SPEC>
public:
- function() : base_type() {}
+ BOOST_DEFAULTED_FUNCTION(function(), : base_type() {})
template<typename Functor>
function(Functor f
#ifndef BOOST_NO_SFINAE
- ,typename boost::enable_if_c<
+ ,typename boost::enable_if_<
!(is_integral<Functor>::value),
int>::type = 0
#endif
@@ -1077,7 +1071,7 @@ public:
template<typename Functor,typename Allocator>
function(Functor f, Allocator a
#ifndef BOOST_NO_SFINAE
- ,typename boost::enable_if_c<
+ ,typename boost::enable_if_<
!(is_integral<Functor>::value),
int>::type = 0
#endif
@@ -1116,7 +1110,7 @@ public:
template<typename Functor>
#ifndef BOOST_NO_SFINAE
- typename boost::enable_if_c<
+ typename boost::enable_if_<
!(is_integral<Functor>::value),
self_type&>::type
#else
diff --git a/boost/fusion/adapted/adt/adapt_adt.hpp b/boost/fusion/adapted/adt/adapt_adt.hpp
index 2ebc76c36b..3f99fb2eb7 100644
--- a/boost/fusion/adapted/adt/adapt_adt.hpp
+++ b/boost/fusion/adapted/adt/adapt_adt.hpp
@@ -16,10 +16,6 @@
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
#include <boost/fusion/adapted/struct/detail/extension.hpp>
#include <boost/fusion/adapted/struct/detail/adapt_base.hpp>
diff --git a/boost/fusion/adapted/adt/adapt_assoc_adt.hpp b/boost/fusion/adapted/adt/adapt_assoc_adt.hpp
index bd451a32eb..dde9e75e88 100644
--- a/boost/fusion/adapted/adt/adapt_assoc_adt.hpp
+++ b/boost/fusion/adapted/adt/adapt_assoc_adt.hpp
@@ -15,9 +15,6 @@
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/control/if.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
#include <boost/fusion/adapted/struct/detail/extension.hpp>
#include <boost/fusion/adapted/struct/detail/adapt_base.hpp>
diff --git a/boost/fusion/adapted/adt/detail/adapt_base.hpp b/boost/fusion/adapted/adt/detail/adapt_base.hpp
index 0ef6fcd92b..6bceb75791 100644
--- a/boost/fusion/adapted/adt/detail/adapt_base.hpp
+++ b/boost/fusion/adapted/adt/detail/adapt_base.hpp
@@ -21,8 +21,8 @@
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/remove_const.hpp>
+#include <boost/type_traits/remove_reference.hpp>
#include <boost/typeof/typeof.hpp>
@@ -83,20 +83,8 @@
typedef \
BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \
typename) \
- boost::remove_const< \
- BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \
- typename) \
- deduced_attr_type::type \
- >::type type; \
- \
- typedef \
- BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \
- typename) \
- boost::add_const< \
- BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \
- typename) \
- deduced_attr_type::type \
- >::type const_type;
+ deduced_attr_type::type type; \
+ typedef type const_type;
#define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \
NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \
diff --git a/boost/fusion/adapted/struct/adapt_assoc_struct.hpp b/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
index c8659fdfe1..b563221035 100644
--- a/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
+++ b/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
@@ -15,10 +15,6 @@
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/control/iif.hpp>
#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
#include <boost/fusion/adapted/struct/detail/extension.hpp>
#include <boost/fusion/adapted/struct/detail/adapt_base.hpp>
diff --git a/boost/fusion/adapted/struct/adapt_struct.hpp b/boost/fusion/adapted/struct/adapt_struct.hpp
index 66710b47ff..928bc99570 100644
--- a/boost/fusion/adapted/struct/adapt_struct.hpp
+++ b/boost/fusion/adapted/struct/adapt_struct.hpp
@@ -18,10 +18,6 @@
#include <boost/preprocessor/comparison/less.hpp>
#include <boost/preprocessor/seq/seq.hpp>
#include <boost/preprocessor/variadic/to_seq.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
#include <boost/fusion/adapted/struct/detail/extension.hpp>
#include <boost/fusion/adapted/struct/detail/adapt_base.hpp>
diff --git a/boost/fusion/adapted/struct/detail/adapt_base.hpp b/boost/fusion/adapted/struct/detail/adapt_base.hpp
index 84b9302c44..c66118f454 100644
--- a/boost/fusion/adapted/struct/detail/adapt_base.hpp
+++ b/boost/fusion/adapted/struct/detail/adapt_base.hpp
@@ -34,7 +34,9 @@
#include <boost/mpl/tag.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
+#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/add_const.hpp>
+#include <boost/type_traits/add_reference.hpp>
#include <boost/typeof/typeof.hpp>
diff --git a/boost/fusion/algorithm/query/detail/find_if.hpp b/boost/fusion/algorithm/query/detail/find_if.hpp
index b200794a48..06a7af79b7 100644
--- a/boost/fusion/algorithm/query/detail/find_if.hpp
+++ b/boost/fusion/algorithm/query/detail/find_if.hpp
@@ -2,6 +2,7 @@
Copyright (c) 2001-2011 Joel de Guzman
Copyright (c) 2007 Dan Marsden
Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2018 Kohei Takahashi
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)
@@ -13,7 +14,6 @@
#include <boost/mpl/apply.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
-#include <boost/mpl/lambda.hpp>
#include <boost/mpl/or.hpp>
#include <boost/fusion/iterator/advance.hpp>
#include <boost/fusion/iterator/distance.hpp>
@@ -22,10 +22,9 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/support/category_of.hpp>
+#include <boost/core/enable_if.hpp>
-namespace boost { namespace fusion {
- struct random_access_traversal_tag;
-namespace detail
+namespace boost { namespace fusion { namespace detail
{
template <typename Iterator, typename Pred>
struct apply_filter
@@ -178,8 +177,8 @@ namespace detail
choose_find_if<
First
, Last
- , typename mpl::lambda<Pred>::type
- , is_base_of<random_access_traversal_tag, typename traits::category_of<First>::type>::value
+ , Pred
+ , traits::is_random_access<First>::value
>::type
type;
@@ -208,31 +207,23 @@ namespace detail
return recursive_call(iter, found());
}
- template <typename Iterator, typename Tag>
+ template <typename Iterator>
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- choose_call(Iterator const& iter, Tag)
+ static typename boost::disable_if<traits::is_random_access<Iterator>, type>::type
+ iter_call(Iterator const& iter)
{
return recursive_call(iter);
}
template <typename Iterator>
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- choose_call(Iterator const& iter, random_access_traversal_tag)
+ static typename boost::enable_if<traits::is_random_access<Iterator>, type>::type
+ iter_call(Iterator const& iter)
{
typedef typename result_of::distance<Iterator, type>::type N;
return fusion::advance<N>(iter);
}
- template <typename Iterator>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- iter_call(Iterator const& iter)
- {
- return choose_call(iter, typename traits::category_of<Iterator>::type());
- }
-
template <typename Sequence>
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
diff --git a/boost/fusion/algorithm/transformation/remove_if.hpp b/boost/fusion/algorithm/transformation/remove_if.hpp
index 5497e3a371..3f8ebbcd73 100644
--- a/boost/fusion/algorithm/transformation/remove_if.hpp
+++ b/boost/fusion/algorithm/transformation/remove_if.hpp
@@ -1,7 +1,8 @@
/*=============================================================================
Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2018 Kohei Takahashi
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ 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 !defined(FUSION_REMOVE_IF_07162005_0818)
@@ -10,7 +11,6 @@
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/view/filter_view/filter_view.hpp>
#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
namespace boost { namespace fusion
{
diff --git a/boost/fusion/container/map/detail/value_at_key_impl.hpp b/boost/fusion/container/map/detail/value_at_key_impl.hpp
index da6259e67a..d53a8f02f4 100644
--- a/boost/fusion/container/map/detail/value_at_key_impl.hpp
+++ b/boost/fusion/container/map/detail/value_at_key_impl.hpp
@@ -24,12 +24,10 @@ namespace boost { namespace fusion
struct value_at_key_impl<map_tag>
{
template <typename Sequence, typename Key>
- struct apply
- {
- typedef typename BOOST_FUSION_IDENTIFIED_TYPE((
+ struct apply : BOOST_FUSION_DECLTYPE_N3031((
boost::declval<Sequence>().get_val(mpl::identity<Key>())
- )) type;
- };
+ ))
+ {};
};
}
}}
diff --git a/boost/fusion/container/map/map_fwd.hpp b/boost/fusion/container/map/map_fwd.hpp
index 18e445b03e..614ea24975 100644
--- a/boost/fusion/container/map/map_fwd.hpp
+++ b/boost/fusion/container/map/map_fwd.hpp
@@ -36,8 +36,6 @@
# include <boost/fusion/container/map/detail/cpp03/map_fwd.hpp>
#else
-#include <boost/fusion/container/map/detail/map_impl.hpp>
-
///////////////////////////////////////////////////////////////////////////////
// C++11 interface
///////////////////////////////////////////////////////////////////////////////
diff --git a/boost/fusion/container/vector/detail/value_at_impl.hpp b/boost/fusion/container/vector/detail/value_at_impl.hpp
index a2dd5fcdca..f29c0e14e5 100644
--- a/boost/fusion/container/vector/detail/value_at_impl.hpp
+++ b/boost/fusion/container/vector/detail/value_at_impl.hpp
@@ -47,12 +47,10 @@ namespace boost { namespace fusion
struct value_at_impl<vector_tag>
{
template <typename Sequence, typename N>
- struct apply
- {
- typedef typename BOOST_FUSION_IDENTIFIED_TYPE((
+ struct apply : BOOST_FUSION_DECLTYPE_N3031((
vector_detail::value_at_impl<N::value>(boost::declval<Sequence*>())
- )) type;
- };
+ ))
+ {};
};
}
}}
diff --git a/boost/fusion/container/vector/vector.hpp b/boost/fusion/container/vector/vector.hpp
index 4993e2eb7c..02ffe51450 100644
--- a/boost/fusion/container/vector/vector.hpp
+++ b/boost/fusion/container/vector/vector.hpp
@@ -168,9 +168,15 @@ namespace boost { namespace fusion
: elem(std::forward<U>(rhs))
{}
+ using elem_type = T;
T elem;
};
+ // placed outside of vector_data due to GCC < 6 bug
+ template <std::size_t J, typename U>
+ static inline BOOST_FUSION_GPU_ENABLED
+ store<J, U> store_at_impl(store<J, U>*);
+
template <typename I, typename ...T>
struct vector_data;
@@ -231,32 +237,23 @@ namespace boost { namespace fusion
assign(std::forward<Sequence>(seq), detail::index_sequence<M...>());
}
- template <std::size_t N, typename U>
- static BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- U& at_detail(store<N, U>* this_)
- {
- return this_->elem;
- }
-
- template <std::size_t N, typename U>
- static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- U const& at_detail(store<N, U> const* this_)
- {
- return this_->elem;
- }
+ private:
+ template <std::size_t J>
+ using store_at = decltype(store_at_impl<J>(static_cast<vector_data*>(nullptr)));
+ public:
template <typename J>
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- auto at_impl(J) -> decltype(at_detail<J::value>(&std::declval<vector_data&>()))
+ typename store_at<J::value>::elem_type& at_impl(J)
{
- return at_detail<J::value>(this);
+ return store_at<J::value>::elem;
}
template <typename J>
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- auto at_impl(J) const -> decltype(at_detail<J::value>(&std::declval<vector_data const&>()))
+ typename store_at<J::value>::elem_type const& at_impl(J) const
{
- return at_detail<J::value>(this);
+ return store_at<J::value>::elem;
}
};
} // namespace boost::fusion::vector_detail
diff --git a/boost/fusion/support/config.hpp b/boost/fusion/support/config.hpp
index d27266ed09..dc614d9d33 100644
--- a/boost/fusion/support/config.hpp
+++ b/boost/fusion/support/config.hpp
@@ -97,15 +97,26 @@ namespace std
#endif
-// Workaround for compiler which doesn't compile decltype(expr)::type.
-// It expects decltype(expr) deduced as mpl::identity<T>.
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1913)) || BOOST_WORKAROUND(BOOST_GCC, < 40700)
+// Workaround for compilers not implementing N3031 (DR743 and DR950).
+#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1913)) || \
+ BOOST_WORKAROUND(BOOST_GCC, < 40700) || \
+ defined(BOOST_CLANG) && (__clang_major__ == 3 && __clang_minor__ == 0)
+# if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
+namespace boost { namespace fusion { namespace detail
+{
+ template <typename T>
+ using type_alias_t = T;
+}}}
+# define BOOST_FUSION_DECLTYPE_N3031(parenthesized_expr) \
+ boost::fusion::detail::type_alias_t<decltype parenthesized_expr>
+# else
# include <boost/mpl/identity.hpp>
-# define BOOST_FUSION_IDENTIFIED_TYPE(parenthesized_expr) \
- boost::mpl::identity<decltype parenthesized_expr>::type::type
+# define BOOST_FUSION_DECLTYPE_N3031(parenthesized_expr) \
+ boost::mpl::identity<decltype parenthesized_expr>::type
+# endif
#else
-# define BOOST_FUSION_IDENTIFIED_TYPE(parenthesized_expr) \
- decltype parenthesized_expr ::type
+# define BOOST_FUSION_DECLTYPE_N3031(parenthesized_expr) \
+ decltype parenthesized_expr
#endif
diff --git a/boost/fusion/support/detail/is_same_size.hpp b/boost/fusion/support/detail/is_same_size.hpp
index b1bf7cde41..02d2953438 100644
--- a/boost/fusion/support/detail/is_same_size.hpp
+++ b/boost/fusion/support/detail/is_same_size.hpp
@@ -9,20 +9,19 @@
#include <boost/fusion/support/is_sequence.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/core/enable_if.hpp>
#include <boost/mpl/bool.hpp>
-#include <boost/mpl/equal_to.hpp>
namespace boost { namespace fusion { namespace detail
{
- template <typename Sequence1, typename Sequence2, typename = void, typename = void>
+ template <typename Sequence1, typename Sequence2, bool
+ = traits::is_sequence<Sequence1>::value &&
+ traits::is_sequence<Sequence2>::value>
struct is_same_size : mpl::false_ {};
template <typename Sequence1, typename Sequence2>
- struct is_same_size<Sequence1, Sequence2,
- typename enable_if<traits::is_sequence<Sequence1> >::type,
- typename enable_if<traits::is_sequence<Sequence2> >::type>
- : mpl::equal_to<result_of::size<Sequence1>, result_of::size<Sequence2> >
+ struct is_same_size<Sequence1, Sequence2, true>
+ : mpl::bool_<result_of::size<Sequence1>::value ==
+ result_of::size<Sequence2>::value>
{};
}}}
diff --git a/boost/fusion/support/is_view.hpp b/boost/fusion/support/is_view.hpp
index a6ca725946..b2b52c423e 100644
--- a/boost/fusion/support/is_view.hpp
+++ b/boost/fusion/support/is_view.hpp
@@ -14,6 +14,7 @@
namespace boost { namespace fusion
{
// Special tags:
+ struct non_fusion_tag;
struct sequence_facade_tag;
struct boost_tuple_tag; // boost::tuples::tuple tag
struct boost_array_tag; // boost::array tag
@@ -33,6 +34,13 @@ namespace boost { namespace fusion
};
template <>
+ struct is_view_impl<non_fusion_tag>
+ {
+ template <typename T>
+ struct apply : mpl::false_ {};
+ };
+
+ template <>
struct is_view_impl<sequence_facade_tag>
{
template <typename Sequence>
diff --git a/boost/fusion/view/filter_view/detail/next_impl.hpp b/boost/fusion/view/filter_view/detail/next_impl.hpp
index 4f17455766..bd1404b9f0 100644
--- a/boost/fusion/view/filter_view/detail/next_impl.hpp
+++ b/boost/fusion/view/filter_view/detail/next_impl.hpp
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2018 Kohei Takahashi
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)
@@ -8,14 +9,10 @@
#define FUSION_NEXT_IMPL_06052005_0900
#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/algorithm/query/detail/find_if.hpp>
-#include <boost/fusion/iterator/value_of.hpp>
+#include <boost/fusion/iterator/next.hpp>
+#include <boost/fusion/iterator/equal_to.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/quote.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/placeholders.hpp>
namespace boost { namespace fusion
{
@@ -48,26 +45,13 @@ namespace boost { namespace fusion
>::type
next_type;
- typedef typename
- detail::static_find_if<
- next_type
- , last_type
- , mpl::bind1<
- typename mpl::lambda<pred_type>::type
- , mpl::bind1<mpl::quote1<result_of::value_of>,mpl::_1>
- >
- >
- filter;
-
- typedef filter_iterator<
- category, typename filter::type, last_type, pred_type>
- type;
+ typedef filter_iterator<category, next_type, last_type, pred_type> type;
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
- return type(filter::iter_call(i.first));
+ return type(fusion::next(i.first));
}
};
};
diff --git a/boost/fusion/view/filter_view/filter_view_iterator.hpp b/boost/fusion/view/filter_view/filter_view_iterator.hpp
index f1b9f54de3..8d77e12e34 100644
--- a/boost/fusion/view/filter_view/filter_view_iterator.hpp
+++ b/boost/fusion/view/filter_view/filter_view_iterator.hpp
@@ -1,5 +1,6 @@
/*=============================================================================
Copyright (c) 2001-2011 Joel de Guzman
+ Copyright (c) 2018 Kohei Takahashi
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)
@@ -9,7 +10,6 @@
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
-#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
#include <boost/fusion/iterator/value_of.hpp>
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/algorithm/query/detail/find_if.hpp>
diff --git a/boost/geometry/algorithms/append.hpp b/boost/geometry/algorithms/append.hpp
index 5cfad0c520..5f530c459a 100644
--- a/boost/geometry/algorithms/append.hpp
+++ b/boost/geometry/algorithms/append.hpp
@@ -91,19 +91,23 @@ template <typename Polygon, typename Point>
struct point_to_polygon
{
typedef typename ring_type<Polygon>::type ring_type;
+ typedef typename ring_return_type<Polygon>::type exterior_ring_type;
+ typedef typename interior_return_type<Polygon>::type interior_ring_range_type;
static inline void apply(Polygon& polygon, Point const& point,
int ring_index, int = 0)
{
if (ring_index == -1)
{
+ exterior_ring_type ext_ring = exterior_ring(polygon);
append_point<ring_type, Point>::apply(
- exterior_ring(polygon), point);
+ ext_ring, point);
}
else if (ring_index < int(num_interior_rings(polygon)))
{
+ interior_ring_range_type int_rings = interior_rings(polygon);
append_point<ring_type, Point>::apply(
- range::at(interior_rings(polygon), ring_index), point);
+ range::at(int_rings, ring_index), point);
}
}
};
@@ -113,19 +117,23 @@ template <typename Polygon, typename Range>
struct range_to_polygon
{
typedef typename ring_type<Polygon>::type ring_type;
+ typedef typename ring_return_type<Polygon>::type exterior_ring_type;
+ typedef typename interior_return_type<Polygon>::type interior_ring_range_type;
static inline void apply(Polygon& polygon, Range const& range,
int ring_index, int = 0)
{
if (ring_index == -1)
{
+ exterior_ring_type ext_ring = exterior_ring(polygon);
append_range<ring_type, Range>::apply(
- exterior_ring(polygon), range);
+ ext_ring, range);
}
else if (ring_index < int(num_interior_rings(polygon)))
{
+ interior_ring_range_type int_rings = interior_rings(polygon);
append_range<ring_type, Range>::apply(
- range::at(interior_rings(polygon), ring_index), range);
+ range::at(int_rings, ring_index), range);
}
}
};
diff --git a/boost/geometry/algorithms/area.hpp b/boost/geometry/algorithms/area.hpp
index c6e237e7cc..26ff5c5058 100644
--- a/boost/geometry/algorithms/area.hpp
+++ b/boost/geometry/algorithms/area.hpp
@@ -20,6 +20,7 @@
#define BOOST_GEOMETRY_ALGORITHMS_AREA_HPP
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/range/functions.hpp>
#include <boost/range/metafunctions.hpp>
@@ -93,7 +94,7 @@ struct ring_area
assert_dimension<Ring, 2>();
// Ignore warning (because using static method sometimes) on strategy
- boost::ignore_unused_variable_warning(strategy);
+ boost::ignore_unused(strategy);
// An open ring has at least three points,
// A closed ring has at least four points,
diff --git a/boost/geometry/algorithms/detail/buffer/get_piece_turns.hpp b/boost/geometry/algorithms/detail/buffer/get_piece_turns.hpp
index 5c012e7151..506ff58474 100644
--- a/boost/geometry/algorithms/detail/buffer/get_piece_turns.hpp
+++ b/boost/geometry/algorithms/detail/buffer/get_piece_turns.hpp
@@ -14,6 +14,7 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_GET_PIECE_TURNS_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_GET_PIECE_TURNS_HPP
+#include <boost/core/ignore_unused.hpp>
#include <boost/range.hpp>
#include <boost/geometry/algorithms/equals.hpp>
@@ -281,7 +282,7 @@ public:
inline bool apply(Section const& section1, Section const& section2,
bool first = true)
{
- boost::ignore_unused_variable_warning(first);
+ boost::ignore_unused(first);
typedef typename boost::range_value<Pieces const>::type piece_type;
piece_type const& piece1 = m_pieces[section1.ring_id.source_index];
diff --git a/boost/geometry/algorithms/detail/buffer/turn_in_original_visitor.hpp b/boost/geometry/algorithms/detail/buffer/turn_in_original_visitor.hpp
index e7cc97539f..70053536fb 100644
--- a/boost/geometry/algorithms/detail/buffer/turn_in_original_visitor.hpp
+++ b/boost/geometry/algorithms/detail/buffer/turn_in_original_visitor.hpp
@@ -214,7 +214,7 @@ public:
template <typename Turn, typename Original>
inline bool apply(Turn const& turn, Original const& original, bool first = true)
{
- boost::ignore_unused_variable_warning(first);
+ boost::ignore_unused(first);
if (turn.location != location_ok || turn.within_original)
{
diff --git a/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp b/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp
index eb6fc02c8c..e066c27f36 100644
--- a/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp
+++ b/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp
@@ -706,7 +706,7 @@ public:
template <typename Turn, typename Piece>
inline bool apply(Turn const& turn, Piece const& piece, bool first = true)
{
- boost::ignore_unused_variable_warning(first);
+ boost::ignore_unused(first);
if (turn.count_within > 0)
{
diff --git a/boost/geometry/algorithms/detail/covered_by/implementation.hpp b/boost/geometry/algorithms/detail/covered_by/implementation.hpp
index 3df8b7783d..c5a02b9761 100644
--- a/boost/geometry/algorithms/detail/covered_by/implementation.hpp
+++ b/boost/geometry/algorithms/detail/covered_by/implementation.hpp
@@ -19,9 +19,8 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_IMPLEMENTATION_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_IMPLEMENTATION_HPP
-
#include <cstddef>
-
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/algorithms/detail/covered_by/interface.hpp>
#include <boost/geometry/algorithms/detail/within/implementation.hpp>
@@ -67,7 +66,7 @@ struct covered_by<Point, Box, point_tag, box_tag>
template <typename Strategy>
static inline bool apply(Point const& point, Box const& box, Strategy const& strategy)
{
- ::boost::ignore_unused_variable_warning(strategy);
+ ::boost::ignore_unused(strategy);
return strategy.apply(point, box);
}
};
@@ -79,7 +78,7 @@ struct covered_by<Box1, Box2, box_tag, box_tag>
static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const& strategy)
{
assert_dimension_equal<Box1, Box2>();
- ::boost::ignore_unused_variable_warning(strategy);
+ ::boost::ignore_unused(strategy);
return strategy.apply(box1, box2);
}
};
diff --git a/boost/geometry/algorithms/detail/distance/interface.hpp b/boost/geometry/algorithms/detail/distance/interface.hpp
index 53d24d9920..4122ecfe17 100644
--- a/boost/geometry/algorithms/detail/distance/interface.hpp
+++ b/boost/geometry/algorithms/detail/distance/interface.hpp
@@ -6,10 +6,11 @@
// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland.
// Copyright (c) 2014 Samuel Debionne, Grenoble, France.
-// This file was modified by Oracle on 2014.
-// Modifications copyright (c) 2014, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2014, 2018.
+// Modifications copyright (c) 2014-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
@@ -320,10 +321,10 @@ struct distance
/*!
-\brief \brief_calc2{distance} \brief_strategy
+\brief Calculate the distance between two geometries \brief_strategy
\ingroup distance
\details
-\details \details_calc{area}. \brief_strategy. \details_strategy_reasons
+\details The free function distance calculates the distance between two geometries \brief_strategy. \details_strategy_reasons
\tparam Geometry1 \tparam_geometry
\tparam Geometry2 \tparam_geometry
@@ -376,9 +377,10 @@ distance(Geometry1 const& geometry1,
/*!
-\brief \brief_calc2{distance}
+\brief Calculate the distance between two geometries.
\ingroup distance
-\details The default strategy is used, corresponding to the coordinate system of the geometries
+\details The free function distance calculates the distance between two geometries. \details_default_strategy
+
\tparam Geometry1 \tparam_geometry
\tparam Geometry2 \tparam_geometry
\param geometry1 \param_geometry
diff --git a/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp b/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp
index 96efec79cd..8bb6e3bce1 100644
--- a/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp
+++ b/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp
@@ -126,8 +126,11 @@ struct has_spikes
while (next != boost::end(view))
{
- if ( geometry::detail::point_is_spike_or_equal(*prev, *next, *cur,
- strategy) )
+ // Verify spike. TODO: this is a reverse order from expected
+ // in is_spike_or_equal, but this order calls the side
+ // strategy in the way to correctly detect the spikes,
+ // also in geographic cases going over the pole
+ if (detail::is_spike_or_equal(*next, *cur, *prev, strategy))
{
return
! visitor.template apply<failure_spikes>(is_linear, *cur);
@@ -147,7 +150,7 @@ struct has_spikes
boost::rend(view));
iterator next = find_different_from_first(cur, boost::end(view));
- if (detail::point_is_spike_or_equal(*prev, *next, *cur, strategy))
+ if (detail::is_spike_or_equal(*next, *cur, *prev, strategy))
{
return
! visitor.template apply<failure_spikes>(is_linear, *cur);
diff --git a/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp b/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
index 48716634c5..f9b4dee2cd 100644
--- a/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
+++ b/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
@@ -14,6 +14,7 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_FOR_ENDPOINT_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_FOR_ENDPOINT_HPP
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/core/assert.hpp>
#include <boost/geometry/algorithms/detail/overlay/get_turn_info.hpp>
#include <boost/geometry/policies/robustness/no_rescale_policy.hpp>
@@ -402,10 +403,7 @@ struct get_turn_info_for_endpoint
{
typedef typename cs_tag<typename TurnInfo::point_type>::type cs_tag;
- boost::ignore_unused_variable_warning(i2);
- boost::ignore_unused_variable_warning(j2);
- boost::ignore_unused_variable_warning(ip_index);
- boost::ignore_unused_variable_warning(tp_model);
+ boost::ignore_unused(i2, j2, ip_index, tp_model);
if ( !first2 && !last2 )
{
diff --git a/boost/geometry/algorithms/detail/overlay/get_turns.hpp b/boost/geometry/algorithms/detail/overlay/get_turns.hpp
index fd1e49ca24..042e65b4e1 100644
--- a/boost/geometry/algorithms/detail/overlay/get_turns.hpp
+++ b/boost/geometry/algorithms/detail/overlay/get_turns.hpp
@@ -21,6 +21,7 @@
#include <boost/array.hpp>
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/vector_c.hpp>
#include <boost/range.hpp>
@@ -155,9 +156,7 @@ class get_turns_in_sections
// It checks if it is areal (box, ring, (multi)polygon)
signed_size_type const n = static_cast<signed_size_type>(section.range_count);
- boost::ignore_unused_variable_warning(n);
- boost::ignore_unused_variable_warning(index1);
- boost::ignore_unused_variable_warning(index2);
+ boost::ignore_unused(n, index1, index2);
return boost::is_same
<
@@ -186,7 +185,7 @@ public :
Turns& turns,
InterruptPolicy& interrupt_policy)
{
- boost::ignore_unused_variable_warning(interrupt_policy);
+ boost::ignore_unused(interrupt_policy);
if ((sec1.duplicate && (sec1.count + 1) < sec1.range_count)
|| (sec2.duplicate && (sec2.count + 1) < sec2.range_count))
@@ -667,7 +666,7 @@ private:
Turns& turns,
InterruptPolicy& interrupt_policy)
{
- boost::ignore_unused_variable_warning(interrupt_policy);
+ boost::ignore_unused(interrupt_policy);
// Depending on code some relations can be left out
diff --git a/boost/geometry/algorithms/detail/overlay/sort_by_side.hpp b/boost/geometry/algorithms/detail/overlay/sort_by_side.hpp
index 6b929373b4..74f438775c 100644
--- a/boost/geometry/algorithms/detail/overlay/sort_by_side.hpp
+++ b/boost/geometry/algorithms/detail/overlay/sort_by_side.hpp
@@ -34,6 +34,9 @@ namespace detail { namespace overlay { namespace sort_by_side
enum direction_type { dir_unknown = -1, dir_from = 0, dir_to = 1 };
+typedef signed_size_type rank_type;
+
+
// Point-wrapper, adding some properties
template <typename Point>
struct ranked_point
@@ -64,7 +67,7 @@ struct ranked_point
{}
Point point;
- std::size_t rank;
+ rank_type rank;
signed_size_type zone; // index of closed zone, in uu turn there would be 2 zones
signed_size_type turn_index;
int operation_index; // 0,1
@@ -445,7 +448,7 @@ private :
inline std::size_t open_count(Include const& include_functor) const
{
std::size_t result = 0;
- std::size_t last_rank = 0;
+ rank_type last_rank = 0;
for (std::size_t i = 0; i < m_ranked_points.size(); i++)
{
rp const& ranked_point = m_ranked_points[i];
@@ -479,7 +482,7 @@ private :
return result;
}
- void assign_ranks(std::size_t min_rank, std::size_t max_rank, int side_index)
+ void assign_ranks(rank_type min_rank, rank_type max_rank, int side_index)
{
for (std::size_t i = 0; i < m_ranked_points.size(); i++)
{
@@ -512,8 +515,8 @@ private :
{
bool in_polygon = true; // Because start_index is "from", arrives at the turn
rp const& start_rp = m_ranked_points[start_index];
- std::size_t last_from_rank = start_rp.rank;
- std::size_t previous_rank = start_rp.rank;
+ rank_type last_from_rank = start_rp.rank;
+ rank_type previous_rank = start_rp.rank;
for (std::size_t index = move<Member>(the_index, start_index);
;
@@ -552,9 +555,9 @@ private :
{
// Find a starting point (the first rank after an outgoing rank
// with no polygons on the left side)
- std::size_t start_rank = m_ranked_points.size() + 1;
+ rank_type start_rank = m_ranked_points.size() + 1;
std::size_t start_index = 0;
- std::size_t max_rank = 0;
+ rank_type max_rank = 0;
for (std::size_t i = 0; i < m_ranked_points.size(); i++)
{
rp const& ranked_point = m_ranked_points[i];
@@ -574,10 +577,10 @@ private :
}
// Assign the zones
- std::size_t const undefined_rank = max_rank + 1;
+ rank_type const undefined_rank = max_rank + 1;
std::size_t zone_id = 0;
- std::size_t last_rank = 0;
- std::size_t rank_at_next_zone = undefined_rank;
+ rank_type last_rank = 0;
+ rank_type rank_at_next_zone = undefined_rank;
std::size_t index = start_index;
for (std::size_t i = 0; i < m_ranked_points.size(); i++)
{
diff --git a/boost/geometry/algorithms/detail/overlay/traversal.hpp b/boost/geometry/algorithms/detail/overlay/traversal.hpp
index 5c547c3278..90ee240138 100644
--- a/boost/geometry/algorithms/detail/overlay/traversal.hpp
+++ b/boost/geometry/algorithms/detail/overlay/traversal.hpp
@@ -557,7 +557,7 @@ struct traversal
return m_turns[rp.turn_index].operations[rp.operation_index];
}
- inline int select_turn_in_cluster_union(std::size_t selected_rank,
+ inline int select_turn_in_cluster_union(sort_by_side::rank_type selected_rank,
typename sbs_type::rp const& ranked_point,
signed_size_type start_turn_index, int start_op_index) const
{
@@ -594,7 +594,7 @@ struct traversal
;
}
- inline signed_size_type select_rank(sbs_type const& sbs,
+ inline sort_by_side::rank_type select_rank(sbs_type const& sbs,
bool skip_isolated) const
{
// Take the first outgoing rank corresponding to incoming region,
@@ -632,7 +632,7 @@ struct traversal
int& op_index, sbs_type const& sbs,
signed_size_type start_turn_index, int start_op_index) const
{
- std::size_t const selected_rank = select_rank(sbs, false);
+ sort_by_side::rank_type const selected_rank = select_rank(sbs, false);
int best_code = 0;
bool result = false;
@@ -665,7 +665,7 @@ struct traversal
inline bool analyze_cluster_intersection(signed_size_type& turn_index,
int& op_index, sbs_type const& sbs) const
{
- std::size_t const selected_rank = select_rank(sbs, true);
+ sort_by_side::rank_type const selected_rank = select_rank(sbs, true);
if (selected_rank > 0)
{
diff --git a/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp b/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
index ccd3af92d5..35ede0a0bb 100644
--- a/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
+++ b/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
@@ -180,6 +180,26 @@ inline bool point_is_collinear(Point1 const& last_point,
return side_rob == 0;
}
+
+//! Version with intuitive order (A, B, C). The original order was
+//! unclear (C, A, B). It was used in a different way in has_spikes.
+//! On longer term the C,A,B version can be deprecated
+template
+<
+ typename Point1,
+ typename Point2,
+ typename Point3,
+ typename SideStrategy
+>
+inline bool is_spike_or_equal(Point1 const& a,
+ Point2 const& b,
+ Point3 const& c,
+ SideStrategy const& strategy)
+{
+ return point_is_spike_or_equal(c, a, b, strategy);
+}
+
+
} // namespace detail
#endif
diff --git a/boost/geometry/algorithms/detail/relate/boundary_checker.hpp b/boost/geometry/algorithms/detail/relate/boundary_checker.hpp
index 1a9a5a8fd7..99385e06f9 100644
--- a/boost/geometry/algorithms/detail/relate/boundary_checker.hpp
+++ b/boost/geometry/algorithms/detail/relate/boundary_checker.hpp
@@ -11,6 +11,7 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_BOUNDARY_CHECKER_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_BOUNDARY_CHECKER_HPP
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/util/range.hpp>
#include <boost/geometry/algorithms/num_points.hpp>
#include <boost/geometry/algorithms/detail/sub_range.hpp>
@@ -46,7 +47,7 @@ public:
template <boundary_query BoundaryQuery>
bool is_endpoint_boundary(point_type const& pt) const
{
- boost::ignore_unused_variable_warning(pt);
+ boost::ignore_unused(pt);
#ifdef BOOST_GEOMETRY_DEBUG_RELATE_BOUNDARY_CHECKER
// may give false positives for INT
BOOST_GEOMETRY_ASSERT( (BoundaryQuery == boundary_front || BoundaryQuery == boundary_any)
diff --git a/boost/geometry/algorithms/detail/relate/follow_helpers.hpp b/boost/geometry/algorithms/detail/relate/follow_helpers.hpp
index 20122471e5..11e95a0b35 100644
--- a/boost/geometry/algorithms/detail/relate/follow_helpers.hpp
+++ b/boost/geometry/algorithms/detail/relate/follow_helpers.hpp
@@ -14,6 +14,8 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_FOLLOW_HELPERS_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_FOLLOW_HELPERS_HPP
+#include <boost/core/ignore_unused.hpp>
+
#include <boost/geometry/core/assert.hpp>
#include <boost/geometry/util/condition.hpp>
@@ -94,7 +96,7 @@ struct for_each_disjoint_geometry_if<OpId, Geometry, Tag, true>
BOOST_GEOMETRY_ASSERT(first != last);
const std::size_t count = boost::size(geometry);
- boost::ignore_unused_variable_warning(count);
+ boost::ignore_unused(count);
// O(I)
// gather info about turns generated for contained geometries
@@ -373,7 +375,7 @@ static inline bool is_ip_on_boundary(IntersectionPoint const& ip,
BoundaryChecker & boundary_checker,
segment_identifier const& seg_id)
{
- boost::ignore_unused_variable_warning(seg_id);
+ boost::ignore_unused(seg_id);
bool res = false;
diff --git a/boost/geometry/algorithms/detail/sections/sectionalize.hpp b/boost/geometry/algorithms/detail/sections/sectionalize.hpp
index d854c67148..7a8638f5c8 100644
--- a/boost/geometry/algorithms/detail/sections/sectionalize.hpp
+++ b/boost/geometry/algorithms/detail/sections/sectionalize.hpp
@@ -25,6 +25,7 @@
#include <vector>
#include <boost/concept/requires.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/vector_c.hpp>
#include <boost/range.hpp>
@@ -420,7 +421,7 @@ struct sectionalize_part
ring_identifier ring_id,
std::size_t max_count)
{
- boost::ignore_unused_variable_warning(robust_policy);
+ boost::ignore_unused(robust_policy);
typedef typename boost::range_value<Sections>::type section_type;
BOOST_STATIC_ASSERT
diff --git a/boost/geometry/algorithms/detail/within/implementation.hpp b/boost/geometry/algorithms/detail/within/implementation.hpp
index 8f1eba62e6..a1fae421e5 100644
--- a/boost/geometry/algorithms/detail/within/implementation.hpp
+++ b/boost/geometry/algorithms/detail/within/implementation.hpp
@@ -19,9 +19,9 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_WITHIN_IMPLEMENTATION_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_WITHIN_IMPLEMENTATION_HPP
-
#include <cstddef>
+#include <boost/core/ignore_unused.hpp>
#include <boost/range.hpp>
#include <boost/geometry/algorithms/detail/within/interface.hpp>
@@ -91,7 +91,7 @@ struct within<Point, Box, point_tag, box_tag>
template <typename Strategy>
static inline bool apply(Point const& point, Box const& box, Strategy const& strategy)
{
- boost::ignore_unused_variable_warning(strategy);
+ boost::ignore_unused(strategy);
return strategy.apply(point, box);
}
};
@@ -103,7 +103,7 @@ struct within<Box1, Box2, box_tag, box_tag>
static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const& strategy)
{
assert_dimension_equal<Box1, Box2>();
- boost::ignore_unused_variable_warning(strategy);
+ boost::ignore_unused(strategy);
return strategy.apply(box1, box2);
}
};
diff --git a/boost/geometry/algorithms/discrete_frechet_distance.hpp b/boost/geometry/algorithms/discrete_frechet_distance.hpp
new file mode 100644
index 0000000000..de8a5286e0
--- /dev/null
+++ b/boost/geometry/algorithms/discrete_frechet_distance.hpp
@@ -0,0 +1,228 @@
+// Boost.Geometry
+
+// Copyright (c) 2018 Yaghyavardhan Singh Khangarot, Hyderabad, India.
+
+// Contributed and/or modified by Yaghyavardhan Singh Khangarot, as part of Google Summer of Code 2018 program.
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_GEOMETRY_ALGORITHMS_DISCRETE_FRECHET_DISTANCE_HPP
+#define BOOST_GEOMETRY_ALGORITHMS_DISCRETE_FRECHET_DISTANCE_HPP
+
+#include <algorithm>
+
+#ifdef BOOST_GEOMETRY_DEBUG_FRECHET_DISTANCE
+#include <iostream>
+#endif
+
+#include <iterator>
+#include <utility>
+#include <vector>
+#include <limits>
+
+#include <boost/geometry/geometry.hpp>
+#include <boost/geometry/geometries/linestring.hpp>
+#include <boost/geometry/geometries/point_xy.hpp>
+#include <boost/geometry/geometries/polygon.hpp>
+#include <boost/range.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/geometry/core/tag.hpp>
+
+
+namespace boost { namespace geometry
+{
+
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail { namespace discrete_frechet_distance
+{
+
+template <typename size_type1 , typename size_type2,typename result_type>
+class coup_mat
+{
+public:
+ coup_mat(size_type1 w, size_type2 h)
+ : m_data(w * h,-1), m_width(w), m_height(h)
+ {}
+
+ result_type & operator()(size_type1 i, size_type2 j)
+ {
+ BOOST_ASSERT(i < m_width && j < m_height);
+ return m_data[j * m_width + i];
+ }
+
+private:
+ std::vector<result_type> m_data;
+ size_type1 m_width;
+ size_type2 m_height;
+};
+
+struct linestring_linestring
+{
+ template <typename Linestring1, typename Linestring2, typename Strategy>
+ static inline typename distance_result
+ <
+ typename point_type<Linestring1>::type,
+ typename point_type<Linestring2>::type,
+ Strategy
+ >::type apply(Linestring1 const& ls1, Linestring2 const& ls2, Strategy const& strategy)
+ {
+ typedef typename distance_result
+ <
+ typename point_type<Linestring1>::type,
+ typename point_type<Linestring2>::type,
+ Strategy
+ >::type result_type;
+ typedef typename boost::range_size<Linestring1>::type size_type1;
+ typedef typename boost::range_size<Linestring2>::type size_type2;
+
+
+ boost::geometry::detail::throw_on_empty_input(ls1);
+ boost::geometry::detail::throw_on_empty_input(ls2);
+
+ size_type1 const a = boost::size(ls1);
+ size_type2 const b = boost::size(ls2);
+
+
+ //Coupling Matrix CoupMat(a,b,-1);
+ coup_mat<size_type1,size_type2,result_type> coup_matrix(a,b);
+
+ result_type const not_feasible = -100;
+ //findin the Coupling Measure
+ for(size_type1 i=0;i<a;i++)
+ {
+ for(size_type2 j=0;j<b;j++)
+ {
+ result_type dis = geometry::distance(range::at(ls1,i),range::at(ls2,j),strategy);
+ if(i==0 && j==0)
+ coup_matrix(i,j)= dis;
+ else if(i==0 && j>0)
+ coup_matrix(i,j)=
+ (std::max)(coup_matrix(i,j-1),dis);
+ else if(i>0 && j==0)
+ coup_matrix(i,j)=
+ (std::max)(coup_matrix(i-1,j),dis);
+ else if(i>0 && j>0)
+ coup_matrix(i,j)=
+ (std::max)((std::min)(coup_matrix(i,j-1),(std::min)(coup_matrix(i-1,j),coup_matrix(i-1,j-1))),dis);
+ else
+ coup_matrix(i,j)=not_feasible;
+ }
+ }
+
+ #ifdef BOOST_GEOMETRY_DEBUG_FRECHET_DISTANCE
+ //Print CoupLing Matrix
+ for(size_type i = 0; i <a; i++)
+ {
+ for(size_type j = 0; j <b; j++)
+ std::cout << coup_matrix(i,j) << " ";
+ std::cout << std::endl;
+ }
+ #endif
+
+ return coup_matrix(a-1,b-1);
+ }
+};
+
+}} // namespace detail::frechet_distance
+#endif // DOXYGEN_NO_DETAIL
+
+#ifndef DOXYGEN_NO_DISPATCH
+namespace dispatch
+{
+template
+<
+ typename Geometry1,
+ typename Geometry2,
+ typename Tag1 = typename tag<Geometry1>::type,
+ typename Tag2 = typename tag<Geometry2>::type
+>
+struct discrete_frechet_distance : not_implemented<Tag1, Tag2>
+{};
+template <typename Linestring1, typename Linestring2>
+struct discrete_frechet_distance<Linestring1,Linestring2,linestring_tag,linestring_tag>
+ : detail::discrete_frechet_distance::linestring_linestring
+{};
+
+} // namespace dispatch
+#endif // DOXYGEN_NO_DISPATCH
+
+
+/*!
+\brief Calculate discrete Frechet distance between two geometries (currently
+ works for LineString-LineString) using specified strategy.
+\ingroup discrete_frechet_distance
+\tparam Geometry1 \tparam_geometry
+\tparam Geometry2 \tparam_geometry
+\tparam Strategy A type fulfilling a DistanceStrategy concept
+\param geometry1 Input geometry
+\param geometry2 Input geometry
+\param strategy Distance strategy to be used to calculate Pt-Pt distance
+
+\qbk{distinguish,with strategy}
+\qbk{[include reference/algorithms/discrete_frechet_distance.qbk]}
+
+\qbk{
+[heading Available Strategies]
+\* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)]
+\* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)]
+[/ \* more (currently extensions): Vincenty\, Andoyer (geographic) ]
+
+[heading Example]
+[discrete_frechet_distance_strategy]
+[discrete_frechet_distance_strategy_output]
+}
+*/
+template <typename Geometry1, typename Geometry2, typename Strategy>
+inline typename distance_result
+ <
+ typename point_type<Geometry1>::type,
+ typename point_type<Geometry2>::type,
+ Strategy
+ >::type
+discrete_frechet_distance(Geometry1 const& geometry1, Geometry2 const& geometry2, Strategy const& strategy)
+{
+ return dispatch::discrete_frechet_distance<Geometry1, Geometry2>::apply(geometry1, geometry2, strategy);
+}
+
+// Algorithm overload using default Pt-Pt distance strategy
+
+/*!
+\brief Calculate discrete Frechet distance between two geometries (currently
+ work for LineString-LineString).
+\ingroup discrete_frechet_distance
+\tparam Geometry1 \tparam_geometry
+\tparam Geometry2 \tparam_geometry
+\param geometry1 Input geometry
+\param geometry2 Input geometry
+
+\qbk{[include reference/algorithms/discrete_frechet_distance.qbk]}
+
+\qbk{
+[heading Example]
+[discrete_frechet_distance]
+[discrete_frechet_distance_output]
+}
+*/
+template <typename Geometry1, typename Geometry2>
+inline typename distance_result
+ <
+ typename point_type<Geometry1>::type,
+ typename point_type<Geometry2>::type
+ >::type
+discrete_frechet_distance(Geometry1 const& geometry1, Geometry2 const& geometry2)
+{
+ typedef typename strategy::distance::services::default_strategy
+ <
+ point_tag, point_tag,
+ typename point_type<Geometry1>::type,
+ typename point_type<Geometry2>::type
+ >::type strategy_type;
+
+ return discrete_frechet_distance(geometry1, geometry2, strategy_type());
+}
+
+}} // namespace boost::geometry
+
+#endif // BOOST_GEOMETRY_ALGORITHMS_DISCRETE_FRECHET_DISTANCE_HPP
diff --git a/boost/geometry/algorithms/discrete_hausdorff_distance.hpp b/boost/geometry/algorithms/discrete_hausdorff_distance.hpp
new file mode 100644
index 0000000000..f9daefe62b
--- /dev/null
+++ b/boost/geometry/algorithms/discrete_hausdorff_distance.hpp
@@ -0,0 +1,350 @@
+// Boost.Geometry
+
+// Copyright (c) 2018 Yaghyavardhan Singh Khangarot, Hyderabad, India.
+// Contributed and/or modified by Yaghyavardhan Singh Khangarot,
+// as part of Google Summer of Code 2018 program.
+
+// This file was modified by Oracle on 2018.
+// Modifications copyright (c) 2018, Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_GEOMETRY_ALGORITHMS_DISCRETE_HAUSDORFF_DISTANCE_HPP
+#define BOOST_GEOMETRY_ALGORITHMS_DISCRETE_HAUSDORFF_DISTANCE_HPP
+
+#include <algorithm>
+
+#ifdef BOOST_GEOMETRY_DEBUG_HAUSDORFF_DISTANCE
+#include <iostream>
+#endif
+
+#include <iterator>
+#include <utility>
+#include <vector>
+#include <limits>
+
+#include <boost/geometry/geometry.hpp>
+#include <boost/geometry/geometries/linestring.hpp>
+#include <boost/geometry/geometries/point_xy.hpp>
+#include <boost/geometry/geometries/polygon.hpp>
+#include <boost/range.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/geometry/core/tag.hpp>
+#include <boost/geometry/index/rtree.hpp>
+
+namespace bgi = boost::geometry::index;
+
+namespace boost { namespace geometry
+{
+
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail { namespace discrete_hausdorff_distance
+{
+
+struct point_range
+{
+ template <typename Point, typename Range, typename Strategy>
+ static inline
+ typename distance_result
+ <
+ typename point_type<Point>::type,
+ typename point_type<Range>::type,
+ Strategy
+ >::type
+ apply(Point const& pnt, Range const& rng, Strategy const& strategy)
+ {
+ typedef typename distance_result
+ <
+ typename point_type<Point>::type,
+ typename point_type<Range>::type,
+ Strategy
+ >::type result_type;
+ typedef typename boost::range_size<Range>::type size_type;
+
+ size_type const n = boost::size(rng);
+ result_type dis_min = 0;
+ bool is_dis_min_set = false;
+
+ for (size_type i = 0 ; i < n ; i++)
+ {
+ result_type dis_temp = geometry::distance(pnt, range::at(rng, i), strategy);
+ if (! is_dis_min_set || dis_temp < dis_min)
+ {
+ dis_min = dis_temp;
+ is_dis_min_set = true;
+ }
+ }
+ return dis_min;
+ }
+};
+
+struct range_range
+{
+ template <typename Range1, typename Range2, typename Strategy>
+ static inline
+ typename distance_result
+ <
+ typename point_type<Range1>::type,
+ typename point_type<Range2>::type,
+ Strategy
+ >::type
+ apply(Range1 const& r1, Range2 const& r2, Strategy const& strategy)
+ {
+
+ typedef typename distance_result
+ <
+ typename point_type<Range1>::type,
+ typename point_type<Range2>::type,
+ Strategy
+ >::type result_type;
+
+ typedef typename boost::range_size<Range1>::type size_type;
+
+ boost::geometry::detail::throw_on_empty_input(r1);
+ boost::geometry::detail::throw_on_empty_input(r2);
+
+ size_type const n = boost::size(r1);
+ result_type dis_max = 0;
+
+#ifdef BOOST_GEOMETRY_ENABLE_SIMILARITY_RTREE
+ typedef typename point_type<Range1>::type point_t;
+ typedef bgi::rtree<point_t, bgi::linear<4> > rtree_type;
+ rtree_type rtree(boost::begin(r2), boost::end(r2));
+ point_t res;
+#endif
+
+ for (size_type i = 0 ; i < n ; i++)
+ {
+#ifdef BOOST_GEOMETRY_ENABLE_SIMILARITY_RTREE
+ size_type found = rtree.query(bgi::nearest(range::at(r1, i), 1), &res);
+ result_type dis_min = geometry::distance(range::at(r1,i), res);
+#else
+ result_type dis_min = point_range::apply(range::at(r1, i), r2, strategy);
+#endif
+ if (dis_min > dis_max )
+ {
+ dis_max = dis_min;
+ }
+ }
+ return dis_max;
+ }
+};
+
+
+struct range_multi_range
+{
+ template <typename Range, typename Multi_range, typename Strategy>
+ static inline
+ typename distance_result
+ <
+ typename point_type<Range>::type,
+ typename point_type<Multi_range>::type,
+ Strategy
+ >::type
+ apply(Range const& rng, Multi_range const& mrng, Strategy const& strategy)
+ {
+ typedef typename distance_result
+ <
+ typename point_type<Range>::type,
+ typename point_type<Multi_range>::type,
+ Strategy
+ >::type result_type;
+ typedef typename boost::range_size<Multi_range>::type size_type;
+
+ boost::geometry::detail::throw_on_empty_input(rng);
+ boost::geometry::detail::throw_on_empty_input(mrng);
+
+ size_type b = boost::size(mrng);
+ result_type haus_dis = 0;
+
+ for (size_type j = 0 ; j < b ; j++)
+ {
+ result_type dis_max = range_range::apply(rng, range::at(mrng, j), strategy);
+ if (dis_max > haus_dis)
+ {
+ haus_dis = dis_max;
+ }
+ }
+
+ return haus_dis;
+ }
+};
+
+
+struct multi_range_multi_range
+{
+ template <typename Multi_Range1, typename Multi_range2, typename Strategy>
+ static inline
+ typename distance_result
+ <
+ typename point_type<Multi_Range1>::type,
+ typename point_type<Multi_range2>::type,
+ Strategy
+ >::type
+ apply(Multi_Range1 const& mrng1, Multi_range2 const& mrng2, Strategy const& strategy)
+ {
+ typedef typename distance_result
+ <
+ typename point_type<Multi_Range1>::type,
+ typename point_type<Multi_range2>::type,
+ Strategy
+ >::type result_type;
+ typedef typename boost::range_size<Multi_Range1>::type size_type;
+
+ boost::geometry::detail::throw_on_empty_input(mrng1);
+ boost::geometry::detail::throw_on_empty_input(mrng2);
+
+ size_type n = boost::size(mrng1);
+ result_type haus_dis = 0;
+
+ for (size_type i = 0 ; i < n ; i++)
+ {
+ result_type dis_max = range_multi_range::apply(range::at(mrng1, i), mrng2, strategy);
+ if (dis_max > haus_dis)
+ {
+ haus_dis = dis_max;
+ }
+ }
+ return haus_dis;
+ }
+};
+
+}} // namespace detail::hausdorff_distance
+#endif // DOXYGEN_NO_DETAIL
+
+#ifndef DOXYGEN_NO_DISPATCH
+namespace dispatch
+{
+template
+<
+ typename Geometry1,
+ typename Geometry2,
+ typename Tag1 = typename tag<Geometry1>::type,
+ typename Tag2 = typename tag<Geometry2>::type
+>
+struct discrete_hausdorff_distance : not_implemented<Tag1, Tag2>
+{};
+
+// Specialization for point and multi_point
+template <typename Point, typename MultiPoint>
+struct discrete_hausdorff_distance<Point, MultiPoint, point_tag, multi_point_tag>
+ : detail::discrete_hausdorff_distance::point_range
+{};
+
+// Specialization for linestrings
+template <typename Linestring1, typename Linestring2>
+struct discrete_hausdorff_distance<Linestring1, Linestring2, linestring_tag, linestring_tag>
+ : detail::discrete_hausdorff_distance::range_range
+{};
+
+// Specialization for multi_point-multi_point
+template <typename MultiPoint1, typename MultiPoint2>
+struct discrete_hausdorff_distance<MultiPoint1, MultiPoint2, multi_point_tag, multi_point_tag>
+ : detail::discrete_hausdorff_distance::range_range
+{};
+
+// Specialization for linestring and multi_linestring
+template <typename linestring, typename multi_linestring>
+struct discrete_hausdorff_distance<linestring, multi_linestring, linestring_tag, multi_linestring_tag>
+ : detail::discrete_hausdorff_distance::range_multi_range
+{};
+
+// Specialization for multi_linestring and multi_linestring
+template <typename multi_linestring1, typename multi_linestring2>
+struct discrete_hausdorff_distance<multi_linestring1, multi_linestring2, multi_linestring_tag, multi_linestring_tag>
+ : detail::discrete_hausdorff_distance::multi_range_multi_range
+{};
+
+} // namespace dispatch
+#endif // DOXYGEN_NO_DISPATCH
+
+// Algorithm overload using explicitly passed Pt-Pt distance strategy
+
+/*!
+\brief Calculate discrete Hausdorff distance between two geometries (currently
+ works for LineString-LineString, MultiPoint-MultiPoint, Point-MultiPoint,
+ MultiLineString-MultiLineString) using specified strategy.
+\ingroup discrete_hausdorff_distance
+\tparam Geometry1 \tparam_geometry
+\tparam Geometry2 \tparam_geometry
+\tparam Strategy A type fulfilling a DistanceStrategy concept
+\param geometry1 Input geometry
+\param geometry2 Input geometry
+\param strategy Distance strategy to be used to calculate Pt-Pt distance
+
+\qbk{distinguish,with strategy}
+\qbk{[include reference/algorithms/discrete_hausdorff_distance.qbk]}
+
+\qbk{
+[heading Available Strategies]
+\* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)]
+\* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)]
+[/ \* more (currently extensions): Vincenty\, Andoyer (geographic) ]
+
+[heading Example]
+[discrete_hausdorff_distance_strategy]
+[discrete_hausdorff_distance_strategy_output]
+}
+*/
+template <typename Geometry1, typename Geometry2, typename Strategy>
+inline
+typename distance_result
+ <
+ typename point_type<Geometry1>::type,
+ typename point_type<Geometry2>::type,
+ Strategy
+ >::type
+discrete_hausdorff_distance(Geometry1 const& geometry1,
+ Geometry2 const& geometry2,
+ Strategy const& strategy)
+{
+ return dispatch::discrete_hausdorff_distance
+ <
+ Geometry1, Geometry2
+ >::apply(geometry1, geometry2, strategy);
+}
+
+/*!
+\brief Calculate discrete Hausdorff distance between two geometries (currently
+ works for LineString-LineString, MultiPoint-MultiPoint, Point-MultiPoint,
+ MultiLineString-MultiLineString).
+\ingroup discrete_hausdorff_distance
+\tparam Geometry1 \tparam_geometry
+\tparam Geometry2 \tparam_geometry
+\param geometry1 Input geometry
+\param geometry2 Input geometry
+
+\qbk{[include reference/algorithms/discrete_hausdorff_distance.qbk]}
+
+\qbk{
+[heading Example]
+[discrete_hausdorff_distance]
+[discrete_hausdorff_distance_output]
+}
+*/
+template <typename Geometry1, typename Geometry2>
+inline
+typename distance_result
+ <
+ typename point_type<Geometry1>::type,
+ typename point_type<Geometry2>::type
+ >::type
+discrete_hausdorff_distance(Geometry1 const& geometry1,
+ Geometry2 const& geometry2)
+{
+ typedef typename strategy::distance::services::default_strategy
+ <
+ point_tag, point_tag,
+ typename point_type<Geometry1>::type,
+ typename point_type<Geometry2>::type
+ >::type strategy_type;
+
+ return discrete_hausdorff_distance(geometry1, geometry2, strategy_type());
+}
+
+}} // namespace boost::geometry
+
+#endif // BOOST_GEOMETRY_ALGORITHMS_DISCRETE_HAUSDORFF_DISTANCE_HPP
diff --git a/boost/geometry/algorithms/remove_spikes.hpp b/boost/geometry/algorithms/remove_spikes.hpp
index 196b20c6a4..ffc7f7cd97 100644
--- a/boost/geometry/algorithms/remove_spikes.hpp
+++ b/boost/geometry/algorithms/remove_spikes.hpp
@@ -42,6 +42,7 @@
#include <boost/geometry/strategies/default_strategy.hpp>
#include <boost/geometry/util/condition.hpp>
+#include <boost/geometry/util/range.hpp>
/*
@@ -91,10 +92,10 @@ struct range_remove_spikes
cleaned.push_back(*it);
while(cleaned.size() >= 3
- && detail::point_is_spike_or_equal(cleaned.back(),
- *(cleaned.end() - 3),
- *(cleaned.end() - 2),
- strategy))
+ && detail::is_spike_or_equal(range::at(cleaned, cleaned.size() - 3),
+ range::at(cleaned, cleaned.size() - 2),
+ range::back(cleaned),
+ strategy))
{
// Remove pen-ultimate point causing the spike (or which was equal)
cleaned.erase(cleaned.end() - 2);
@@ -114,20 +115,20 @@ struct range_remove_spikes
// Check for spike in first point
int const penultimate = 2;
while(cleaned.size() >= 3
- && detail::point_is_spike_or_equal(cleaned.front(),
- *(cleaned.end() - penultimate),
- cleaned.back(),
- strategy))
+ && detail::is_spike_or_equal(range::at(cleaned, cleaned.size() - penultimate),
+ range::back(cleaned),
+ range::front(cleaned),
+ strategy))
{
cleaned.pop_back();
found = true;
}
// Check for spike in second point
while(cleaned.size() >= 3
- && detail::point_is_spike_or_equal(*(cleaned.begin() + 1),
- cleaned.back(),
- cleaned.front(),
- strategy))
+ && detail::is_spike_or_equal(range::back(cleaned),
+ range::front(cleaned),
+ range::at(cleaned, 1),
+ strategy))
{
cleaned.pop_front();
found = true;
diff --git a/boost/geometry/formulas/karney_direct.hpp b/boost/geometry/formulas/karney_direct.hpp
new file mode 100644
index 0000000000..1e6add7d49
--- /dev/null
+++ b/boost/geometry/formulas/karney_direct.hpp
@@ -0,0 +1,266 @@
+// Boost.Geometry
+
+// Copyright (c) 2018 Adeel Ahmad, Islamabad, Pakistan.
+
+// Contributed and/or modified by Adeel Ahmad, as part of Google Summer of Code 2018 program.
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This file is converted from GeographicLib, https://geographiclib.sourceforge.io
+// GeographicLib is originally written by Charles Karney.
+
+// Author: Charles Karney (2008-2017)
+
+// Last updated version of GeographicLib: 1.49
+
+// Original copyright notice:
+
+// Copyright (c) Charles Karney (2008-2017) <charles@karney.com> and licensed
+// under the MIT/X11 License. For more information, see
+// https://geographiclib.sourceforge.io
+
+#ifndef BOOST_GEOMETRY_FORMULAS_KARNEY_DIRECT_HPP
+#define BOOST_GEOMETRY_FORMULAS_KARNEY_DIRECT_HPP
+
+
+#include <boost/array.hpp>
+
+#include <boost/math/constants/constants.hpp>
+#include <boost/math/special_functions/hypot.hpp>
+
+#include <boost/geometry/util/math.hpp>
+#include <boost/geometry/util/series_expansion.hpp>
+#include <boost/geometry/util/normalize_spheroidal_coordinates.hpp>
+
+#include <boost/geometry/formulas/flattening.hpp>
+#include <boost/geometry/formulas/result_direct.hpp>
+
+
+namespace boost { namespace geometry { namespace formula
+{
+
+namespace se = series_expansion;
+
+/*!
+\brief The solution of the direct problem of geodesics on latlong coordinates,
+ after Karney (2011).
+\author See
+- Charles F.F Karney, Algorithms for geodesics, 2011
+https://arxiv.org/pdf/1109.4448.pdf
+*/
+template <
+ typename CT,
+ bool EnableCoordinates = true,
+ bool EnableReverseAzimuth = false,
+ bool EnableReducedLength = false,
+ bool EnableGeodesicScale = false,
+ size_t SeriesOrder = 8
+>
+class karney_direct
+{
+ static const bool CalcQuantities = EnableReducedLength || EnableGeodesicScale;
+ static const bool CalcCoordinates = EnableCoordinates || CalcQuantities;
+ static const bool CalcRevAzimuth = EnableReverseAzimuth || CalcCoordinates || CalcQuantities;
+
+public:
+ typedef result_direct<CT> result_type;
+
+ template <typename T, typename Dist, typename Azi, typename Spheroid>
+ static inline result_type apply(T const& lo1,
+ T const& la1,
+ Dist const& distance,
+ Azi const& azimuth12,
+ Spheroid const& spheroid)
+ {
+ result_type result;
+
+ CT lon1 = lo1;
+ CT const lat1 = la1;
+
+ Azi azi12 = azimuth12;
+ math::normalize_azimuth<degree, Azi>(azi12);
+
+ Dist const dist_c0 = 0;
+
+ if (math::equals(distance, dist_c0) || distance < dist_c0)
+ {
+ result.lon2 = lon1;
+ result.lat2 = lat1;
+ return result;
+ }
+
+ CT const c0 = 0;
+ CT const c1 = 1;
+ CT const c2 = 2;
+
+ CT const b = CT(get_radius<2>(spheroid));
+ CT const f = formula::flattening<CT>(spheroid);
+ CT const one_minus_f = c1 - f;
+ CT const two_minus_f = c2 - f;
+
+ CT const n = f / two_minus_f;
+ CT const e2 = f * two_minus_f;
+ CT const ep2 = e2 / math::sqr(one_minus_f);
+
+ CT sin_alpha1, cos_alpha1;
+ math::sin_cos_degrees<CT>(math::round_angle<CT>(azi12), sin_alpha1, cos_alpha1);
+
+ // Find the reduced latitude.
+ CT sin_beta1, cos_beta1;
+ math::sin_cos_degrees<CT>(math::round_angle<CT>(lat1), sin_beta1, cos_beta1);
+ sin_beta1 *= one_minus_f;
+
+ math::normalize_unit_vector<CT>(sin_beta1, cos_beta1);
+
+ cos_beta1 = (std::max)(c0, cos_beta1);
+
+ // Obtain alpha 0 by solving the spherical triangle.
+ CT const sin_alpha0 = sin_alpha1 * cos_beta1;
+ CT const cos_alpha0 = boost::math::hypot(cos_alpha1, sin_alpha1 * sin_beta1);
+
+ CT const k2 = math::sqr(cos_alpha0) * ep2;
+
+ CT const epsilon = k2 / (c2 * (c1 + math::sqrt(c1 + k2)) + k2);
+
+ // Find the coefficients for A1 by computing the
+ // series expansion using Horner scehme.
+ CT const expansion_A1 = se::evaluate_A1<SeriesOrder>(epsilon);
+
+ // Index zero element of coeffs_C1 is unused.
+ se::coeffs_C1<SeriesOrder, CT> const coeffs_C1(epsilon);
+
+ // Tau is an integration variable.
+ CT const tau12 = distance / (b * (c1 + expansion_A1));
+
+ CT const sin_tau12 = sin(tau12);
+ CT const cos_tau12 = cos(tau12);
+
+ CT sin_sigma1 = sin_beta1;
+ CT sin_omega1 = sin_alpha0 * sin_beta1;
+
+ CT cos_sigma1, cos_omega1;
+ cos_sigma1 = cos_omega1 = sin_beta1 != c0 || cos_alpha1 != c0 ? cos_beta1 * cos_alpha1 : c1;
+ math::normalize_unit_vector<CT>(sin_sigma1, cos_sigma1);
+
+ CT const B11 = se::sin_cos_series(sin_sigma1, cos_sigma1, coeffs_C1);
+ CT const sin_B11 = sin(B11);
+ CT const cos_B11 = cos(B11);
+
+ CT const sin_tau1 = sin_sigma1 * cos_B11 + cos_sigma1 * sin_B11;
+ CT const cos_tau1 = cos_sigma1 * cos_B11 - sin_sigma1 * sin_B11;
+
+ // Index zero element of coeffs_C1p is unused.
+ se::coeffs_C1p<SeriesOrder, CT> const coeffs_C1p(epsilon);
+
+ CT const B12 = - se::sin_cos_series
+ (sin_tau1 * cos_tau12 + cos_tau1 * sin_tau12,
+ cos_tau1 * cos_tau12 - sin_tau1 * sin_tau12,
+ coeffs_C1p);
+
+ CT const sigma12 = tau12 - (B12 - B11);
+ CT const sin_sigma12 = sin(sigma12);
+ CT const cos_sigma12 = cos(sigma12);
+
+ CT const sin_sigma2 = sin_sigma1 * cos_sigma12 + cos_sigma1 * sin_sigma12;
+ CT const cos_sigma2 = cos_sigma1 * cos_sigma12 - sin_sigma1 * sin_sigma12;
+
+ if (BOOST_GEOMETRY_CONDITION(CalcRevAzimuth))
+ {
+ CT const sin_alpha2 = sin_alpha0;
+ CT const cos_alpha2 = cos_alpha0 * cos_sigma2;
+
+ result.reverse_azimuth = atan2(sin_alpha2, cos_alpha2);
+
+ // Convert the angle to radians.
+ result.reverse_azimuth /= math::d2r<CT>();
+ }
+
+ if (BOOST_GEOMETRY_CONDITION(CalcCoordinates))
+ {
+ // Find the latitude at the second point.
+ CT const sin_beta2 = cos_alpha0 * sin_sigma2;
+ CT const cos_beta2 = boost::math::hypot(sin_alpha0, cos_alpha0 * cos_sigma2);
+
+ result.lat2 = atan2(sin_beta2, one_minus_f * cos_beta2);
+
+ // Convert the coordinate to radians.
+ result.lat2 /= math::d2r<CT>();
+
+ // Find the longitude at the second point.
+ CT const sin_omega2 = sin_alpha0 * sin_sigma2;
+ CT const cos_omega2 = cos_sigma2;
+
+ CT const omega12 = atan2(sin_omega2 * cos_omega1 - cos_omega2 * sin_omega1,
+ cos_omega2 * cos_omega1 + sin_omega2 * sin_omega1);
+
+ se::coeffs_A3<SeriesOrder, CT> const coeffs_A3(n);
+
+ CT const A3 = math::horner_evaluate(epsilon, coeffs_A3.begin(), coeffs_A3.end());
+ CT const A3c = -f * sin_alpha0 * A3;
+
+ se::coeffs_C3<SeriesOrder, CT> const coeffs_C3(n, epsilon);
+
+ CT const B31 = se::sin_cos_series(sin_sigma1, cos_sigma1, coeffs_C3);
+
+ CT const lam12 = omega12 + A3c *
+ (sigma12 + (se::sin_cos_series
+ (sin_sigma2,
+ cos_sigma2,
+ coeffs_C3) - B31));
+
+ // Convert to radians to get the
+ // longitudinal difference.
+ CT lon12 = lam12 / math::d2r<CT>();
+
+ // Add the longitude at first point to the longitudinal
+ // difference and normalize the result.
+ math::normalize_longitude<degree, CT>(lon1);
+ math::normalize_longitude<degree, CT>(lon12);
+
+ result.lon2 = lon1 + lon12;
+ }
+
+ if (BOOST_GEOMETRY_CONDITION(CalcQuantities))
+ {
+ // Evaluate the coefficients for C2.
+ // Index zero element of coeffs_C2 is unused.
+ se::coeffs_C2<SeriesOrder, CT> const coeffs_C2(epsilon);
+
+ CT const B21 = se::sin_cos_series(sin_sigma1, cos_sigma1, coeffs_C2);
+ CT const B22 = se::sin_cos_series(sin_sigma2, cos_sigma2, coeffs_C2);
+
+ // Find the coefficients for A2 by computing the
+ // series expansion using Horner scehme.
+ CT const expansion_A2 = se::evaluate_A2<SeriesOrder>(epsilon);
+
+ CT const AB1 = (c1 + expansion_A1) * (B12 - B11);
+ CT const AB2 = (c1 + expansion_A2) * (B22 - B21);
+ CT const J12 = (expansion_A1 - expansion_A2) * sigma12 + (AB1 - AB2);
+
+ CT const dn1 = math::sqrt(c1 + ep2 * math::sqr(sin_beta1));
+ CT const dn2 = math::sqrt(c1 + k2 * math::sqr(sin_sigma2));
+
+ // Find the reduced length.
+ result.reduced_length = b * ((dn2 * (cos_sigma1 * sin_sigma2) -
+ dn1 * (sin_sigma1 * cos_sigma2)) -
+ cos_sigma1 * cos_sigma2 * J12);
+
+ // Find the geodesic scale.
+ CT const t = k2 * (sin_sigma2 - sin_sigma1) *
+ (sin_sigma2 + sin_sigma1) / (dn1 + dn2);
+
+ result.geodesic_scale = cos_sigma12 +
+ (t * sin_sigma2 - cos_sigma2 * J12) *
+ sin_sigma1 / dn1;
+ }
+
+ return result;
+ }
+};
+
+}}} // namespace boost::geometry::formula
+
+
+#endif // BOOST_GEOMETRY_FORMULAS_KARNEY_DIRECT_HPP
diff --git a/boost/geometry/formulas/sjoberg_intersection.hpp b/boost/geometry/formulas/sjoberg_intersection.hpp
index 54478e3062..723c42f2c0 100644
--- a/boost/geometry/formulas/sjoberg_intersection.hpp
+++ b/boost/geometry/formulas/sjoberg_intersection.hpp
@@ -864,6 +864,8 @@ private:
// In this case sin_beta/sqrt_1_Cj_sqr and t/t0j is not in [-1, 1]
// 3. f1-f2 may be 0 which means that the intermediate point is on the vertex
// In this case it's not possible to check if this is the correct result
+ // 4. f1-f2 may also be 0 in other cases, e.g.
+ // geodesics are symetrical wrt equator and longitude directions are different
CT const dbeta_denom = f1 - f2;
//CT const dbeta_denom = math::abs(f1) + math::abs(f2);
@@ -1172,6 +1174,7 @@ private:
geodesic_type const& geod1, geodesic_type const& geod2,
CT & t1, CT& t2)
{
+ CT const c0 = 0;
CT const c1 = 1;
CT const c2 = 2;
@@ -1196,8 +1199,8 @@ private:
CT const K_t01_t02 = K * geod1.t0j * geod2.t0j;
CT const D1 = math::sqrt(A + B);
CT const D2 = math::sqrt(A - B);
- CT const t_new1 = K_t01_t02 / D1;
- CT const t_new2 = K_t01_t02 / D2;
+ CT const t_new1 = math::equals(D1, c0) ? c0 : K_t01_t02 / D1;
+ CT const t_new2 = math::equals(D2, c0) ? c0 : K_t01_t02 / D2;
CT const t_new3 = -t_new1;
CT const t_new4 = -t_new2;
diff --git a/boost/geometry/geometries/concepts/box_concept.hpp b/boost/geometry/geometries/concepts/box_concept.hpp
index 816a90f63e..819f7a1411 100644
--- a/boost/geometry/geometries/concepts/box_concept.hpp
+++ b/boost/geometry/geometries/concepts/box_concept.hpp
@@ -15,11 +15,10 @@
#ifndef BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP
#define BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP
-
#include <cstddef>
#include <boost/concept_check.hpp>
-
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/core/access.hpp>
#include <boost/geometry/core/coordinate_dimension.hpp>
@@ -109,7 +108,7 @@ class ConstBox
{
const Geometry* b = 0;
coordinate_type coord(geometry::get<Index, Dimension>(*b));
- boost::ignore_unused_variable_warning(coord);
+ boost::ignore_unused(coord);
dimension_checker<Index, Dimension + 1, DimensionCount>::apply();
}
};
diff --git a/boost/geometry/geometries/concepts/check.hpp b/boost/geometry/geometries/concepts/check.hpp
index f609d5f131..8888481d8a 100644
--- a/boost/geometry/geometries/concepts/check.hpp
+++ b/boost/geometry/geometries/concepts/check.hpp
@@ -18,6 +18,7 @@
#include <boost/concept_check.hpp>
#include <boost/concept/requires.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/variant/variant_fwd.hpp>
@@ -216,7 +217,7 @@ template <typename Geometry>
inline void check()
{
detail::checker<Geometry> c;
- boost::ignore_unused_variable_warning(c);
+ boost::ignore_unused(c);
}
diff --git a/boost/geometry/geometries/concepts/polygon_concept.hpp b/boost/geometry/geometries/concepts/polygon_concept.hpp
index 58b780009b..f602e83d4e 100644
--- a/boost/geometry/geometries/concepts/polygon_concept.hpp
+++ b/boost/geometry/geometries/concepts/polygon_concept.hpp
@@ -15,6 +15,7 @@
#define BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_POLYGON_CONCEPT_HPP
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/range/concepts.hpp>
#include <boost/geometry/core/access.hpp>
@@ -65,12 +66,8 @@ class Polygon
ring_const_type ce = traits::exterior_ring<PolygonType>::get(*cpoly);
interior_const_type ci = traits::interior_rings<PolygonType>::get(*cpoly);
- boost::ignore_unused_variable_warning(e);
- boost::ignore_unused_variable_warning(i);
- boost::ignore_unused_variable_warning(ce);
- boost::ignore_unused_variable_warning(ci);
- boost::ignore_unused_variable_warning(poly);
- boost::ignore_unused_variable_warning(cpoly);
+ boost::ignore_unused(poly, cpoly);
+ boost::ignore_unused(e, i, ce, ci);
}
};
@@ -115,9 +112,7 @@ class ConstPolygon
ring_const_type ce = traits::exterior_ring<const_polygon_type>::get(*cpoly);
interior_const_type ci = traits::interior_rings<const_polygon_type>::get(*cpoly);
- boost::ignore_unused_variable_warning(ce);
- boost::ignore_unused_variable_warning(ci);
- boost::ignore_unused_variable_warning(cpoly);
+ boost::ignore_unused(ce, ci, cpoly);
}
};
diff --git a/boost/geometry/geometries/concepts/segment_concept.hpp b/boost/geometry/geometries/concepts/segment_concept.hpp
index 6a1c80486f..02bc21947d 100644
--- a/boost/geometry/geometries/concepts/segment_concept.hpp
+++ b/boost/geometry/geometries/concepts/segment_concept.hpp
@@ -14,8 +14,8 @@
#ifndef BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP
#define BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP
-
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/geometries/concepts/point_concept.hpp>
@@ -106,7 +106,7 @@ class ConstSegment
{
const Geometry* s = 0;
coordinate_type coord(geometry::get<Index, Dimension>(*s));
- boost::ignore_unused_variable_warning(coord);
+ boost::ignore_unused(coord);
dimension_checker<Index, Dimension + 1, DimensionCount>::apply();
}
};
diff --git a/boost/geometry/geometry.hpp b/boost/geometry/geometry.hpp
index ec9459b405..0957d48a29 100644
--- a/boost/geometry/geometry.hpp
+++ b/boost/geometry/geometry.hpp
@@ -62,6 +62,8 @@
#include <boost/geometry/algorithms/crosses.hpp>
#include <boost/geometry/algorithms/densify.hpp>
#include <boost/geometry/algorithms/difference.hpp>
+#include <boost/geometry/algorithms/discrete_frechet_distance.hpp>
+#include <boost/geometry/algorithms/discrete_hausdorff_distance.hpp>
#include <boost/geometry/algorithms/disjoint.hpp>
#include <boost/geometry/algorithms/distance.hpp>
#include <boost/geometry/algorithms/envelope.hpp>
diff --git a/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp b/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp
index a10b046c0d..c794a64267 100644
--- a/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp
+++ b/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp
@@ -12,6 +12,7 @@
#ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_LINEAR_REDISTRIBUTE_ELEMENTS_HPP
#define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_LINEAR_REDISTRIBUTE_ELEMENTS_HPP
+#include <boost/core/ignore_unused.hpp>
#include <boost/type_traits/is_unsigned.hpp>
#include <boost/geometry/index/detail/algorithms/content.hpp>
@@ -156,7 +157,7 @@ struct find_greatest_normalized_separation
seed1 = highest_low_index;
seed2 = lowest_high_index;
- ::boost::ignore_unused_variable_warning(parameters);
+ ::boost::ignore_unused(parameters);
}
};
@@ -211,7 +212,7 @@ struct find_greatest_normalized_separation<Elements, Parameters, Translator, poi
if ( lowest_index == highest_index )
seed2 = (lowest_index + 1) % elements_count; // % is just in case since if this is true lowest_index is 0
- ::boost::ignore_unused_variable_warning(parameters);
+ ::boost::ignore_unused(parameters);
}
};
diff --git a/boost/geometry/index/detail/rtree/pack_create.hpp b/boost/geometry/index/detail/rtree/pack_create.hpp
index 2d3903a7b4..78e4712d2f 100644
--- a/boost/geometry/index/detail/rtree/pack_create.hpp
+++ b/boost/geometry/index/detail/rtree/pack_create.hpp
@@ -11,6 +11,8 @@
#ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_PACK_CREATE_HPP
#define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_PACK_CREATE_HPP
+#include <boost/core/ignore_unused.hpp>
+
#include <boost/geometry/algorithms/expand.hpp>
#include <boost/geometry/index/detail/algorithms/bounds.hpp>
#include <boost/geometry/index/detail/algorithms/nth_element.hpp>
@@ -383,7 +385,7 @@ private:
inline static
subtree_elements_counts calculate_subtree_elements_counts(std::size_t elements_count, parameters_type const& parameters, size_type & leafs_level)
{
- boost::ignore_unused_variable_warning(parameters);
+ boost::ignore_unused(parameters);
subtree_elements_counts res(1, 1);
leafs_level = 0;
diff --git a/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp b/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp
index 928ffd47d9..1ee7554f09 100644
--- a/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp
+++ b/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp
@@ -13,6 +13,8 @@
#include <algorithm>
+#include <boost/core/ignore_unused.hpp>
+
#include <boost/geometry/index/detail/algorithms/content.hpp>
#include <boost/geometry/index/detail/algorithms/union_content.hpp>
@@ -75,7 +77,7 @@ inline void pick_seeds(Elements const& elements,
}
}
- ::boost::ignore_unused_variable_warning(parameters);
+ ::boost::ignore_unused(parameters);
}
} // namespace quadratic
diff --git a/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp b/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp
index 89697b5947..e07926ffed 100644
--- a/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp
+++ b/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp
@@ -13,6 +13,8 @@
#include <algorithm>
+#include <boost/core/ignore_unused.hpp>
+
#include <boost/geometry/algorithms/expand.hpp>
#include <boost/geometry/index/detail/algorithms/content.hpp>
@@ -48,7 +50,7 @@ public:
parameters_type const& parameters,
size_t node_relative_level)
{
- ::boost::ignore_unused_variable_warning(parameters);
+ ::boost::ignore_unused(parameters);
children_type & children = rtree::elements(n);
diff --git a/boost/geometry/index/detail/rtree/rstar/insert.hpp b/boost/geometry/index/detail/rtree/rstar/insert.hpp
index 127290194f..0abf96ddfc 100644
--- a/boost/geometry/index/detail/rtree/rstar/insert.hpp
+++ b/boost/geometry/index/detail/rtree/rstar/insert.hpp
@@ -11,6 +11,8 @@
#ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_RSTAR_INSERT_HPP
#define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_RSTAR_INSERT_HPP
+#include <boost/core/ignore_unused.hpp>
+
#include <boost/geometry/index/detail/algorithms/content.hpp>
namespace boost { namespace geometry { namespace index {
@@ -123,7 +125,7 @@ public:
}
BOOST_CATCH_END
- ::boost::ignore_unused_variable_warning(parameters);
+ ::boost::ignore_unused(parameters);
}
private:
diff --git a/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp b/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp
index 187d37facd..6a9261ba5b 100644
--- a/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp
+++ b/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp
@@ -11,6 +11,8 @@
#ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_RSTAR_REDISTRIBUTE_ELEMENTS_HPP
#define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_RSTAR_REDISTRIBUTE_ELEMENTS_HPP
+#include <boost/core/ignore_unused.hpp>
+
#include <boost/geometry/index/detail/algorithms/intersection_content.hpp>
#include <boost/geometry/index/detail/algorithms/margin.hpp>
#include <boost/geometry/index/detail/algorithms/nth_element.hpp>
@@ -158,7 +160,7 @@ struct choose_split_axis_and_index_for_corner
}
}
- ::boost::ignore_unused_variable_warning(parameters);
+ ::boost::ignore_unused(parameters);
}
};
diff --git a/boost/geometry/index/detail/varray.hpp b/boost/geometry/index/detail/varray.hpp
index 1b084aafdb..1248ec568c 100644
--- a/boost/geometry/index/detail/varray.hpp
+++ b/boost/geometry/index/detail/varray.hpp
@@ -19,6 +19,7 @@
#endif
#include <boost/config.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/swap.hpp>
#include <boost/integer.hpp>
@@ -75,8 +76,7 @@ struct checker
{
BOOST_GEOMETRY_INDEX_ASSERT(s <= v.capacity(), "size too big");
- ::boost::ignore_unused_variable_warning(v);
- ::boost::ignore_unused_variable_warning(s);
+ ::boost::ignore_unused(v, s);
}
static inline void throw_out_of_bounds(Varray const& v, size_type i)
@@ -84,39 +84,35 @@ struct checker
if ( v.size() <= i )
throw_out_of_range("index out of bounds");
- ::boost::ignore_unused_variable_warning(v);
- ::boost::ignore_unused_variable_warning(i);
+ ::boost::ignore_unused(v, i);
}
static inline void check_index(Varray const& v, size_type i)
{
BOOST_GEOMETRY_INDEX_ASSERT(i < v.size(), "index out of bounds");
- ::boost::ignore_unused_variable_warning(v);
- ::boost::ignore_unused_variable_warning(i);
+ ::boost::ignore_unused(v, i);
}
static inline void check_not_empty(Varray const& v)
{
BOOST_GEOMETRY_INDEX_ASSERT(!v.empty(), "the container is empty");
- ::boost::ignore_unused_variable_warning(v);
+ ::boost::ignore_unused(v);
}
static inline void check_iterator_end_neq(Varray const& v, const_iterator position)
{
BOOST_GEOMETRY_INDEX_ASSERT(v.begin() <= position && position < v.end(), "iterator out of bounds");
- ::boost::ignore_unused_variable_warning(v);
- ::boost::ignore_unused_variable_warning(position);
+ ::boost::ignore_unused(v, position);
}
static inline void check_iterator_end_eq(Varray const& v, const_iterator position)
{
BOOST_GEOMETRY_INDEX_ASSERT(v.begin() <= position && position <= v.end(), "iterator out of bounds");
- ::boost::ignore_unused_variable_warning(v);
- ::boost::ignore_unused_variable_warning(position);
+ ::boost::ignore_unused(v, position);
}
};
diff --git a/boost/geometry/io/dsv/write.hpp b/boost/geometry/io/dsv/write.hpp
index f74ae7f95d..71facebaeb 100644
--- a/boost/geometry/io/dsv/write.hpp
+++ b/boost/geometry/io/dsv/write.hpp
@@ -5,6 +5,11 @@
// Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland.
+// This file was modified by Oracle on 2018.
+// Modifications copyright (c) 2018, Oracle and/or its affiliates.
+
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
@@ -405,7 +410,7 @@ struct dsv<multi_tag, Geometry>
\note Useful for examples and testing purposes
\note With this function GeoJSON objects can be created, using the right
delimiters
-\ingroup utility
+\ingroup dsv
*/
template <typename Geometry>
inline detail::dsv::dsv_manipulator<Geometry> dsv(Geometry const& geometry
diff --git a/boost/geometry/srs/epsg.hpp b/boost/geometry/srs/epsg.hpp
index 0641c18611..f26c2e0c42 100644
--- a/boost/geometry/srs/epsg.hpp
+++ b/boost/geometry/srs/epsg.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -23,57 +23,43 @@ namespace boost { namespace geometry
namespace projections
{
-template <typename CT>
-struct dynamic_parameters<srs::epsg, CT>
+template <>
+struct dynamic_parameters<srs::epsg>
{
- static inline projections::parameters<CT> apply(srs::epsg const& params)
+ static const bool is_specialized = true;
+ static inline srs::dpar::parameters<> apply(srs::epsg const& params)
{
- return projections::detail::pj_init_plus<CT>(
- srs::dynamic(),
- projections::detail::epsg_to_string(params.code),
- false);
- }
+ return projections::detail::epsg_to_parameters(params.code);
+ }
};
template <int Code, typename CT>
class proj_wrapper<srs::static_epsg<Code>, CT>
- : public static_proj_wrapper_base
+ : public proj_wrapper
<
- typename projections::detail::epsg_traits<Code>::static_parameters_type,
+ typename projections::detail::epsg_traits<Code>::parameters_type,
CT
>
{
typedef projections::detail::epsg_traits<Code> epsg_traits;
- typedef typename epsg_traits::static_parameters_type static_parameters_type;
- typedef static_proj_wrapper_base<static_parameters_type, CT> base_t;
+
+ typedef proj_wrapper
+ <
+ typename epsg_traits::parameters_type,
+ CT
+ > base_t;
public:
proj_wrapper()
- : base_t(epsg_traits::s_par(), epsg_traits::par())
+ : base_t(epsg_traits::parameters())
{}
-};
-
-} // namespace projections
-
-
-namespace srs
-{
-
-
-template <int Code, typename CT>
-class projection<srs::static_epsg<Code>, CT>
- : public projections::projection<srs::static_epsg<Code>, CT>
-{
- typedef projections::projection<srs::static_epsg<Code>, CT> base_t;
-
-public:
- projection()
+ explicit proj_wrapper(srs::static_epsg<Code> const&)
+ : base_t(epsg_traits::parameters())
{}
};
-
-} // namespace srs
+} // namespace projections
}} // namespace boost::geometry
diff --git a/boost/geometry/srs/esri.hpp b/boost/geometry/srs/esri.hpp
index 6b4a800fb9..086a2f0592 100644
--- a/boost/geometry/srs/esri.hpp
+++ b/boost/geometry/srs/esri.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -23,57 +23,45 @@ namespace boost { namespace geometry
namespace projections
{
-template <typename CT>
-struct dynamic_parameters<srs::esri, CT>
+template <>
+struct dynamic_parameters<srs::esri>
{
- static inline projections::parameters<CT> apply(srs::esri const& params)
+ static const bool is_specialized = true;
+ static inline srs::dpar::parameters<> apply(srs::esri const& params)
{
- return projections::detail::pj_init_plus<CT>(
- srs::dynamic(),
- projections::detail::esri_to_string(params.code),
- false);
- }
+ return projections::detail::esri_to_parameters(params.code);
+ }
};
+
template <int Code, typename CT>
class proj_wrapper<srs::static_esri<Code>, CT>
- : public static_proj_wrapper_base
+ : public proj_wrapper
<
- typename projections::detail::esri_traits<Code>::static_parameters_type,
+ typename projections::detail::esri_traits<Code>::parameters_type,
CT
>
{
typedef projections::detail::esri_traits<Code> esri_traits;
- typedef typename esri_traits::static_parameters_type static_parameters_type;
- typedef static_proj_wrapper_base<static_parameters_type, CT> base_t;
+
+ typedef proj_wrapper
+ <
+ typename esri_traits::parameters_type,
+ CT
+ > base_t;
public:
proj_wrapper()
- : base_t(esri_traits::s_par(), esri_traits::par())
+ : base_t(esri_traits::parameters())
{}
-};
-
-
-} // namespace projections
-
-namespace srs
-{
-
-
-template <int Code, typename CT>
-class projection<srs::static_esri<Code>, CT>
- : public projections::projection<srs::static_esri<Code>, CT>
-{
- typedef projections::projection<srs::static_esri<Code>, CT> base_t;
-
-public:
- projection()
+ explicit proj_wrapper(srs::static_esri<Code> const&)
+ : base_t(esri_traits::parameters())
{}
};
-} // namespace srs
+} // namespace projections
}} // namespace boost::geometry
diff --git a/boost/geometry/srs/iau2000.hpp b/boost/geometry/srs/iau2000.hpp
index 8b02ab4a06..82f2d21769 100644
--- a/boost/geometry/srs/iau2000.hpp
+++ b/boost/geometry/srs/iau2000.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -23,58 +23,44 @@ namespace boost { namespace geometry
namespace projections
{
-template <typename CT>
-struct dynamic_parameters<srs::iau2000, CT>
+template <>
+struct dynamic_parameters<srs::iau2000>
{
- static inline projections::parameters<CT> apply(srs::iau2000 const& params)
+ static const bool is_specialized = true;
+ static inline srs::dpar::parameters<> apply(srs::iau2000 const& params)
{
- return projections::detail::pj_init_plus<CT>(
- srs::dynamic(),
- projections::detail::iau2000_to_string(params.code),
- false);
- }
+ return projections::detail::iau2000_to_parameters(params.code);
+ }
};
template <int Code, typename CT>
class proj_wrapper<srs::static_iau2000<Code>, CT>
- : public static_proj_wrapper_base
+ : public proj_wrapper
<
- typename projections::detail::iau2000_traits<Code>::static_parameters_type,
+ typename projections::detail::iau2000_traits<Code>::parameters_type,
CT
>
{
typedef projections::detail::iau2000_traits<Code> iau2000_traits;
- typedef typename iau2000_traits::static_parameters_type static_parameters_type;
- typedef static_proj_wrapper_base<static_parameters_type, CT> base_t;
+
+ typedef proj_wrapper
+ <
+ typename iau2000_traits::parameters_type,
+ CT
+ > base_t;
public:
proj_wrapper()
- : base_t(iau2000_traits::s_par(), iau2000_traits::par())
+ : base_t(iau2000_traits::parameters())
{}
-};
-
-} // namespace projections
-
-
-namespace srs
-{
-
-
-template <int Code, typename CT>
-class projection<srs::static_iau2000<Code>, CT>
- : public projections::projection<srs::static_iau2000<Code>, CT>
-{
- typedef projections::projection<srs::static_iau2000<Code>, CT> base_t;
-
-public:
- projection()
+ explicit proj_wrapper(srs::static_iau2000<Code> const&)
+ : base_t(iau2000_traits::parameters())
{}
};
-} // namespace srs
-
+} // namespace projections
}} // namespace boost::geometry
diff --git a/boost/geometry/srs/projection.hpp b/boost/geometry/srs/projection.hpp
index 59c3e8c047..c5a5674dec 100644
--- a/boost/geometry/srs/projection.hpp
+++ b/boost/geometry/srs/projection.hpp
@@ -2,8 +2,8 @@
// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands.
-// This file was modified by Oracle on 2017.
-// Modifications copyright (c) 2017, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2017, 2018.
+// Modifications copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -21,14 +21,15 @@
#include <boost/geometry/core/coordinate_dimension.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
#include <boost/geometry/srs/projections/exception.hpp>
#include <boost/geometry/srs/projections/factory.hpp>
#include <boost/geometry/srs/projections/impl/base_dynamic.hpp>
#include <boost/geometry/srs/projections/impl/base_static.hpp>
#include <boost/geometry/srs/projections/impl/pj_init.hpp>
#include <boost/geometry/srs/projections/invalid_point.hpp>
-#include <boost/geometry/srs/projections/par4.hpp>
#include <boost/geometry/srs/projections/proj4.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
#include <boost/geometry/views/detail/indexed_point_view.hpp>
@@ -292,30 +293,40 @@ struct project_geometry<MultiPolygon, PointPolicy, multi_polygon_tag>
#endif // DOXYGEN_NO_DETAIL
-template <typename Params, typename CT>
+template <typename Params>
struct dynamic_parameters
{
- BOOST_MPL_ASSERT_MSG((false),
- NOT_IMPLEMENTED_FOR_THESE_PARAMETERS,
- (Params));
+ static const bool is_specialized = false;
};
-template <typename CT>
-struct dynamic_parameters<srs::proj4, CT>
+template <>
+struct dynamic_parameters<srs::proj4>
+{
+ static const bool is_specialized = true;
+ static inline srs::detail::proj4_parameters apply(srs::proj4 const& params)
+ {
+ return srs::detail::proj4_parameters(params.str());
+ }
+};
+
+template <typename T>
+struct dynamic_parameters<srs::dpar::parameters<T> >
{
- static inline projections::parameters<CT> apply(srs::proj4 const& params)
+ static const bool is_specialized = true;
+ static inline srs::dpar::parameters<T> const& apply(srs::dpar::parameters<T> const& params)
{
- return projections::detail::pj_init_plus<CT>(srs::dynamic(), params.str);
- }
+ return params;
+ }
};
+
// proj_wrapper class and its specializations wrapps the internal projection
// representation and implements transparent creation of projection object
template <typename Proj, typename CT>
class proj_wrapper
{
BOOST_MPL_ASSERT_MSG((false),
- NOT_IMPLEMENTED_FOR_THIS_PROJECTION,
+ UNKNOWN_PROJECTION_DEFINITION,
(Proj));
};
@@ -331,27 +342,35 @@ class proj_wrapper<srs::dynamic, CT>
public:
template <typename Params>
- proj_wrapper(Params const& params)
- : m_ptr(create(projections::dynamic_parameters<Params, calc_t>::apply(params)))
+ proj_wrapper(Params const& params,
+ typename boost::enable_if_c
+ <
+ dynamic_parameters<Params>::is_specialized
+ >::type * = 0)
+ : m_ptr(create(dynamic_parameters<Params>::apply(params)))
{}
vprj_t const& proj() const { return *m_ptr; }
vprj_t & mutable_proj() { return *m_ptr; }
private:
- static vprj_t* create(parameters_type const& pj_params)
+ template <typename Params>
+ static vprj_t* create(Params const& params)
{
- vprj_t* result = projections::detail::create_new(pj_params);
+ parameters_type parameters = projections::detail::pj_init<calc_t>(params);
+
+ vprj_t* result = projections::detail::create_new(params, parameters);
if (result == NULL)
{
- if (pj_params.name.empty())
+ if (parameters.id.is_unknown())
{
BOOST_THROW_EXCEPTION(projection_not_named_exception());
}
else
{
- BOOST_THROW_EXCEPTION(projection_unknown_id_exception(pj_params.name));
+ // TODO: handle non-string projection id
+ BOOST_THROW_EXCEPTION(projection_unknown_id_exception());
}
}
@@ -368,25 +387,15 @@ class static_proj_wrapper_base
typedef projections::parameters<calc_t> parameters_type;
- typedef typename srs::par4::detail::pick_proj_tag
+ typedef typename srs::spar::detail::pick_proj_tag
<
StaticParameters
>::type proj_tag;
- typedef typename srs::par4::detail::pick_ellps
- <
- StaticParameters
- >::type ellps_type;
-
+
typedef typename projections::detail::static_projection_type
<
proj_tag,
- typename geometry::tag
- <
- typename srs::par4::detail::ellps_traits
- <
- ellps_type
- >::model_type
- >::type,
+ typename projections::detail::static_srs_tag<StaticParameters>::type,
StaticParameters,
calc_t,
parameters_type
@@ -397,33 +406,20 @@ public:
projection_type & mutable_proj() { return m_proj; }
protected:
- explicit static_proj_wrapper_base(StaticParameters const& s_params,
- bool use_defaults = true)
- : m_proj(get_parameters(s_params, "", use_defaults))
- {}
-
- static_proj_wrapper_base(StaticParameters const& s_params,
- srs::proj4 const& params,
- bool use_defaults = true)
- : m_proj(get_parameters(s_params, params.str, use_defaults))
+ explicit static_proj_wrapper_base(StaticParameters const& s_params)
+ : m_proj(s_params,
+ projections::detail::pj_init<calc_t>(s_params))
{}
private:
- static parameters_type get_parameters(StaticParameters const& s_params,
- std::string const& params_str,
- bool use_defaults)
- {
- return projections::detail::pj_init_plus<calc_t>(s_params, params_str, use_defaults);
- }
-
projection_type m_proj;
};
template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename CT>
-class proj_wrapper<srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT>
- : public static_proj_wrapper_base<srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT>
+class proj_wrapper<srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT>
+ : public static_proj_wrapper_base<srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT>
{
- typedef srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
+ typedef srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
static_parameters_type;
typedef static_proj_wrapper_base
<
@@ -439,15 +435,6 @@ public:
proj_wrapper(static_parameters_type const& s_params)
: base_t(s_params)
{}
-
- proj_wrapper(srs::proj4 const& params)
- : base_t(static_parameters_type(), params)
- {}
-
- proj_wrapper(static_parameters_type const& s_params,
- srs::proj4 const& params)
- : base_t(s_params, params)
- {}
};
@@ -467,11 +454,6 @@ public:
: base_t(params)
{}
- template <typename SParams, typename Params>
- projection(SParams const& s_params, Params const& params)
- : base_t(s_params, params)
- {}
-
/// Forward projection, from Latitude-Longitude to Cartesian
template <typename LL, typename XY>
inline bool forward(LL const& ll, XY& xy) const
@@ -518,69 +500,46 @@ namespace srs
\brief Representation of projection
\details Either dynamic or static projection representation
\ingroup projection
- \tparam Proj default_dynamic or static projection parameters
+ \tparam Parameters default dynamic tag or static projection parameters
\tparam CT calculation type used internally
*/
template
<
- typename Proj = srs::dynamic,
+ typename Parameters = srs::dynamic,
typename CT = double
>
class projection
+ : public projections::projection<Parameters, CT>
{
- BOOST_MPL_ASSERT_MSG((false),
- NOT_IMPLEMENTED_FOR_THIS_PROJECTION,
- (Proj));
-};
-
-template <typename CT>
-class projection<srs::dynamic, CT>
- : public projections::projection<srs::dynamic, CT>
-{
- typedef projections::projection<srs::dynamic, CT> base_t;
+ typedef projections::projection<Parameters, CT> base_t;
public:
+ projection()
+ {}
+
+ projection(Parameters const& parameters)
+ : base_t(parameters)
+ {}
+
/*!
\ingroup projection
\brief Initializes a projection as a string, using the format with + and =
\details The projection can be initialized with a string (with the same format as the PROJ4 package) for
convenient initialization from, for example, the command line
\par Example
- <tt>+proj=labrd +ellps=intl +lon_0=46d26'13.95E +lat_0=18d54S +azi=18d54 +k_0=.9995 +x_0=400000 +y_0=800000</tt>
+ <tt>srs::proj4("+proj=labrd +ellps=intl +lon_0=46d26'13.95E +lat_0=18d54S +azi=18d54 +k_0=.9995 +x_0=400000 +y_0=800000")</tt>
for the Madagascar projection.
- \note Parameters are described in the group
*/
- template <typename Params>
- projection(Params const& params)
- : base_t(params)
+ template <typename DynamicParameters>
+ projection(DynamicParameters const& dynamic_parameters,
+ typename boost::enable_if_c
+ <
+ projections::dynamic_parameters<DynamicParameters>::is_specialized
+ >::type * = 0)
+ : base_t(dynamic_parameters)
{}
};
-template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename CT>
-class projection<srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT>
- : public projections::projection<srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT>
-{
- typedef projections::projection<srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, CT> base_t;
-
-public:
- projection()
- {}
-
- projection(srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params)
- : base_t(params)
- {}
-
-#ifdef BOOST_GEOMETRY_SRS_ENABLE_STATIC_PROJECTION_HYBRID_INTERFACE
- projection(srs::proj4 const& params)
- : base_t(params)
- {}
-
- projection(srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& s_params,
- srs::proj4 const& params)
- : base_t(s_params, params)
- {}
-#endif
-};
} // namespace srs
diff --git a/boost/geometry/srs/projections/code.hpp b/boost/geometry/srs/projections/code.hpp
index 852153d485..c5b953829e 100644
--- a/boost/geometry/srs/projections/code.hpp
+++ b/boost/geometry/srs/projections/code.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -12,7 +12,8 @@
#include <algorithm>
-#include <string>
+
+#include <boost/geometry/srs/projections/dpar.hpp>
namespace boost { namespace geometry { namespace projections
@@ -26,7 +27,7 @@ namespace detail
struct code_element
{
int code;
- std::string proj4_str;
+ srs::dpar::parameters<> parameters;
};
struct code_element_less
@@ -43,7 +44,7 @@ namespace detail
code_element_less comp;
code_element value;
value.code = code;
- first = std::lower_bound(first, last, value, code_element_less());
+ first = std::lower_bound(first, last, value, comp);
return first != last && !comp(value, *first) ? first : last;
}
diff --git a/boost/geometry/srs/projections/dpar.hpp b/boost/geometry/srs/projections/dpar.hpp
new file mode 100644
index 0000000000..641a4fc6e9
--- /dev/null
+++ b/boost/geometry/srs/projections/dpar.hpp
@@ -0,0 +1,850 @@
+// Boost.Geometry
+
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_GEOMETRY_SRS_PROJECTIONS_DPAR_HPP
+#define BOOST_GEOMETRY_SRS_PROJECTIONS_DPAR_HPP
+
+
+#include <boost/geometry/core/radius.hpp>
+#include <boost/geometry/core/tag.hpp>
+#include <boost/geometry/core/tags.hpp>
+
+#include <boost/geometry/srs/projections/exception.hpp>
+#include <boost/geometry/srs/projections/par_data.hpp>
+#include <boost/geometry/srs/sphere.hpp>
+#include <boost/geometry/srs/spheroid.hpp>
+
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/variant/variant.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/is_void.hpp>
+
+#include <string>
+#include <vector>
+
+namespace boost { namespace geometry { namespace srs
+{
+
+namespace detail
+{
+
+template
+<
+ typename Types,
+ typename T,
+ typename Iter = typename boost::mpl::begin<Types>::type,
+ typename End = typename boost::mpl::end<Types>::type,
+ int I = 0
+>
+struct find_type_index
+{
+ typedef typename boost::mpl::deref<Iter>::type type;
+ static const int value = boost::is_same<type, T>::value
+ ? I
+ : find_type_index
+ <
+ Types,
+ T,
+ typename boost::mpl::next<Iter>::type,
+ End,
+ I + 1
+ >::value;
+
+};
+
+template
+<
+ typename Types,
+ typename T,
+ typename End,
+ int I
+>
+struct find_type_index<Types, T, End, End, I>
+{
+ static const int value = I;
+};
+
+
+template
+<
+ typename Range,
+ typename ToValue,
+ bool IsRange = boost::has_range_iterator<Range>::value
+>
+struct is_convertible_range
+ : boost::is_convertible
+ <
+ typename boost::range_value<Range>::type,
+ ToValue
+ >
+{};
+
+template
+<
+ typename Range,
+ typename ToValue
+>
+struct is_convertible_range<Range, ToValue, false>
+ : boost::false_type
+{};
+
+} // namespace detail
+
+
+namespace dpar
+{
+
+enum value_datum
+{
+ datum_wgs84 = 0,
+ datum_ggrs87,
+ datum_nad83,
+ datum_nad27,
+ datum_potsdam,
+ datum_carthage,
+ datum_hermannskogel,
+ datum_ire65,
+ datum_nzgd49,
+ datum_osgb36,
+};
+
+enum value_ellps
+{
+ ellps_merit = 0,
+ ellps_sgs85,
+ ellps_grs80,
+ ellps_iau76,
+ ellps_airy,
+ ellps_apl4_9,
+ ellps_nwl9d,
+ ellps_mod_airy,
+ ellps_andrae,
+ ellps_aust_sa,
+ ellps_grs67,
+ ellps_bessel,
+ ellps_bess_nam,
+ ellps_clrk66,
+ ellps_clrk80,
+ ellps_clrk80ign,
+ ellps_cpm,
+ ellps_delmbr,
+ ellps_engelis,
+ ellps_evrst30,
+ ellps_evrst48,
+ ellps_evrst56,
+ ellps_evrst69,
+ ellps_evrstss,
+ ellps_fschr60,
+ ellps_fschr60m,
+ ellps_fschr68,
+ ellps_helmert,
+ ellps_hough,
+ ellps_intl,
+ ellps_krass,
+ ellps_kaula,
+ ellps_lerch,
+ ellps_mprts,
+ ellps_new_intl,
+ ellps_plessis,
+ ellps_seasia,
+ ellps_walbeck,
+ ellps_wgs60,
+ ellps_wgs66,
+ ellps_wgs72,
+ ellps_wgs84,
+ ellps_sphere
+};
+
+enum value_mode
+{
+ mode_plane = 0,
+ mode_di,
+ mode_dd,
+ mode_hex
+};
+
+enum value_orient
+{
+ orient_isea = 0,
+ orient_pole,
+};
+
+enum value_pm
+{
+ pm_greenwich = 0,
+ pm_lisbon,
+ pm_paris,
+ pm_bogota,
+ pm_madrid,
+ pm_rome,
+ pm_bern,
+ pm_jakarta,
+ pm_ferro,
+ pm_brussels,
+ pm_stockholm,
+ pm_athens,
+ pm_oslo
+};
+
+enum value_proj
+{
+ proj_unknown = 0,
+ proj_aea, proj_leac,
+ proj_aeqd,
+ proj_airy,
+ proj_aitoff, proj_wintri,
+ proj_august,
+ proj_apian, proj_ortel, proj_bacon,
+ proj_bipc,
+ proj_boggs,
+ proj_bonne,
+ proj_cass,
+ proj_cc,
+ proj_cea,
+ proj_chamb,
+ proj_collg,
+ proj_crast,
+ proj_denoy,
+ proj_eck1,
+ proj_eck2,
+ proj_eck3, proj_putp1, proj_wag6, proj_kav7,
+ proj_eck4,
+ proj_eck5,
+ proj_eqc,
+ proj_eqdc,
+ proj_etmerc, proj_utm,
+ proj_fahey,
+ proj_fouc_s,
+ proj_gall,
+ proj_geocent,
+ proj_geos,
+ proj_gins8,
+ proj_gn_sinu, proj_sinu, proj_eck6, proj_mbtfps,
+ proj_gnom,
+ proj_goode,
+ proj_gstmerc,
+ proj_hammer,
+ proj_hatano,
+ proj_healpix,
+ proj_rhealpix,
+ proj_igh,
+ proj_imw_p,
+ proj_isea,
+ proj_krovak,
+ proj_labrd,
+ proj_laea,
+ proj_lagrng,
+ proj_larr,
+ proj_lask,
+ proj_lonlat, proj_latlon, proj_latlong, proj_longlat,
+ proj_lcc,
+ proj_lcca,
+ proj_loxim,
+ proj_lsat,
+ proj_mbt_fps,
+ proj_mbtfpp,
+ proj_mbtfpq,
+ proj_merc,
+ proj_mill,
+ proj_mil_os, proj_lee_os, proj_gs48, proj_alsk, proj_gs50,
+ proj_moll, proj_wag4, proj_wag5,
+ proj_natearth,
+ proj_nell,
+ proj_nell_h,
+ proj_nicol,
+ proj_nsper, proj_tpers,
+ proj_nzmg,
+ proj_ob_tran,
+ proj_ocea,
+ proj_oea,
+ proj_omerc,
+ proj_ortho,
+ proj_poly,
+ proj_putp2,
+ proj_putp3, proj_putp3p,
+ proj_putp4p, proj_weren,
+ proj_putp5, proj_putp5p,
+ proj_putp6, proj_putp6p,
+ proj_qsc,
+ proj_robin,
+ proj_rouss,
+ proj_rpoly,
+ proj_euler, proj_murd1, proj_murd2, proj_murd3, proj_pconic, proj_tissot, proj_vitk1,
+ proj_somerc,
+ proj_stere, proj_ups,
+ proj_sterea,
+ proj_kav5, proj_qua_aut, proj_fouc, proj_mbt_s,
+ proj_tcc,
+ proj_tcea,
+ proj_tmerc,
+ proj_tpeqd,
+ proj_urm5,
+ proj_urmfps, proj_wag1,
+ proj_vandg,
+ proj_vandg2, proj_vandg3,
+ proj_vandg4,
+ proj_wag2,
+ proj_wag3,
+ proj_wag7,
+ proj_wink1,
+ proj_wink2
+};
+
+enum value_sweep
+{
+ sweep_x = 0, sweep_y
+};
+
+enum value_units
+{
+ units_km = 0,
+ units_m,
+ units_dm,
+ units_cm,
+ units_mm,
+ units_kmi,
+ units_in,
+ units_ft,
+ units_yd,
+ units_mi,
+ units_fath,
+ units_ch,
+ units_link,
+ units_us_in,
+ units_us_ft,
+ units_us_yd,
+ units_us_ch,
+ units_us_mi,
+ units_ind_yd,
+ units_ind_ft,
+ units_ind_ch
+};
+
+enum name_f
+{
+ a = 0,
+ b,
+ e,
+ es,
+ f,
+ h,
+ //h_0, // currently not used
+ k = 7,
+ k_0,
+ m, // also used for M
+ n,
+ //phdg_0, // currently not used
+ //plat_0, // currently not used
+ //plon_0, // currently not used
+ q = 14,
+ r, // originally R
+ rf,
+ to_meter,
+ vto_meter,
+ w, // originally W
+ x_0,
+ y_0
+};
+
+enum name_r
+{
+ alpha = 22,
+ azi,
+ gamma,
+ lat_0,
+ lat_1,
+ lat_2,
+ lat_3,
+ lat_b,
+ lat_ts, // 30
+ lon_0,
+ lon_1,
+ lon_2,
+ lon_3,
+ lon_wrap,
+ lonc,
+ o_alpha,
+ o_lat_1,
+ o_lat_2,
+ o_lat_c, // 40
+ o_lat_p,
+ o_lon_1,
+ o_lon_2,
+ o_lon_c,
+ o_lon_p,
+ r_lat_a, // originally R_lat_a
+ r_lat_g, // originally R_lat_g
+ theta,
+ tilt
+};
+
+enum name_i
+{
+ aperture = 50,
+ lsat,
+ north_square,
+ path,
+ resolution,
+ south_square,
+ zone
+};
+
+enum name_be
+{
+ czech = 57,
+ geoc,
+ guam,
+ no_cut, // 60
+ no_defs,
+ no_rot,
+ ns,
+ over,
+ r_au, // originally R_A
+ r_a, // originally R_a
+ r_g, // originally R_g
+ r_h, // originally R_h
+ r_v, // originally R_V
+ rescale, // 70
+ south
+};
+
+/*enum name_catalog
+{
+ catalog = 72 // currently not used
+};
+
+enum name_date
+{
+ date = 73 // currently not used
+};*/
+
+enum name_datum
+{
+ datum = 74
+};
+
+enum name_ellps
+{
+ ellps = 75 // id, sphere or spheroid
+};
+
+/*enum name_geoidgrids
+{
+ geoidgrids = 76 // currently not used
+};*/
+
+enum name_mode
+{
+ mode = 77
+};
+
+enum name_nadgrids
+{
+ nadgrids = 78 // arbitrary-length list of strings
+};
+
+enum name_orient
+{
+ orient = 79
+};
+
+enum name_pm
+{
+ pm = 80 // id or angle
+};
+
+enum name_proj
+{
+ o_proj = 81,
+ proj
+};
+
+enum name_sweep
+{
+ sweep = 83
+};
+
+enum name_towgs84
+{
+ towgs84 = 84 // 3 or 7 element list of numbers
+};
+
+enum name_units
+{
+ units = 85,
+ vunits
+};
+
+template <typename T>
+struct parameter
+{
+ parameter()
+ : m_id(-1), m_value(false)
+ {}
+
+ parameter(name_f id, T const& v)
+ : m_id(id), m_value(v)
+ {}
+
+ // TODO various angle units
+ parameter(name_r id, T const& v)
+ : m_id(id), m_value(v)
+ {}
+
+ parameter(name_i id, int v)
+ : m_id(id), m_value(v)
+ {}
+
+ parameter(name_be id)
+ : m_id(id), m_value(true)
+ {}
+
+ parameter(name_be id, bool v)
+ : m_id(id), m_value(v)
+ {}
+
+ parameter(name_datum id, value_datum v)
+ : m_id(id), m_value(int(v))
+ {}
+
+ parameter(value_datum v)
+ : m_id(datum), m_value(int(v))
+ {}
+
+ // TODO: store model at this point?
+ parameter(name_ellps id, value_ellps v)
+ : m_id(id), m_value(int(v))
+ {}
+ // TODO: store model at this point?
+ parameter(value_ellps v)
+ : m_id(ellps), m_value(int(v))
+ {}
+
+ template <typename Sphere>
+ parameter(name_ellps id, Sphere const& v,
+ typename boost::enable_if_c
+ <
+ boost::is_same<typename geometry::tag<Sphere>::type, srs_sphere_tag>::value
+ >::type * = 0)
+ : m_id(id)
+ , m_value(T(get_radius<0>(v)))
+ {}
+
+ template <typename Spheroid>
+ parameter(name_ellps id, Spheroid const& v,
+ typename boost::enable_if_c
+ <
+ boost::is_same<typename geometry::tag<Spheroid>::type, srs_spheroid_tag>::value
+ >::type * = 0)
+ : m_id(id)
+ , m_value(srs::spheroid<T>(get_radius<0>(v), get_radius<2>(v)))
+ {}
+
+ parameter(name_mode id, value_mode v)
+ : m_id(id), m_value(int(v))
+ {}
+
+ parameter(value_mode v)
+ : m_id(mode), m_value(int(v))
+ {}
+
+ template <typename Range>
+ parameter(name_nadgrids id, Range const& v,
+ typename boost::enable_if_c
+ <
+ detail::is_convertible_range<Range const, std::string>::value
+ >::type * = 0)
+ : m_id(id)
+ , m_value(srs::detail::nadgrids(boost::begin(v), boost::end(v)))
+ {}
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ parameter(name_nadgrids id, std::initializer_list<std::string> v)
+ : m_id(id)
+ , m_value(srs::detail::nadgrids(v))
+ {}
+#endif
+
+ parameter(name_orient id, value_orient v)
+ : m_id(id), m_value(int(v))
+ {}
+
+ parameter(value_orient v)
+ : m_id(orient), m_value(int(v))
+ {}
+
+ // TODO: store to_meters at this point?
+ parameter(name_pm id, value_pm v)
+ : m_id(id), m_value(int(v))
+ {}
+ // TODO: store to_meters at this point?
+ parameter(value_pm v)
+ : m_id(pm), m_value(int(v))
+ {}
+
+ // TODO angle units
+ parameter(name_pm id, T const& v)
+ : m_id(id), m_value(v)
+ {}
+
+ parameter(name_proj id, value_proj v)
+ : m_id(id), m_value(int(v))
+ {}
+
+ parameter(value_proj v)
+ : m_id(proj), m_value(int(v))
+ {}
+
+ parameter(name_sweep id, value_sweep v)
+ : m_id(id), m_value(int(v))
+ {}
+
+ parameter(value_sweep v)
+ : m_id(sweep), m_value(int(v))
+ {}
+
+ template <typename Range>
+ parameter(name_towgs84 id, Range const& v,
+ typename boost::enable_if_c
+ <
+ detail::is_convertible_range<Range const, T>::value
+ >::type * = 0)
+ : m_id(id)
+ , m_value(srs::detail::towgs84<T>(boost::begin(v), boost::end(v)))
+ {
+ std::size_t n = boost::size(v);
+ if (n != 3 && n != 7)
+ {
+ BOOST_THROW_EXCEPTION( projection_exception("Invalid number of towgs84 elements. Should be 3 or 7.") );
+ }
+ }
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ parameter(name_towgs84 id, std::initializer_list<T> v)
+ : m_id(id)
+ , m_value(srs::detail::towgs84<T>(v))
+ {
+ std::size_t n = v.size();
+ if (n != 3 && n != 7)
+ {
+ BOOST_THROW_EXCEPTION( projection_exception("Invalid number of towgs84 elements. Should be 3 or 7.") );
+ }
+ }
+#endif
+
+ parameter(name_units id, value_units v)
+ : m_id(id), m_value(int(v))
+ {}
+
+ parameter(value_units v)
+ : m_id(units), m_value(int(v))
+ {}
+
+private:
+ typedef boost::variant
+ <
+ bool,
+ int,
+ T,
+ srs::spheroid<T>,
+ srs::detail::nadgrids,
+ srs::detail::towgs84<T>
+ > variant_type;
+
+public:
+ bool is_id_equal(name_f const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_r const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_i const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_be const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_datum const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_ellps const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_mode const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_nadgrids const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_orient const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_pm const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_proj const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_sweep const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_towgs84 const& id) const { return m_id == int(id); }
+ bool is_id_equal(name_units const& id) const { return m_id == int(id); }
+
+ template <typename V>
+ V const& get_value() const
+ {
+ return boost::get<V>(m_value);
+ }
+
+ template <typename V>
+ bool is_value_set() const
+ {
+ return m_value.which() == srs::detail::find_type_index
+ <
+ typename variant_type::types,
+ V
+ >::value;
+ }
+
+private:
+ int m_id;
+ variant_type m_value;
+};
+
+template <typename T = double>
+class parameters
+{
+ typedef std::vector<parameter<T> > container_type;
+
+public:
+ typedef typename container_type::value_type value_type;
+ typedef typename container_type::const_iterator const_iterator;
+ typedef typename container_type::const_reference const_reference;
+ typedef typename container_type::size_type size_type;
+
+ BOOST_DEFAULTED_FUNCTION(parameters(), {})
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template <typename Id>
+ explicit parameters(Id id)
+ {
+ add(id);
+ }
+
+ template <typename Id>
+ parameters & add(Id id)
+ {
+ m_params.push_back(parameter<T>(id));
+ return *this;
+ }
+
+ template <typename Id>
+ parameters & operator()(Id id)
+ {
+ return add(id);
+ }
+
+ template <typename Id, typename V>
+ parameters(Id id, V const& value)
+ {
+ add(id, value);
+ }
+
+ template <typename Id, typename V>
+ parameters & add(Id id, V const& value)
+ {
+ m_params.push_back(parameter<T>(id, value));
+ return *this;
+ }
+
+ template <typename Id, typename V>
+ parameters & operator()(Id id, V const& value)
+ {
+ return add(id, value);
+ }
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ template <typename Id, typename V>
+ parameters(Id id, std::initializer_list<V> value)
+ {
+ add(id, value);
+ }
+
+ template <typename Id, typename V>
+ parameters & add(Id id, std::initializer_list<V> value)
+ {
+ m_params.push_back(parameter<T>(id, value));
+ return *this;
+ }
+
+ template <typename Id, typename V>
+ parameters & operator()(Id id, std::initializer_list<V> value)
+ {
+ return add(id, value);
+ }
+#endif // BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#else // BOOST_NO_CXX11_RVALUE_REFERENCES || BOOST_NO_CXX11_RVALUE_REFERENCES
+ template <typename Id>
+ explicit parameters(Id id)
+ {
+ add(id);
+ }
+
+ template <typename Id>
+ parameters & add(Id id)
+ {
+ m_params.emplace_back(id);
+ return *this;
+ }
+
+ template <typename Id>
+ parameters & operator()(Id id)
+ {
+ return add(id);
+ }
+
+ template <typename Id, typename V>
+ parameters(Id id, V && value)
+ {
+ add(id, std::forward<V>(value));
+ }
+
+ template <typename Id, typename V>
+ parameters & add(Id id, V && value)
+ {
+ m_params.emplace_back(id, std::forward<V>(value));
+ return *this;
+ }
+
+ template <typename Id, typename V>
+ parameters & operator()(Id id, V && value)
+ {
+ return add(id, std::forward<V>(value));
+ }
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ template <typename Id, typename V>
+ parameters(Id id, std::initializer_list<V> value)
+ {
+ add(id, value);
+ }
+
+ template <typename Id, typename V>
+ parameters & add(Id id, std::initializer_list<V> value)
+ {
+ m_params.emplace_back(id, value);
+ return *this;
+ }
+
+ template <typename Id, typename V>
+ parameters & operator()(Id id, std::initializer_list<V> value)
+ {
+ return add(id, value);
+ }
+#endif // BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#endif // BOOST_NO_CXX11_RVALUE_REFERENCES || BOOST_NO_CXX11_RVALUE_REFERENCES
+
+ const_iterator begin() const { return m_params.begin(); }
+ const_iterator end() const { return m_params.end(); }
+ const_reference operator[](size_type i) const { return m_params[i]; }
+ size_type size() { return m_params.size(); }
+ bool empty() { return m_params.empty(); }
+
+private:
+ container_type m_params;
+};
+
+
+} // namespace dpar
+
+
+}}} // namespace boost::geometry::srs
+
+
+#endif // BOOST_GEOMETRY_SRS_PROJECTIONS_DPAR_HPP
diff --git a/boost/geometry/srs/projections/epsg.hpp b/boost/geometry/srs/projections/epsg.hpp
index 87f58b980d..fbf091dae4 100644
--- a/boost/geometry/srs/projections/epsg.hpp
+++ b/boost/geometry/srs/projections/epsg.hpp
@@ -2,8 +2,8 @@
// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands.
-// This file was modified by Oracle on 2017.
-// Modifications copyright (c) 2017, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2017, 2018.
+// Modifications copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -26,4378 +26,4380 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
- inline std::string epsg_to_string(int code)
+ inline srs::dpar::parameters<> epsg_to_parameters(int code)
{
+ using namespace srs::dpar;
+
static const code_element arr[] = {
- {2000, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs"},
- {2001, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs"},
- {2002, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +units=m +no_defs"},
- {2003, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m +no_defs"},
- {2004, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +units=m +no_defs"},
- {2005, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs"},
- {2006, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +units=m +no_defs"},
- {2007, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +units=m +no_defs"},
- {2008, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2009, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2010, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2011, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2012, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2013, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2014, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2015, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2016, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2017, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2018, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2019, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2020, "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2021, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2022, "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2023, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2024, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2025, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2026, "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2027, "+proj=utm +zone=15 +ellps=clrk66 +units=m +no_defs"},
- {2028, "+proj=utm +zone=16 +ellps=clrk66 +units=m +no_defs"},
- {2029, "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs"},
- {2030, "+proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs"},
- {2031, "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs"},
- {2032, "+proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs"},
- {2033, "+proj=utm +zone=19 +ellps=clrk66 +units=m +no_defs"},
- {2034, "+proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs"},
- {2035, "+proj=utm +zone=21 +ellps=clrk66 +units=m +no_defs"},
- {2036, "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2037, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2038, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2039, "+proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +units=m +no_defs"},
- {2040, "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs"},
- {2041, "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs"},
- {2042, "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs"},
- {2043, "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs"},
- {2044, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs"},
- {2045, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs"},
- //{2046, ""},
- //{2047, ""},
- //{2048, ""},
- //{2049, ""},
- //{2050, ""},
- //{2051, ""},
- //{2052, ""},
- //{2053, ""},
- //{2054, ""},
- //{2055, ""},
- {2056, "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs"},
- {2057, "+proj=omerc +lat_0=27.51882880555555 +lonc=52.60353916666667 +alpha=0.5716611944444444 +k=0.999895934 +x_0=658377.437 +y_0=3044969.194 +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +units=m +no_defs"},
- {2058, "+proj=utm +zone=38 +ellps=intl +units=m +no_defs"},
- {2059, "+proj=utm +zone=39 +ellps=intl +units=m +no_defs"},
- {2060, "+proj=utm +zone=40 +ellps=intl +units=m +no_defs"},
- {2061, "+proj=utm +zone=41 +ellps=intl +units=m +no_defs"},
- {2062, "+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669561 +pm=madrid +units=m +no_defs"},
- {2063, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs"},
- {2064, "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs"},
- {2065, "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {2066, "+proj=cass +lat_0=11.25217861111111 +lon_0=-60.68600888888889 +x_0=37718.66159325 +y_0=36209.91512952 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs"},
- {2067, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs"},
- {2068, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2069, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2070, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2071, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2072, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2073, "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2074, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2075, "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2076, "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2077, "+proj=utm +zone=32 +ellps=intl +units=m +no_defs"},
- {2078, "+proj=utm +zone=33 +ellps=intl +units=m +no_defs"},
- {2079, "+proj=utm +zone=34 +ellps=intl +units=m +no_defs"},
- {2080, "+proj=utm +zone=35 +ellps=intl +units=m +no_defs"},
- {2081, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2082, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +units=m +no_defs"},
- {2083, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2084, "+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs"},
- {2085, "+proj=lcc +lat_1=22.35 +lat_0=22.35 +lon_0=-81 +k_0=0.99993602 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {2086, "+proj=lcc +lat_1=20.71666666666667 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +k_0=0.99994848 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {2087, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2088, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {2089, "+proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2090, "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2091, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs"},
- {2092, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs"},
- {2093, "+proj=tmerc +lat_0=0 +lon_0=106 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs"},
- {2094, "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {2095, "+proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,0,0 +units=m +no_defs"},
- {2096, "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs"},
- {2097, "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs"},
- {2098, "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs"},
- {2099, "+proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m +no_defs"},
- {2100, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m +no_defs"},
- {2101, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=0 +y_0=-52684.972 +ellps=intl +units=m +no_defs"},
- {2102, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=200000 +y_0=147315.028 +ellps=intl +units=m +no_defs"},
- {2103, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=500000 +y_0=447315.028 +ellps=intl +units=m +no_defs"},
- {2104, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=-17044 +y_0=-23139.97 +ellps=intl +units=m +no_defs"},
- {2105, "+proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.9999 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2106, "+proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2107, "+proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2108, "+proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2109, "+proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2110, "+proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2111, "+proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2112, "+proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2113, "+proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.7763888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2114, "+proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2115, "+proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2116, "+proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2117, "+proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2118, "+proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2119, "+proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2120, "+proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2121, "+proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2122, "+proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2123, "+proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2124, "+proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2125, "+proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2126, "+proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2127, "+proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2128, "+proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2129, "+proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2130, "+proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2131, "+proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.99996 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2132, "+proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2133, "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2134, "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2135, "+proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2136, "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +to_meter=0.3047997101815088 +no_defs"},
- {2137, "+proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +units=m +no_defs"},
- {2138, "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {2139, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2140, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2141, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2142, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2143, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2144, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2145, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2146, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2147, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2148, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2149, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2150, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2151, "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2152, "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2153, "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2154, "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2155, "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {2156, "+proj=utm +zone=59 +south +ellps=GRS80 +units=m +no_defs"},
- {2157, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.99982 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2158, "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2159, "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=152399.8550907544 +y_0=0 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs"},
- {2160, "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=243839.7681452071 +y_0=182879.8261089053 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs"},
- {2161, "+proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs"},
- {2162, "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs"},
- {2163, "+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 +b=6370997 +units=m +no_defs"},
- {2164, "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs"},
- {2165, "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs"},
- {2166, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs"},
- {2167, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs"},
- {2168, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs"},
- {2169, "+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +units=m +no_defs"},
- {2170, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {2171, "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5647000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {2172, "+proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 +k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {2173, "+proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 +k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {2174, "+proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 +k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {2175, "+proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 +y_0=-4700000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {2176, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2177, "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2178, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2179, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2180, "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs"},
- {2188, "+proj=utm +zone=25 +ellps=intl +units=m +no_defs"},
- {2189, "+proj=utm +zone=26 +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +units=m +no_defs"},
- {2190, "+proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,0,0 +units=m +no_defs"},
- {2191, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs"},
- {2192, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +ellps=intl +units=m +no_defs"},
- {2193, "+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2194, "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {2195, "+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs"},
- {2196, "+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2197, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2198, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2199, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2200, "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=300000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- {2201, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2202, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2203, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2204, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {2205, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {2206, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2207, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2208, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2209, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2210, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2211, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2212, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2213, "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2214, "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs"},
- {2215, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m +no_defs"},
- {2216, "+proj=utm +zone=22 +ellps=intl +units=m +no_defs"},
- {2217, "+proj=utm +zone=23 +ellps=intl +units=m +no_defs"},
- //{2218, ""},
- {2219, "+proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- {2220, "+proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- //{2221, ""},
- {2222, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2223, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2224, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2225, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2226, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2227, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2228, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2229, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2230, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2231, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2232, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2233, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2234, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2235, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2236, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2237, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2238, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2239, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2240, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2241, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2242, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2243, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2244, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2245, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2246, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2247, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2248, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2249, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2250, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2251, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2252, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2253, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2254, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2255, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2256, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2257, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2258, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2259, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2260, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2261, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2262, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2263, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2264, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2265, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2266, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2267, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2268, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2269, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2270, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2271, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2272, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2273, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2274, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2275, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2276, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2277, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2278, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2279, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2280, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2281, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2282, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2283, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2284, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2285, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2286, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2287, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2288, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2289, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2290, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=700000 +y_0=400000 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- {2291, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- {2292, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2294, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=4500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- {2295, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=5500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs"},
- //{2296, ""},
- //{2297, ""},
- //{2298, ""},
- //{2299, ""},
- //{2300, ""},
- //{2301, ""},
- //{2302, ""},
- //{2303, ""},
- //{2304, ""},
- //{2305, ""},
- //{2306, ""},
- //{2307, ""},
- {2308, "+proj=tmerc +lat_0=0 +lon_0=109 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=bessel +units=m +no_defs"},
- {2309, "+proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {2310, "+proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {2311, "+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {2312, "+proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs"},
- {2313, "+proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs"},
- {2314, "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392052001 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs"},
- {2315, "+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs"},
- {2316, "+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs"},
- {2317, "+proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs"},
- {2318, "+proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2319, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2320, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2321, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2322, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2323, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2324, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2325, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2326, "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +units=m +no_defs"},
- {2327, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2328, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2329, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2330, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2331, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2332, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2333, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2334, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2335, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2336, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2337, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2338, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2339, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2340, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2341, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2342, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2343, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2344, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2345, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2346, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2347, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2348, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2349, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2350, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2351, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2352, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2353, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2354, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2355, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2356, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2357, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2358, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2359, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2360, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2361, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2362, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2363, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2364, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2365, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2366, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2367, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2368, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2369, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2370, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2371, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2372, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2373, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2374, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2375, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2376, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2377, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2378, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2379, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2380, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2381, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2382, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2383, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2384, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2385, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2386, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2387, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2388, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2389, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2390, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs"},
- {2391, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2392, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2393, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2394, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {2395, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs"},
- {2396, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs"},
- {2397, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs"},
- {2398, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs"},
- {2399, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs"},
- {2400, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {2401, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2402, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2403, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2404, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2405, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2406, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2407, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2408, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2409, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2410, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2411, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2412, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2413, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2414, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2415, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2416, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2417, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2418, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2419, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2420, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2421, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2422, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2423, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2424, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2425, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2426, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2427, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2428, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2429, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2430, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2431, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2432, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2433, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2434, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2435, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2436, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2437, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2438, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2439, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2440, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2441, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2442, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2443, "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2444, "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2445, "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2446, "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2447, "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2448, "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2449, "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2450, "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2451, "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2452, "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2453, "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2454, "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2455, "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2456, "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2457, "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2458, "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2459, "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2460, "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2461, "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2462, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2463, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2464, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2465, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2466, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2467, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2468, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2469, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2470, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2471, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2472, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2473, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2474, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2475, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2476, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2477, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2478, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2479, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2480, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2481, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2482, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2483, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2484, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2485, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2486, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2487, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2488, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2489, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2490, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2491, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2492, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2493, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2494, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2495, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2496, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2497, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2498, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2499, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2500, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2501, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2502, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2503, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2504, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2505, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2506, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2507, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2508, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2509, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2510, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2511, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2512, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2513, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2514, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2515, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2516, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2517, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2518, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2519, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2520, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2521, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2522, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2523, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2524, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2525, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2526, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2527, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2528, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2529, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2530, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2531, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2532, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2533, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2534, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2535, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2536, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2537, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2538, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2539, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2540, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2541, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2542, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2543, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2544, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2545, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2546, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2547, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2548, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2549, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2550, "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m +no_defs"},
- {2551, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2552, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2553, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2554, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2555, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2556, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2557, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2558, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2559, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2560, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2561, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2562, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2563, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2564, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2565, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2566, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2567, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2568, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2569, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2570, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2571, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2572, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2573, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2574, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2575, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2576, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2577, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2578, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2579, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2580, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2581, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2582, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2583, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2584, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2585, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2586, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2587, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2588, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2589, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2590, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2591, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2592, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2593, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2594, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2595, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2596, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2597, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2598, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2599, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2600, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2601, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2602, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2603, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2604, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2605, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2606, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2607, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2608, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2609, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2610, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2611, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2612, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2613, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2614, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2615, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2616, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2617, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2618, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2619, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2620, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2621, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2622, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2623, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2624, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2625, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2626, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2627, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2628, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2629, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2630, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2631, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2632, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2633, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2634, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2635, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2636, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2637, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2638, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2639, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2640, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2641, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2642, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2643, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2644, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2645, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2646, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2647, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2648, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2649, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2650, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2651, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2652, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2653, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2654, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2655, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2656, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2657, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2658, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2659, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2660, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2661, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2662, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2663, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2664, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2665, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2666, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2667, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2668, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2669, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2670, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2671, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2672, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2673, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2674, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2675, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2676, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2677, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2678, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2679, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2680, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2681, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2682, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2683, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2684, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2685, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2686, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2687, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2688, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2689, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2690, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2691, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2692, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2693, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2694, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2695, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2696, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2697, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2698, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2699, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2700, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2701, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2702, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2703, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2704, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2705, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2706, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2707, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2708, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2709, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2710, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2711, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2712, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2713, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2714, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2715, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2716, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2717, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2718, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2719, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2720, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2721, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2722, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2723, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2724, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2725, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2726, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2727, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2728, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2729, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2730, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2731, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2732, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2733, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2734, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2735, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2736, "+proj=utm +zone=36 +south +ellps=clrk66 +units=m +no_defs"},
- {2737, "+proj=utm +zone=37 +south +ellps=clrk66 +units=m +no_defs"},
- {2738, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2739, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2740, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2741, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2742, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2743, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2744, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2745, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2746, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2747, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2748, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2749, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2750, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2751, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2752, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2753, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2754, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2755, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2756, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2757, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2758, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2759, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2760, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2761, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2762, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2763, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2764, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2765, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs"},
- {2766, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2767, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2768, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2769, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2770, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2771, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2772, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs"},
- {2773, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs"},
- {2774, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs"},
- {2775, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m +no_defs"},
- {2776, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2777, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2778, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2779, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2780, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2781, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2782, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2783, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2784, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2785, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2786, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2787, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2788, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2789, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2790, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2791, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2792, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +no_defs"},
- {2793, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +no_defs"},
- {2794, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {2795, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2796, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2797, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs"},
- {2798, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2799, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {2800, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2801, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2802, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2803, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2804, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2805, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs"},
- {2806, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2807, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2808, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2809, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2810, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {2811, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {2812, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {2813, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2814, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2815, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2816, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2817, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2818, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2819, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2820, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_defs"},
- {2821, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs"},
- {2822, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs"},
- {2823, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2824, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2825, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2826, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2827, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2828, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2829, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2830, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2831, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2832, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2833, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2834, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2835, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2836, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2837, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2838, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2839, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2840, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2841, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2842, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2843, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2844, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {2845, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"},
- {2846, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs"},
- {2847, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs"},
- {2848, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs"},
- {2849, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {2850, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"},
- {2851, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs"},
- {2852, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2853, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"},
- {2854, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {2855, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2856, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2857, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2858, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2859, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2860, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2861, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2862, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2863, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {2864, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2865, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {2866, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs"},
- {2867, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2868, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2869, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2870, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2871, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2872, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2873, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2874, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2875, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2876, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2877, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2878, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2879, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2880, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2881, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2882, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2883, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2884, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2885, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2886, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2887, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2888, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2889, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2890, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2891, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2892, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2893, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2894, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2895, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2896, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2897, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2898, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2899, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2900, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2901, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2902, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2903, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2904, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2905, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2906, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2907, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2908, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2909, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2910, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2911, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2912, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2913, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2914, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2915, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2916, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2917, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2918, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2919, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2920, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2921, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2922, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2923, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2924, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2925, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2926, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2927, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2928, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2929, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2930, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2931, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +units=m +no_defs"},
- {2932, "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +units=m +no_defs"},
- {2933, "+proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs"},
- {2934, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs"},
- {2935, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2936, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2937, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2938, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2939, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2940, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2941, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {2942, "+proj=utm +zone=28 +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +units=m +no_defs"},
- {2943, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs"},
- {2944, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2945, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2946, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2947, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2948, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2949, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2950, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2951, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2952, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2953, "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +units=m +no_defs"},
- {2954, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +units=m +no_defs"},
- {2955, "+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs"},
- {2956, "+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs"},
- {2957, "+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs"},
- {2958, "+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs"},
- {2959, "+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs"},
- {2960, "+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs"},
- {2961, "+proj=utm +zone=20 +ellps=GRS80 +units=m +no_defs"},
- {2962, "+proj=utm +zone=21 +ellps=GRS80 +units=m +no_defs"},
- //{2963, ""},
- {2964, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {2965, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2966, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {2967, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2968, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {2969, "+proj=utm +zone=20 +ellps=intl +towgs84=137,248,-430,0,0,0,0 +units=m +no_defs"},
- {2970, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs"},
- {2971, "+proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs"},
- {2972, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs"},
- {2973, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs"},
- {2975, "+proj=utm +zone=40 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2976, "+proj=utm +zone=6 +south +ellps=intl +towgs84=162,117,154,0,0,0,0 +units=m +no_defs"},
- {2977, "+proj=utm +zone=5 +south +ellps=intl +units=m +no_defs"},
- {2978, "+proj=utm +zone=7 +south +ellps=intl +units=m +no_defs"},
- {2979, "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs"},
- {2980, "+proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +units=m +no_defs"},
- {2981, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs"},
- {2982, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs"},
- {2983, "+proj=utm +zone=58 +south +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +units=m +no_defs"},
- {2984, "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=intl +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- //{2985, ""},
- //{2986, ""},
- {2987, "+proj=utm +zone=21 +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +units=m +no_defs"},
- {2988, "+proj=utm +zone=1 +south +ellps=intl +units=m +no_defs"},
- {2989, "+proj=utm +zone=20 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {2990, "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=50000 +y_0=160000 +ellps=intl +units=m +no_defs"},
- {2991, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {2992, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs"},
- {2993, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {2994, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {2995, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs"},
- {2996, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs"},
- {2997, "+proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m +no_defs"},
- {2998, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs"},
- {2999, "+proj=utm +zone=38 +south +ellps=intl +units=m +no_defs"},
- {3000, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs"},
- {3001, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs"},
- {3002, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +units=m +no_defs"},
- {3003, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {3004, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {3005, "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3006, "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3007, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3008, "+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3009, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3010, "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3011, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3012, "+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3013, "+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3014, "+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3015, "+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3016, "+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3017, "+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3018, "+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3019, "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3020, "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3021, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3022, "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3023, "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3024, "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3025, "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3026, "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3027, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3028, "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3029, "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3030, "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3031, "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3032, "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=70 +k=1 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3033, "+proj=lcc +lat_1=-68.5 +lat_2=-74.5 +lat_0=-50 +lon_0=70 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3034, "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m +no_defs"},
- {3035, "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"},
- {3036, "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs"},
- {3037, "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs"},
- {3038, "+proj=utm +zone=26 +ellps=GRS80 +units=m +no_defs"},
- {3039, "+proj=utm +zone=27 +ellps=GRS80 +units=m +no_defs"},
- {3040, "+proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs"},
- {3041, "+proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs"},
- {3042, "+proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs"},
- {3043, "+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs"},
- {3044, "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"},
- {3045, "+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs"},
- {3046, "+proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs"},
- {3047, "+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs"},
- {3048, "+proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs"},
- {3049, "+proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs"},
- {3050, "+proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs"},
- {3051, "+proj=utm +zone=39 +ellps=GRS80 +units=m +no_defs"},
- //{3052, ""},
- //{3053, ""},
- {3054, "+proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs"},
- {3055, "+proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs"},
- {3056, "+proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs"},
- {3057, "+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3058, "+proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7800000 +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +units=m +no_defs"},
- {3059, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3060, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs"},
- {3061, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs"},
- {3062, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs"},
- {3063, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs"},
- {3064, "+proj=utm +zone=32 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3065, "+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3066, "+proj=tmerc +lat_0=0 +lon_0=37 +k=0.9998 +x_0=500000 +y_0=-3000000 +ellps=intl +units=m +no_defs"},
- {3067, "+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs"},
- {3068, "+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {3069, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=500000 +y_0=-4500000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3070, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3071, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m +no_defs"},
- {3072, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3073, "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3074, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3075, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3076, "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3077, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3078, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3079, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +units=m +no_defs"},
- {3080, "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=914400 +y_0=914400 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048 +no_defs"},
- {3081, "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3082, "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3083, "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3084, "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs"},
- {3085, "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs"},
- {3086, "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3087, "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3088, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3089, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3090, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {3091, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3092, "+proj=utm +zone=51 +ellps=bessel +units=m +no_defs"},
- {3093, "+proj=utm +zone=52 +ellps=bessel +units=m +no_defs"},
- {3094, "+proj=utm +zone=53 +ellps=bessel +units=m +no_defs"},
- {3095, "+proj=utm +zone=54 +ellps=bessel +units=m +no_defs"},
- {3096, "+proj=utm +zone=55 +ellps=bessel +units=m +no_defs"},
- {3097, "+proj=utm +zone=51 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3098, "+proj=utm +zone=52 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3099, "+proj=utm +zone=53 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3100, "+proj=utm +zone=54 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3101, "+proj=utm +zone=55 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3102, "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=95169.31165862332 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3103, "+proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs"},
- {3104, "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs"},
- {3105, "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs"},
- {3106, "+proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {3107, "+proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3108, "+proj=tmerc +lat_0=49.5 +lon_0=-2.416666666666667 +k=0.999997 +x_0=47000 +y_0=50000 +ellps=GRS80 +units=m +no_defs"},
- {3109, "+proj=tmerc +lat_0=49.225 +lon_0=-2.135 +k=0.9999999000000001 +x_0=40000 +y_0=70000 +ellps=GRS80 +units=m +no_defs"},
- {3110, "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=4500000 +ellps=aust_SA +units=m +no_defs"},
- {3111, "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3112, "+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3113, "+proj=tmerc +lat_0=-28 +lon_0=153 +k=0.99999 +x_0=50000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3114, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-80.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3115, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3116, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3117, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-71.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3118, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-68.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3119, "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs"},
- {3120, "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5467000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3121, "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs"},
- {3122, "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs"},
- {3123, "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs"},
- {3124, "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs"},
- {3125, "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs"},
- {3126, "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3127, "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3128, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3129, "+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3130, "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3131, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3132, "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3133, "+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3134, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3135, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3136, "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3137, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3138, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- //{3139, ""},
- {3140, "+proj=cass +lat_0=-18 +lon_0=178 +x_0=109435.392 +y_0=141622.272 +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +to_meter=0.201168 +no_defs"},
- {3141, "+proj=utm +zone=60 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs"},
- {3142, "+proj=utm +zone=1 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs"},
- {3143, "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs"},
- //{3144, ""},
- //{3145, ""},
- {3146, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3147, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3148, "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {3149, "+proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {3150, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3151, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3152, "+proj=tmerc +lat_0=0 +lon_0=18.05779 +k=0.99999425 +x_0=100178.1808 +y_0=-6500614.7836 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3153, "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3154, "+proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs"},
- {3155, "+proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs"},
- {3156, "+proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs"},
- {3157, "+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs"},
- {3158, "+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs"},
- {3159, "+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs"},
- {3160, "+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs"},
- {3161, "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3162, "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +units=m +no_defs"},
- {3163, "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3164, "+proj=utm +zone=58 +south +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +units=m +no_defs"},
- {3165, "+proj=lcc +lat_1=-22.24469175 +lat_2=-22.29469175 +lat_0=-22.26969175 +lon_0=166.44242575 +x_0=0.66 +y_0=1.02 +ellps=intl +units=m +no_defs"},
- {3166, "+proj=lcc +lat_1=-22.24472222222222 +lat_2=-22.29472222222222 +lat_0=-22.26972222222222 +lon_0=166.4425 +x_0=8.313000000000001 +y_0=-2.354 +ellps=intl +units=m +no_defs"},
- {3167, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756 +no_defs"},
- {3168, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804670.24 +y_0=0 +a=6377295.664 +b=6356094.667915204 +units=m +no_defs"},
- {3169, "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3170, "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3171, "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3172, "+proj=utm +zone=59 +south +ellps=intl +units=m +no_defs"},
- //{3173, ""},
- {3174, "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3175, "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3176, "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {3177, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3178, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3179, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3180, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3181, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3182, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3183, "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3184, "+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3185, "+proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3186, "+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3187, "+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3188, "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3189, "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3190, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3191, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3192, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3193, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3194, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3195, "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3196, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3197, "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3198, "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3199, "+proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3200, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs"},
- {3201, "+proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3202, "+proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3203, "+proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs"},
- {3204, "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3205, "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3206, "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3207, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3208, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3209, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3210, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3211, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3212, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3213, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3214, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3215, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3216, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3217, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3218, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3219, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3220, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3221, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3222, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3223, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3224, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3225, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3226, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3227, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3228, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3229, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=30 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3230, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3231, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3232, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3233, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3234, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3235, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3236, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3237, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3238, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3239, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3240, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3241, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3242, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3243, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3244, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3245, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3246, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3247, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3248, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3249, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3250, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3251, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3252, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=45 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3253, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3254, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3255, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3256, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3257, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3258, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3259, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=171 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3260, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3261, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3262, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3263, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3264, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3265, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3266, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3267, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3268, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3269, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3270, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3271, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3272, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3273, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3274, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3275, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3276, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3277, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3278, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3279, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3280, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3281, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3282, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3283, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3284, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3285, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3286, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3287, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3288, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3289, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3290, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3291, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3292, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3293, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3294, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-78 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- //{3295, ""},
- {3296, "+proj=utm +zone=5 +south +ellps=GRS80 +units=m +no_defs"},
- {3297, "+proj=utm +zone=6 +south +ellps=GRS80 +units=m +no_defs"},
- {3298, "+proj=utm +zone=7 +south +ellps=GRS80 +units=m +no_defs"},
- {3299, "+proj=utm +zone=8 +south +ellps=GRS80 +units=m +no_defs"},
- {3300, "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +units=m +no_defs"},
- {3301, "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3302, "+proj=utm +zone=7 +south +ellps=intl +units=m +no_defs"},
- {3303, "+proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +units=m +no_defs"},
- {3304, "+proj=utm +zone=6 +south +ellps=intl +units=m +no_defs"},
- {3305, "+proj=utm +zone=6 +south +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +units=m +no_defs"},
- {3306, "+proj=utm +zone=5 +south +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +units=m +no_defs"},
- {3307, "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +units=m +no_defs"},
- {3308, "+proj=lcc +lat_1=-30.75 +lat_2=-35.75 +lat_0=-33.25 +lon_0=147 +x_0=9300000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3309, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3310, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3311, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +units=m +no_defs"},
- {3312, "+proj=utm +zone=21 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs"},
- {3313, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs"},
- {3314, "+proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=0 +lon_0=26 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {3315, "+proj=tmerc +lat_0=-9 +lon_0=26 +k=0.9998 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {3316, "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3317, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3318, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3319, "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3320, "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3321, "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3322, "+proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3323, "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3324, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3325, "+proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3326, "+proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3327, "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {3328, "+proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666666667 +k=0.999714 +x_0=500000 +y_0=500000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3329, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3330, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3331, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3332, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3333, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3334, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3335, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs"},
- {3336, "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs"},
- {3337, "+proj=lcc +lat_1=-20.19506944444445 +lat_0=-20.19506944444445 +lon_0=57.52182777777778 +k_0=1 +x_0=1000000 +y_0=1000000 +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +units=m +no_defs"},
- {3338, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3339, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs"},
- {3340, "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs"},
- {3341, "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs"},
- {3342, "+proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs"},
- {3343, "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3344, "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3345, "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3346, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3347, "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3348, "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs"},
- {3349, "+proj=merc +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3350, "+proj=tmerc +lat_0=0.1 +lon_0=21.95 +k=1 +x_0=250000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3351, "+proj=tmerc +lat_0=0.1 +lon_0=24.95 +k=1 +x_0=1250000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3352, "+proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3353, "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs"},
- {3354, "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs"},
- {3355, "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +units=m +no_defs"},
- {3356, "+proj=utm +zone=17 +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +units=m +no_defs"},
- {3357, "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs"},
- {3358, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3359, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024385 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {3360, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3361, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs"},
- {3362, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3363, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3364, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3365, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3366, "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +units=m +no_defs"},
- {3367, "+proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs"},
- {3368, "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs"},
- {3369, "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs"},
- {3370, "+proj=utm +zone=59 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3371, "+proj=utm +zone=60 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3372, "+proj=utm +zone=59 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3373, "+proj=utm +zone=60 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3374, "+proj=utm +zone=29 +ellps=intl +units=m +no_defs"},
- {3375, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3376, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3377, "+proj=cass +lat_0=2.121679744444445 +lon_0=103.4279362361111 +x_0=-14810.562 +y_0=8758.32 +ellps=GRS80 +units=m +no_defs"},
- {3378, "+proj=cass +lat_0=2.682347636111111 +lon_0=101.9749050416667 +x_0=3673.785 +y_0=-4240.573 +ellps=GRS80 +units=m +no_defs"},
- {3379, "+proj=cass +lat_0=3.769388088888889 +lon_0=102.3682989833333 +x_0=-7368.228 +y_0=6485.858 +ellps=GRS80 +units=m +no_defs"},
- {3380, "+proj=cass +lat_0=3.68464905 +lon_0=101.3891079138889 +x_0=-34836.161 +y_0=56464.049 +ellps=GRS80 +units=m +no_defs"},
- {3381, "+proj=cass +lat_0=4.9762852 +lon_0=103.070275625 +x_0=19594.245 +y_0=3371.895 +ellps=GRS80 +units=m +no_defs"},
- {3382, "+proj=cass +lat_0=5.421517541666667 +lon_0=100.3443769638889 +x_0=-23.414 +y_0=62.283 +ellps=GRS80 +units=m +no_defs"},
- {3383, "+proj=cass +lat_0=5.964672713888889 +lon_0=100.6363711111111 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3384, "+proj=cass +lat_0=4.859063022222222 +lon_0=100.8154105861111 +x_0=-1.769 +y_0=133454.779 +ellps=GRS80 +units=m +no_defs"},
- {3385, "+proj=cass +lat_0=5.972543658333334 +lon_0=102.2952416694444 +x_0=13227.851 +y_0=8739.894 +ellps=GRS80 +units=m +no_defs"},
- {3386, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {3387, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {3388, "+proj=merc +lon_0=51 +k=1 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3389, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3390, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {3391, "+proj=utm +zone=37 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs"},
- {3392, "+proj=utm +zone=38 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs"},
- {3393, "+proj=utm +zone=39 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs"},
- {3394, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs"},
- {3395, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3396, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3397, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3398, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3399, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {3400, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3401, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3402, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3403, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3404, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3405, "+proj=utm +zone=48 +ellps=WGS84 +units=m +no_defs"},
- {3406, "+proj=utm +zone=49 +ellps=WGS84 +units=m +no_defs"},
- {3407, "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs"},
- {3408, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs"},
- {3409, "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs"},
- {3410, "+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs"},
- {3411, "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs"},
- {3412, "+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs"},
- {3413, "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3414, "+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +no_defs"},
- {3415, "+proj=lcc +lat_1=18 +lat_2=24 +lat_0=21 +lon_0=114 +x_0=500000 +y_0=500000 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {3416, "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs"},
- {3417, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3418, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3419, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3420, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3421, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3422, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3423, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3424, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3425, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3426, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3427, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3428, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3429, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3430, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3431, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3432, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3433, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3434, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3435, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3436, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3437, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3438, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3439, "+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs"},
- {3440, "+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs"},
- {3441, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3442, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3443, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3444, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3445, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3446, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3447, "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=50.797815 +lon_0=4.359215833333333 +x_0=150328 +y_0=166262 +ellps=GRS80 +units=m +no_defs"},
- {3448, "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=750000 +y_0=650000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3449, "+proj=utm +zone=17 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3450, "+proj=utm +zone=18 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3451, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3452, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3453, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3454, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3455, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3456, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3457, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3458, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3459, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3460, "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs"},
- {3461, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs"},
- {3462, "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs"},
- {3463, "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3464, "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3465, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3466, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3467, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3468, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3469, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3470, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3471, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3472, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3473, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3474, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3475, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3476, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3477, "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3478, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3479, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3480, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3481, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3482, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3483, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3484, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3485, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3486, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3487, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3488, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3489, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3490, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3491, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3492, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3493, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3494, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3495, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3496, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3497, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3498, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3499, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3500, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3501, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3502, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3503, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3504, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3505, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3506, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3507, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3508, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3509, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3510, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3511, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3512, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3513, "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3514, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3515, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3516, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3517, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3518, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3519, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3520, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3521, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3522, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3523, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3524, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3525, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3526, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3527, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3528, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3529, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3530, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3531, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3532, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3533, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3534, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3535, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3536, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3537, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3538, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3539, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3540, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3541, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3542, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3543, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3544, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3545, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3546, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3547, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3548, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3549, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3550, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3551, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3552, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3553, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3554, "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3555, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3556, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3557, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3558, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3559, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3560, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3561, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs"},
- {3562, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs"},
- {3563, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs"},
- {3564, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs"},
- {3565, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs"},
- {3566, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3567, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3568, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3569, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3570, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3571, "+proj=laea +lat_0=90 +lon_0=180 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3572, "+proj=laea +lat_0=90 +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3573, "+proj=laea +lat_0=90 +lon_0=-100 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3574, "+proj=laea +lat_0=90 +lon_0=-40 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3575, "+proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3576, "+proj=laea +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3577, "+proj=aea +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=132 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3578, "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3579, "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {3580, "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3581, "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3582, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3583, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3584, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3585, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3586, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3587, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3588, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3589, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3590, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3591, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3592, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3593, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3594, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3595, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3596, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3597, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3598, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3599, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3600, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3601, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3602, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3603, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3604, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3605, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3606, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3607, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3608, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3609, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3610, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3611, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3612, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3613, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3614, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3615, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3616, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3617, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3618, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3619, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3620, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3621, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3622, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3623, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3624, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3625, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3626, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3627, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3628, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3629, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3630, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3631, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3632, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3633, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3634, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3635, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3636, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3637, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3638, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3639, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3640, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3641, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3642, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3643, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3644, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3645, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3646, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3647, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3648, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3649, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3650, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3651, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3652, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3653, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3654, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3655, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3656, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3657, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3658, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3659, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3660, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3661, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3662, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3663, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3664, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3665, "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3666, "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3667, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3668, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3669, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3670, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3671, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3672, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3673, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3674, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3675, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3676, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3677, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3678, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3679, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3680, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3681, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3682, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs"},
- {3683, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3684, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3685, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3686, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3687, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3688, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3689, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3690, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3691, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3692, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3693, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3694, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3695, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3696, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3697, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3698, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3699, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3700, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3701, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3702, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3703, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3704, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3705, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3706, "+proj=utm +zone=59 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3707, "+proj=utm +zone=60 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3708, "+proj=utm +zone=1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3709, "+proj=utm +zone=2 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3710, "+proj=utm +zone=3 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3711, "+proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3712, "+proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3713, "+proj=utm +zone=6 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3714, "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3715, "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3716, "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3717, "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3718, "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3719, "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3720, "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3721, "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3722, "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3723, "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3724, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3725, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3726, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3727, "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=160000 +y_0=50000 +ellps=intl +units=m +no_defs"},
- {3728, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3729, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3730, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3731, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3732, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3733, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3734, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3735, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3736, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3737, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3738, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3739, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3740, "+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs"},
- {3741, "+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs"},
- {3742, "+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs"},
- {3743, "+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs"},
- {3744, "+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs"},
- {3745, "+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs"},
- {3746, "+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs"},
- {3747, "+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs"},
- {3748, "+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs"},
- {3749, "+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs"},
- {3750, "+proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs"},
- {3751, "+proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs"},
- {3752, "+proj=merc +lon_0=100 +lat_ts=-41 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3753, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3754, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3755, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3756, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3757, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3758, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3759, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {3760, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {3761, "+proj=utm +zone=22 +ellps=GRS80 +units=m +no_defs"},
- {3762, "+proj=lcc +lat_1=-54 +lat_2=-54.75 +lat_0=-55 +lon_0=-37 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {3763, "+proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333333334 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3764, "+proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3765, "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3766, "+proj=lcc +lat_1=45.91666666666666 +lat_2=43.08333333333334 +lat_0=0 +lon_0=16.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3767, "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3768, "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3769, "+proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs"},
- {3770, "+proj=tmerc +lat_0=32 +lon_0=-64.75 +k=1 +x_0=550000 +y_0=100000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3771, "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3772, "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3773, "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3774, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3775, "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3776, "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3777, "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3778, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3779, "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3780, "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3781, "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3782, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3783, "+proj=tmerc +lat_0=-25.06855261111111 +lon_0=-130.1129671111111 +k=1 +x_0=14200 +y_0=15500 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3784, "+proj=utm +zone=9 +south +ellps=intl +towgs84=185,165,42,0,0,0,0 +units=m +no_defs"},
- {3785, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3786, "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371007 +b=6371007 +units=m +no_defs"},
- {3787, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {3788, "+proj=tmerc +lat_0=0 +lon_0=166 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3789, "+proj=tmerc +lat_0=0 +lon_0=169 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3790, "+proj=tmerc +lat_0=0 +lon_0=179 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3791, "+proj=tmerc +lat_0=0 +lon_0=-178 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3793, "+proj=tmerc +lat_0=0 +lon_0=-176.5 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3794, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3795, "+proj=lcc +lat_1=23 +lat_2=21.7 +lat_0=22.35 +lon_0=-81 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3796, "+proj=lcc +lat_1=21.3 +lat_2=20.13333333333333 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3797, "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3798, "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3799, "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {3800, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {3801, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {3802, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- //{3812, ""},
- //{3814, ""},
- //{3815, ""},
- //{3816, ""},
- {3819, "+proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.35,4.115,2.9383,-0.853,-0.7029504596901044 +no_defs"},
- {3821, "+proj=longlat +ellps=aust_SA +no_defs"},
- //{3822, ""},
- {3823, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {3824, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{3825, ""},
- //{3826, ""},
- //{3827, ""},
- //{3828, ""},
- //{3829, ""},
- //{3832, ""},
- //{3833, ""},
- //{3834, ""},
- //{3835, ""},
- //{3836, ""},
- //{3837, ""},
- //{3838, ""},
- //{3839, ""},
- //{3840, ""},
- //{3841, ""},
- //{3842, ""},
- //{3843, ""},
- //{3844, ""},
- //{3845, ""},
- //{3846, ""},
- //{3847, ""},
- //{3848, ""},
- //{3849, ""},
- //{3850, ""},
- {3920, "+proj=utm +zone=20 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=m +no_defs"},
- {3942, "+proj=lcc +lat_1=41.25 +lat_2=42.75 +lat_0=42 +lon_0=3 +x_0=1700000 +y_0=1200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3943, "+proj=lcc +lat_1=42.25 +lat_2=43.75 +lat_0=43 +lon_0=3 +x_0=1700000 +y_0=2200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3944, "+proj=lcc +lat_1=43.25 +lat_2=44.75 +lat_0=44 +lon_0=3 +x_0=1700000 +y_0=3200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3945, "+proj=lcc +lat_1=44.25 +lat_2=45.75 +lat_0=45 +lon_0=3 +x_0=1700000 +y_0=4200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3946, "+proj=lcc +lat_1=45.25 +lat_2=46.75 +lat_0=46 +lon_0=3 +x_0=1700000 +y_0=5200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3947, "+proj=lcc +lat_1=46.25 +lat_2=47.75 +lat_0=47 +lon_0=3 +x_0=1700000 +y_0=6200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3948, "+proj=lcc +lat_1=47.25 +lat_2=48.75 +lat_0=48 +lon_0=3 +x_0=1700000 +y_0=7200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3949, "+proj=lcc +lat_1=48.25 +lat_2=49.75 +lat_0=49 +lon_0=3 +x_0=1700000 +y_0=8200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3950, "+proj=lcc +lat_1=49.25 +lat_2=50.75 +lat_0=50 +lon_0=3 +x_0=1700000 +y_0=9200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {3991, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {3992, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012192 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- //{3993, ""},
- //{3994, ""},
- //{3995, ""},
- //{3996, ""},
- //{3997, ""},
- {4001, "+proj=longlat +ellps=airy +no_defs"},
- {4002, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs"},
- {4003, "+proj=longlat +ellps=aust_SA +no_defs"},
- {4004, "+proj=longlat +ellps=bessel +no_defs"},
- {4005, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +no_defs"},
- {4006, "+proj=longlat +ellps=bess_nam +no_defs"},
- {4007, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs"},
- {4008, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4009, "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs"},
- {4010, "+proj=longlat +a=6378300.789 +b=6356566.435 +no_defs"},
- {4011, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4012, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4013, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs"},
- {4014, "+proj=longlat +a=6378249.2 +b=6356514.996941779 +no_defs"},
- {4015, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs"},
- {4016, "+proj=longlat +ellps=evrstSS +no_defs"},
- {4018, "+proj=longlat +a=6377304.063 +b=6356103.038993155 +no_defs"},
- {4019, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4020, "+proj=longlat +ellps=helmert +no_defs"},
- {4021, "+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs"},
- {4022, "+proj=longlat +ellps=intl +no_defs"},
- {4024, "+proj=longlat +ellps=krass +no_defs"},
- {4025, "+proj=longlat +ellps=WGS66 +no_defs"},
- {4027, "+proj=longlat +a=6376523 +b=6355862.933255573 +no_defs"},
- {4028, "+proj=longlat +a=6378298.3 +b=6356657.142669561 +no_defs"},
- {4029, "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs"},
- {4030, "+proj=longlat +ellps=WGS84 +no_defs"},
- {4031, "+proj=longlat +ellps=WGS84 +no_defs"},
- {4032, "+proj=longlat +a=6378136.2 +b=6356751.516927429 +no_defs"},
- {4033, "+proj=longlat +a=6378136.3 +b=6356751.616592146 +no_defs"},
- {4034, "+proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs"},
- {4035, "+proj=longlat +a=6371000 +b=6371000 +no_defs"},
- {4036, "+proj=longlat +ellps=GRS67 +no_defs"},
- {4041, "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs"},
- {4042, "+proj=longlat +a=6377299.36559538 +b=6356098.359005157 +no_defs"},
- {4043, "+proj=longlat +ellps=WGS72 +no_defs"},
- {4044, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs"},
- {4045, "+proj=longlat +a=6377299.151 +b=6356098.145120132 +no_defs"},
- {4047, "+proj=longlat +a=6371007 +b=6371007 +no_defs"},
- {4052, "+proj=longlat +a=6370997 +b=6370997 +no_defs"},
- {4053, "+proj=longlat +a=6371228 +b=6371228 +no_defs"},
- {4054, "+proj=longlat +a=6378273 +b=6356889.449 +no_defs"},
- {4055, "+proj=longlat +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4120, "+proj=longlat +ellps=bessel +no_defs"},
- {4121, "+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +no_defs"},
- {4122, "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs"},
- {4123, "+proj=longlat +ellps=intl +no_defs"},
- {4124, "+proj=longlat +ellps=bessel +no_defs"},
- {4125, "+proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +no_defs"},
- {4126, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4127, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4128, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4129, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4130, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs"},
- {4131, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs"},
- {4132, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4133, "+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +no_defs"},
- {4134, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4135, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4136, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4137, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4138, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4139, "+proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +no_defs"},
- {4140, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4141, "+proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +no_defs"},
- {4142, "+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs"},
- {4143, "+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs"},
- {4144, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs"},
- {4145, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs"},
- {4146, "+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +no_defs"},
- {4147, "+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +no_defs"},
- {4148, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4149, "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs"},
- {4150, "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs"},
- {4151, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4152, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4153, "+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +no_defs"},
- {4154, "+proj=longlat +ellps=intl +no_defs"},
- {4155, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs"},
- {4156, "+proj=longlat +ellps=bessel +no_defs"},
- {4157, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs"},
- {4158, "+proj=longlat +ellps=intl +no_defs"},
- {4159, "+proj=longlat +ellps=intl +no_defs"},
- {4160, "+proj=longlat +ellps=intl +no_defs"},
- {4161, "+proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +no_defs"},
- {4162, "+proj=longlat +ellps=bessel +no_defs"},
- {4163, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4164, "+proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +no_defs"},
- {4165, "+proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +no_defs"},
- {4166, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4167, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4168, "+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +no_defs"},
- {4169, "+proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs"},
- {4170, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4171, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4172, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4173, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4174, "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs"},
- {4175, "+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs"},
- {4176, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4178, "+proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +no_defs"},
- {4179, "+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +no_defs"},
- {4180, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4181, "+proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +no_defs"},
- {4182, "+proj=longlat +ellps=intl +no_defs"},
- {4183, "+proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +no_defs"},
- {4184, "+proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0 +no_defs"},
- {4185, "+proj=longlat +ellps=intl +no_defs"},
- {4188, "+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +no_defs"},
- {4189, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4190, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4191, "+proj=longlat +ellps=krass +no_defs"},
- {4192, "+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +no_defs"},
- {4193, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs"},
- {4194, "+proj=longlat +ellps=intl +no_defs"},
- {4195, "+proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6 +no_defs"},
- {4196, "+proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6 +no_defs"},
- {4197, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4198, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4199, "+proj=longlat +ellps=intl +no_defs"},
- {4200, "+proj=longlat +ellps=krass +no_defs"},
- {4201, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4202, "+proj=longlat +ellps=aust_SA +no_defs"},
- {4203, "+proj=longlat +ellps=aust_SA +no_defs"},
- {4204, "+proj=longlat +ellps=intl +no_defs"},
- {4205, "+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs"},
- {4206, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4207, "+proj=longlat +ellps=intl +no_defs"},
- {4208, "+proj=longlat +ellps=intl +no_defs"},
- {4209, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs"},
- {4210, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4211, "+proj=longlat +ellps=bessel +no_defs"},
- {4212, "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +no_defs"},
- {4213, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +no_defs"},
- {4214, "+proj=longlat +ellps=krass +no_defs"},
- {4215, "+proj=longlat +ellps=intl +no_defs"},
- {4216, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4218, "+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 +no_defs"},
- {4219, "+proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0 +no_defs"},
- {4220, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4221, "+proj=longlat +ellps=intl +no_defs"},
- {4222, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs"},
- {4223, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4224, "+proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 +no_defs"},
- {4225, "+proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +no_defs"},
- {4226, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4227, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4228, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4229, "+proj=longlat +ellps=helmert +no_defs"},
- {4230, "+proj=longlat +ellps=intl +no_defs"},
- {4231, "+proj=longlat +ellps=intl +no_defs"},
- {4232, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4233, "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs"},
- {4234, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4235, "+proj=longlat +ellps=intl +no_defs"},
- {4236, "+proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs"},
- {4237, "+proj=longlat +ellps=GRS67 +no_defs"},
- {4238, "+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs"},
- {4239, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +no_defs"},
- {4240, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs"},
- {4241, "+proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs"},
- {4242, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4243, "+proj=longlat +a=6377299.36559538 +b=6356098.359005157 +no_defs"},
- {4244, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +no_defs"},
- {4245, "+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs"},
- {4246, "+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +no_defs"},
- {4247, "+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +no_defs"},
- {4248, "+proj=longlat +ellps=intl +no_defs"},
- {4249, "+proj=longlat +ellps=intl +no_defs"},
- {4250, "+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs"},
- {4251, "+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs"},
- {4252, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4253, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4254, "+proj=longlat +ellps=intl +no_defs"},
- {4255, "+proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0 +no_defs"},
- {4256, "+proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,0 +no_defs"},
- {4257, "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +no_defs"},
- {4258, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4259, "+proj=longlat +ellps=intl +no_defs"},
- {4260, "+proj=longlat +ellps=clrk80 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs"},
- {4261, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +no_defs"},
- {4262, "+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs"},
- {4263, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4264, "+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs"},
- {4265, "+proj=longlat +ellps=intl +no_defs"},
- {4266, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4267, "+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs"},
- {4268, "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs"},
- {4269, "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs"},
- {4270, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4271, "+proj=longlat +ellps=intl +no_defs"},
- {4272, "+proj=longlat +ellps=intl +datum=nzgd49 +no_defs"},
- {4273, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +no_defs"},
- {4274, "+proj=longlat +ellps=intl +no_defs"},
- {4275, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs"},
- {4276, "+proj=longlat +ellps=WGS66 +no_defs"},
- {4277, "+proj=longlat +ellps=airy +datum=OSGB36 +no_defs"},
- {4278, "+proj=longlat +ellps=airy +no_defs"},
- {4279, "+proj=longlat +ellps=airy +no_defs"},
- {4280, "+proj=longlat +ellps=bessel +no_defs"},
- {4281, "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs"},
- {4282, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4283, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4284, "+proj=longlat +ellps=krass +no_defs"},
- {4285, "+proj=longlat +ellps=intl +no_defs"},
- {4286, "+proj=longlat +ellps=helmert +no_defs"},
- {4287, "+proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0 +no_defs"},
- {4288, "+proj=longlat +ellps=intl +no_defs"},
- {4289, "+proj=longlat +ellps=bessel +no_defs"},
- {4291, "+proj=longlat +ellps=GRS67 +no_defs"},
- {4292, "+proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +no_defs"},
- {4293, "+proj=longlat +ellps=bess_nam +no_defs"},
- {4294, "+proj=longlat +ellps=bessel +no_defs"},
- {4295, "+proj=longlat +ellps=bessel +no_defs"},
- {4296, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4297, "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs"},
- {4298, "+proj=longlat +ellps=evrstSS +no_defs"},
- {4299, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs"},
- {4300, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs"},
- {4301, "+proj=longlat +ellps=bessel +no_defs"},
- {4302, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs"},
- {4303, "+proj=longlat +ellps=helmert +no_defs"},
- {4304, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs"},
- {4306, "+proj=longlat +ellps=bessel +no_defs"},
- {4307, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4308, "+proj=longlat +ellps=bessel +no_defs"},
- {4309, "+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs"},
- {4310, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4311, "+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs"},
- {4312, "+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs"},
- {4313, "+proj=longlat +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +no_defs"},
- {4314, "+proj=longlat +ellps=bessel +datum=potsdam +no_defs"},
- {4315, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs"},
- {4316, "+proj=longlat +ellps=intl +no_defs"},
- {4317, "+proj=longlat +ellps=krass +no_defs"},
- {4318, "+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +no_defs"},
- {4319, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4322, "+proj=longlat +ellps=WGS72 +no_defs"},
- {4324, "+proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +no_defs"},
- {4326, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- {4327, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{4328, ""},
- {4329, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{4330, ""},
- //{4331, ""},
- //{4332, ""},
- //{4333, ""},
- //{4334, ""},
- //{4335, ""},
- //{4336, ""},
- //{4337, ""},
- //{4338, ""},
- {4339, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4340, ""},
- {4341, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4342, ""},
- {4343, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4344, ""},
- {4345, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4346, ""},
- {4347, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4348, ""},
- {4349, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4350, ""},
- {4351, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4352, ""},
- {4353, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4354, ""},
- {4355, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4356, ""},
- {4357, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs"},
- //{4358, ""},
- {4359, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- //{4360, ""},
- {4361, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- //{4362, ""},
- {4363, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4364, ""},
- {4365, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4366, ""},
- {4367, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4368, ""},
- {4369, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4370, ""},
- {4371, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4372, ""},
- {4373, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4374, ""},
- {4375, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4376, ""},
- {4377, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4378, ""},
- {4379, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4380, ""},
- {4381, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4382, ""},
- {4383, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4384, ""},
- //{4385, ""},
- {4386, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4387, ""},
- {4388, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4389, ""},
- {4600, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4601, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4602, "+proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +no_defs"},
- {4603, "+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs"},
- {4604, "+proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +no_defs"},
- {4605, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4606, "+proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +no_defs"},
- {4607, "+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +no_defs"},
- {4608, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4609, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4610, "+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs"},
- {4611, "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs"},
- {4612, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4613, "+proj=longlat +ellps=bessel +no_defs"},
- {4614, "+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +no_defs"},
- {4615, "+proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +no_defs"},
- {4616, "+proj=longlat +ellps=intl +no_defs"},
- {4617, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4618, "+proj=longlat +ellps=aust_SA +no_defs"},
- {4619, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4620, "+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0 +no_defs"},
- {4621, "+proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0 +no_defs"},
- {4622, "+proj=longlat +ellps=intl +no_defs"},
- {4623, "+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 +no_defs"},
- {4624, "+proj=longlat +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +no_defs"},
- {4625, "+proj=longlat +ellps=intl +no_defs"},
- {4626, "+proj=longlat +ellps=intl +no_defs"},
- {4627, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4628, "+proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0 +no_defs"},
- {4629, "+proj=longlat +ellps=intl +no_defs"},
- {4630, "+proj=longlat +ellps=intl +no_defs"},
- {4631, "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs"},
- {4632, "+proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +no_defs"},
- {4633, "+proj=longlat +ellps=intl +no_defs"},
- {4634, "+proj=longlat +ellps=intl +no_defs"},
- {4635, "+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +no_defs"},
- {4636, "+proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0 +no_defs"},
- {4637, "+proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0 +no_defs"},
- {4638, "+proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +no_defs"},
- {4639, "+proj=longlat +ellps=intl +no_defs"},
- {4640, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4641, "+proj=longlat +ellps=intl +no_defs"},
- {4642, "+proj=longlat +ellps=intl +no_defs"},
- {4643, "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +no_defs"},
- {4644, "+proj=longlat +ellps=intl +no_defs"},
- {4645, "+proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4646, "+proj=longlat +ellps=intl +no_defs"},
- {4657, "+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28,199,5,0,0,0,0 +no_defs"},
- {4658, "+proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +no_defs"},
- {4659, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4660, "+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +no_defs"},
- {4661, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4662, "+proj=longlat +ellps=intl +no_defs"},
- {4663, "+proj=longlat +ellps=intl +no_defs"},
- {4664, "+proj=longlat +ellps=intl +no_defs"},
- {4665, "+proj=longlat +ellps=intl +no_defs"},
- {4666, "+proj=longlat +ellps=bessel +no_defs"},
- {4667, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4668, "+proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0 +no_defs"},
- {4669, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4670, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4671, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {4672, "+proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0 +no_defs"},
- {4673, "+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-0,0.554,0.2263 +no_defs"},
- {4674, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4675, "+proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0,0 +no_defs"},
- {4676, "+proj=longlat +ellps=krass +no_defs"},
- {4677, "+proj=longlat +ellps=krass +no_defs"},
- {4678, "+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0,0,0,0 +no_defs"},
- {4679, "+proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.19,0,0,0,0 +no_defs"},
- {4680, "+proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,0,0,0 +no_defs"},
- {4681, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4682, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs"},
- {4683, "+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +no_defs"},
- {4684, "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs"},
- {4685, "+proj=longlat +ellps=intl +no_defs"},
- {4686, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4687, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4688, "+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +no_defs"},
- {4689, "+proj=longlat +ellps=intl +no_defs"},
- {4690, "+proj=longlat +ellps=intl +no_defs"},
- {4691, "+proj=longlat +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +no_defs"},
- {4692, "+proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +no_defs"},
- {4693, "+proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +no_defs"},
- {4694, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4695, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4696, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4697, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4698, "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs"},
- {4699, "+proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +no_defs"},
- {4700, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4701, "+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +no_defs"},
- {4702, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4703, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4704, "+proj=longlat +ellps=intl +no_defs"},
- {4705, "+proj=longlat +ellps=intl +no_defs"},
- {4706, "+proj=longlat +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +no_defs"},
- {4707, "+proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0 +no_defs"},
- {4708, "+proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0,0 +no_defs"},
- {4709, "+proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0 +no_defs"},
- {4710, "+proj=longlat +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +no_defs"},
- {4711, "+proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0 +no_defs"},
- {4712, "+proj=longlat +ellps=intl +towgs84=-205,107,53,0,0,0,0 +no_defs"},
- {4713, "+proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,0 +no_defs"},
- {4714, "+proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0 +no_defs"},
- {4715, "+proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0 +no_defs"},
- {4716, "+proj=longlat +ellps=intl +towgs84=298,-304,-375,0,0,0,0 +no_defs"},
- {4717, "+proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0 +no_defs"},
- {4718, "+proj=longlat +ellps=intl +no_defs"},
- {4719, "+proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0 +no_defs"},
- {4720, "+proj=longlat +ellps=WGS72 +no_defs"},
- {4721, "+proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +no_defs"},
- {4722, "+proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0 +no_defs"},
- {4723, "+proj=longlat +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +no_defs"},
- {4724, "+proj=longlat +ellps=intl +towgs84=208,-435,-229,0,0,0,0 +no_defs"},
- {4725, "+proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0 +no_defs"},
- {4726, "+proj=longlat +ellps=clrk66 +no_defs"},
- {4727, "+proj=longlat +ellps=intl +no_defs"},
- {4728, "+proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0 +no_defs"},
- {4729, "+proj=longlat +ellps=intl +towgs84=185,165,42,0,0,0,0 +no_defs"},
- {4730, "+proj=longlat +ellps=intl +towgs84=170,42,84,0,0,0,0 +no_defs"},
- {4731, "+proj=longlat +ellps=clrk80 +towgs84=51,391,-36,0,0,0,0 +no_defs"},
- {4732, "+proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=102,52,-38,0,0,0,0 +no_defs"},
- {4733, "+proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0 +no_defs"},
- {4734, "+proj=longlat +ellps=intl +towgs84=-632,438,-609,0,0,0,0 +no_defs"},
- {4735, "+proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,0 +no_defs"},
- {4736, "+proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0 +no_defs"},
- {4737, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4738, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs"},
- {4739, "+proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,0 +no_defs"},
- {4740, "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0,0,1.5,-0,-0,0.076,0 +no_defs"},
- {4741, "+proj=longlat +ellps=intl +no_defs"},
- {4742, "+proj=longlat +ellps=GRS80 +no_defs"},
- {4743, "+proj=longlat +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +no_defs"},
- {4744, "+proj=longlat +ellps=clrk80 +no_defs"},
- {4745, "+proj=longlat +ellps=bessel +no_defs"},
- {4746, "+proj=longlat +ellps=bessel +no_defs"},
- {4747, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4748, "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs"},
- {4749, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4750, "+proj=longlat +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +no_defs"},
- {4751, "+proj=longlat +a=6377295.664 +b=6356094.667915204 +no_defs"},
- {4752, "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs"},
- {4753, "+proj=longlat +ellps=intl +no_defs"},
- {4754, "+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +no_defs"},
- {4755, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4756, "+proj=longlat +ellps=WGS84 +no_defs"},
- {4757, "+proj=longlat +ellps=WGS84 +no_defs"},
- {4758, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4759, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4760, "+proj=longlat +ellps=WGS66 +no_defs"},
- {4761, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4762, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4763, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4764, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4765, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs"},
- {4801, "+proj=longlat +ellps=bessel +pm=bern +no_defs"},
- {4802, "+proj=longlat +ellps=intl +pm=bogota +no_defs"},
- {4803, "+proj=longlat +ellps=intl +pm=lisbon +no_defs"},
- {4804, "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +no_defs"},
- {4805, "+proj=longlat +ellps=bessel +pm=ferro +no_defs"},
- {4806, "+proj=longlat +ellps=intl +pm=rome +no_defs"},
- {4807, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs"},
- {4808, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {4809, "+proj=longlat +ellps=intl +pm=brussels +no_defs"},
- {4810, "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +no_defs"},
- {4811, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +pm=paris +no_defs"},
- {4813, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {4814, "+proj=longlat +ellps=bessel +pm=stockholm +no_defs"},
- {4815, "+proj=longlat +ellps=bessel +pm=athens +no_defs"},
- {4816, "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs"},
- {4817, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +no_defs"},
- {4818, "+proj=longlat +ellps=bessel +pm=ferro +no_defs"},
- {4819, "+proj=longlat +ellps=clrk80 +pm=paris +no_defs"},
- {4820, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {4821, "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs"},
- //{4882, ""},
- {4883, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4884, ""},
- {4885, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4886, ""},
- {4887, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4888, ""},
- {4889, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4890, ""},
- {4891, "+proj=longlat +ellps=WGS66 +no_defs"},
- //{4892, ""},
- {4893, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4894, ""},
- {4895, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4896, ""},
- //{4897, ""},
- {4898, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4899, ""},
- {4900, "+proj=longlat +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0.0,0.0,0.0,0.0 +no_defs"},
- {4901, "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=2.3372291666985 +no_defs"},
- {4902, "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris +no_defs"},
- {4903, "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madrid +no_defs"},
- {4904, "+proj=longlat +ellps=bessel +pm=lisbon +no_defs"},
- //{4906, ""},
- {4907, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4908, ""},
- {4909, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4910, ""},
- //{4911, ""},
- //{4912, ""},
- //{4913, ""},
- //{4914, ""},
- //{4915, ""},
- //{4916, ""},
- //{4917, ""},
- //{4918, ""},
- //{4919, ""},
- //{4920, ""},
- {4921, "+proj=longlat +ellps=GRS80 +no_defs"},
- //{4922, ""},
- {4923, "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0.0,0.0,1.5,-0.0,0.0,-0.076,0.0 +no_defs"},
- //{4924, ""},
- {4925, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4926, ""},
- {4927, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4928, ""},
- {4929, "+proj=longlat +ellps=GRS80 +no_defs"},
- //{4930, ""},
- {4931, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4932, ""},
- {4933, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4934, ""},
- {4935, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4936, ""},
- {4937, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4938, ""},
- {4939, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4940, ""},
- {4941, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4942, ""},
- {4943, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4944, ""},
- {4945, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4946, ""},
- {4947, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4948, ""},
- {4949, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4950, ""},
- {4951, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4952, ""},
- {4953, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs"},
- //{4954, ""},
- {4955, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- //{4956, ""},
- {4957, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- //{4958, ""},
- {4959, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4960, ""},
- {4961, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4962, ""},
- {4963, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4964, ""},
- {4965, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4966, ""},
- {4967, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4968, ""},
- {4969, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4970, ""},
- {4971, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4972, ""},
- {4973, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4974, ""},
- {4975, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4976, ""},
- {4977, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4978, ""},
- {4979, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{4980, ""},
- {4981, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4982, ""},
- {4983, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4984, ""},
- {4985, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105 +no_defs"},
- //{4986, ""},
- {4987, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662 +no_defs"},
- //{4988, ""},
- {4989, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4990, ""},
- {4991, "+proj=longlat +ellps=krass +no_defs"},
- //{4992, ""},
- {4993, "+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0.0,0.0,0.0,0.0 +no_defs"},
- //{4994, ""},
- {4995, "+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,-4.903,-1.578,-0.21864069462192215 +no_defs"},
- //{4996, ""},
- {4997, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- //{4998, ""},
- {4999, "+proj=longlat +ellps=GRS80 +towgs84=0.072,-0.507,-0.245,-0.0183,-0.0003,0.007,-0.001918262698097996 +no_defs"},
- //{5600, ""},
- //{5601, ""},
- //{5602, ""},
- //{5603, ""},
- //{5604, ""},
- //{5605, ""},
- //{5606, ""},
- //{5607, ""},
- //{5608, ""},
- //{5609, ""},
- //{5610, ""},
- //{5611, ""},
- //{5612, ""},
- //{5613, ""},
- //{5614, ""},
- //{5615, ""},
- //{5616, ""},
- //{5617, ""},
- //{5618, ""},
- //{5619, ""},
- //{5620, ""},
- //{5701, ""},
- //{5702, ""},
- //{5703, ""},
- //{5704, ""},
- //{5705, ""},
- //{5706, ""},
- //{5709, ""},
- //{5710, ""},
- //{5711, ""},
- //{5712, ""},
- //{5713, ""},
- //{5714, ""},
- //{5715, ""},
- //{5716, ""},
- //{5717, ""},
- //{5718, ""},
- //{5719, ""},
- //{5720, ""},
- //{5721, ""},
- //{5722, ""},
- //{5723, ""},
- //{5724, ""},
- //{5725, ""},
- //{5726, ""},
- //{5727, ""},
- //{5728, ""},
- //{5729, ""},
- //{5730, ""},
- //{5731, ""},
- //{5732, ""},
- //{5733, ""},
- //{5734, ""},
- //{5735, ""},
- //{5736, ""},
- //{5737, ""},
- //{5738, ""},
- //{5739, ""},
- //{5740, ""},
- //{5741, ""},
- //{5742, ""},
- //{5743, ""},
- //{5744, ""},
- //{5745, ""},
- //{5746, ""},
- //{5747, ""},
- //{5748, ""},
- //{5749, ""},
- //{5750, ""},
- //{5751, ""},
- //{5752, ""},
- //{5753, ""},
- //{5754, ""},
- //{5755, ""},
- //{5756, ""},
- //{5757, ""},
- //{5758, ""},
- //{5759, ""},
- //{5760, ""},
- //{5761, ""},
- //{5762, ""},
- //{5763, ""},
- //{5764, ""},
- //{5765, ""},
- //{5766, ""},
- //{5767, ""},
- //{5768, ""},
- //{5769, ""},
- //{5770, ""},
- //{5771, ""},
- //{5772, ""},
- //{5773, ""},
- //{5774, ""},
- //{5775, ""},
- //{5776, ""},
- //{5777, ""},
- //{5778, ""},
- //{5779, ""},
- //{5780, ""},
- //{5781, ""},
- //{5782, ""},
- //{5783, ""},
- //{5784, ""},
- //{5785, ""},
- //{5786, ""},
- //{5787, ""},
- //{5788, ""},
- //{5789, ""},
- //{5790, ""},
- //{5791, ""},
- //{5792, ""},
- //{5793, ""},
- //{5794, ""},
- //{5795, ""},
- //{5796, ""},
- //{5797, ""},
- //{5798, ""},
- //{5799, ""},
- //{5800, ""},
- //{5801, ""},
- //{5802, ""},
- //{5803, ""},
- //{5804, ""},
- //{5805, ""},
- //{5806, ""},
- //{5807, ""},
- //{5808, ""},
- //{5809, ""},
- //{5810, ""},
- //{5811, ""},
- //{5812, ""},
- //{5813, ""},
- //{5814, ""},
- //{5815, ""},
- //{5816, ""},
- //{5817, ""},
- //{5818, ""},
- //{5819, ""},
- //{5820, ""},
- //{5821, ""},
- //{7400, ""},
- //{7401, ""},
- //{7402, ""},
- //{7403, ""},
- //{7404, ""},
- //{7405, ""},
- //{7406, ""},
- //{7407, ""},
- //{7408, ""},
- //{7409, ""},
- //{7410, ""},
- //{7411, ""},
- //{7412, ""},
- //{7413, ""},
- //{7414, ""},
- //{7415, ""},
- //{7416, ""},
- //{7417, ""},
- //{7418, ""},
- //{7419, ""},
- //{7420, ""},
- //{7421, ""},
- //{7422, ""},
- {20004, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20005, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20006, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20007, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20008, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20009, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20010, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20011, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20012, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20013, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20014, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20015, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20016, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20017, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20018, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20019, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20020, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20021, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20022, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20023, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20024, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20025, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20026, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20027, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20028, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20029, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20030, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20031, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20032, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20064, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20065, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20066, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20067, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20068, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20069, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20070, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20071, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20072, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20073, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20074, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20075, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20076, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20077, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20078, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20079, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20080, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20081, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20082, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20083, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20084, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20085, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20086, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20087, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20088, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20089, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20090, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20091, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20092, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {20135, "+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs"},
- {20136, "+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs"},
- {20137, "+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs"},
- {20138, "+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs"},
- {20248, "+proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs"},
- {20249, "+proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs"},
- {20250, "+proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs"},
- {20251, "+proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs"},
- {20252, "+proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs"},
- {20253, "+proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs"},
- {20254, "+proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs"},
- {20255, "+proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs"},
- {20256, "+proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs"},
- {20257, "+proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs"},
- {20258, "+proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs"},
- {20348, "+proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs"},
- {20349, "+proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs"},
- {20350, "+proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs"},
- {20351, "+proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs"},
- {20352, "+proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs"},
- {20353, "+proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs"},
- {20354, "+proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs"},
- {20355, "+proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs"},
- {20356, "+proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs"},
- {20357, "+proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs"},
- {20358, "+proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs"},
- {20436, "+proj=utm +zone=36 +ellps=intl +units=m +no_defs"},
- {20437, "+proj=utm +zone=37 +ellps=intl +units=m +no_defs"},
- {20438, "+proj=utm +zone=38 +ellps=intl +units=m +no_defs"},
- {20439, "+proj=utm +zone=39 +ellps=intl +units=m +no_defs"},
- {20440, "+proj=utm +zone=40 +ellps=intl +units=m +no_defs"},
- {20499, "+proj=utm +zone=39 +ellps=intl +units=m +no_defs"},
- {20538, "+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs"},
- {20539, "+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs"},
- {20790, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=200000 +y_0=300000 +ellps=intl +pm=lisbon +units=m +no_defs"},
- {20791, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=0 +y_0=0 +ellps=intl +pm=lisbon +units=m +no_defs"},
- {20822, "+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs"},
- {20823, "+proj=utm +zone=23 +south +ellps=intl +units=m +no_defs"},
- {20824, "+proj=utm +zone=24 +south +ellps=intl +units=m +no_defs"},
- {20934, "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs"},
- {20935, "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs"},
- {20936, "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs"},
- {21035, "+proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs"},
- {21036, "+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs"},
- {21037, "+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs"},
- {21095, "+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs"},
- {21096, "+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs"},
- {21097, "+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs"},
- {21100, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs"},
- {21148, "+proj=utm +zone=48 +south +ellps=bessel +units=m +no_defs"},
- {21149, "+proj=utm +zone=49 +south +ellps=bessel +units=m +no_defs"},
- {21150, "+proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs"},
- {21291, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs"},
- {21292, "+proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs"},
- {21413, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21414, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21415, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21416, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21417, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21418, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21419, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21420, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21421, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21422, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21423, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21453, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21454, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21455, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21456, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21457, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21458, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21459, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21460, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21461, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21462, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21463, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21473, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21474, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21475, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21476, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21477, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21478, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21479, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21480, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21481, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21482, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21483, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {21500, "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=intl +pm=brussels +units=m +no_defs"},
- {21780, "+proj=somerc +lat_0=46.95240555555556 +lon_0=0 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +pm=bern +units=m +no_defs"},
- {21781, "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs"},
- //{21782, ""},
- {21817, "+proj=utm +zone=17 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21818, "+proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21891, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21892, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21893, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21894, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21896, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21897, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21898, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {21899, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs"},
- {22032, "+proj=utm +zone=32 +south +ellps=clrk80 +units=m +no_defs"},
- {22033, "+proj=utm +zone=33 +south +ellps=clrk80 +units=m +no_defs"},
- {22091, "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {22092, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs"},
- {22171, "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22172, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22173, "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22174, "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22175, "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22176, "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22177, "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {22181, "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22182, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22183, "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22184, "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22185, "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22186, "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22187, "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {22191, "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22192, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22193, "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22194, "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22195, "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22196, "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22197, "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {22234, "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs"},
- {22235, "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs"},
- {22236, "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs"},
- //{22275, ""},
- //{22277, ""},
- //{22279, ""},
- //{22281, ""},
- //{22283, ""},
- //{22285, ""},
- //{22287, ""},
- //{22289, ""},
- //{22291, ""},
- //{22293, ""},
- //{22300, ""},
- {22332, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22391, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22392, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22521, "+proj=utm +zone=21 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs"},
- {22522, "+proj=utm +zone=22 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs"},
- {22523, "+proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs"},
- {22524, "+proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs"},
- {22525, "+proj=utm +zone=25 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs"},
- {22700, "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22770, "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22780, "+proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=0 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22832, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {22991, "+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m +no_defs"},
- {22992, "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +units=m +no_defs"},
- {22993, "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=200000 +ellps=helmert +units=m +no_defs"},
- {22994, "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m +no_defs"},
- {23028, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs"},
- {23029, "+proj=utm +zone=29 +ellps=intl +units=m +no_defs"},
- {23030, "+proj=utm +zone=30 +ellps=intl +units=m +no_defs"},
- {23031, "+proj=utm +zone=31 +ellps=intl +units=m +no_defs"},
- {23032, "+proj=utm +zone=32 +ellps=intl +units=m +no_defs"},
- {23033, "+proj=utm +zone=33 +ellps=intl +units=m +no_defs"},
- {23034, "+proj=utm +zone=34 +ellps=intl +units=m +no_defs"},
- {23035, "+proj=utm +zone=35 +ellps=intl +units=m +no_defs"},
- {23036, "+proj=utm +zone=36 +ellps=intl +units=m +no_defs"},
- {23037, "+proj=utm +zone=37 +ellps=intl +units=m +no_defs"},
- {23038, "+proj=utm +zone=38 +ellps=intl +units=m +no_defs"},
- {23090, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {23095, "+proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {23239, "+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs"},
- {23240, "+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs"},
- {23433, "+proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {23700, "+proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67 +units=m +no_defs"},
- {23830, "+proj=tmerc +lat_0=0 +lon_0=94.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23831, "+proj=tmerc +lat_0=0 +lon_0=97.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23832, "+proj=tmerc +lat_0=0 +lon_0=100.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23833, "+proj=tmerc +lat_0=0 +lon_0=103.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23834, "+proj=tmerc +lat_0=0 +lon_0=106.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23835, "+proj=tmerc +lat_0=0 +lon_0=109.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23836, "+proj=tmerc +lat_0=0 +lon_0=112.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23837, "+proj=tmerc +lat_0=0 +lon_0=115.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23838, "+proj=tmerc +lat_0=0 +lon_0=118.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23839, "+proj=tmerc +lat_0=0 +lon_0=121.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23840, "+proj=tmerc +lat_0=0 +lon_0=124.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23841, "+proj=tmerc +lat_0=0 +lon_0=127.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23842, "+proj=tmerc +lat_0=0 +lon_0=130.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23843, "+proj=tmerc +lat_0=0 +lon_0=133.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23844, "+proj=tmerc +lat_0=0 +lon_0=136.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23845, "+proj=tmerc +lat_0=0 +lon_0=139.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23846, "+proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23847, "+proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23848, "+proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23849, "+proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23850, "+proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23851, "+proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23852, "+proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23853, "+proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23866, "+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23867, "+proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23868, "+proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23869, "+proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23870, "+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23871, "+proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23872, "+proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23877, "+proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23878, "+proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23879, "+proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23880, "+proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23881, "+proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23882, "+proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23883, "+proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23884, "+proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {23886, "+proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23887, "+proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23888, "+proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23889, "+proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23890, "+proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23891, "+proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23892, "+proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23893, "+proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23894, "+proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs"},
- {23946, "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs"},
- {23947, "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs"},
- {23948, "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs"},
- {24047, "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {24048, "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {24100, "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167638.49597 +y_0=121918.90616 +a=6378249.144808011 +b=6356514.966204134 +to_meter=0.3047972654 +no_defs"},
- {24200, "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 +y_0=150000 +ellps=clrk66 +units=m +no_defs"},
- {24305, "+proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {24306, "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {24311, "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs"},
- {24312, "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs"},
- {24313, "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs"},
- {24342, "+proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24343, "+proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24344, "+proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24345, "+proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24346, "+proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24347, "+proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24370, "+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs"},
- {24371, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs"},
- {24372, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs"},
- {24373, "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs"},
- {24374, "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs"},
- {24375, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs"},
- {24376, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs"},
- {24377, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs"},
- {24378, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24379, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24380, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24381, "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24382, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs"},
- {24383, "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs"},
- {24500, "+proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs"},
- {24547, "+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs"},
- {24548, "+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs"},
- {24571, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804671.2997750348 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_defs"},
- {24600, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +units=m +no_defs"},
- {24718, "+proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs"},
- {24719, "+proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs"},
- {24720, "+proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs"},
- {24817, "+proj=utm +zone=17 +ellps=intl +units=m +no_defs"},
- {24818, "+proj=utm +zone=18 +ellps=intl +units=m +no_defs"},
- {24819, "+proj=utm +zone=19 +ellps=intl +units=m +no_defs"},
- {24820, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs"},
- {24821, "+proj=utm +zone=21 +ellps=intl +units=m +no_defs"},
- {24877, "+proj=utm +zone=17 +south +ellps=intl +units=m +no_defs"},
- {24878, "+proj=utm +zone=18 +south +ellps=intl +units=m +no_defs"},
- {24879, "+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs"},
- {24880, "+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs"},
- {24881, "+proj=utm +zone=21 +south +ellps=intl +units=m +no_defs"},
- {24882, "+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs"},
- {24891, "+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m +no_defs"},
- {24892, "+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m +no_defs"},
- {24893, "+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m +no_defs"},
- {25000, "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m +no_defs"},
- {25231, "+proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {25391, "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {25392, "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {25393, "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {25394, "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {25395, "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs"},
- {25700, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +units=m +no_defs"},
- {25828, "+proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs"},
- {25829, "+proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs"},
- {25830, "+proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs"},
- {25831, "+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs"},
- {25832, "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"},
- {25833, "+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs"},
- {25834, "+proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs"},
- {25835, "+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs"},
- {25836, "+proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs"},
- {25837, "+proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs"},
- {25838, "+proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs"},
- {25884, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {25932, "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs"},
- {26191, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs"},
- {26192, "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs"},
- {26193, "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs"},
- {26194, "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs"},
- {26195, "+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs"},
- {26237, "+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs"},
- {26331, "+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs"},
- {26332, "+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs"},
- {26391, "+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs"},
- {26392, "+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs"},
- {26393, "+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs"},
- {26432, "+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m +no_defs"},
- {26591, "+proj=tmerc +lat_0=0 +lon_0=-3.45233333333333 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs"},
- {26592, "+proj=tmerc +lat_0=0 +lon_0=2.54766666666666 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs"},
- {26632, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {26692, "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {26701, "+proj=utm +zone=1 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26702, "+proj=utm +zone=2 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26703, "+proj=utm +zone=3 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26704, "+proj=utm +zone=4 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26705, "+proj=utm +zone=5 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26706, "+proj=utm +zone=6 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26707, "+proj=utm +zone=7 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26708, "+proj=utm +zone=8 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26709, "+proj=utm +zone=9 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26710, "+proj=utm +zone=10 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26711, "+proj=utm +zone=11 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26712, "+proj=utm +zone=12 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26713, "+proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26714, "+proj=utm +zone=14 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26715, "+proj=utm +zone=15 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26716, "+proj=utm +zone=16 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26717, "+proj=utm +zone=17 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26718, "+proj=utm +zone=18 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26719, "+proj=utm +zone=19 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26720, "+proj=utm +zone=20 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26721, "+proj=utm +zone=21 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26722, "+proj=utm +zone=22 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {26729, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26730, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26731, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26732, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26733, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26734, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26735, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26736, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26737, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.4267208534 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26738, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26739, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26740, "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26741, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26742, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26743, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26744, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26745, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26746, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26747, "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=127079.524511049 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26748, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26749, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26750, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26751, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26752, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26753, "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26754, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26755, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26756, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26757, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26758, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26759, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26760, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26766, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26767, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26768, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26769, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26770, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26771, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26772, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26773, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26774, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26775, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26776, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26777, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26778, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26779, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26780, "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26781, "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26782, "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26783, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26784, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26785, "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26786, "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26787, "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26791, "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26792, "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26793, "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26794, "+proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26795, "+proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26796, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26797, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26798, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26799, "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=1268253.006858014 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {26801, "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs"},
- {26802, "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs"},
- {26803, "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs"},
- {26811, "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs"},
- {26812, "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs"},
- {26813, "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs"},
- {26814, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26815, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26819, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26820, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26821, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26822, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26823, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26824, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26825, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26826, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26830, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs"},
- {26831, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs"},
- {26832, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs"},
- {26833, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26834, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26835, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26836, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26837, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26841, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26842, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26843, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26844, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26845, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26846, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {26847, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26848, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26849, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26850, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26851, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26852, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26853, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26854, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {26855, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26856, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26857, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26858, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26859, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26860, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26861, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26862, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs"},
- {26863, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26864, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26865, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26866, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26867, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26868, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26869, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26870, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs"},
- {26891, "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26892, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26893, "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26894, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26895, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26896, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26897, "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26898, "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26899, "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {26901, "+proj=utm +zone=1 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26902, "+proj=utm +zone=2 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26903, "+proj=utm +zone=3 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26904, "+proj=utm +zone=4 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26905, "+proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26906, "+proj=utm +zone=6 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26907, "+proj=utm +zone=7 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26908, "+proj=utm +zone=8 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26909, "+proj=utm +zone=9 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26910, "+proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26911, "+proj=utm +zone=11 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26912, "+proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26913, "+proj=utm +zone=13 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26914, "+proj=utm +zone=14 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26915, "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26916, "+proj=utm +zone=16 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26917, "+proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26918, "+proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26919, "+proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26920, "+proj=utm +zone=20 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26921, "+proj=utm +zone=21 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26922, "+proj=utm +zone=22 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26923, "+proj=utm +zone=23 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26929, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26930, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26931, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26932, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26933, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26934, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26935, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26936, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26937, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26938, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26939, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26940, "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26941, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26942, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26943, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26944, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26945, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26946, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26948, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26949, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26950, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26951, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26952, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26953, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26954, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26955, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26956, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26957, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26958, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26959, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26960, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26961, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26962, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26963, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26964, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26965, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26966, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26967, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26968, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26969, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26970, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26971, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26972, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26973, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26974, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26975, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26976, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26977, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26978, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26979, "+proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26980, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26981, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26982, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26983, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26984, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26985, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26986, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26987, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26988, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26989, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26990, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26991, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26992, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26993, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26994, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26995, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26996, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26997, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {26998, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {27037, "+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs"},
- {27038, "+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs"},
- {27039, "+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs"},
- {27040, "+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs"},
- {27120, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs"},
- {27200, "+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27205, "+proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393611111 +k=0.9999 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27206, "+proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.46619725 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27207, "+proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27208, "+proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805277778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27209, "+proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.22801175 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27210, "+proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27211, "+proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27212, "+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27213, "+proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27214, "+proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27215, "+proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168055555 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27216, "+proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27217, "+proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600555556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27218, "+proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27219, "+proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333888889 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27220, "+proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27221, "+proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27222, "+proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27223, "+proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27224, "+proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27225, "+proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484722222 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27226, "+proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27227, "+proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27228, "+proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27229, "+proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27230, "+proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27231, "+proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891111111 +k=0.99996 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27232, "+proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 +k=1 +x_0=300002.66 +y_0=699999.58 +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27258, "+proj=utm +zone=58 +south +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27259, "+proj=utm +zone=59 +south +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27260, "+proj=utm +zone=60 +south +ellps=intl +datum=nzgd49 +units=m +no_defs"},
- {27291, "+proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.5243848086 +y_0=365759.3658464114 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs"},
- {27292, "+proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.2073080143 +y_0=457199.2073080143 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs"},
- {27391, "+proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27392, "+proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27393, "+proj=tmerc +lat_0=58 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27394, "+proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27395, "+proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27396, "+proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27397, "+proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27398, "+proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs"},
- {27429, "+proj=utm +zone=29 +ellps=intl +units=m +no_defs"},
- {27492, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs"},
- {27493, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs"},
- {27500, "+proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=5.4 +k_0=0.99950908 +x_0=500000 +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=2.3372291666985 +units=m +no_defs"},
- {27561, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27562, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27563, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27564, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27571, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27572, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27573, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27574, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27581, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27582, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27583, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27584, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27591, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27592, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27593, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27594, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"},
- {27700, "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs"},
- {28191, "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs"},
- {28192, "+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs"},
- {28193, "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs"},
- {28232, "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {28348, "+proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28349, "+proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28350, "+proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28351, "+proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28352, "+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28353, "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28354, "+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28355, "+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28356, "+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28357, "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28358, "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {28402, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28403, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28404, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28405, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28406, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28407, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28408, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28409, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28410, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28411, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28412, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28413, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28414, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28415, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28416, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28417, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28418, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28419, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28420, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28421, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28422, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28423, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28424, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28425, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28426, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28427, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28428, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28429, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28430, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28431, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28432, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28462, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28463, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28464, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28465, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28466, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28467, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28468, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28469, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28470, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28471, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28472, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28473, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28474, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28475, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28476, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28477, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28478, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28479, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28480, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28481, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28482, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28483, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28484, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28485, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28486, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28487, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28488, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28489, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28490, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28491, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28492, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs"},
- {28600, "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs"},
- {28991, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {28992, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs"},
- {29100, "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS67 +units=m +no_defs"},
- {29101, "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs"},
- {29118, "+proj=utm +zone=18 +ellps=GRS67 +units=m +no_defs"},
- {29119, "+proj=utm +zone=19 +ellps=GRS67 +units=m +no_defs"},
- {29120, "+proj=utm +zone=20 +ellps=GRS67 +units=m +no_defs"},
- {29121, "+proj=utm +zone=21 +ellps=GRS67 +units=m +no_defs"},
- {29122, "+proj=utm +zone=22 +ellps=GRS67 +units=m +no_defs"},
- {29168, "+proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs"},
- {29169, "+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs"},
- {29170, "+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs"},
- {29171, "+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs"},
- {29172, "+proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs"},
- {29177, "+proj=utm +zone=17 +south +ellps=GRS67 +units=m +no_defs"},
- {29178, "+proj=utm +zone=18 +south +ellps=GRS67 +units=m +no_defs"},
- {29179, "+proj=utm +zone=19 +south +ellps=GRS67 +units=m +no_defs"},
- {29180, "+proj=utm +zone=20 +south +ellps=GRS67 +units=m +no_defs"},
- {29181, "+proj=utm +zone=21 +south +ellps=GRS67 +units=m +no_defs"},
- {29182, "+proj=utm +zone=22 +south +ellps=GRS67 +units=m +no_defs"},
- {29183, "+proj=utm +zone=23 +south +ellps=GRS67 +units=m +no_defs"},
- {29184, "+proj=utm +zone=24 +south +ellps=GRS67 +units=m +no_defs"},
- {29185, "+proj=utm +zone=25 +south +ellps=GRS67 +units=m +no_defs"},
- {29187, "+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs"},
- {29188, "+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs"},
- {29189, "+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs"},
- {29190, "+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs"},
- {29191, "+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs"},
- {29192, "+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs"},
- {29193, "+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs"},
- {29194, "+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs"},
- {29195, "+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs"},
- {29220, "+proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs"},
- {29221, "+proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs"},
- {29333, "+proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs"},
- //{29371, ""},
- //{29373, ""},
- //{29375, ""},
- //{29377, ""},
- //{29379, ""},
- //{29381, ""},
- //{29383, ""},
- //{29385, ""},
- {29635, "+proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {29636, "+proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {29700, "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs"},
- //{29701, ""},
- {29702, "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs"},
- {29738, "+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs"},
- {29739, "+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs"},
- {29849, "+proj=utm +zone=49 +ellps=evrstSS +units=m +no_defs"},
- {29850, "+proj=utm +zone=50 +ellps=evrstSS +units=m +no_defs"},
- {29871, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263 +no_defs"},
- {29872, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762 +no_defs"},
- {29873, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m +no_defs"},
- {29900, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs"},
- {29901, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs"},
- {29902, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs"},
- {29903, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs"},
- {30161, "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30162, "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30163, "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30164, "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30165, "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30166, "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30167, "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30168, "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30169, "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30170, "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30171, "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30172, "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30173, "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30174, "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30175, "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30176, "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30177, "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30178, "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30179, "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {30200, "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs"},
- {30339, "+proj=utm +zone=39 +ellps=helmert +units=m +no_defs"},
- {30340, "+proj=utm +zone=40 +ellps=helmert +units=m +no_defs"},
- {30491, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs"},
- {30492, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs"},
- {30493, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {30494, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {30729, "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs"},
- {30730, "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs"},
- {30731, "+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs"},
- {30732, "+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs"},
- {30791, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs"},
- {30792, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs"},
- {30800, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {31028, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m +no_defs"},
- {31121, "+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs"},
- {31154, "+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs"},
- {31170, "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs"},
- {31171, "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs"},
- {31251, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31252, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31253, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31254, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31255, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31256, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31257, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31258, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31259, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31265, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31266, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31267, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31268, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31275, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31276, "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31277, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31278, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31279, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31281, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31282, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31283, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31284, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31285, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31286, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31287, "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31288, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31289, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31290, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31291, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31292, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31293, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs"},
- {31294, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31295, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31296, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- {31297, "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs"},
- //{31300, ""},
- {31370, "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m +no_defs"},
- {31461, "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31462, "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31463, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31464, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31465, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31466, "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31467, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31468, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31469, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"},
- {31528, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs"},
- {31529, "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs"},
- {31600, "+proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9996667 +x_0=500000 +y_0=500000 +ellps=intl +units=m +no_defs"},
- {31700, "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 +ellps=krass +units=m +no_defs"},
- {31838, "+proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs"},
- {31839, "+proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs"},
- {31900, "+proj=tmerc +lat_0=0 +lon_0=48 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {31901, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {31965, "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31966, "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31967, "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31968, "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31969, "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31970, "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31971, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31972, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31973, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31974, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31975, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31976, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31977, "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31978, "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31979, "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31980, "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31981, "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31982, "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31983, "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31984, "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31985, "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31986, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31987, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31988, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31989, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31990, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31991, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31992, "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31993, "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31994, "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31995, "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31996, "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31997, "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31998, "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {31999, "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {32000, "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"},
- {32001, "+proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=47 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32002, "+proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=45.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32003, "+proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32005, "+proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=41.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32006, "+proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32007, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32008, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32009, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32010, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32011, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32012, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32013, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32014, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32015, "+proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32016, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32017, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32018, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32019, "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32020, "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32021, "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32022, "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32023, "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32024, "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32025, "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32026, "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32027, "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32028, "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32029, "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32030, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32031, "+proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32033, "+proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32034, "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32035, "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32036, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32037, "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32038, "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32039, "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32040, "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32041, "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32042, "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32043, "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32044, "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32045, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32046, "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32047, "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32048, "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32049, "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32050, "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32051, "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32052, "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32053, "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32054, "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32055, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32056, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32057, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32058, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32061, "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=500000 +y_0=292209.579 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32062, "+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32064, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32065, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32066, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32067, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32074, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32075, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32076, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32077, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32081, "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32082, "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32083, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32084, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32085, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32086, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32098, "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {32099, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {32100, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32104, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32107, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32108, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32109, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32110, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32111, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32112, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32113, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32114, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32115, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32116, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32117, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32118, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32119, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32120, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32121, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32122, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32123, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32124, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32125, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32126, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32127, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32128, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32129, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32130, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32133, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32134, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32135, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32136, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32137, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32138, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32139, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32140, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32141, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32142, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32143, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32144, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32145, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32146, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32147, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32148, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32149, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32150, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32151, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32152, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32153, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32154, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32155, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32156, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32157, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32158, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32161, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32164, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {32165, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {32166, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {32167, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {32180, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32181, "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32182, "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32183, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32184, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32185, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32186, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32187, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32188, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32189, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32190, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32191, "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32192, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32193, "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32194, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32195, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32196, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32197, "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32198, "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32199, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {32201, "+proj=utm +zone=1 +ellps=WGS72 +units=m +no_defs"},
- {32202, "+proj=utm +zone=2 +ellps=WGS72 +units=m +no_defs"},
- {32203, "+proj=utm +zone=3 +ellps=WGS72 +units=m +no_defs"},
- {32204, "+proj=utm +zone=4 +ellps=WGS72 +units=m +no_defs"},
- {32205, "+proj=utm +zone=5 +ellps=WGS72 +units=m +no_defs"},
- {32206, "+proj=utm +zone=6 +ellps=WGS72 +units=m +no_defs"},
- {32207, "+proj=utm +zone=7 +ellps=WGS72 +units=m +no_defs"},
- {32208, "+proj=utm +zone=8 +ellps=WGS72 +units=m +no_defs"},
- {32209, "+proj=utm +zone=9 +ellps=WGS72 +units=m +no_defs"},
- {32210, "+proj=utm +zone=10 +ellps=WGS72 +units=m +no_defs"},
- {32211, "+proj=utm +zone=11 +ellps=WGS72 +units=m +no_defs"},
- {32212, "+proj=utm +zone=12 +ellps=WGS72 +units=m +no_defs"},
- {32213, "+proj=utm +zone=13 +ellps=WGS72 +units=m +no_defs"},
- {32214, "+proj=utm +zone=14 +ellps=WGS72 +units=m +no_defs"},
- {32215, "+proj=utm +zone=15 +ellps=WGS72 +units=m +no_defs"},
- {32216, "+proj=utm +zone=16 +ellps=WGS72 +units=m +no_defs"},
- {32217, "+proj=utm +zone=17 +ellps=WGS72 +units=m +no_defs"},
- {32218, "+proj=utm +zone=18 +ellps=WGS72 +units=m +no_defs"},
- {32219, "+proj=utm +zone=19 +ellps=WGS72 +units=m +no_defs"},
- {32220, "+proj=utm +zone=20 +ellps=WGS72 +units=m +no_defs"},
- {32221, "+proj=utm +zone=21 +ellps=WGS72 +units=m +no_defs"},
- {32222, "+proj=utm +zone=22 +ellps=WGS72 +units=m +no_defs"},
- {32223, "+proj=utm +zone=23 +ellps=WGS72 +units=m +no_defs"},
- {32224, "+proj=utm +zone=24 +ellps=WGS72 +units=m +no_defs"},
- {32225, "+proj=utm +zone=25 +ellps=WGS72 +units=m +no_defs"},
- {32226, "+proj=utm +zone=26 +ellps=WGS72 +units=m +no_defs"},
- {32227, "+proj=utm +zone=27 +ellps=WGS72 +units=m +no_defs"},
- {32228, "+proj=utm +zone=28 +ellps=WGS72 +units=m +no_defs"},
- {32229, "+proj=utm +zone=29 +ellps=WGS72 +units=m +no_defs"},
- {32230, "+proj=utm +zone=30 +ellps=WGS72 +units=m +no_defs"},
- {32231, "+proj=utm +zone=31 +ellps=WGS72 +units=m +no_defs"},
- {32232, "+proj=utm +zone=32 +ellps=WGS72 +units=m +no_defs"},
- {32233, "+proj=utm +zone=33 +ellps=WGS72 +units=m +no_defs"},
- {32234, "+proj=utm +zone=34 +ellps=WGS72 +units=m +no_defs"},
- {32235, "+proj=utm +zone=35 +ellps=WGS72 +units=m +no_defs"},
- {32236, "+proj=utm +zone=36 +ellps=WGS72 +units=m +no_defs"},
- {32237, "+proj=utm +zone=37 +ellps=WGS72 +units=m +no_defs"},
- {32238, "+proj=utm +zone=38 +ellps=WGS72 +units=m +no_defs"},
- {32239, "+proj=utm +zone=39 +ellps=WGS72 +units=m +no_defs"},
- {32240, "+proj=utm +zone=40 +ellps=WGS72 +units=m +no_defs"},
- {32241, "+proj=utm +zone=41 +ellps=WGS72 +units=m +no_defs"},
- {32242, "+proj=utm +zone=42 +ellps=WGS72 +units=m +no_defs"},
- {32243, "+proj=utm +zone=43 +ellps=WGS72 +units=m +no_defs"},
- {32244, "+proj=utm +zone=44 +ellps=WGS72 +units=m +no_defs"},
- {32245, "+proj=utm +zone=45 +ellps=WGS72 +units=m +no_defs"},
- {32246, "+proj=utm +zone=46 +ellps=WGS72 +units=m +no_defs"},
- {32247, "+proj=utm +zone=47 +ellps=WGS72 +units=m +no_defs"},
- {32248, "+proj=utm +zone=48 +ellps=WGS72 +units=m +no_defs"},
- {32249, "+proj=utm +zone=49 +ellps=WGS72 +units=m +no_defs"},
- {32250, "+proj=utm +zone=50 +ellps=WGS72 +units=m +no_defs"},
- {32251, "+proj=utm +zone=51 +ellps=WGS72 +units=m +no_defs"},
- {32252, "+proj=utm +zone=52 +ellps=WGS72 +units=m +no_defs"},
- {32253, "+proj=utm +zone=53 +ellps=WGS72 +units=m +no_defs"},
- {32254, "+proj=utm +zone=54 +ellps=WGS72 +units=m +no_defs"},
- {32255, "+proj=utm +zone=55 +ellps=WGS72 +units=m +no_defs"},
- {32256, "+proj=utm +zone=56 +ellps=WGS72 +units=m +no_defs"},
- {32257, "+proj=utm +zone=57 +ellps=WGS72 +units=m +no_defs"},
- {32258, "+proj=utm +zone=58 +ellps=WGS72 +units=m +no_defs"},
- {32259, "+proj=utm +zone=59 +ellps=WGS72 +units=m +no_defs"},
- {32260, "+proj=utm +zone=60 +ellps=WGS72 +units=m +no_defs"},
- {32301, "+proj=utm +zone=1 +south +ellps=WGS72 +units=m +no_defs"},
- {32302, "+proj=utm +zone=2 +south +ellps=WGS72 +units=m +no_defs"},
- {32303, "+proj=utm +zone=3 +south +ellps=WGS72 +units=m +no_defs"},
- {32304, "+proj=utm +zone=4 +south +ellps=WGS72 +units=m +no_defs"},
- {32305, "+proj=utm +zone=5 +south +ellps=WGS72 +units=m +no_defs"},
- {32306, "+proj=utm +zone=6 +south +ellps=WGS72 +units=m +no_defs"},
- {32307, "+proj=utm +zone=7 +south +ellps=WGS72 +units=m +no_defs"},
- {32308, "+proj=utm +zone=8 +south +ellps=WGS72 +units=m +no_defs"},
- {32309, "+proj=utm +zone=9 +south +ellps=WGS72 +units=m +no_defs"},
- {32310, "+proj=utm +zone=10 +south +ellps=WGS72 +units=m +no_defs"},
- {32311, "+proj=utm +zone=11 +south +ellps=WGS72 +units=m +no_defs"},
- {32312, "+proj=utm +zone=12 +south +ellps=WGS72 +units=m +no_defs"},
- {32313, "+proj=utm +zone=13 +south +ellps=WGS72 +units=m +no_defs"},
- {32314, "+proj=utm +zone=14 +south +ellps=WGS72 +units=m +no_defs"},
- {32315, "+proj=utm +zone=15 +south +ellps=WGS72 +units=m +no_defs"},
- {32316, "+proj=utm +zone=16 +south +ellps=WGS72 +units=m +no_defs"},
- {32317, "+proj=utm +zone=17 +south +ellps=WGS72 +units=m +no_defs"},
- {32318, "+proj=utm +zone=18 +south +ellps=WGS72 +units=m +no_defs"},
- {32319, "+proj=utm +zone=19 +south +ellps=WGS72 +units=m +no_defs"},
- {32320, "+proj=utm +zone=20 +south +ellps=WGS72 +units=m +no_defs"},
- {32321, "+proj=utm +zone=21 +south +ellps=WGS72 +units=m +no_defs"},
- {32322, "+proj=utm +zone=22 +south +ellps=WGS72 +units=m +no_defs"},
- {32323, "+proj=utm +zone=23 +south +ellps=WGS72 +units=m +no_defs"},
- {32324, "+proj=utm +zone=24 +south +ellps=WGS72 +units=m +no_defs"},
- {32325, "+proj=utm +zone=25 +south +ellps=WGS72 +units=m +no_defs"},
- {32326, "+proj=utm +zone=26 +south +ellps=WGS72 +units=m +no_defs"},
- {32327, "+proj=utm +zone=27 +south +ellps=WGS72 +units=m +no_defs"},
- {32328, "+proj=utm +zone=28 +south +ellps=WGS72 +units=m +no_defs"},
- {32329, "+proj=utm +zone=29 +south +ellps=WGS72 +units=m +no_defs"},
- {32330, "+proj=utm +zone=30 +south +ellps=WGS72 +units=m +no_defs"},
- {32331, "+proj=utm +zone=31 +south +ellps=WGS72 +units=m +no_defs"},
- {32332, "+proj=utm +zone=32 +south +ellps=WGS72 +units=m +no_defs"},
- {32333, "+proj=utm +zone=33 +south +ellps=WGS72 +units=m +no_defs"},
- {32334, "+proj=utm +zone=34 +south +ellps=WGS72 +units=m +no_defs"},
- {32335, "+proj=utm +zone=35 +south +ellps=WGS72 +units=m +no_defs"},
- {32336, "+proj=utm +zone=36 +south +ellps=WGS72 +units=m +no_defs"},
- {32337, "+proj=utm +zone=37 +south +ellps=WGS72 +units=m +no_defs"},
- {32338, "+proj=utm +zone=38 +south +ellps=WGS72 +units=m +no_defs"},
- {32339, "+proj=utm +zone=39 +south +ellps=WGS72 +units=m +no_defs"},
- {32340, "+proj=utm +zone=40 +south +ellps=WGS72 +units=m +no_defs"},
- {32341, "+proj=utm +zone=41 +south +ellps=WGS72 +units=m +no_defs"},
- {32342, "+proj=utm +zone=42 +south +ellps=WGS72 +units=m +no_defs"},
- {32343, "+proj=utm +zone=43 +south +ellps=WGS72 +units=m +no_defs"},
- {32344, "+proj=utm +zone=44 +south +ellps=WGS72 +units=m +no_defs"},
- {32345, "+proj=utm +zone=45 +south +ellps=WGS72 +units=m +no_defs"},
- {32346, "+proj=utm +zone=46 +south +ellps=WGS72 +units=m +no_defs"},
- {32347, "+proj=utm +zone=47 +south +ellps=WGS72 +units=m +no_defs"},
- {32348, "+proj=utm +zone=48 +south +ellps=WGS72 +units=m +no_defs"},
- {32349, "+proj=utm +zone=49 +south +ellps=WGS72 +units=m +no_defs"},
- {32350, "+proj=utm +zone=50 +south +ellps=WGS72 +units=m +no_defs"},
- {32351, "+proj=utm +zone=51 +south +ellps=WGS72 +units=m +no_defs"},
- {32352, "+proj=utm +zone=52 +south +ellps=WGS72 +units=m +no_defs"},
- {32353, "+proj=utm +zone=53 +south +ellps=WGS72 +units=m +no_defs"},
- {32354, "+proj=utm +zone=54 +south +ellps=WGS72 +units=m +no_defs"},
- {32355, "+proj=utm +zone=55 +south +ellps=WGS72 +units=m +no_defs"},
- {32356, "+proj=utm +zone=56 +south +ellps=WGS72 +units=m +no_defs"},
- {32357, "+proj=utm +zone=57 +south +ellps=WGS72 +units=m +no_defs"},
- {32358, "+proj=utm +zone=58 +south +ellps=WGS72 +units=m +no_defs"},
- {32359, "+proj=utm +zone=59 +south +ellps=WGS72 +units=m +no_defs"},
- {32360, "+proj=utm +zone=60 +south +ellps=WGS72 +units=m +no_defs"},
- {32401, "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32402, "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32403, "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32404, "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32405, "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32406, "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32407, "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32408, "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32409, "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32410, "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32411, "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32412, "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32413, "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32414, "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32415, "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32416, "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32417, "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32418, "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32419, "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32420, "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32421, "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32422, "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32423, "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32424, "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32425, "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32426, "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32427, "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32428, "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32429, "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32430, "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32431, "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32432, "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32433, "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32434, "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32435, "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32436, "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32437, "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32438, "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32439, "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32440, "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32441, "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32442, "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32443, "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32444, "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32445, "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32446, "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32447, "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32448, "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32449, "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32450, "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32451, "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32452, "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32453, "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32454, "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32455, "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32456, "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32457, "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32458, "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32459, "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32460, "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32501, "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32502, "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32503, "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32504, "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32505, "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32506, "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32507, "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32508, "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32509, "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32510, "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32511, "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32512, "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32513, "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32514, "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32515, "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32516, "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32517, "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32518, "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32519, "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32520, "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32521, "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32522, "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32523, "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32524, "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32525, "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32526, "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32527, "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32528, "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32529, "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32530, "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32531, "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32532, "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32533, "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32534, "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32535, "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32536, "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32537, "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32538, "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32539, "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32540, "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32541, "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32542, "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32543, "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32544, "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32545, "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32546, "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32547, "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32548, "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32549, "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32550, "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32551, "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32552, "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32553, "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32554, "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32555, "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32556, "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32557, "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32558, "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32559, "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- {32560, "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs"},
- //{32600, ""},
- {32601, "+proj=utm +zone=1 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32602, "+proj=utm +zone=2 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32603, "+proj=utm +zone=3 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32604, "+proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32605, "+proj=utm +zone=5 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32606, "+proj=utm +zone=6 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32607, "+proj=utm +zone=7 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32608, "+proj=utm +zone=8 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32609, "+proj=utm +zone=9 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32610, "+proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32611, "+proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32612, "+proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32613, "+proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32614, "+proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32615, "+proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32616, "+proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32617, "+proj=utm +zone=17 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32618, "+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32619, "+proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32620, "+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32621, "+proj=utm +zone=21 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32622, "+proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32623, "+proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32624, "+proj=utm +zone=24 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32625, "+proj=utm +zone=25 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32626, "+proj=utm +zone=26 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32627, "+proj=utm +zone=27 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32628, "+proj=utm +zone=28 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32629, "+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32630, "+proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32631, "+proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32632, "+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32633, "+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32634, "+proj=utm +zone=34 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32635, "+proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32636, "+proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32637, "+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32638, "+proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32639, "+proj=utm +zone=39 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32640, "+proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32641, "+proj=utm +zone=41 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32642, "+proj=utm +zone=42 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32643, "+proj=utm +zone=43 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32644, "+proj=utm +zone=44 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32645, "+proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32646, "+proj=utm +zone=46 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32647, "+proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32648, "+proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32649, "+proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32650, "+proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32651, "+proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32652, "+proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32653, "+proj=utm +zone=53 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32654, "+proj=utm +zone=54 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32655, "+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32656, "+proj=utm +zone=56 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32657, "+proj=utm +zone=57 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32658, "+proj=utm +zone=58 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32659, "+proj=utm +zone=59 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32660, "+proj=utm +zone=60 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32661, "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32662, "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- //{32663, ""},
- {32664, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs"},
- {32665, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs"},
- {32666, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs"},
- {32667, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs"},
- //{32700, ""},
- {32701, "+proj=utm +zone=1 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32702, "+proj=utm +zone=2 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32703, "+proj=utm +zone=3 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32704, "+proj=utm +zone=4 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32705, "+proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32706, "+proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32707, "+proj=utm +zone=7 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32708, "+proj=utm +zone=8 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32709, "+proj=utm +zone=9 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32710, "+proj=utm +zone=10 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32711, "+proj=utm +zone=11 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32712, "+proj=utm +zone=12 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32713, "+proj=utm +zone=13 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32714, "+proj=utm +zone=14 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32715, "+proj=utm +zone=15 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32716, "+proj=utm +zone=16 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32717, "+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32718, "+proj=utm +zone=18 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32719, "+proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32720, "+proj=utm +zone=20 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32721, "+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32722, "+proj=utm +zone=22 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32723, "+proj=utm +zone=23 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32724, "+proj=utm +zone=24 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32725, "+proj=utm +zone=25 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32726, "+proj=utm +zone=26 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32727, "+proj=utm +zone=27 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32728, "+proj=utm +zone=28 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32729, "+proj=utm +zone=29 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32730, "+proj=utm +zone=30 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32731, "+proj=utm +zone=31 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32732, "+proj=utm +zone=32 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32733, "+proj=utm +zone=33 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32734, "+proj=utm +zone=34 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32735, "+proj=utm +zone=35 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32736, "+proj=utm +zone=36 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32737, "+proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32738, "+proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32739, "+proj=utm +zone=39 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32740, "+proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32741, "+proj=utm +zone=41 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32742, "+proj=utm +zone=42 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32743, "+proj=utm +zone=43 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32744, "+proj=utm +zone=44 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32745, "+proj=utm +zone=45 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32746, "+proj=utm +zone=46 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32747, "+proj=utm +zone=47 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32748, "+proj=utm +zone=48 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32749, "+proj=utm +zone=49 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32750, "+proj=utm +zone=50 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32751, "+proj=utm +zone=51 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32752, "+proj=utm +zone=52 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32753, "+proj=utm +zone=53 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32754, "+proj=utm +zone=54 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32755, "+proj=utm +zone=55 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32756, "+proj=utm +zone=56 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32757, "+proj=utm +zone=57 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32758, "+proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32759, "+proj=utm +zone=59 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32760, "+proj=utm +zone=60 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32761, "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {32766, "+proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {61206405, "+proj=longlat +ellps=bessel +no_defs"},
- {61216405, "+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0.0,0.0,0.0,0.0 +no_defs"},
- {61226405, "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs"},
- {61236405, "+proj=longlat +ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,-0.345,1.376,0.30857215014565614 +no_defs"},
- {61246405, "+proj=longlat +ellps=bessel +towgs84=414.1,41.3,603.1,-0.855,-2.141,7.023,0.0 +no_defs"},
- {61266405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61266413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61276405, "+proj=longlat +ellps=clrk66 +towgs84=-82.875,-57.097,-156.768,-2.158,-1.524,0.982,-0.07404906544270759 +no_defs"},
- {61286405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {61296405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {61306405, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs"},
- {61306413, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs"},
- {61316405, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=182.0,915.0,344.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61326405, "+proj=longlat +ellps=clrk80 +towgs84=-244.72,-162.773,400.75,0.0,0.0,0.0,0.0 +no_defs"},
- {61336405, "+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,0.0003,0.007,-0.002887707287459349 +no_defs"},
- {61346405, "+proj=longlat +ellps=clrk80 +towgs84=-191.808,-250.512,167.861,-0.792,-1.653,8.558,4.270300283733636 +no_defs"},
- {61356405, "+proj=longlat +ellps=clrk66 +towgs84=58.0,-283.0,-182.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61366405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {61376405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {61386405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {61396405, "+proj=longlat +ellps=clrk66 +towgs84=11.0,72.0,-101.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61406405, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- {61406413, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- {61416405, "+proj=longlat +ellps=GRS80 +towgs84=-48.0,55.0,52.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61426405, "+proj=longlat +ellps=clrk80 +towgs84=-125.0,53.0,467.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61436405, "+proj=longlat +ellps=clrk80 +towgs84=-124.76,53.0,466.79,0.0,0.0,0.0,0.0 +no_defs"},
- {61446405, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=214.0,804.0,268.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61456405, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +towgs84=275.57,676.78,229.6,0.0,0.0,0.0,0.0 +no_defs"},
- {61466405, "+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295.0,736.0,257.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61476405, "+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0.0,0.0,0.0,0.0 +no_defs"},
- {61486405, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61486413, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61496405, "+proj=longlat +ellps=bessel +towgs84=674.4,15.1,405.3,0.0,0.0,0.0,0.0 +no_defs"},
- {61506405, "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0.0,0.0,0.0,0.0 +no_defs"},
- {61516405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61516413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61526405, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- {61526413, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs"},
- {61536405, "+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0.0,0.0,0.0,0.0 +no_defs"},
- {61546405, "+proj=longlat +ellps=intl +towgs84=-123.02,-158.95,-168.47,0.0,0.0,0.0,0.0 +no_defs"},
- {61556405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83.0,37.0,124.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61566405, "+proj=longlat +ellps=bessel +towgs84=559.0,68.7,451.5,7.92,4.073,4.251,1.1777720436709203 +no_defs"},
- {61576405, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs"},
- {61586405, "+proj=longlat +ellps=intl +towgs84=-0.465,372.095,171.736,0.0,0.0,0.0,0.0 +no_defs"},
- {61596405, "+proj=longlat +ellps=intl +towgs84=-114.7,-98.5,-150.7,0.0,0.0,0.0,0.0 +no_defs"},
- {61606405, "+proj=longlat +ellps=intl +no_defs"},
- {61616405, "+proj=longlat +ellps=intl +towgs84=27.5,14.0,186.4,0.0,0.0,0.0,0.0 +no_defs"},
- {61626405, "+proj=longlat +ellps=bessel +no_defs"},
- {61636405, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61636413, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61646405, "+proj=longlat +ellps=krass +towgs84=-76.0,-138.0,67.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61656405, "+proj=longlat +ellps=intl +towgs84=-173.0,253.0,27.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61666405, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61676405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61676413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61686405, "+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199.0,32.0,322.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61696405, "+proj=longlat +ellps=clrk66 +towgs84=-115.0,118.0,426.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61706405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61706413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61716405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61716413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61736405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61736413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61746405, "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs"},
- {61756405, "+proj=longlat +ellps=clrk80 +towgs84=-88.0,4.0,101.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61766405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61766413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61786405, "+proj=longlat +ellps=krass +towgs84=24.0,-123.0,-94.0,0.02,0.25,0.13,0.226891286871806 +no_defs"},
- {61796405, "+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.17326243724756094 +no_defs"},
- {61806405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61806413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61816405, "+proj=longlat +ellps=intl +towgs84=-193.0,13.7,-39.3,-0.41,-2.933,2.688,0.08869386668625144 +no_defs"},
- {61826405, "+proj=longlat +ellps=intl +towgs84=-422.651,-172.995,84.02,0.0,0.0,0.0,0.0 +no_defs"},
- {61836405, "+proj=longlat +ellps=intl +towgs84=-104.0,167.0,-38.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61846405, "+proj=longlat +ellps=intl +towgs84=-203.0,141.0,53.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61886405, "+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355 +no_defs"},
- {61896405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61896413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61906405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61906413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {61916405, "+proj=longlat +ellps=krass +no_defs"},
- {61926405, "+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0.0,0.0,0.0,0.0 +no_defs"},
- {61936405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0.0,0.0,0.0,0.0 +no_defs"},
- {61946405, "+proj=longlat +ellps=intl +towgs84=163.511,127.533,-159.789,0.0,0.0,0.814,-0.12375888374825782 +no_defs"},
- {61956405, "+proj=longlat +ellps=intl +towgs84=105.0,326.0,-102.5,0.0,0.0,0.814,-0.12375888374825782 +no_defs"},
- {61966405, "+proj=longlat +ellps=intl +towgs84=-45.0,417.0,-3.5,0.0,0.0,0.814,-0.12375888374825782 +no_defs"},
- {61976405, "+proj=longlat +ellps=clrk80 +no_defs"},
- {61986405, "+proj=longlat +ellps=clrk80 +no_defs"},
- {61996405, "+proj=longlat +ellps=intl +no_defs"},
- {62006405, "+proj=longlat +ellps=krass +no_defs"},
- {62016405, "+proj=longlat +ellps=clrk80 +towgs84=-165.0,-11.0,206.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62026405, "+proj=longlat +ellps=aust_SA +towgs84=-124.133,-42.003,137.4,-0.008,-0.557,-0.178,-0.3824149507821167 +no_defs"},
- {62036405, "+proj=longlat +ellps=aust_SA +towgs84=-117.763,-51.51,139.061,0.292,-0.443,-0.277,-0.03939657799319541 +no_defs"},
- {62046405, "+proj=longlat +ellps=intl +towgs84=-18.944,-379.364,-24.063,0.04,0.764,-6.431,0.7543103964456315 +no_defs"},
- {62056405, "+proj=longlat +ellps=krass +towgs84=-43.0,-163.0,45.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62066405, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {62076405, "+proj=longlat +ellps=intl +towgs84=-288.885,-91.744,126.244,-1.691,-0.41,0.211,-0.948405579124149 +no_defs"},
- {62086405, "+proj=longlat +ellps=intl +towgs84=-161.0,310.0,-145.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62096405, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs84=-138.0,-105.0,-289.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62106405, "+proj=longlat +ellps=clrk80 +towgs84=-157.0,-2.0,-299.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62116405, "+proj=longlat +ellps=bessel +towgs84=-377.7,675.1,-52.2,0.0,0.0,0.0,0.0 +no_defs"},
- {62126405, "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0.0,0.0,0.0,0.0 +no_defs"},
- {62136405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106.0,-87.0,188.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62146405, "+proj=longlat +ellps=krass +towgs84=15.8,-154.4,-82.3,0.0,0.0,0.0,0.0 +no_defs"},
- {62156405, "+proj=longlat +ellps=intl +no_defs"},
- {62166405, "+proj=longlat +ellps=clrk66 +towgs84=-73.0,213.0,296.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62186405, "+proj=longlat +ellps=intl +towgs84=304.5,306.5,-318.1,0.0,0.0,0.0,0.0 +no_defs"},
- {62196405, "+proj=longlat +ellps=bessel +towgs84=-384.0,664.0,-48.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62206405, "+proj=longlat +ellps=clrk80 +towgs84=-50.9,-347.6,-231.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62216405, "+proj=longlat +ellps=intl +towgs84=-154.5,150.7,100.4,0.0,0.0,0.0,0.0 +no_defs"},
- {62226405, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs84=-136.0,-108.0,-292.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62236405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-260.1,5.5,432.2,0.0,0.0,0.0,0.0 +no_defs"},
- {62246405, "+proj=longlat +ellps=intl +towgs84=-134.0,229.0,-29.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62256405, "+proj=longlat +ellps=intl +towgs84=-206.0,172.0,-6.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62276405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83.58,-397.54,458.78,-17.595,-2.847,4.256,0.6652040001468859 +no_defs"},
- {62296405, "+proj=longlat +ellps=helmert +towgs84=-130.0,110.0,-13.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62306405, "+proj=longlat +ellps=intl +towgs84=-157.89,-17.16,-78.41,2.118,2.697,-1.434,-1.1097046576093785 +no_defs"},
- {62316405, "+proj=longlat +ellps=intl +towgs84=-82.981,-99.719,-110.709,-0.10470001565102613,0.031001600378938583,0.08040202147511816,-0.06482902860346239 +no_defs"},
- {62326405, "+proj=longlat +ellps=clrk80 +towgs84=-346.0,-1.0,224.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62336405, "+proj=longlat +ellps=intl +towgs84=-133.0,-321.0,50.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62366405, "+proj=longlat +ellps=intl +towgs84=-637.0,-549.0,-203.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62376405, "+proj=longlat +ellps=GRS67 +towgs84=57.01,-69.97,-9.29,0.0,0.0,0.0,0.0 +no_defs"},
- {62386405, "+proj=longlat +a=6378160 +b=6356774.50408554 +towgs84=-1.977,-13.06,-9.993,0.364,-0.254,-0.689,-0.2138966040782389 +no_defs"},
- {62396405, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217.0,823.0,299.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62406405, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=204.64,834.74,293.8,0.0,0.0,0.0,0.0 +no_defs"},
- {62416405, "+proj=longlat +ellps=clrk80 +no_defs"},
- {62426405, "+proj=longlat +ellps=clrk66 +towgs84=-33.722,153.789,94.959,-8.581,4.478,-4.54,1.8460700159115124 +no_defs"},
- {62436405, "+proj=longlat +a=6377299.36559538 +b=6356098.357204818 +no_defs"},
- {62446405, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97.0,787.0,86.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62456405, "+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11.0,851.0,5.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62466405, "+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0.0,0.0,0.0,0.0 +no_defs"},
- {62476405, "+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0.0,0.0,0.0,0.0 +no_defs"},
- {62486405, "+proj=longlat +ellps=intl +towgs84=-307.7,265.3,-363.5,0.0,0.0,0.0,0.0 +no_defs"},
- {62496405, "+proj=longlat +ellps=intl +no_defs"},
- {62506405, "+proj=longlat +ellps=clrk80 +towgs84=-130.0,29.0,364.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62516405, "+proj=longlat +ellps=clrk80 +towgs84=-90.0,40.0,88.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62526405, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {62536405, "+proj=longlat +ellps=clrk66 +towgs84=-133.0,-77.0,-51.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62546405, "+proj=longlat +ellps=intl +towgs84=18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0002681442481212253 +no_defs"},
- {62556405, "+proj=longlat +ellps=intl +towgs84=-333.0,-222.0,114.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62566405, "+proj=longlat +ellps=clrk80 +towgs84=41.0,-220.0,-134.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62576405, "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0.0,0.0,0.0,0.0 +no_defs"},
- {62586405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62586413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62596405, "+proj=longlat +ellps=intl +towgs84=-254.1,-5.36,-100.29,0.0,0.0,0.0,0.0 +no_defs"},
- {62616405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31.0,146.0,47.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62626405, "+proj=longlat +ellps=bessel +towgs84=639.0,405.0,60.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62636405, "+proj=longlat +ellps=clrk80 +towgs84=-90.2,-87.32,114.17,0.0,0.0,0.0,0.0 +no_defs"},
- {62646405, "+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0.0,0.0,0.0,0.0 +no_defs"},
- {62656405, "+proj=longlat +ellps=intl +towgs84=-50.2,-50.4,84.8,-0.69,-2.012,0.459,-5.791915759418465 +no_defs"},
- {62666405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-80.7,-132.5,41.1,0.0,0.0,0.0,0.0 +no_defs"},
- {62676405, "+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs"},
- {62686405, "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs"},
- {62696405, "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs"},
- {62706405, "+proj=longlat +ellps=clrk80 +towgs84=-245.0,-153.9,382.8,0.0,0.0,0.0,0.0 +no_defs"},
- {62716405, "+proj=longlat +ellps=intl +towgs84=-2.0,374.0,172.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62726405, "+proj=longlat +ellps=intl +datum=nzgd49 +no_defs"},
- {62736405, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93.0,474.5,7.889,0.05,-6.61,1.2809044467944684 +no_defs"},
- {62746405, "+proj=longlat +ellps=intl +towgs84=-239.749,88.181,30.488,0.263,-0.082,-1.211,0.4597642531247778 +no_defs"},
- {62756405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168.0,-60.0,320.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62766405, "+proj=longlat +ellps=WGS66 +no_defs"},
- {62776405, "+proj=longlat +ellps=airy +datum=OSGB36 +no_defs"},
- {62786405, "+proj=longlat +ellps=airy +no_defs"},
- {62796405, "+proj=longlat +ellps=airy +no_defs"},
- {62806405, "+proj=longlat +ellps=bessel +no_defs"},
- {62816405, "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,0.20626480624709637 +no_defs"},
- {62826405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849 +no_defs"},
- {62836405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62836413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62846405, "+proj=longlat +ellps=krass +towgs84=-40.595,-18.55,-69.339,2.508,-1.832,2.611,-0.8867324020562674 +no_defs"},
- {62856405, "+proj=longlat +ellps=intl +towgs84=-128.033,-283.697,21.052,0.0,0.0,0.0,0.0 +no_defs"},
- {62866405, "+proj=longlat +ellps=helmert +no_defs"},
- {62886405, "+proj=longlat +ellps=intl +no_defs"},
- {62896405, "+proj=longlat +ellps=bessel +towgs84=565.04,49.91,465.84,-0.40939438743923684,-0.35970519561431136,1.868491000350572,0.8409828680306614 +no_defs"},
- {62926405, "+proj=longlat +ellps=intl +towgs84=-355.0,21.0,72.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62936405, "+proj=longlat +ellps=bess_nam +towgs84=616.0,97.0,-251.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62956405, "+proj=longlat +ellps=bessel +no_defs"},
- {62976405, "+proj=longlat +ellps=intl +towgs84=-189.0,-242.0,-91.0,0.0,0.0,0.0,0.0 +no_defs"},
- {62986405, "+proj=longlat +ellps=evrstSS +towgs84=-533.4,669.2,-52.5,0.0,0.0,4.28,1.9388891787227058 +no_defs"},
- {62996405, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355 +no_defs"},
- {63006405, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355 +no_defs"},
- {63016405, "+proj=longlat +ellps=bessel +towgs84=-147.0,506.0,687.0,0.0,0.0,0.0,0.0 +no_defs"},
- {63026405, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +towgs84=-61.702,284.488,472.052,0.0,0.0,0.0,0.0 +no_defs"},
- {63036405, "+proj=longlat +ellps=helmert +no_defs"},
- {63046405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73.0,-247.0,227.0,0.0,0.0,0.0,0.0 +no_defs"},
- {63066405, "+proj=longlat +ellps=bessel +no_defs"},
- {63076405, "+proj=longlat +ellps=clrk80 +towgs84=-169.559,-72.34,303.102,0.0,0.0,0.0,0.0 +no_defs"},
- {63086405, "+proj=longlat +ellps=bessel +no_defs"},
- {63096405, "+proj=longlat +ellps=intl +towgs84=-155.0,171.0,37.0,0.0,0.0,0.0,0.0 +no_defs"},
- {63106405, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"},
- {63116405, "+proj=longlat +ellps=intl +towgs84=-265.0,120.0,-358.0,0.0,0.0,0.0,0.0 +no_defs"},
- {63126405, "+proj=longlat +ellps=bessel +towgs84=426.9,142.6,460.1,4.91,4.49,-12.42,3.5271281868253483 +no_defs"},
- {63136405, "+proj=longlat +ellps=intl +towgs84=-106.8686,52.2978,-103.7239,0.3366,0.457,-1.8422,0.26292574852317374 +no_defs"},
- {63146405, "+proj=longlat +ellps=bessel +datum=potsdam +no_defs"},
- {63156405, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23.0,259.0,-9.0,0.0,0.0,0.0,0.0 +no_defs"},
- {63166405, "+proj=longlat +ellps=intl +towgs84=103.25,-100.4,-307.19,0.0,0.0,0.0,0.0 +no_defs"},
- {63176405, "+proj=longlat +ellps=krass +towgs84=28.0,-121.0,-77.0,0.0,0.0,0.0,0.0 +no_defs"},
- {63186405, "+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0.0,0.0,0.0,0.0 +no_defs"},
- {63196405, "+proj=longlat +ellps=GRS80 +towgs84=226.702,-193.337,-35.371,-2.229,4.391,-9.238,0.20209825716090501 +no_defs"},
- {63226405, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105 +no_defs"},
- {63246405, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662 +no_defs"},
- {63266405, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{63266406, ""},
- //{63266407, ""},
- //{63266408, ""},
- //{63266409, ""},
- //{63266410, ""},
- {63266411, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{63266412, ""},
- {63266413, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{63266414, ""},
- //{63266415, ""},
- //{63266416, ""},
- //{63266417, ""},
- //{63266418, ""},
- {63266419, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"},
- //{63266420, ""},
- {66006405, "+proj=longlat +ellps=clrk80 +no_defs"},
- {66016405, "+proj=longlat +ellps=clrk80 +towgs84=-255.0,-15.0,71.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66026405, "+proj=longlat +ellps=clrk80 +towgs84=725.0,685.0,536.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66036405, "+proj=longlat +ellps=clrk80 +towgs84=72.0,213.7,93.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66046405, "+proj=longlat +ellps=clrk80 +towgs84=174.0,359.0,365.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66056405, "+proj=longlat +ellps=clrk80 +towgs84=9.0,183.0,236.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66066405, "+proj=longlat +ellps=clrk80 +towgs84=-149.0,128.0,296.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66076405, "+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0.0,0.0,0.0,0.0 +no_defs"},
- {66086405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {66096405, "+proj=longlat +ellps=clrk66 +no_defs"},
- {66106405, "+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs"},
- {66116405, "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-0.22570443917666022 +no_defs"},
- {66126405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66126413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66136405, "+proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0.0,0.0,0.0,0.0 +no_defs"},
- {66146405, "+proj=longlat +ellps=intl +towgs84=-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,0.7543238036580374 +no_defs"},
- {66156405, "+proj=longlat +ellps=intl +towgs84=-499.0,-249.0,314.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66166405, "+proj=longlat +ellps=intl +towgs84=-289.0,-124.0,60.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66186405, "+proj=longlat +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0.0,0.0,0.0,0.0 +no_defs"},
- {66196405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66196413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66206405, "+proj=longlat +ellps=clrk80 +towgs84=-106.0,-129.0,165.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66216405, "+proj=longlat +ellps=intl +towgs84=137.0,248.0,-430.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66226405, "+proj=longlat +ellps=intl +towgs84=-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,0.39157310817948776 +no_defs"},
- {66236405, "+proj=longlat +ellps=intl +towgs84=-186.0,230.0,110.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66246405, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66246413, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66256405, "+proj=longlat +ellps=intl +towgs84=126.93,547.94,130.41,-2.7867,5.1612,-0.8584,2.851136537311739 +no_defs"},
- {66266405, "+proj=longlat +ellps=intl +towgs84=94.0,-948.0,-1262.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66276405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66276413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66286405, "+proj=longlat +ellps=intl +towgs84=162.0,117.0,154.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66296405, "+proj=longlat +ellps=intl +towgs84=72.438,345.918,79.486,1.6045,-0.8823,-0.5565,0.2835316026672587 +no_defs"},
- {66306405, "+proj=longlat +ellps=intl +towgs84=259.551,297.612,197.833,-1.4866,2.1224,0.4612,5.574285762347154 +no_defs"},
- {66316405, "+proj=longlat +ellps=intl +towgs84=145.0,-187.0,103.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66326405, "+proj=longlat +ellps=intl +towgs84=-382.0,-59.0,-262.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66336405, "+proj=longlat +ellps=intl +towgs84=335.47,222.58,-230.94,0.0,0.0,0.0,0.0 +no_defs"},
- {66346405, "+proj=longlat +ellps=intl +towgs84=-11.64,-348.6,291.98,0.0,0.0,0.0,0.0 +no_defs"},
- {66356405, "+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,0.9240250790257423 +no_defs"},
- {66366405, "+proj=longlat +ellps=intl +towgs84=365.0,194.0,166.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66376405, "+proj=longlat +ellps=intl +towgs84=325.0,154.0,172.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66386405, "+proj=longlat +ellps=clrk66 +towgs84=30.0,430.0,368.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66396405, "+proj=longlat +ellps=intl +towgs84=253.0,-132.0,-127.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66406405, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66406413, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66416405, "+proj=longlat +ellps=intl +towgs84=287.58,177.78,-135.41,0.0,0.0,0.0,0.0 +no_defs"},
- {66426405, "+proj=longlat +ellps=intl +towgs84=-13.0,-348.0,292.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66436405, "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-23.039820110761912 +no_defs"},
- {66446405, "+proj=longlat +ellps=intl +towgs84=-10.18,-350.43,291.37,0.0,0.0,0.0,0.0 +no_defs"},
- {66456405, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66456413, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66466405, "+proj=longlat +ellps=intl +no_defs"},
- {66576405, "+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28.0,199.0,5.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66586405, "+proj=longlat +ellps=intl +towgs84=-73.0,46.0,-86.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66596405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66596413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66606405, "+proj=longlat +ellps=intl +towgs84=982.6087,552.753,-540.873,6.681626625276941,-31.61149240864225,-19.848161004816845,3.466280068982454 +no_defs"},
- {66616405, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66616413, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {66636405, "+proj=longlat +ellps=intl +towgs84=-210.502,-66.902,-48.476,2.094,15.067,5.817,0.10003843102984174 +no_defs"},
- {66646405, "+proj=longlat +ellps=intl +towgs84=-208.719,129.685,52.092,-0.195,0.014,-0.327,0.040840431636925086 +no_defs"},
- {66656405, "+proj=longlat +ellps=intl +towgs84=-103.088,162.481,-28.276,0.167,-0.082,-0.168,-0.31022226859563296 +no_defs"},
- {66666405, "+proj=longlat +ellps=bessel +towgs84=631.392,-66.551,481.442,1.09,4.445,4.487,-0.9137530916746368 +no_defs"},
- {66676405, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs"},
- {68016405, "+proj=longlat +ellps=bessel +pm=bern +no_defs"},
- {68026405, "+proj=longlat +ellps=intl +pm=bogota +no_defs"},
- {68036405, "+proj=longlat +ellps=intl +pm=lisbon +no_defs"},
- {68046405, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {68056405, "+proj=longlat +ellps=bessel +pm=ferro +no_defs"},
- {68066405, "+proj=longlat +ellps=intl +pm=rome +no_defs"},
- {68086405, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {68096405, "+proj=longlat +ellps=intl +pm=brussels +no_defs"},
- {68136405, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {68146405, "+proj=longlat +ellps=bessel +pm=stockholm +no_defs"},
- {68156405, "+proj=longlat +ellps=bessel +pm=athens +no_defs"},
- {68186405, "+proj=longlat +ellps=bessel +pm=ferro +no_defs"},
- {68206405, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs"},
- {69036405, "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madrid +no_defs"}
+ {2000, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(units_m)(no_defs)},
+ {2001, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(units_m)(no_defs)},
+ {2002, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(725,685,536,0,0,0,0))(units_m)(no_defs)},
+ {2003, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(72,213.7,93,0,0,0,0))(units_m)(no_defs)},
+ {2004, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(174,359,365,0,0,0,0))(units_m)(no_defs)},
+ {2005, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(units_m)(no_defs)},
+ {2006, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-149,128,296,0,0,0,0))(units_m)(no_defs)},
+ {2007, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(195.671,332.517,274.607,0,0,0,0))(units_m)(no_defs)},
+ {2008, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-55.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2009, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-58.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2010, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-61.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2011, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-64.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2012, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-67.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2013, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-70.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2014, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-73.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2015, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-76.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2016, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-79.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2017, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-73.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2018, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-76.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2019, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-79.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2020, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-82.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2021, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2022, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-84)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2023, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2024, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2025, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2026, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-96)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2027, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_clrk66)(units_m)(no_defs)},
+ {2028, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_clrk66)(units_m)(no_defs)},
+ {2029, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_clrk66)(units_m)(no_defs)},
+ {2030, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_clrk66)(units_m)(no_defs)},
+ {2031, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_clrk66)(units_m)(no_defs)},
+ {2032, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_clrk66)(units_m)(no_defs)},
+ {2033, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_clrk66)(units_m)(no_defs)},
+ {2034, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_clrk66)(units_m)(no_defs)},
+ {2035, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_clrk66)(units_m)(no_defs)},
+ {2036, srs::dpar::parameters<>(proj_sterea)(lat_0,46.5)(lon_0,-66.5)(k,0.999912)(x_0,2500000)(y_0,7500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2037, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2038, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2039, srs::dpar::parameters<>(proj_tmerc)(lat_0,31.73439361111111)(lon_0,35.20451694444445)(k,1.0000067)(x_0,219529.584)(y_0,626907.39)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-48,55,52,0,0,0,0))(units_m)(no_defs)},
+ {2040, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-125,53,467,0,0,0,0))(units_m)(no_defs)},
+ {2041, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-124.76,53,466.79,0,0,0,0))(units_m)(no_defs)},
+ {2042, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-125,53,467,0,0,0,0))(units_m)(no_defs)},
+ {2043, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-124.76,53,466.79,0,0,0,0))(units_m)(no_defs)},
+ {2044, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,18500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0))(units_m)(no_defs)},
+ {2045, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,19500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0))(units_m)(no_defs)},
+ //{2046},
+ //{2047},
+ //{2048},
+ //{2049},
+ //{2050},
+ //{2051},
+ //{2052},
+ //{2053},
+ //{2054},
+ //{2055},
+ {2056, srs::dpar::parameters<>(proj_somerc)(lat_0,46.95240555555556)(lon_0,7.439583333333333)(k_0,1)(x_0,2600000)(y_0,1200000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(674.374,15.056,405.346,0,0,0,0))(units_m)(no_defs)},
+ {2057, srs::dpar::parameters<>(proj_omerc)(lat_0,27.51882880555555)(lonc,52.60353916666667)(alpha,0.5716611944444444)(k,0.999895934)(x_0,658377.437)(y_0,3044969.194)(ellps_intl)(towgs84,srs::detail::towgs84<>(-133.63,-157.5,-158.62,0,0,0,0))(units_m)(no_defs)},
+ {2058, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_intl)(units_m)(no_defs)},
+ {2059, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_intl)(units_m)(no_defs)},
+ {2060, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_intl)(units_m)(no_defs)},
+ {2061, srs::dpar::parameters<>(proj_utm)(zone,41)(ellps_intl)(units_m)(no_defs)},
+ {2062, srs::dpar::parameters<>(proj_lcc)(lat_1,40)(lat_0,40)(lon_0,0)(k_0,0.9988085293)(x_0,600000)(y_0,600000)(a,6378298.3)(b,6356657.142669561)(pm_madrid)(units_m)(no_defs)},
+ {2063, srs::dpar::parameters<>(proj_utm)(zone,28)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-23,259,-9,0,0,0,0))(units_m)(no_defs)},
+ {2064, srs::dpar::parameters<>(proj_utm)(zone,29)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-23,259,-9,0,0,0,0))(units_m)(no_defs)},
+ {2065, srs::dpar::parameters<>(proj_krovak)(lat_0,49.5)(lon_0,42.5)(alpha,30.28813972222222)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {2066, srs::dpar::parameters<>(proj_cass)(lat_0,11.25217861111111)(lon_0,-60.68600888888889)(x_0,37718.66159325)(y_0,36209.91512952)(a,6378293.645208759)(b,6356617.987679838)(to_meter,0.201166195164)(no_defs)},
+ {2067, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(units_m)(no_defs)},
+ {2068, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2069, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,11)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2070, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2071, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2072, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,17)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2073, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,19)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2074, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2075, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,23)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2076, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,25)(k,0.9999)(x_0,200000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2077, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_intl)(units_m)(no_defs)},
+ {2078, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_intl)(units_m)(no_defs)},
+ {2079, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_intl)(units_m)(no_defs)},
+ {2080, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_intl)(units_m)(no_defs)},
+ {2081, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-69)(k,1)(x_0,2500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2082, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-69)(k,1)(x_0,2500000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(27.5,14,186.4,0,0,0,0))(units_m)(no_defs)},
+ {2083, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-69)(k,1)(x_0,2500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2084, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_intl)(units_m)(no_defs)},
+ {2085, srs::dpar::parameters<>(proj_lcc)(lat_1,22.35)(lat_0,22.35)(lon_0,-81)(k_0,0.99993602)(x_0,500000)(y_0,280296.016)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {2086, srs::dpar::parameters<>(proj_lcc)(lat_1,20.71666666666667)(lat_0,20.71666666666667)(lon_0,-76.83333333333333)(k_0,0.99994848)(x_0,500000)(y_0,229126.939)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {2087, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,0.9996)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2088, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,11)(k,0.9996)(x_0,500000)(y_0,0)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {2089, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2090, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2091, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-76,-138,67,0,0,0,0))(units_m)(no_defs)},
+ {2092, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,9500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-76,-138,67,0,0,0,0))(units_m)(no_defs)},
+ {2093, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,106)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0))(units_m)(no_defs)},
+ {2094, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,106)(k,0.9996)(x_0,500000)(y_0,0)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {2095, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(towgs84,srs::detail::towgs84<>(-173,253,27,0,0,0,0))(units_m)(no_defs)},
+ {2096, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,129)(k,1)(x_0,200000)(y_0,500000)(ellps_bessel)(units_m)(no_defs)},
+ {2097, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,127)(k,1)(x_0,200000)(y_0,500000)(ellps_bessel)(units_m)(no_defs)},
+ {2098, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,125)(k,1)(x_0,200000)(y_0,500000)(ellps_bessel)(units_m)(no_defs)},
+ {2099, srs::dpar::parameters<>(proj_cass)(lat_0,25.38236111111111)(lon_0,50.76138888888889)(x_0,100000)(y_0,100000)(ellps_helmert)(units_m)(no_defs)},
+ {2100, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9996)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-199.87,74.79,246.62,0,0,0,0))(units_m)(no_defs)},
+ {2101, srs::dpar::parameters<>(proj_lcc)(lat_1,10.16666666666667)(lat_0,10.16666666666667)(lon_0,-71.60561777777777)(k_0,1)(x_0,0)(y_0,-52684.972)(ellps_intl)(units_m)(no_defs)},
+ {2102, srs::dpar::parameters<>(proj_lcc)(lat_1,10.16666666666667)(lat_0,10.16666666666667)(lon_0,-71.60561777777777)(k_0,1)(x_0,200000)(y_0,147315.028)(ellps_intl)(units_m)(no_defs)},
+ {2103, srs::dpar::parameters<>(proj_lcc)(lat_1,10.16666666666667)(lat_0,10.16666666666667)(lon_0,-71.60561777777777)(k_0,1)(x_0,500000)(y_0,447315.028)(ellps_intl)(units_m)(no_defs)},
+ {2104, srs::dpar::parameters<>(proj_lcc)(lat_1,10.16666666666667)(lat_0,10.16666666666667)(lon_0,-71.60561777777777)(k_0,1)(x_0,-17044)(y_0,-23139.97)(ellps_intl)(units_m)(no_defs)},
+ {2105, srs::dpar::parameters<>(proj_tmerc)(lat_0,-36.87972222222222)(lon_0,174.7641666666667)(k,0.9999)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2106, srs::dpar::parameters<>(proj_tmerc)(lat_0,-37.76111111111111)(lon_0,176.4661111111111)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2107, srs::dpar::parameters<>(proj_tmerc)(lat_0,-38.62444444444444)(lon_0,177.8855555555556)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2108, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39.65083333333333)(lon_0,176.6736111111111)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2109, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39.13555555555556)(lon_0,174.2277777777778)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2110, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39.51222222222222)(lon_0,175.64)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2111, srs::dpar::parameters<>(proj_tmerc)(lat_0,-40.24194444444444)(lon_0,175.4880555555555)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2112, srs::dpar::parameters<>(proj_tmerc)(lat_0,-40.92527777777777)(lon_0,175.6472222222222)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2113, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.3011111111111)(lon_0,174.7763888888889)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2114, srs::dpar::parameters<>(proj_tmerc)(lat_0,-40.71472222222223)(lon_0,172.6719444444444)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2115, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.27444444444444)(lon_0,173.2991666666667)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2116, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.28972222222222)(lon_0,172.1088888888889)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2117, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.81055555555555)(lon_0,171.5811111111111)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2118, srs::dpar::parameters<>(proj_tmerc)(lat_0,-42.33361111111111)(lon_0,171.5497222222222)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2119, srs::dpar::parameters<>(proj_tmerc)(lat_0,-42.68888888888888)(lon_0,173.01)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2120, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.54444444444444)(lon_0,173.8019444444444)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2121, srs::dpar::parameters<>(proj_tmerc)(lat_0,-42.88611111111111)(lon_0,170.9797222222222)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2122, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.11)(lon_0,170.2608333333333)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2123, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.97777777777778)(lon_0,168.6061111111111)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2124, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.59055555555556)(lon_0,172.7269444444445)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2125, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.74861111111111)(lon_0,171.3605555555555)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2126, srs::dpar::parameters<>(proj_tmerc)(lat_0,-44.40194444444445)(lon_0,171.0572222222222)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2127, srs::dpar::parameters<>(proj_tmerc)(lat_0,-44.735)(lon_0,169.4675)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2128, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.13277777777778)(lon_0,168.3986111111111)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2129, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.56361111111111)(lon_0,167.7386111111111)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2130, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.81611111111111)(lon_0,170.6283333333333)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2131, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.86138888888889)(lon_0,170.2825)(k,0.99996)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2132, srs::dpar::parameters<>(proj_tmerc)(lat_0,-46.6)(lon_0,168.3427777777778)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2133, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2134, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2135, srs::dpar::parameters<>(proj_utm)(zone,60)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2136, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.666666666666667)(lon_0,-1)(k,0.99975)(x_0,274319.7391633579)(y_0,0)(a,6378300)(b,6356751.689189189)(towgs84,srs::detail::towgs84<>(-199,32,322,0,0,0,0))(to_meter,0.3047997101815088)(no_defs)},
+ {2137, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-1)(k,0.9996)(x_0,500000)(y_0,0)(a,6378300)(b,6356751.689189189)(towgs84,srs::detail::towgs84<>(-199,32,322,0,0,0,0))(units_m)(no_defs)},
+ {2138, srs::dpar::parameters<>(proj_lcc)(lat_1,60)(lat_2,46)(lat_0,44)(lon_0,-68.5)(x_0,0)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {2139, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-55.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2140, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-58.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2141, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-61.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2142, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-64.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2143, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-67.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2144, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-70.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2145, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-73.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2146, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-76.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2147, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-79.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2148, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2149, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2150, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2151, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2152, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2153, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2154, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,44)(lat_0,46.5)(lon_0,3)(x_0,700000)(y_0,6600000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2155, srs::dpar::parameters<>(proj_lcc)(lat_1,-14.26666666666667)(lat_0,-14.26666666666667)(lon_0,170)(k_0,1)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-115,118,426,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {2156, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_grs80)(units_m)(no_defs)},
+ {2157, srs::dpar::parameters<>(proj_tmerc)(lat_0,53.5)(lon_0,-8)(k,0.99982)(x_0,600000)(y_0,750000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2158, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2159, srs::dpar::parameters<>(proj_tmerc)(lat_0,6.666666666666667)(lon_0,-12)(k,1)(x_0,152399.8550907544)(y_0,0)(a,6378300)(b,6356751.689189189)(to_meter,0.3047997101815088)(no_defs)},
+ {2160, srs::dpar::parameters<>(proj_tmerc)(lat_0,6.666666666666667)(lon_0,-12)(k,1)(x_0,243839.7681452071)(y_0,182879.8261089053)(a,6378300)(b,6356751.689189189)(to_meter,0.3047997101815088)(no_defs)},
+ {2161, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-88,4,101,0,0,0,0))(units_m)(no_defs)},
+ {2162, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-88,4,101,0,0,0,0))(units_m)(no_defs)},
+ {2163, srs::dpar::parameters<>(proj_laea)(lat_0,45)(lon_0,-100)(x_0,0)(y_0,0)(r,6370997)(units_m)(no_defs)},
+ {2164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-5)(k,0.9996)(x_0,500000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-125,53,467,0,0,0,0))(units_m)(no_defs)},
+ {2165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-5)(k,0.9996)(x_0,500000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-124.76,53,466.79,0,0,0,0))(units_m)(no_defs)},
+ {2166, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,3500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(units_m)(no_defs)},
+ {2167, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(units_m)(no_defs)},
+ {2168, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(units_m)(no_defs)},
+ {2169, srs::dpar::parameters<>(proj_tmerc)(lat_0,49.83333333333334)(lon_0,6.166666666666667)(k,1)(x_0,80000)(y_0,100000)(ellps_intl)(towgs84,srs::detail::towgs84<>(-193,13.7,-39.3,-0.41,-2.933,2.688,0.43))(units_m)(no_defs)},
+ {2170, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9999)(x_0,500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {2171, srs::dpar::parameters<>(proj_sterea)(lat_0,50.625)(lon_0,21.08333333333333)(k,0.9998)(x_0,4637000)(y_0,5647000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {2172, srs::dpar::parameters<>(proj_sterea)(lat_0,53.00194444444445)(lon_0,21.50277777777778)(k,0.9998)(x_0,4603000)(y_0,5806000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {2173, srs::dpar::parameters<>(proj_sterea)(lat_0,53.58333333333334)(lon_0,17.00833333333333)(k,0.9998)(x_0,3501000)(y_0,5999000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {2174, srs::dpar::parameters<>(proj_sterea)(lat_0,51.67083333333333)(lon_0,16.67222222222222)(k,0.9998)(x_0,3703000)(y_0,5627000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {2175, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18.95833333333333)(k,0.999983)(x_0,237000)(y_0,-4700000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {2176, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.999923)(x_0,5500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2177, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,0.999923)(x_0,6500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2178, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,0.999923)(x_0,7500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2179, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.999923)(x_0,8500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2180, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,19)(k,0.9993)(x_0,500000)(y_0,-5300000)(ellps_grs80)(units_m)(no_defs)},
+ {2188, srs::dpar::parameters<>(proj_utm)(zone,25)(ellps_intl)(units_m)(no_defs)},
+ {2189, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(towgs84,srs::detail::towgs84<>(-104,167,-38,0,0,0,0))(units_m)(no_defs)},
+ {2190, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(towgs84,srs::detail::towgs84<>(-203,141,53,0,0,0,0))(units_m)(no_defs)},
+ {2191, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(units_m)(no_defs)},
+ {2192, srs::dpar::parameters<>(proj_lcc)(lat_1,46.8)(lat_0,46.8)(lon_0,2.337229166666667)(k_0,0.99987742)(x_0,600000)(y_0,2200000)(ellps_intl)(units_m)(no_defs)},
+ {2193, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,173)(k,0.9996)(x_0,1600000)(y_0,10000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2194, srs::dpar::parameters<>(proj_lcc)(lat_1,-14.26666666666667)(lat_0,-14.26666666666667)(lon_0,-170)(k_0,1)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-115,118,426,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {2195, srs::dpar::parameters<>(proj_utm)(zone,2)(south)(ellps_grs80)(units_m)(no_defs)},
+ {2196, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9.5)(k,0.99995)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2197, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,0.99995)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2198, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,900000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2199, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2200, srs::dpar::parameters<>(proj_sterea)(lat_0,46.5)(lon_0,-66.5)(k,0.999912)(x_0,300000)(y_0,800000)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ {2201, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2202, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2203, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2204, srs::dpar::parameters<>(proj_lcc)(lat_1,35.25)(lat_2,36.41666666666666)(lat_0,34.66666666666666)(lon_0,-86)(x_0,609601.2192024384)(y_0,30480.06096012192)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {2205, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {2206, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,9500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2207, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,10500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2208, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,11500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2209, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,1)(x_0,12500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2210, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,13500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2211, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,42)(k,1)(x_0,14500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2212, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,15500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2213, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,0.9996)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2214, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,10.5)(k,0.999)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206.1,-174.7,-87.7,0,0,0,0))(units_m)(no_defs)},
+ {2215, srs::dpar::parameters<>(proj_utm)(zone,32)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-70.9,-151.8,-41.4,0,0,0,0))(units_m)(no_defs)},
+ {2216, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_intl)(units_m)(no_defs)},
+ {2217, srs::dpar::parameters<>(proj_utm)(zone,23)(ellps_intl)(units_m)(no_defs)},
+ //{2218},
+ {2219, srs::dpar::parameters<>(proj_utm)(zone,19)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ {2220, srs::dpar::parameters<>(proj_utm)(zone,20)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ //{2221},
+ {2222, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2223, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2224, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2225, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2226, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2227, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2228, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2229, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2230, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2231, srs::dpar::parameters<>(proj_lcc)(lat_1,40.78333333333333)(lat_2,39.71666666666667)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2232, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2233, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2234, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096012192)(y_0,152400.3048006096)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2235, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2236, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2237, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2238, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2239, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2240, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,699999.9998983998)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2241, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2242, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2243, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,800000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2244, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,99999.99989839978)(y_0,249364.9987299975)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2245, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,249364.9987299975)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2246, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2247, srs::dpar::parameters<>(proj_lcc)(lat_1,37.93333333333333)(lat_2,36.73333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000.0001016001)(y_0,500000.0001016001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2248, srs::dpar::parameters<>(proj_lcc)(lat_1,39.45)(lat_2,38.3)(lat_0,37.66666666666666)(lon_0,-77)(x_0,399999.9998983998)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2249, srs::dpar::parameters<>(proj_lcc)(lat_1,42.68333333333333)(lat_2,41.71666666666667)(lat_0,41)(lon_0,-71.5)(x_0,200000.0001016002)(y_0,750000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2250, srs::dpar::parameters<>(proj_lcc)(lat_1,41.48333333333333)(lat_2,41.28333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2251, srs::dpar::parameters<>(proj_lcc)(lat_1,47.08333333333334)(lat_2,45.48333333333333)(lat_0,44.78333333333333)(lon_0,-87)(x_0,7999999.999968001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2252, srs::dpar::parameters<>(proj_lcc)(lat_1,45.7)(lat_2,44.18333333333333)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,5999999.999976001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2253, srs::dpar::parameters<>(proj_lcc)(lat_1,43.66666666666666)(lat_2,42.1)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,3999999.999984)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2254, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2255, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,699999.9998983998)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2256, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,45)(lat_0,44.25)(lon_0,-109.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2257, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,165000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2258, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2259, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,830000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2260, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2261, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,249999.9998983998)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2262, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2263, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2264, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.2192024384)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2265, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.43333333333333)(lat_0,47)(lon_0,-100.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2266, srs::dpar::parameters<>(proj_lcc)(lat_1,47.48333333333333)(lat_2,46.18333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2267, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,35.56666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2268, srs::dpar::parameters<>(proj_lcc)(lat_1,35.23333333333333)(lat_2,33.93333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2269, srs::dpar::parameters<>(proj_lcc)(lat_1,46)(lat_2,44.33333333333334)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000.0001424)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2270, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,42.33333333333334)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000.0001464)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2271, srs::dpar::parameters<>(proj_lcc)(lat_1,41.95)(lat_2,40.88333333333333)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2272, srs::dpar::parameters<>(proj_lcc)(lat_1,40.96666666666667)(lat_2,39.93333333333333)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2273, srs::dpar::parameters<>(proj_lcc)(lat_1,34.83333333333334)(lat_2,32.5)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2274, srs::dpar::parameters<>(proj_lcc)(lat_1,36.41666666666666)(lat_2,35.25)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2275, srs::dpar::parameters<>(proj_lcc)(lat_1,36.18333333333333)(lat_2,34.65)(lat_0,34)(lon_0,-101.5)(x_0,200000.0001016002)(y_0,999999.9998983998)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2276, srs::dpar::parameters<>(proj_lcc)(lat_1,33.96666666666667)(lat_2,32.13333333333333)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000.0001016)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2277, srs::dpar::parameters<>(proj_lcc)(lat_1,31.88333333333333)(lat_2,30.11666666666667)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,699999.9998983998)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2278, srs::dpar::parameters<>(proj_lcc)(lat_1,30.28333333333333)(lat_2,28.38333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,3999999.9998984)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2279, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000.0000000001)(y_0,5000000.0001016)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2280, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.0001504)(y_0,999999.9999960001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2281, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.0001504)(y_0,1999999.999992)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2282, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.0001504)(y_0,2999999.999988)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2283, srs::dpar::parameters<>(proj_lcc)(lat_1,39.2)(lat_2,38.03333333333333)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000.0001016)(y_0,2000000.0001016)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2284, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,36.76666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000.0001016)(y_0,999999.9998983998)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2285, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.5)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2286, srs::dpar::parameters<>(proj_lcc)(lat_1,47.33333333333334)(lat_2,45.83333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2287, srs::dpar::parameters<>(proj_lcc)(lat_1,46.76666666666667)(lat_2,45.56666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2288, srs::dpar::parameters<>(proj_lcc)(lat_1,45.5)(lat_2,44.25)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2289, srs::dpar::parameters<>(proj_lcc)(lat_1,44.06666666666667)(lat_2,42.73333333333333)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2290, srs::dpar::parameters<>(proj_sterea)(lat_0,47.25)(lon_0,-63)(k,0.999912)(x_0,700000)(y_0,400000)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ {2291, srs::dpar::parameters<>(proj_sterea)(lat_0,47.25)(lon_0,-63)(k,0.999912)(x_0,400000)(y_0,800000)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ {2292, srs::dpar::parameters<>(proj_sterea)(lat_0,47.25)(lon_0,-63)(k,0.999912)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2294, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-61.5)(k,0.9999)(x_0,4500000)(y_0,0)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ {2295, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-64.5)(k,0.9999)(x_0,5500000)(y_0,0)(a,6378135)(b,6356750.304921594)(units_m)(no_defs)},
+ //{2296},
+ //{2297},
+ //{2298},
+ //{2299},
+ //{2300},
+ //{2301},
+ //{2302},
+ //{2303},
+ //{2304},
+ //{2305},
+ //{2306},
+ //{2307},
+ {2308, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,109)(k,0.9996)(x_0,500000)(y_0,10000000)(ellps_bessel)(units_m)(no_defs)},
+ {2309, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,116)(k,0.9996)(x_0,500000)(y_0,10000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {2310, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,0.9996)(x_0,500000)(y_0,10000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {2311, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,6)(k,0.9996)(x_0,500000)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {2312, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_clrk80)(units_m)(no_defs)},
+ {2313, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_clrk80)(units_m)(no_defs)},
+ {2314, srs::dpar::parameters<>(proj_cass)(lat_0,10.44166666666667)(lon_0,-61.33333333333334)(x_0,86501.46392052001)(y_0,65379.0134283)(a,6378293.645208759)(b,6356617.987679838)(to_meter,0.3047972654)(no_defs)},
+ {2315, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_intl)(units_m)(no_defs)},
+ {2316, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_intl)(units_m)(no_defs)},
+ {2317, srs::dpar::parameters<>(proj_lcc)(lat_1,9)(lat_2,3)(lat_0,6)(lon_0,-66)(x_0,1000000)(y_0,1000000)(ellps_intl)(units_m)(no_defs)},
+ {2318, srs::dpar::parameters<>(proj_lcc)(lat_1,17)(lat_2,33)(lat_0,25.08951)(lon_0,48)(x_0,0)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2319, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2320, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2321, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2322, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2323, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2324, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,42)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2325, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2326, srs::dpar::parameters<>(proj_tmerc)(lat_0,22.31213333333334)(lon_0,114.1785555555556)(k,1)(x_0,836694.05)(y_0,819069.8)(ellps_intl)(towgs84,srs::detail::towgs84<>(-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425))(units_m)(no_defs)},
+ {2327, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,13500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2328, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,14500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2329, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,15500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2330, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,16500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2331, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,17500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2332, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,18500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2333, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,19500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2334, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,20500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2335, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,21500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2336, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,22500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2337, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,23500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2338, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2339, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2340, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2341, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2342, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2343, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2344, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2345, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2346, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2347, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2348, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2349, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,25500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2350, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,26500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2351, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,27500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2352, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,28500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2353, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,29500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2354, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,30500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2355, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,31500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2356, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,32500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2357, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,33500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2358, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,34500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2359, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,35500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2360, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,36500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2361, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,37500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2362, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,38500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2363, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,39500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,40500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,41500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2366, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,42500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2367, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,43500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2368, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,44500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2369, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,45500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2370, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2371, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2372, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2373, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2374, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2375, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2376, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2377, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2378, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2379, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2380, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2381, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2382, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2383, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2384, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2385, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2386, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2387, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2388, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2389, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2390, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(a,6378140)(b,6356755.288157528)(units_m)(no_defs)},
+ {2391, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,1500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2392, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,2500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2393, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,3500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2394, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,4500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {2395, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-76,-138,67,0,0,0,0))(units_m)(no_defs)},
+ {2396, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,9500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(-76,-138,67,0,0,0,0))(units_m)(no_defs)},
+ {2397, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,3500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(units_m)(no_defs)},
+ {2398, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(units_m)(no_defs)},
+ {2399, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(units_m)(no_defs)},
+ {2400, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15.80827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {2401, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,25500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2402, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,26500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2403, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,27500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2404, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,28500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2405, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,29500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2406, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,30500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2407, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,31500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2408, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,32500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2409, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,33500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2410, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,34500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2411, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,35500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2412, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,36500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2413, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,37500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2414, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,38500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2415, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,39500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2416, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,40500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2417, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,41500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2418, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,42500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2419, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,43500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2420, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,44500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2421, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,45500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2422, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2423, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2424, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2425, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2426, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2427, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2428, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2429, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2430, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2431, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2432, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2433, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2434, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2435, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2436, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2437, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2438, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2439, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2440, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2441, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2442, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2443, srs::dpar::parameters<>(proj_tmerc)(lat_0,33)(lon_0,129.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2444, srs::dpar::parameters<>(proj_tmerc)(lat_0,33)(lon_0,131)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2445, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,132.1666666666667)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2446, srs::dpar::parameters<>(proj_tmerc)(lat_0,33)(lon_0,133.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2447, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,134.3333333333333)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2448, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,136)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2449, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,137.1666666666667)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2450, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,138.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2451, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,139.8333333333333)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2452, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,140.8333333333333)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2453, srs::dpar::parameters<>(proj_tmerc)(lat_0,44)(lon_0,140.25)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2454, srs::dpar::parameters<>(proj_tmerc)(lat_0,44)(lon_0,142.25)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2455, srs::dpar::parameters<>(proj_tmerc)(lat_0,44)(lon_0,144.25)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2456, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,142)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2457, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,127.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2458, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,124)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2459, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,131)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2460, srs::dpar::parameters<>(proj_tmerc)(lat_0,20)(lon_0,136)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2461, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,154)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2462, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2463, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2466, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2467, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2468, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2469, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2470, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2471, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2472, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2473, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2474, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2475, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2476, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2477, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2478, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2479, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2480, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2481, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2482, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2483, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2484, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2485, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2486, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2487, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2488, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2489, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2490, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2491, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2492, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2493, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2494, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2495, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2496, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2497, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2498, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2499, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2500, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2501, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2502, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2503, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2504, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2505, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2506, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2507, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2508, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2509, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2510, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2511, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2512, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2513, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2514, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2515, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2516, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2517, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2518, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2519, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2520, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2521, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2522, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2523, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,7500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2524, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2525, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,9500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2526, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,10500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2527, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,11500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2528, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,1)(x_0,12500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2529, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,13500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2530, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,42)(k,1)(x_0,14500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2531, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,15500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2532, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,48)(k,1)(x_0,16500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2533, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,17500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2534, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,54)(k,1)(x_0,18500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2535, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,19500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2536, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,60)(k,1)(x_0,20500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2537, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,21500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2538, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,66)(k,1)(x_0,22500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2539, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,23500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2540, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,72)(k,1)(x_0,24500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2541, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,25500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2542, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,26500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2543, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,27500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2544, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,28500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2545, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,29500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2546, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,30500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2547, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,31500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2548, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,32500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2549, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,33500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2550, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-404.78,685.68,45.47,0,0,0,0))(units_m)(no_defs)},
+ {2551, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,34500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2552, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,35500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2553, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,36500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2554, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,37500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2555, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,38500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2556, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,39500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2557, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,40500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2558, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,41500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2559, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,42500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2560, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,43500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2561, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,44500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2562, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,45500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2563, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,138)(k,1)(x_0,46500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,47500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,144)(k,1)(x_0,48500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2566, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,49500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2567, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,150)(k,1)(x_0,50500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2568, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,51500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2569, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,156)(k,1)(x_0,52500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2570, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,53500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2571, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,162)(k,1)(x_0,54500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2572, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,55500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2573, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,168)(k,1)(x_0,56500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2574, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,57500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2575, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,174)(k,1)(x_0,58500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2576, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,59500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2577, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,180)(k,1)(x_0,60000000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2578, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,61500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2579, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-174)(k,1)(x_0,62500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2580, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,63500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2581, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-168)(k,1)(x_0,64500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2582, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2583, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2584, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2585, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2586, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2587, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2588, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2589, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,42)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2590, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2591, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,48)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2592, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2593, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,54)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2594, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2595, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,60)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2596, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2597, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,66)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2598, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2599, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,72)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2600, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9998)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2601, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2602, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2603, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2604, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2605, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2606, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2607, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2608, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2609, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2610, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2611, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2612, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2613, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2614, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2615, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2616, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2617, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2618, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2619, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2620, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2621, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2622, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,138)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2623, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2624, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,144)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2625, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2626, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,150)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2627, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2628, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,156)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2629, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2630, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,162)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2631, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2632, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,168)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2633, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2634, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,174)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2635, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2636, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,180)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2637, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2638, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-174)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2639, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2640, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-168)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2641, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,7500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2642, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2643, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,9500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2644, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,10500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2645, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,11500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2646, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,1)(x_0,12500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2647, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,13500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2648, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,42)(k,1)(x_0,14500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2649, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,15500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2650, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,48)(k,1)(x_0,16500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2651, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,17500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2652, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,54)(k,1)(x_0,18500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2653, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,19500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2654, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,60)(k,1)(x_0,20500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2655, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,21500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2656, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,66)(k,1)(x_0,22500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2657, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,23500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2658, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,72)(k,1)(x_0,24500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2659, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,25500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2660, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,26500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2661, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,27500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2662, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,28500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2663, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,29500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,30500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,31500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2666, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,32500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2667, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,33500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2668, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,34500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2669, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,35500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2670, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,36500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2671, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,37500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2672, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,38500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2673, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,39500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2674, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,40500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2675, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,41500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2676, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,42500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2677, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,43500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2678, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,44500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2679, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,45500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2680, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,138)(k,1)(x_0,46500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2681, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,47500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2682, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,144)(k,1)(x_0,48500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2683, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,49500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2684, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,150)(k,1)(x_0,50500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2685, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,51500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2686, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,156)(k,1)(x_0,52500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2687, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,53500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2688, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,162)(k,1)(x_0,54500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2689, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,55500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2690, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,168)(k,1)(x_0,56500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2691, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,57500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2692, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,174)(k,1)(x_0,58500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2693, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,59500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2694, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,180)(k,1)(x_0,60000000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2695, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,61500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2696, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-174)(k,1)(x_0,62500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2697, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,63500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2698, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-168)(k,1)(x_0,64500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2699, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2700, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2701, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2702, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2703, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2704, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2705, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2706, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,42)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2707, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2708, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,48)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2709, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2710, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,54)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2711, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2712, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,60)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2713, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2714, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,66)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2715, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2716, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,72)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2717, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2718, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,78)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2719, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2720, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,84)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2721, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2722, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2723, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2724, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,96)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2725, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2726, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,102)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2727, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2728, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,108)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2729, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2730, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,114)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2731, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2732, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,120)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2733, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2734, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,126)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2735, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2736, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(ellps_clrk66)(units_m)(no_defs)},
+ {2737, srs::dpar::parameters<>(proj_utm)(zone,37)(south)(ellps_clrk66)(units_m)(no_defs)},
+ {2738, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,132)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2739, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2740, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,138)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2741, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2742, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,144)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2743, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2744, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,150)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2745, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2746, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,156)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2747, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2748, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,162)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2749, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2750, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,168)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2751, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2752, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,174)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2753, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2754, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,180)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2755, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2756, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-174)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2757, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2758, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-168)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2759, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-85.83333333333333)(k,0.99996)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2760, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-87.5)(k,0.999933333)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2761, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2762, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2763, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,213360)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2764, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2765, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,400000)(y_0,400000)(ellps_grs80)(units_m)(no_defs)},
+ {2766, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2767, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2768, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2769, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2770, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2771, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2772, srs::dpar::parameters<>(proj_lcc)(lat_1,40.78333333333333)(lat_2,39.71666666666667)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(units_m)(no_defs)},
+ {2773, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(units_m)(no_defs)},
+ {2774, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(units_m)(no_defs)},
+ {2775, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096)(y_0,152400.3048)(ellps_grs80)(units_m)(no_defs)},
+ {2776, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2777, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2778, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2779, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2780, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2781, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2782, srs::dpar::parameters<>(proj_tmerc)(lat_0,18.83333333333333)(lon_0,-155.5)(k,0.999966667)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2783, srs::dpar::parameters<>(proj_tmerc)(lat_0,20.33333333333333)(lon_0,-156.6666666666667)(k,0.999966667)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2784, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2785, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.83333333333333)(lon_0,-159.5)(k,0.99999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2786, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.66666666666667)(lon_0,-160.1666666666667)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2787, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2788, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2789, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,800000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2790, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2791, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2792, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,100000)(y_0,250000)(ellps_grs80)(units_m)(no_defs)},
+ {2793, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,250000)(ellps_grs80)(units_m)(no_defs)},
+ {2794, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {2795, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2796, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2797, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,400000)(y_0,400000)(ellps_grs80)(units_m)(no_defs)},
+ {2798, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2799, srs::dpar::parameters<>(proj_lcc)(lat_1,37.93333333333333)(lat_2,36.73333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {2800, srs::dpar::parameters<>(proj_lcc)(lat_1,32.66666666666666)(lat_2,31.16666666666667)(lat_0,30.5)(lon_0,-92.5)(x_0,1000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2801, srs::dpar::parameters<>(proj_lcc)(lat_1,30.7)(lat_2,29.3)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,1000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2802, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2803, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2804, srs::dpar::parameters<>(proj_lcc)(lat_1,39.45)(lat_2,38.3)(lat_0,37.66666666666666)(lon_0,-77)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2805, srs::dpar::parameters<>(proj_lcc)(lat_1,42.68333333333333)(lat_2,41.71666666666667)(lat_0,41)(lon_0,-71.5)(x_0,200000)(y_0,750000)(ellps_grs80)(units_m)(no_defs)},
+ {2806, srs::dpar::parameters<>(proj_lcc)(lat_1,41.48333333333333)(lat_2,41.28333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2807, srs::dpar::parameters<>(proj_lcc)(lat_1,47.08333333333334)(lat_2,45.48333333333333)(lat_0,44.78333333333333)(lon_0,-87)(x_0,8000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2808, srs::dpar::parameters<>(proj_lcc)(lat_1,45.7)(lat_2,44.18333333333333)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,6000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2809, srs::dpar::parameters<>(proj_lcc)(lat_1,43.66666666666666)(lat_2,42.1)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,4000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2810, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {2811, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {2812, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {2813, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2814, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2815, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-90.5)(k,0.999933333)(x_0,250000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2816, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-92.5)(k,0.999933333)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2817, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.16666666666666)(lon_0,-94.5)(k,0.999941177)(x_0,850000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2818, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,45)(lat_0,44.25)(lon_0,-109.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2819, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2820, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000)(y_0,8000000)(ellps_grs80)(units_m)(no_defs)},
+ {2821, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000)(y_0,6000000)(ellps_grs80)(units_m)(no_defs)},
+ {2822, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000)(y_0,4000000)(ellps_grs80)(units_m)(no_defs)},
+ {2823, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2824, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2825, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,165000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2826, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2827, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,830000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2828, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2829, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,250000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2830, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2831, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2832, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.43333333333333)(lat_0,47)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2833, srs::dpar::parameters<>(proj_lcc)(lat_1,47.48333333333333)(lat_2,46.18333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2834, srs::dpar::parameters<>(proj_lcc)(lat_1,41.7)(lat_2,40.43333333333333)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2835, srs::dpar::parameters<>(proj_lcc)(lat_1,40.03333333333333)(lat_2,38.73333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2836, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,35.56666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2837, srs::dpar::parameters<>(proj_lcc)(lat_1,35.23333333333333)(lat_2,33.93333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2838, srs::dpar::parameters<>(proj_lcc)(lat_1,46)(lat_2,44.33333333333334)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2839, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,42.33333333333334)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2840, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,100000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2841, srs::dpar::parameters<>(proj_lcc)(lat_1,45.68333333333333)(lat_2,44.41666666666666)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2842, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2843, srs::dpar::parameters<>(proj_lcc)(lat_1,36.41666666666666)(lat_2,35.25)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2844, srs::dpar::parameters<>(proj_lcc)(lat_1,36.18333333333333)(lat_2,34.65)(lat_0,34)(lon_0,-101.5)(x_0,200000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {2845, srs::dpar::parameters<>(proj_lcc)(lat_1,33.96666666666667)(lat_2,32.13333333333333)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000)(ellps_grs80)(units_m)(no_defs)},
+ {2846, srs::dpar::parameters<>(proj_lcc)(lat_1,31.88333333333333)(lat_2,30.11666666666667)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,700000)(y_0,3000000)(ellps_grs80)(units_m)(no_defs)},
+ {2847, srs::dpar::parameters<>(proj_lcc)(lat_1,30.28333333333333)(lat_2,28.38333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,4000000)(ellps_grs80)(units_m)(no_defs)},
+ {2848, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000)(y_0,5000000)(ellps_grs80)(units_m)(no_defs)},
+ {2849, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {2850, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,2000000)(ellps_grs80)(units_m)(no_defs)},
+ {2851, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000)(y_0,3000000)(ellps_grs80)(units_m)(no_defs)},
+ {2852, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-72.5)(k,0.999964286)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2853, srs::dpar::parameters<>(proj_lcc)(lat_1,39.2)(lat_2,38.03333333333333)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000)(y_0,2000000)(ellps_grs80)(units_m)(no_defs)},
+ {2854, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,36.76666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {2855, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.5)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2856, srs::dpar::parameters<>(proj_lcc)(lat_1,47.33333333333334)(lat_2,45.83333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2857, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2858, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2859, srs::dpar::parameters<>(proj_lcc)(lat_1,46.76666666666667)(lat_2,45.56666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2860, srs::dpar::parameters<>(proj_lcc)(lat_1,45.5)(lat_2,44.25)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2861, srs::dpar::parameters<>(proj_lcc)(lat_1,44.06666666666667)(lat_2,42.73333333333333)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2862, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2863, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,400000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {2864, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2865, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {2866, srs::dpar::parameters<>(proj_lcc)(lat_1,18.43333333333333)(lat_2,18.03333333333333)(lat_0,17.83333333333333)(lon_0,-66.43333333333334)(x_0,200000)(y_0,200000)(ellps_grs80)(units_m)(no_defs)},
+ {2867, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2868, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2869, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,213360)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2870, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2871, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2872, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2873, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2874, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2875, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2876, srs::dpar::parameters<>(proj_lcc)(lat_1,40.78333333333333)(lat_2,39.71666666666667)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2877, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2878, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2879, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096012192)(y_0,152400.3048006096)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2880, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2881, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2882, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2883, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2884, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2885, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,699999.9998983998)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2886, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2887, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2888, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,800000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2889, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,99999.99989839978)(y_0,249364.9987299975)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2890, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,249364.9987299975)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2891, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2892, srs::dpar::parameters<>(proj_lcc)(lat_1,37.93333333333333)(lat_2,36.73333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000.0001016001)(y_0,500000.0001016001)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2893, srs::dpar::parameters<>(proj_lcc)(lat_1,39.45)(lat_2,38.3)(lat_0,37.66666666666666)(lon_0,-77)(x_0,399999.9998983998)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2894, srs::dpar::parameters<>(proj_lcc)(lat_1,42.68333333333333)(lat_2,41.71666666666667)(lat_0,41)(lon_0,-71.5)(x_0,200000.0001016002)(y_0,750000)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2895, srs::dpar::parameters<>(proj_lcc)(lat_1,41.48333333333333)(lat_2,41.28333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2896, srs::dpar::parameters<>(proj_lcc)(lat_1,47.08333333333334)(lat_2,45.48333333333333)(lat_0,44.78333333333333)(lon_0,-87)(x_0,7999999.999968001)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2897, srs::dpar::parameters<>(proj_lcc)(lat_1,45.7)(lat_2,44.18333333333333)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,5999999.999976001)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2898, srs::dpar::parameters<>(proj_lcc)(lat_1,43.66666666666666)(lat_2,42.1)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,3999999.999984)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2899, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2900, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,699999.9998983998)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2901, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,45)(lat_0,44.25)(lon_0,-109.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2902, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,165000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2903, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2904, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,830000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2905, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2906, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,249999.9998983998)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2907, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2908, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2909, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.43333333333333)(lat_0,47)(lon_0,-100.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2910, srs::dpar::parameters<>(proj_lcc)(lat_1,47.48333333333333)(lat_2,46.18333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2911, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,35.56666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2912, srs::dpar::parameters<>(proj_lcc)(lat_1,35.23333333333333)(lat_2,33.93333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2913, srs::dpar::parameters<>(proj_lcc)(lat_1,46)(lat_2,44.33333333333334)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000.0001424)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2914, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,42.33333333333334)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000.0001464)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2915, srs::dpar::parameters<>(proj_lcc)(lat_1,36.41666666666666)(lat_2,35.25)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2916, srs::dpar::parameters<>(proj_lcc)(lat_1,36.18333333333333)(lat_2,34.65)(lat_0,34)(lon_0,-101.5)(x_0,200000.0001016002)(y_0,999999.9998983998)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2917, srs::dpar::parameters<>(proj_lcc)(lat_1,33.96666666666667)(lat_2,32.13333333333333)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000.0001016)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2918, srs::dpar::parameters<>(proj_lcc)(lat_1,31.88333333333333)(lat_2,30.11666666666667)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,699999.9998983998)(y_0,3000000)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2919, srs::dpar::parameters<>(proj_lcc)(lat_1,30.28333333333333)(lat_2,28.38333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,3999999.9998984)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2920, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000.0000000001)(y_0,5000000.0001016)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2921, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.0001504)(y_0,999999.9999960001)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2922, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.0001504)(y_0,1999999.999992)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2923, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.0001504)(y_0,2999999.999988)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2924, srs::dpar::parameters<>(proj_lcc)(lat_1,39.2)(lat_2,38.03333333333333)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000.0001016)(y_0,2000000.0001016)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2925, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,36.76666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000.0001016)(y_0,999999.9998983998)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2926, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.5)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2927, srs::dpar::parameters<>(proj_lcc)(lat_1,47.33333333333334)(lat_2,45.83333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2928, srs::dpar::parameters<>(proj_lcc)(lat_1,46.76666666666667)(lat_2,45.56666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2929, srs::dpar::parameters<>(proj_lcc)(lat_1,45.5)(lat_2,44.25)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2930, srs::dpar::parameters<>(proj_lcc)(lat_1,44.06666666666667)(lat_2,42.73333333333333)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2931, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13)(k,0.9996)(x_0,500000)(y_0,0)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-106,-87,188,0,0,0,0))(units_m)(no_defs)},
+ {2932, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.45)(lon_0,51.21666666666667)(k,0.99999)(x_0,200000)(y_0,300000)(ellps_intl)(towgs84,srs::detail::towgs84<>(-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706))(units_m)(no_defs)},
+ {2933, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_bessel)(units_m)(no_defs)},
+ {2934, srs::dpar::parameters<>(proj_merc)(lon_0,110)(k,0.997)(x_0,3900000)(y_0,900000)(ellps_bessel)(pm_jakarta)(units_m)(no_defs)},
+ {2935, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1166666666666667)(lon_0,41.53333333333333)(k,1)(x_0,1300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2936, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1166666666666667)(lon_0,44.53333333333333)(k,1)(x_0,2300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2937, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1166666666666667)(lon_0,47.53333333333333)(k,1)(x_0,3300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2938, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1166666666666667)(lon_0,50.53333333333333)(k,1)(x_0,4300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2939, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1333333333333333)(lon_0,50.76666666666667)(k,1)(x_0,2300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2940, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1333333333333333)(lon_0,53.76666666666667)(k,1)(x_0,3300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2941, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1333333333333333)(lon_0,56.76666666666667)(k,1)(x_0,4300000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {2942, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(towgs84,srs::detail::towgs84<>(-499,-249,314,0,0,0,0))(units_m)(no_defs)},
+ {2943, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(units_m)(no_defs)},
+ {2944, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-55.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2945, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-58.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2946, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-61.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2947, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-64.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2948, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-67.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2949, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-70.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2950, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-73.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2951, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-76.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2952, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-79.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2953, srs::dpar::parameters<>(proj_sterea)(lat_0,46.5)(lon_0,-66.5)(k,0.999912)(x_0,2500000)(y_0,7500000)(ellps_grs80)(units_m)(no_defs)},
+ {2954, srs::dpar::parameters<>(proj_sterea)(lat_0,47.25)(lon_0,-63)(k,0.999912)(x_0,400000)(y_0,800000)(ellps_grs80)(units_m)(no_defs)},
+ {2955, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_grs80)(units_m)(no_defs)},
+ {2956, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_grs80)(units_m)(no_defs)},
+ {2957, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_grs80)(units_m)(no_defs)},
+ {2958, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(units_m)(no_defs)},
+ {2959, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(units_m)(no_defs)},
+ {2960, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(units_m)(no_defs)},
+ {2961, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(units_m)(no_defs)},
+ {2962, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(units_m)(no_defs)},
+ //{2963},
+ {2964, srs::dpar::parameters<>(proj_aea)(lat_1,55)(lat_2,65)(lat_0,50)(lon_0,-154)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {2965, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,99999.99989839978)(y_0,249999.9998983998)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2966, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,249999.9998983998)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {2967, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,99999.99989839978)(y_0,249999.9998983998)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2968, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,249999.9998983998)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {2969, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(towgs84,srs::detail::towgs84<>(137,248,-430,0,0,0,0))(units_m)(no_defs)},
+ {2970, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(units_m)(no_defs)},
+ {2971, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_intl)(towgs84,srs::detail::towgs84<>(-186,230,110,0,0,0,0))(units_m)(no_defs)},
+ {2972, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2,2,-2,0,0,0,0))(units_m)(no_defs)},
+ {2973, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(units_m)(no_defs)},
+ {2975, srs::dpar::parameters<>(proj_utm)(zone,40)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2976, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(162,117,154,0,0,0,0))(units_m)(no_defs)},
+ {2977, srs::dpar::parameters<>(proj_utm)(zone,5)(south)(ellps_intl)(units_m)(no_defs)},
+ {2978, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_intl)(units_m)(no_defs)},
+ {2979, srs::dpar::parameters<>(proj_utm)(zone,42)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(145,-187,103,0,0,0,0))(units_m)(no_defs)},
+ {2980, srs::dpar::parameters<>(proj_utm)(zone,38)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-382,-59,-262,0,0,0,0))(units_m)(no_defs)},
+ {2981, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(units_m)(no_defs)},
+ {2982, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(units_m)(no_defs)},
+ {2983, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798))(units_m)(no_defs)},
+ {2984, srs::dpar::parameters<>(proj_lcc)(lat_1,-20.66666666666667)(lat_2,-22.33333333333333)(lat_0,-21.5)(lon_0,166)(x_0,400000)(y_0,300000)(ellps_intl)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ //{2985},
+ //{2986},
+ {2987, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(30,430,368,0,0,0,0))(units_m)(no_defs)},
+ {2988, srs::dpar::parameters<>(proj_utm)(zone,1)(south)(ellps_intl)(units_m)(no_defs)},
+ {2989, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {2990, srs::dpar::parameters<>(proj_tmerc)(lat_0,-21.11666666666667)(lon_0,55.53333333333333)(k,1)(x_0,50000)(y_0,160000)(ellps_intl)(units_m)(no_defs)},
+ {2991, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,45.5)(lat_0,41.75)(lon_0,-120.5)(x_0,400000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {2992, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,45.5)(lat_0,41.75)(lon_0,-120.5)(x_0,399999.9999984)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048)(no_defs)},
+ {2993, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,45.5)(lat_0,41.75)(lon_0,-120.5)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {2994, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,45.5)(lat_0,41.75)(lon_0,-120.5)(x_0,399999.9999984)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {2995, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(units_m)(no_defs)},
+ {2996, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(units_m)(no_defs)},
+ {2997, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7))(units_m)(no_defs)},
+ {2998, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(units_m)(no_defs)},
+ {2999, srs::dpar::parameters<>(proj_utm)(zone,38)(south)(ellps_intl)(units_m)(no_defs)},
+ {3000, srs::dpar::parameters<>(proj_merc)(lon_0,110)(k,0.997)(x_0,3900000)(y_0,900000)(ellps_bessel)(units_m)(no_defs)},
+ {3001, srs::dpar::parameters<>(proj_merc)(lon_0,110)(k,0.997)(x_0,3900000)(y_0,900000)(ellps_bessel)(units_m)(no_defs)},
+ {3002, srs::dpar::parameters<>(proj_merc)(lon_0,110)(k,0.997)(x_0,3900000)(y_0,900000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-587.8,519.75,145.76,0,0,0,0))(units_m)(no_defs)},
+ {3003, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,0.9996)(x_0,1500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {3004, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9996)(x_0,2520000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {3005, srs::dpar::parameters<>(proj_aea)(lat_1,50)(lat_2,58.5)(lat_0,45)(lon_0,-126)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3006, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3007, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3008, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.5)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3009, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3010, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16.5)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3011, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3012, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,14.25)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3013, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15.75)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3014, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,17.25)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3015, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18.75)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3016, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,20.25)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3017, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21.75)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3018, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,23.25)(k,1)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3019, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,11.30827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3020, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.55827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3021, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15.80827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3022, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18.05827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3023, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,20.30827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3024, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,22.55827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3025, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,11.30827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3026, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.55827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3027, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15.80827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3028, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18.05827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3029, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,20.30827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3030, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,22.55827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3031, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-71)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3032, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-71)(lon_0,70)(k,1)(x_0,6000000)(y_0,6000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3033, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.5)(lat_2,-74.5)(lat_0,-50)(lon_0,70)(x_0,6000000)(y_0,6000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3034, srs::dpar::parameters<>(proj_lcc)(lat_1,35)(lat_2,65)(lat_0,52)(lon_0,10)(x_0,4000000)(y_0,2800000)(ellps_grs80)(units_m)(no_defs)},
+ {3035, srs::dpar::parameters<>(proj_laea)(lat_0,52)(lon_0,10)(x_0,4321000)(y_0,3210000)(ellps_grs80)(units_m)(no_defs)},
+ {3036, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,-0,-0,-0,0))(units_m)(no_defs)},
+ {3037, srs::dpar::parameters<>(proj_utm)(zone,37)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,-0,-0,-0,0))(units_m)(no_defs)},
+ {3038, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_grs80)(units_m)(no_defs)},
+ {3039, srs::dpar::parameters<>(proj_utm)(zone,27)(ellps_grs80)(units_m)(no_defs)},
+ {3040, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_grs80)(units_m)(no_defs)},
+ {3041, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_grs80)(units_m)(no_defs)},
+ {3042, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_grs80)(units_m)(no_defs)},
+ {3043, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_grs80)(units_m)(no_defs)},
+ {3044, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_grs80)(units_m)(no_defs)},
+ {3045, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_grs80)(units_m)(no_defs)},
+ {3046, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_grs80)(units_m)(no_defs)},
+ {3047, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_grs80)(units_m)(no_defs)},
+ {3048, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_grs80)(units_m)(no_defs)},
+ {3049, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_grs80)(units_m)(no_defs)},
+ {3050, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_grs80)(units_m)(no_defs)},
+ {3051, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_grs80)(units_m)(no_defs)},
+ //{3052},
+ //{3053},
+ {3054, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(towgs84,srs::detail::towgs84<>(-73,46,-86,0,0,0,0))(units_m)(no_defs)},
+ {3055, srs::dpar::parameters<>(proj_utm)(zone,27)(ellps_intl)(towgs84,srs::detail::towgs84<>(-73,46,-86,0,0,0,0))(units_m)(no_defs)},
+ {3056, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(towgs84,srs::detail::towgs84<>(-73,46,-86,0,0,0,0))(units_m)(no_defs)},
+ {3057, srs::dpar::parameters<>(proj_lcc)(lat_1,64.25)(lat_2,65.75)(lat_0,65)(lon_0,-19)(x_0,500000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3058, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-8.5)(k,1)(x_0,50000)(y_0,-7800000)(ellps_intl)(towgs84,srs::detail::towgs84<>(982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805))(units_m)(no_defs)},
+ {3059, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9996)(x_0,500000)(y_0,-6000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3060, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(units_m)(no_defs)},
+ {3061, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(units_m)(no_defs)},
+ {3062, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(units_m)(no_defs)},
+ {3063, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(units_m)(no_defs)},
+ {3064, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3065, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3066, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,37)(k,0.9998)(x_0,500000)(y_0,-3000000)(ellps_intl)(units_m)(no_defs)},
+ {3067, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_grs80)(units_m)(no_defs)},
+ {3068, srs::dpar::parameters<>(proj_cass)(lat_0,52.41864827777778)(lon_0,13.62720366666667)(x_0,40000)(y_0,10000)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {3069, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9996)(x_0,500000)(y_0,-4500000)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3070, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9996)(x_0,520000)(y_0,-4480000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3071, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9996)(x_0,520000)(y_0,-4480000)(ellps_grs80)(units_m)(no_defs)},
+ {3072, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.83333333333334)(lon_0,-67.875)(k,0.99998)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3073, srs::dpar::parameters<>(proj_tmerc)(lat_0,43)(lon_0,-69.125)(k,0.99998)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3074, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.375)(k,0.99998)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3075, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.83333333333334)(lon_0,-67.875)(k,0.99998)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3076, srs::dpar::parameters<>(proj_tmerc)(lat_0,43)(lon_0,-69.125)(k,0.99998)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3077, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.375)(k,0.99998)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3078, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.25556)(k,0.9996)(x_0,2546731.496)(y_0,-4354009.816)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3079, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.25556)(k,0.9996)(x_0,2546731.496)(y_0,-4354009.816)(ellps_grs80)(units_m)(no_defs)},
+ {3080, srs::dpar::parameters<>(proj_lcc)(lat_1,27.41666666666667)(lat_2,34.91666666666666)(lat_0,31.16666666666667)(lon_0,-100)(x_0,914400)(y_0,914400)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048)(no_defs)},
+ {3081, srs::dpar::parameters<>(proj_lcc)(lat_1,27.41666666666667)(lat_2,34.91666666666666)(lat_0,31.16666666666667)(lon_0,-100)(x_0,1000000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3082, srs::dpar::parameters<>(proj_lcc)(lat_1,27.5)(lat_2,35)(lat_0,18)(lon_0,-100)(x_0,1500000)(y_0,5000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3083, srs::dpar::parameters<>(proj_aea)(lat_1,27.5)(lat_2,35)(lat_0,18)(lon_0,-100)(x_0,1500000)(y_0,6000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3084, srs::dpar::parameters<>(proj_lcc)(lat_1,27.5)(lat_2,35)(lat_0,18)(lon_0,-100)(x_0,1500000)(y_0,5000000)(ellps_grs80)(units_m)(no_defs)},
+ {3085, srs::dpar::parameters<>(proj_aea)(lat_1,27.5)(lat_2,35)(lat_0,18)(lon_0,-100)(x_0,1500000)(y_0,6000000)(ellps_grs80)(units_m)(no_defs)},
+ {3086, srs::dpar::parameters<>(proj_aea)(lat_1,24)(lat_2,31.5)(lat_0,24)(lon_0,-84)(x_0,400000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3087, srs::dpar::parameters<>(proj_aea)(lat_1,24)(lat_2,31.5)(lat_0,24)(lon_0,-84)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3088, srs::dpar::parameters<>(proj_lcc)(lat_1,37.08333333333334)(lat_2,38.66666666666666)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,1500000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3089, srs::dpar::parameters<>(proj_lcc)(lat_1,37.08333333333334)(lat_2,38.66666666666666)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,1500000)(y_0,999999.9998983998)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3090, srs::dpar::parameters<>(proj_lcc)(lat_1,37.08333333333334)(lat_2,38.66666666666666)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,1500000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {3091, srs::dpar::parameters<>(proj_lcc)(lat_1,37.08333333333334)(lat_2,38.66666666666666)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,1500000)(y_0,999999.9998983998)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3092, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_bessel)(units_m)(no_defs)},
+ {3093, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_bessel)(units_m)(no_defs)},
+ {3094, srs::dpar::parameters<>(proj_utm)(zone,53)(ellps_bessel)(units_m)(no_defs)},
+ {3095, srs::dpar::parameters<>(proj_utm)(zone,54)(ellps_bessel)(units_m)(no_defs)},
+ {3096, srs::dpar::parameters<>(proj_utm)(zone,55)(ellps_bessel)(units_m)(no_defs)},
+ {3097, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3098, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3099, srs::dpar::parameters<>(proj_utm)(zone,53)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3100, srs::dpar::parameters<>(proj_utm)(zone,54)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3101, srs::dpar::parameters<>(proj_utm)(zone,55)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3102, srs::dpar::parameters<>(proj_lcc)(lat_1,-14.26666666666667)(lat_0,-14.26666666666667)(lon_0,-170)(k_0,1)(x_0,152400.3048006096)(y_0,95169.31165862332)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-115,118,426,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3103, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_clrk80)(units_m)(no_defs)},
+ {3104, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_clrk80)(units_m)(no_defs)},
+ {3105, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_clrk80)(units_m)(no_defs)},
+ {3106, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,90)(k,0.9996)(x_0,500000)(y_0,0)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {3107, srs::dpar::parameters<>(proj_lcc)(lat_1,-28)(lat_2,-36)(lat_0,-32)(lon_0,135)(x_0,1000000)(y_0,2000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3108, srs::dpar::parameters<>(proj_tmerc)(lat_0,49.5)(lon_0,-2.416666666666667)(k,0.999997)(x_0,47000)(y_0,50000)(ellps_grs80)(units_m)(no_defs)},
+ {3109, srs::dpar::parameters<>(proj_tmerc)(lat_0,49.225)(lon_0,-2.135)(k,0.9999999000000001)(x_0,40000)(y_0,70000)(ellps_grs80)(units_m)(no_defs)},
+ {3110, srs::dpar::parameters<>(proj_lcc)(lat_1,-36)(lat_2,-38)(lat_0,-37)(lon_0,145)(x_0,2500000)(y_0,4500000)(ellps_aust_sa)(units_m)(no_defs)},
+ {3111, srs::dpar::parameters<>(proj_lcc)(lat_1,-36)(lat_2,-38)(lat_0,-37)(lon_0,145)(x_0,2500000)(y_0,2500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3112, srs::dpar::parameters<>(proj_lcc)(lat_1,-18)(lat_2,-36)(lat_0,0)(lon_0,134)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3113, srs::dpar::parameters<>(proj_tmerc)(lat_0,-28)(lon_0,153)(k,0.99999)(x_0,50000)(y_0,100000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3114, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.596200416666666)(lon_0,-80.07750791666666)(k,1)(x_0,1000000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3115, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.596200416666666)(lon_0,-77.07750791666666)(k,1)(x_0,1000000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3116, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.596200416666666)(lon_0,-74.07750791666666)(k,1)(x_0,1000000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3117, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.596200416666666)(lon_0,-71.07750791666666)(k,1)(x_0,1000000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3118, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.596200416666666)(lon_0,-68.07750791666666)(k,1)(x_0,1000000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3119, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,10.5)(k,0.999)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206.1,-174.7,-87.7,0,0,0,0))(units_m)(no_defs)},
+ {3120, srs::dpar::parameters<>(proj_sterea)(lat_0,50.625)(lon_0,21.08333333333333)(k,0.9998)(x_0,4637000)(y_0,5467000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3121, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06))(units_m)(no_defs)},
+ {3122, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,119)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06))(units_m)(no_defs)},
+ {3123, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,121)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06))(units_m)(no_defs)},
+ {3124, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06))(units_m)(no_defs)},
+ {3125, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,125)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06))(units_m)(no_defs)},
+ {3126, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,19)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3127, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,20)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3128, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3129, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,22)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3130, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,23)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3131, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3132, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,25)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3133, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,26)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3134, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3135, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,28)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3136, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,29)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3137, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3138, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,31)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ //{3139},
+ {3140, srs::dpar::parameters<>(proj_cass)(lat_0,-18)(lon_0,178)(x_0,109435.392)(y_0,141622.272)(a,6378306.3696)(b,6356571.996)(towgs84,srs::detail::towgs84<>(51,391,-36,0,0,0,0))(to_meter,0.201168)(no_defs)},
+ {3141, srs::dpar::parameters<>(proj_utm)(zone,60)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(265.025,384.929,-194.046,0,0,0,0))(units_m)(no_defs)},
+ {3142, srs::dpar::parameters<>(proj_utm)(zone,1)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(265.025,384.929,-194.046,0,0,0,0))(units_m)(no_defs)},
+ {3143, srs::dpar::parameters<>(proj_tmerc)(lat_0,-17)(lon_0,178.75)(k,0.99985)(x_0,2000000)(y_0,4000000)(ellps_wgs72)(units_m)(no_defs)},
+ //{3144},
+ //{3145},
+ {3146, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,6500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3147, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3148, srs::dpar::parameters<>(proj_utm)(zone,48)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {3149, srs::dpar::parameters<>(proj_utm)(zone,49)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {3150, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,6500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3151, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3152, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18.05779)(k,0.99999425)(x_0,100178.1808)(y_0,-6500614.7836)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3153, srs::dpar::parameters<>(proj_aea)(lat_1,50)(lat_2,58.5)(lat_0,45)(lon_0,-126)(x_0,1000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3154, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_grs80)(units_m)(no_defs)},
+ {3155, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_grs80)(units_m)(no_defs)},
+ {3156, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_grs80)(units_m)(no_defs)},
+ {3157, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_grs80)(units_m)(no_defs)},
+ {3158, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_grs80)(units_m)(no_defs)},
+ {3159, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_grs80)(units_m)(no_defs)},
+ {3160, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_grs80)(units_m)(no_defs)},
+ {3161, srs::dpar::parameters<>(proj_lcc)(lat_1,44.5)(lat_2,53.5)(lat_0,0)(lon_0,-85)(x_0,930000)(y_0,6430000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3162, srs::dpar::parameters<>(proj_lcc)(lat_1,44.5)(lat_2,53.5)(lat_0,0)(lon_0,-85)(x_0,930000)(y_0,6430000)(ellps_grs80)(units_m)(no_defs)},
+ {3163, srs::dpar::parameters<>(proj_lcc)(lat_1,-20.66666666666667)(lat_2,-22.33333333333333)(lat_0,-21.5)(lon_0,166)(x_0,400000)(y_0,300000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3164, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(-56.263,16.136,-22.856,0,0,0,0))(units_m)(no_defs)},
+ {3165, srs::dpar::parameters<>(proj_lcc)(lat_1,-22.24469175)(lat_2,-22.29469175)(lat_0,-22.26969175)(lon_0,166.44242575)(x_0,0.66)(y_0,1.02)(ellps_intl)(units_m)(no_defs)},
+ {3166, srs::dpar::parameters<>(proj_lcc)(lat_1,-22.24472222222222)(lat_2,-22.29472222222222)(lat_0,-22.26972222222222)(lon_0,166.4425)(x_0,8.313000000000001)(y_0,-2.354)(ellps_intl)(units_m)(no_defs)},
+ {3167, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,102.25)(alpha,323.0257905)(k,0.99984)(x_0,40000)(y_0,0)(a,6377295.664)(b,6356094.667915204)(to_meter,20.116756)(no_defs)},
+ {3168, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,102.25)(alpha,323.0257905)(k,0.99984)(x_0,804670.24)(y_0,0)(a,6377295.664)(b,6356094.667915204)(units_m)(no_defs)},
+ {3169, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3170, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3171, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3172, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_intl)(units_m)(no_defs)},
+ //{3173},
+ {3174, srs::dpar::parameters<>(proj_aea)(lat_1,42.122774)(lat_2,49.01518)(lat_0,45.568977)(lon_0,-84.455955)(x_0,1000000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3175, srs::dpar::parameters<>(proj_aea)(lat_1,42.122774)(lat_2,49.01518)(lat_0,45.568977)(lon_0,-83.248627)(x_0,1000000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3176, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,106)(k,0.9996)(x_0,500000)(y_0,0)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {3177, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,17)(k,0.9965000000000001)(x_0,1000000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3178, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3179, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3180, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3181, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3182, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3183, srs::dpar::parameters<>(proj_utm)(zone,23)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3184, srs::dpar::parameters<>(proj_utm)(zone,24)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3185, srs::dpar::parameters<>(proj_utm)(zone,25)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3186, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3187, srs::dpar::parameters<>(proj_utm)(zone,27)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3188, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3189, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3190, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3191, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,11)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3192, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3193, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3194, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,17)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3195, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,19)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3196, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3197, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,23)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3198, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,25)(k,0.99995)(x_0,200000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3199, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3200, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_0,32.5)(lon_0,45)(k_0,0.9987864078000001)(x_0,1500000)(y_0,1166200)(ellps_clrk80)(units_m)(no_defs)},
+ {3201, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3202, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3203, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(units_m)(no_defs)},
+ {3204, srs::dpar::parameters<>(proj_lcc)(lat_1,-60.66666666666666)(lat_2,-63.33333333333334)(lat_0,-90)(lon_0,-66)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3205, srs::dpar::parameters<>(proj_lcc)(lat_1,-60.66666666666666)(lat_2,-63.33333333333334)(lat_0,-90)(lon_0,-54)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3206, srs::dpar::parameters<>(proj_lcc)(lat_1,-60.66666666666666)(lat_2,-63.33333333333334)(lat_0,-90)(lon_0,-42)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3207, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,-174)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3208, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,-66)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3209, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,-54)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3210, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,42)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3211, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,54)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3212, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,66)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3213, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,78)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3214, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,90)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3215, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,102)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3216, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,114)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3217, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,126)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3218, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,138)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3219, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,150)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3220, srs::dpar::parameters<>(proj_lcc)(lat_1,-64.66666666666667)(lat_2,-67.33333333333333)(lat_0,-90)(lon_0,162)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3221, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,-102)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3222, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,-90)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3223, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,-78)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3224, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,-66)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3225, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,-18)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3226, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,-6)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3227, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,6)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3228, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,18)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3229, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,30)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3230, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,42)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3231, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,54)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3232, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,66)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3233, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,78)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3234, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,90)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3235, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,102)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3236, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,114)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3237, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,126)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3238, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,138)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3239, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,150)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3240, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,162)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3241, srs::dpar::parameters<>(proj_lcc)(lat_1,-68.66666666666667)(lat_2,-71.33333333333333)(lat_0,-90)(lon_0,174)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3242, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-153)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3243, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-135)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3244, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-117)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3245, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-99)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3246, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-81)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3247, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-63)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3248, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-27)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3249, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,-9)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3250, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,9)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3251, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,27)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3252, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,45)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3253, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,63)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3254, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,81)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3255, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,99)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3256, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,117)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3257, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,135)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3258, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,153)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3259, srs::dpar::parameters<>(proj_lcc)(lat_1,-72.66666666666667)(lat_2,-75.33333333333333)(lat_0,-90)(lon_0,171)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3260, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-168)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3261, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-144)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3262, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-120)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3263, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-96)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3264, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-72)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3265, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-48)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3266, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,-24)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3267, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3268, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,24)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3269, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,48)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3270, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,72)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3271, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,96)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3272, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,120)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3273, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,144)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3274, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-90)(lon_0,168)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3275, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-165)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3276, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-135)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3277, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-105)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3278, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-75)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3279, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-45)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3280, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-15)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3281, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,15)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3282, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,45)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3283, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,75)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3284, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,105)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3285, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,135)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3286, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,165)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3287, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-150)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3288, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-90)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3289, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,-30)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3290, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,30)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3291, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,90)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3292, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,150)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3293, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-80.23861111111111)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3294, srs::dpar::parameters<>(proj_lcc)(lat_1,-76.66666666666667)(lat_2,-79.33333333333333)(lat_0,-78)(lon_0,162)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ //{3295},
+ {3296, srs::dpar::parameters<>(proj_utm)(zone,5)(south)(ellps_grs80)(units_m)(no_defs)},
+ {3297, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_grs80)(units_m)(no_defs)},
+ {3298, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_grs80)(units_m)(no_defs)},
+ {3299, srs::dpar::parameters<>(proj_utm)(zone,8)(south)(ellps_grs80)(units_m)(no_defs)},
+ {3300, srs::dpar::parameters<>(proj_lcc)(lat_1,59.33333333333334)(lat_2,58)(lat_0,57.51755393055556)(lon_0,24)(x_0,500000)(y_0,6375000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014))(units_m)(no_defs)},
+ {3301, srs::dpar::parameters<>(proj_lcc)(lat_1,59.33333333333334)(lat_2,58)(lat_0,57.51755393055556)(lon_0,24)(x_0,500000)(y_0,6375000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3302, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_intl)(units_m)(no_defs)},
+ {3303, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074))(units_m)(no_defs)},
+ {3304, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_intl)(units_m)(no_defs)},
+ {3305, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773))(units_m)(no_defs)},
+ {3306, srs::dpar::parameters<>(proj_utm)(zone,5)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(217.037,86.959,23.956,0,0,0,0))(units_m)(no_defs)},
+ {3307, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,-0.15,0.68,0,0,0,0))(units_m)(no_defs)},
+ {3308, srs::dpar::parameters<>(proj_lcc)(lat_1,-30.75)(lat_2,-35.75)(lat_0,-33.25)(lon_0,147)(x_0,9300000)(y_0,4500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3309, srs::dpar::parameters<>(proj_aea)(lat_1,34)(lat_2,40.5)(lat_0,0)(lon_0,-120)(x_0,0)(y_0,-4000000)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3310, srs::dpar::parameters<>(proj_aea)(lat_1,34)(lat_2,40.5)(lat_0,0)(lon_0,-120)(x_0,0)(y_0,-4000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3311, srs::dpar::parameters<>(proj_aea)(lat_1,34)(lat_2,40.5)(lat_0,0)(lon_0,-120)(x_0,0)(y_0,-4000000)(ellps_grs80)(units_m)(no_defs)},
+ {3312, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_intl)(towgs84,srs::detail::towgs84<>(-186,230,110,0,0,0,0))(units_m)(no_defs)},
+ {3313, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2,2,-2,0,0,0,0))(units_m)(no_defs)},
+ {3314, srs::dpar::parameters<>(proj_lcc)(lat_1,-6.5)(lat_2,-11.5)(lat_0,0)(lon_0,26)(x_0,0)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {3315, srs::dpar::parameters<>(proj_tmerc)(lat_0,-9)(lon_0,26)(k,0.9998)(x_0,0)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {3316, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,22)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3317, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3318, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3319, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,14)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3320, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3321, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3322, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,20)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3323, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,22)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3324, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3325, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,26)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3326, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,28)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3327, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,30)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {3328, srs::dpar::parameters<>(proj_sterea)(lat_0,52.16666666666666)(lon_0,19.16666666666667)(k,0.999714)(x_0,500000)(y_0,500000)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3329, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3330, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,6500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3331, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,7500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3332, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3333, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,3500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3334, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3335, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,5500000)(y_0,0)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(units_m)(no_defs)},
+ {3336, srs::dpar::parameters<>(proj_utm)(zone,42)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(145,-187,103,0,0,0,0))(units_m)(no_defs)},
+ {3337, srs::dpar::parameters<>(proj_lcc)(lat_1,-20.19506944444445)(lat_0,-20.19506944444445)(lon_0,57.52182777777778)(k_0,1)(x_0,1000000)(y_0,1000000)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-770.1,158.4,-498.2,0,0,0,0))(units_m)(no_defs)},
+ {3338, srs::dpar::parameters<>(proj_aea)(lat_1,55)(lat_2,65)(lat_0,50)(lon_0,-154)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3339, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-79.9,-158,-168.9,0,0,0,0))(units_m)(no_defs)},
+ {3340, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,14)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-79.9,-158,-168.9,0,0,0,0))(units_m)(no_defs)},
+ {3341, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16)(k,0.9999)(x_0,500000)(y_0,10000000)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-79.9,-158,-168.9,0,0,0,0))(units_m)(no_defs)},
+ {3342, srs::dpar::parameters<>(proj_utm)(zone,33)(south)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-79.9,-158,-168.9,0,0,0,0))(units_m)(no_defs)},
+ {3343, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3344, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3345, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3346, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9998)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3347, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,77)(lat_0,63.390675)(lon_0,-91.86666666666666)(x_0,6200000)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3348, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,77)(lat_0,63.390675)(lon_0,-91.86666666666666)(x_0,6200000)(y_0,3000000)(ellps_grs80)(units_m)(no_defs)},
+ {3349, srs::dpar::parameters<>(proj_merc)(lon_0,-150)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3350, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1)(lon_0,21.95)(k,1)(x_0,250000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3351, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1)(lon_0,24.95)(k,1)(x_0,1250000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3352, srs::dpar::parameters<>(proj_tmerc)(lat_0,0.1)(lon_0,27.95)(k,1)(x_0,2250000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3353, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_intl)(units_m)(no_defs)},
+ {3354, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_intl)(units_m)(no_defs)},
+ {3355, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,31)(k,1)(x_0,615000)(y_0,810000)(ellps_helmert)(towgs84,srs::detail::towgs84<>(-146.21,112.63,4.05,0,0,0,0))(units_m)(no_defs)},
+ {3356, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(67.8,106.1,138.8,0,0,0,0))(units_m)(no_defs)},
+ {3357, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_clrk66)(units_m)(no_defs)},
+ {3358, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.22)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3359, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.2192024385)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {3360, srs::dpar::parameters<>(proj_lcc)(lat_1,34.83333333333334)(lat_2,32.5)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3361, srs::dpar::parameters<>(proj_lcc)(lat_1,34.83333333333334)(lat_2,32.5)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600)(y_0,0)(ellps_grs80)(to_meter,0.3048)(no_defs)},
+ {3362, srs::dpar::parameters<>(proj_lcc)(lat_1,41.95)(lat_2,40.88333333333333)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3363, srs::dpar::parameters<>(proj_lcc)(lat_1,41.95)(lat_2,40.88333333333333)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3364, srs::dpar::parameters<>(proj_lcc)(lat_1,40.96666666666667)(lat_2,39.93333333333333)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3365, srs::dpar::parameters<>(proj_lcc)(lat_1,40.96666666666667)(lat_2,39.93333333333333)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3366, srs::dpar::parameters<>(proj_cass)(lat_0,22.31213333333334)(lon_0,114.1785555555556)(x_0,40243.57775604237)(y_0,19069.93351512578)(a,6378293.645208759)(b,6356617.987679838)(units_m)(no_defs)},
+ {3367, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_clrk80)(units_m)(no_defs)},
+ {3368, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_clrk80)(units_m)(no_defs)},
+ {3369, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_clrk80)(units_m)(no_defs)},
+ {3370, srs::dpar::parameters<>(proj_utm)(zone,59)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3371, srs::dpar::parameters<>(proj_utm)(zone,60)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3372, srs::dpar::parameters<>(proj_utm)(zone,59)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3373, srs::dpar::parameters<>(proj_utm)(zone,60)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3374, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_intl)(units_m)(no_defs)},
+ {3375, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,102.25)(alpha,323.0257964666666)(k,0.99984)(x_0,804671)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3376, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,115)(alpha,53.31580995)(k,0.99984)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3377, srs::dpar::parameters<>(proj_cass)(lat_0,2.121679744444445)(lon_0,103.4279362361111)(x_0,-14810.562)(y_0,8758.32)(ellps_grs80)(units_m)(no_defs)},
+ {3378, srs::dpar::parameters<>(proj_cass)(lat_0,2.682347636111111)(lon_0,101.9749050416667)(x_0,3673.785)(y_0,-4240.573)(ellps_grs80)(units_m)(no_defs)},
+ {3379, srs::dpar::parameters<>(proj_cass)(lat_0,3.769388088888889)(lon_0,102.3682989833333)(x_0,-7368.228)(y_0,6485.858)(ellps_grs80)(units_m)(no_defs)},
+ {3380, srs::dpar::parameters<>(proj_cass)(lat_0,3.68464905)(lon_0,101.3891079138889)(x_0,-34836.161)(y_0,56464.049)(ellps_grs80)(units_m)(no_defs)},
+ {3381, srs::dpar::parameters<>(proj_cass)(lat_0,4.9762852)(lon_0,103.070275625)(x_0,19594.245)(y_0,3371.895)(ellps_grs80)(units_m)(no_defs)},
+ {3382, srs::dpar::parameters<>(proj_cass)(lat_0,5.421517541666667)(lon_0,100.3443769638889)(x_0,-23.414)(y_0,62.283)(ellps_grs80)(units_m)(no_defs)},
+ {3383, srs::dpar::parameters<>(proj_cass)(lat_0,5.964672713888889)(lon_0,100.6363711111111)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3384, srs::dpar::parameters<>(proj_cass)(lat_0,4.859063022222222)(lon_0,100.8154105861111)(x_0,-1.769)(y_0,133454.779)(ellps_grs80)(units_m)(no_defs)},
+ {3385, srs::dpar::parameters<>(proj_cass)(lat_0,5.972543658333334)(lon_0,102.2952416694444)(x_0,13227.851)(y_0,8739.894)(ellps_grs80)(units_m)(no_defs)},
+ {3386, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {3387, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,5500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {3388, srs::dpar::parameters<>(proj_merc)(lon_0,51)(k,1)(x_0,0)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3389, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,180)(k,1)(x_0,60500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3390, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,180)(k,1)(x_0,60500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {3391, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(84.1,-320.1,218.7,0,0,0,0))(units_m)(no_defs)},
+ {3392, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(84.1,-320.1,218.7,0,0,0,0))(units_m)(no_defs)},
+ {3393, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(84.1,-320.1,218.7,0,0,0,0))(units_m)(no_defs)},
+ {3394, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_0,32.5)(lon_0,45)(k_0,0.9987864078000001)(x_0,1500000)(y_0,1166200)(ellps_clrk80)(units_m)(no_defs)},
+ {3395, srs::dpar::parameters<>(proj_merc)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3396, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,3500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3397, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,4500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3398, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,4500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3399, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {3400, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-115)(k,0.9992)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3401, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-115)(k,0.9992)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3402, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-115)(k,0.9992)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3403, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-115)(k,0.9992)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3404, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.2192024384)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3405, srs::dpar::parameters<>(proj_utm)(zone,48)(ellps_wgs84)(units_m)(no_defs)},
+ {3406, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_wgs84)(units_m)(no_defs)},
+ {3407, srs::dpar::parameters<>(proj_cass)(lat_0,22.31213333333334)(lon_0,114.1785555555556)(x_0,40243.57775604237)(y_0,19069.93351512578)(a,6378293.645208759)(b,6356617.987679838)(to_meter,0.3047972654)(no_defs)},
+ {3408, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,6371228)(units_m)(no_defs)},
+ {3409, srs::dpar::parameters<>(proj_laea)(lat_0,-90)(lon_0,0)(x_0,0)(y_0,0)(r,6371228)(units_m)(no_defs)},
+ {3410, srs::dpar::parameters<>(proj_cea)(lon_0,0)(lat_ts,30)(x_0,0)(y_0,0)(r,6371228)(units_m)(no_defs)},
+ {3411, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lat_ts,70)(lon_0,-45)(k,1)(x_0,0)(y_0,0)(a,6378273)(b,6356889.449)(units_m)(no_defs)},
+ {3412, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-70)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378273)(b,6356889.449)(units_m)(no_defs)},
+ {3413, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lat_ts,70)(lon_0,-45)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3414, srs::dpar::parameters<>(proj_tmerc)(lat_0,1.366666666666667)(lon_0,103.8333333333333)(k,1)(x_0,28001.642)(y_0,38744.572)(ellps_wgs84)(units_m)(no_defs)},
+ {3415, srs::dpar::parameters<>(proj_lcc)(lat_1,18)(lat_2,24)(lat_0,21)(lon_0,114)(x_0,500000)(y_0,500000)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {3416, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,46)(lat_0,47.5)(lon_0,13.33333333333333)(x_0,400000)(y_0,400000)(ellps_grs80)(units_m)(no_defs)},
+ {3417, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,999999.9999898402)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3418, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3419, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,399999.99998984)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3420, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,399999.99998984)(y_0,399999.99998984)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3421, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000.00001016)(y_0,8000000.000010163)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3422, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000.00001016)(y_0,6000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3423, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000.0000101599)(y_0,3999999.99998984)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3424, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3425, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,999999.9999898402)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3426, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3427, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,399999.99998984)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3428, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,399999.99998984)(y_0,399999.99998984)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3429, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000.00001016)(y_0,8000000.000010163)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3430, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000.00001016)(y_0,6000000)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3431, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000.0000101599)(y_0,3999999.99998984)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3432, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3433, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,399999.99998984)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3434, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,399999.99998984)(y_0,399999.99998984)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3435, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3436, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,699999.9999898402)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3437, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3438, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,99999.99998983997)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3439, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_clrk80)(units_m)(no_defs)},
+ {3440, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_clrk80)(units_m)(no_defs)},
+ {3441, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,399999.99998984)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3442, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,399999.99998984)(y_0,399999.99998984)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3443, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3444, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,699999.9999898402)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3445, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3446, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,99999.99998983997)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3447, srs::dpar::parameters<>(proj_lcc)(lat_1,49.83333333333334)(lat_2,51.16666666666666)(lat_0,50.797815)(lon_0,4.359215833333333)(x_0,150328)(y_0,166262)(ellps_grs80)(units_m)(no_defs)},
+ {3448, srs::dpar::parameters<>(proj_lcc)(lat_1,18)(lat_0,18)(lon_0,-77)(k_0,1)(x_0,750000)(y_0,650000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3449, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3450, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3451, srs::dpar::parameters<>(proj_lcc)(lat_1,32.66666666666666)(lat_2,31.16666666666667)(lat_0,30.5)(lon_0,-92.5)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3452, srs::dpar::parameters<>(proj_lcc)(lat_1,30.7)(lat_2,29.3)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3453, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.5)(lon_0,-91.33333333333333)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3454, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3455, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3456, srs::dpar::parameters<>(proj_lcc)(lat_1,32.66666666666666)(lat_2,31.16666666666667)(lat_0,30.5)(lon_0,-92.5)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3457, srs::dpar::parameters<>(proj_lcc)(lat_1,30.7)(lat_2,29.3)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3458, srs::dpar::parameters<>(proj_lcc)(lat_1,45.68333333333333)(lat_2,44.41666666666666)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3459, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3460, srs::dpar::parameters<>(proj_tmerc)(lat_0,-17)(lon_0,178.75)(k,0.99985)(x_0,2000000)(y_0,4000000)(ellps_wgs72)(units_m)(no_defs)},
+ {3461, srs::dpar::parameters<>(proj_utm)(zone,28)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-83,37,124,0,0,0,0))(units_m)(no_defs)},
+ {3462, srs::dpar::parameters<>(proj_utm)(zone,29)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-83,37,124,0,0,0,0))(units_m)(no_defs)},
+ {3463, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.5)(lon_0,-69.125)(k,0.99998)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3464, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.5)(lon_0,-69.125)(k,0.99998)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3465, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-85.83333333333333)(k,0.99996)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3466, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-87.5)(k,0.999933333)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3467, srs::dpar::parameters<>(proj_aea)(lat_1,55)(lat_2,65)(lat_0,50)(lon_0,-154)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3468, srs::dpar::parameters<>(proj_omerc)(lat_0,57)(lonc,-133.6666666666667)(alpha,323.1301023611111)(k,0.9999)(x_0,5000000)(y_0,-5000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3469, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-142)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3470, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-146)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3471, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-150)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3472, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-154)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3473, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-158)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3474, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-162)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3475, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-166)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3476, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-170)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3477, srs::dpar::parameters<>(proj_lcc)(lat_1,53.83333333333334)(lat_2,51.83333333333334)(lat_0,51)(lon_0,-176)(x_0,1000000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3478, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3479, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3480, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3481, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3482, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,213360)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3483, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,213360)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3484, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,400000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3485, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,399999.99998984)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3486, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,400000)(y_0,400000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3487, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,399999.99998984)(y_0,399999.99998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3488, srs::dpar::parameters<>(proj_aea)(lat_1,34)(lat_2,40.5)(lat_0,0)(lon_0,-120)(x_0,0)(y_0,-4000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3489, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3490, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3491, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3492, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3493, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3494, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3495, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3496, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3497, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,2000000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3498, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3499, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3500, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000.0001016)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3501, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3502, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3503, srs::dpar::parameters<>(proj_lcc)(lat_1,40.78333333333333)(lat_2,39.71666666666667)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3504, srs::dpar::parameters<>(proj_lcc)(lat_1,40.78333333333333)(lat_2,39.71666666666667)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3505, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3506, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8288036576)(y_0,304800.6096012192)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3507, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096)(y_0,152400.3048)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3508, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096012192)(y_0,152400.3048006096)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3509, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3510, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3511, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3512, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3513, srs::dpar::parameters<>(proj_aea)(lat_1,24)(lat_2,31.5)(lat_0,24)(lon_0,-84)(x_0,400000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3514, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3515, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3516, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3517, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3518, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3519, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3520, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,700000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3521, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,699999.9998983998)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3522, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3523, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3524, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3525, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,200000.0001016002)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3526, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,800000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3527, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,800000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3528, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3529, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3530, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,700000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3531, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,699999.9999898402)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3532, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,100000)(y_0,250000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3533, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,99999.99989839978)(y_0,249999.9998983998)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3534, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,250000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3535, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,249999.9998983998)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3536, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3537, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,999999.9999898402)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3538, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3539, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3540, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,400000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3541, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,399999.99998984)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3542, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,400000)(y_0,400000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3543, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,399999.99998984)(y_0,399999.99998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3544, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3545, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3546, srs::dpar::parameters<>(proj_lcc)(lat_1,37.08333333333334)(lat_2,38.66666666666666)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,1500000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3547, srs::dpar::parameters<>(proj_lcc)(lat_1,37.08333333333334)(lat_2,38.66666666666666)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,1500000)(y_0,999999.9998983998)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3548, srs::dpar::parameters<>(proj_lcc)(lat_1,37.93333333333333)(lat_2,36.73333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000)(y_0,500000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3549, srs::dpar::parameters<>(proj_lcc)(lat_1,37.93333333333333)(lat_2,36.73333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000.0001016001)(y_0,500000.0001016001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3550, srs::dpar::parameters<>(proj_lcc)(lat_1,32.66666666666666)(lat_2,31.16666666666667)(lat_0,30.5)(lon_0,-92.5)(x_0,1000000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3551, srs::dpar::parameters<>(proj_lcc)(lat_1,32.66666666666666)(lat_2,31.16666666666667)(lat_0,30.5)(lon_0,-92.5)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3552, srs::dpar::parameters<>(proj_lcc)(lat_1,30.7)(lat_2,29.3)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,1000000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3553, srs::dpar::parameters<>(proj_lcc)(lat_1,30.7)(lat_2,29.3)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,999999.9999898402)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3554, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.5)(lon_0,-69.125)(k,0.99998)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3555, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.83333333333334)(lon_0,-67.875)(k,0.99998)(x_0,700000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3556, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.375)(k,0.99998)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3557, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3558, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3559, srs::dpar::parameters<>(proj_lcc)(lat_1,39.45)(lat_2,38.3)(lat_0,37.66666666666666)(lon_0,-77)(x_0,400000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3560, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.00001016)(y_0,999999.9999898402)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3561, srs::dpar::parameters<>(proj_tmerc)(lat_0,18.83333333333333)(lon_0,-155.5)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(to_meter,0.3048006096012192)(no_defs)},
+ {3562, srs::dpar::parameters<>(proj_tmerc)(lat_0,20.33333333333333)(lon_0,-156.6666666666667)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(to_meter,0.3048006096012192)(no_defs)},
+ {3563, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(to_meter,0.3048006096012192)(no_defs)},
+ {3564, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.83333333333333)(lon_0,-159.5)(k,0.99999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(to_meter,0.3048006096012192)(no_defs)},
+ {3565, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.66666666666667)(lon_0,-160.1666666666667)(k,1)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(to_meter,0.3048006096012192)(no_defs)},
+ {3566, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.00001016)(y_0,2000000.00001016)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3567, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.00001016)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3568, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.00001016)(y_0,999999.9999898402)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3569, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.00001016)(y_0,2000000.00001016)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3570, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.00001016)(y_0,3000000)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3571, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,180)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,-150)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,-100)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3574, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,-40)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3575, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,10)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3576, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,90)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3577, srs::dpar::parameters<>(proj_aea)(lat_1,-18)(lat_2,-36)(lat_0,0)(lon_0,132)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3578, srs::dpar::parameters<>(proj_aea)(lat_1,61.66666666666666)(lat_2,68)(lat_0,59)(lon_0,-132.5)(x_0,500000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3579, srs::dpar::parameters<>(proj_aea)(lat_1,61.66666666666666)(lat_2,68)(lat_0,59)(lon_0,-132.5)(x_0,500000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {3580, srs::dpar::parameters<>(proj_lcc)(lat_1,62)(lat_2,70)(lat_0,0)(lon_0,-112)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3581, srs::dpar::parameters<>(proj_lcc)(lat_1,62)(lat_2,70)(lat_0,0)(lon_0,-112)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3582, srs::dpar::parameters<>(proj_lcc)(lat_1,39.45)(lat_2,38.3)(lat_0,37.66666666666666)(lon_0,-77)(x_0,399999.9998983998)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3583, srs::dpar::parameters<>(proj_lcc)(lat_1,41.48333333333333)(lat_2,41.28333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3584, srs::dpar::parameters<>(proj_lcc)(lat_1,41.48333333333333)(lat_2,41.28333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3585, srs::dpar::parameters<>(proj_lcc)(lat_1,42.68333333333333)(lat_2,41.71666666666667)(lat_0,41)(lon_0,-71.5)(x_0,200000)(y_0,750000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3586, srs::dpar::parameters<>(proj_lcc)(lat_1,42.68333333333333)(lat_2,41.71666666666667)(lat_0,41)(lon_0,-71.5)(x_0,200000.0001016002)(y_0,750000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3587, srs::dpar::parameters<>(proj_lcc)(lat_1,45.7)(lat_2,44.18333333333333)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,6000000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3588, srs::dpar::parameters<>(proj_lcc)(lat_1,45.7)(lat_2,44.18333333333333)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,5999999.999976001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3589, srs::dpar::parameters<>(proj_lcc)(lat_1,47.08333333333334)(lat_2,45.48333333333333)(lat_0,44.78333333333333)(lon_0,-87)(x_0,8000000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3590, srs::dpar::parameters<>(proj_lcc)(lat_1,47.08333333333334)(lat_2,45.48333333333333)(lat_0,44.78333333333333)(lon_0,-87)(x_0,7999999.999968001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3591, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.25556)(k,0.9996)(x_0,2546731.496)(y_0,-4354009.816)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3592, srs::dpar::parameters<>(proj_lcc)(lat_1,43.66666666666666)(lat_2,42.1)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,4000000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3593, srs::dpar::parameters<>(proj_lcc)(lat_1,43.66666666666666)(lat_2,42.1)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,3999999.999984)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3594, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000)(y_0,100000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3595, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000)(y_0,100000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3596, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000)(y_0,100000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3597, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3598, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3599, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,700000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3600, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,699999.9998983998)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3601, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-92.5)(k,0.999933333)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3602, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-90.5)(k,0.999933333)(x_0,250000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3603, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.16666666666666)(lon_0,-94.5)(k,0.999941177)(x_0,850000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3604, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,45)(lat_0,44.25)(lon_0,-109.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3605, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,45)(lat_0,44.25)(lon_0,-109.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3606, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3607, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000)(y_0,6000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3608, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000.00001016)(y_0,6000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3609, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000)(y_0,8000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3610, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000.00001016)(y_0,8000000.000010163)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3611, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000)(y_0,4000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3612, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000.0000101599)(y_0,3999999.99998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3613, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3614, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3615, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3616, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3617, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3618, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3619, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,165000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3620, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,165000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3621, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,830000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3622, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,830000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3623, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,250000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3624, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,249999.9998983998)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3625, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3626, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3627, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3628, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3629, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3630, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3631, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.22)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3632, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.2192024384)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3633, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.43333333333333)(lat_0,47)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3634, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.43333333333333)(lat_0,47)(lon_0,-100.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3635, srs::dpar::parameters<>(proj_lcc)(lat_1,47.48333333333333)(lat_2,46.18333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3636, srs::dpar::parameters<>(proj_lcc)(lat_1,47.48333333333333)(lat_2,46.18333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,599999.9999976)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3637, srs::dpar::parameters<>(proj_lcc)(lat_1,41.7)(lat_2,40.43333333333333)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3638, srs::dpar::parameters<>(proj_lcc)(lat_1,40.03333333333333)(lat_2,38.73333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3639, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,35.56666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3640, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,35.56666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3641, srs::dpar::parameters<>(proj_lcc)(lat_1,35.23333333333333)(lat_2,33.93333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3642, srs::dpar::parameters<>(proj_lcc)(lat_1,35.23333333333333)(lat_2,33.93333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3643, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,45.5)(lat_0,41.75)(lon_0,-120.5)(x_0,400000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3644, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,45.5)(lat_0,41.75)(lon_0,-120.5)(x_0,399999.9999984)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3645, srs::dpar::parameters<>(proj_lcc)(lat_1,46)(lat_2,44.33333333333334)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3646, srs::dpar::parameters<>(proj_lcc)(lat_1,46)(lat_2,44.33333333333334)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000.0001424)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3647, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,42.33333333333334)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3648, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,42.33333333333334)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000.0001464)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3649, srs::dpar::parameters<>(proj_lcc)(lat_1,41.95)(lat_2,40.88333333333333)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3650, srs::dpar::parameters<>(proj_lcc)(lat_1,41.95)(lat_2,40.88333333333333)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3651, srs::dpar::parameters<>(proj_lcc)(lat_1,40.96666666666667)(lat_2,39.93333333333333)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3652, srs::dpar::parameters<>(proj_lcc)(lat_1,40.96666666666667)(lat_2,39.93333333333333)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3653, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,100000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3654, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,99999.99998983997)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3655, srs::dpar::parameters<>(proj_lcc)(lat_1,34.83333333333334)(lat_2,32.5)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3656, srs::dpar::parameters<>(proj_lcc)(lat_1,34.83333333333334)(lat_2,32.5)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3657, srs::dpar::parameters<>(proj_lcc)(lat_1,45.68333333333333)(lat_2,44.41666666666666)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3658, srs::dpar::parameters<>(proj_lcc)(lat_1,45.68333333333333)(lat_2,44.41666666666666)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3659, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3660, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3661, srs::dpar::parameters<>(proj_lcc)(lat_1,36.41666666666666)(lat_2,35.25)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3662, srs::dpar::parameters<>(proj_lcc)(lat_1,36.41666666666666)(lat_2,35.25)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3663, srs::dpar::parameters<>(proj_lcc)(lat_1,31.88333333333333)(lat_2,30.11666666666667)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,700000)(y_0,3000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3664, srs::dpar::parameters<>(proj_lcc)(lat_1,31.88333333333333)(lat_2,30.11666666666667)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,699999.9998983998)(y_0,3000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3665, srs::dpar::parameters<>(proj_aea)(lat_1,27.5)(lat_2,35)(lat_0,18)(lon_0,-100)(x_0,1500000)(y_0,6000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3666, srs::dpar::parameters<>(proj_lcc)(lat_1,27.5)(lat_2,35)(lat_0,18)(lon_0,-100)(x_0,1500000)(y_0,5000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3667, srs::dpar::parameters<>(proj_lcc)(lat_1,36.18333333333333)(lat_2,34.65)(lat_0,34)(lon_0,-101.5)(x_0,200000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3668, srs::dpar::parameters<>(proj_lcc)(lat_1,36.18333333333333)(lat_2,34.65)(lat_0,34)(lon_0,-101.5)(x_0,200000.0001016002)(y_0,999999.9998983998)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3669, srs::dpar::parameters<>(proj_lcc)(lat_1,33.96666666666667)(lat_2,32.13333333333333)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3670, srs::dpar::parameters<>(proj_lcc)(lat_1,33.96666666666667)(lat_2,32.13333333333333)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000.0001016)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3671, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000)(y_0,5000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3672, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000.0000000001)(y_0,5000000.0001016)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3673, srs::dpar::parameters<>(proj_lcc)(lat_1,30.28333333333333)(lat_2,28.38333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,4000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3674, srs::dpar::parameters<>(proj_lcc)(lat_1,30.28333333333333)(lat_2,28.38333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,3999999.9998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3675, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,2000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3676, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.0001504)(y_0,1999999.999992)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3677, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.00001016)(y_0,2000000.00001016)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3678, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3679, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.0001504)(y_0,999999.9999960001)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3680, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.00001016)(y_0,999999.9999898402)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3681, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000)(y_0,3000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3682, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.0001504)(y_0,2999999.999988)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048)(no_defs)},
+ {3683, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.00001016)(y_0,3000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3684, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-72.5)(k,0.999964286)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3685, srs::dpar::parameters<>(proj_lcc)(lat_1,39.2)(lat_2,38.03333333333333)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000)(y_0,2000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3686, srs::dpar::parameters<>(proj_lcc)(lat_1,39.2)(lat_2,38.03333333333333)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000.0001016)(y_0,2000000.0001016)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3687, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,36.76666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000)(y_0,1000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3688, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,36.76666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000.0001016)(y_0,999999.9998983998)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3689, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.5)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3690, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.5)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3691, srs::dpar::parameters<>(proj_lcc)(lat_1,47.33333333333334)(lat_2,45.83333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3692, srs::dpar::parameters<>(proj_lcc)(lat_1,47.33333333333334)(lat_2,45.83333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000.0001016001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3693, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3694, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3695, srs::dpar::parameters<>(proj_lcc)(lat_1,45.5)(lat_2,44.25)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3696, srs::dpar::parameters<>(proj_lcc)(lat_1,45.5)(lat_2,44.25)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3697, srs::dpar::parameters<>(proj_lcc)(lat_1,46.76666666666667)(lat_2,45.56666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3698, srs::dpar::parameters<>(proj_lcc)(lat_1,46.76666666666667)(lat_2,45.56666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3699, srs::dpar::parameters<>(proj_lcc)(lat_1,44.06666666666667)(lat_2,42.73333333333333)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3700, srs::dpar::parameters<>(proj_lcc)(lat_1,44.06666666666667)(lat_2,42.73333333333333)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3701, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9996)(x_0,520000)(y_0,-4480000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3702, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3703, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,400000)(y_0,100000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3704, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3705, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000)(y_0,100000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3706, srs::dpar::parameters<>(proj_utm)(zone,59)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3707, srs::dpar::parameters<>(proj_utm)(zone,60)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3708, srs::dpar::parameters<>(proj_utm)(zone,1)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3709, srs::dpar::parameters<>(proj_utm)(zone,2)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3710, srs::dpar::parameters<>(proj_utm)(zone,3)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3711, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3712, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3713, srs::dpar::parameters<>(proj_utm)(zone,6)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3714, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3715, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3716, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3717, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3718, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3719, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3720, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3721, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3722, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3723, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3724, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3725, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3726, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3727, srs::dpar::parameters<>(proj_tmerc)(lat_0,-21.11666666666667)(lon_0,55.53333333333333)(k,1)(x_0,160000)(y_0,50000)(ellps_intl)(units_m)(no_defs)},
+ {3728, srs::dpar::parameters<>(proj_lcc)(lat_1,41.7)(lat_2,40.43333333333333)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3729, srs::dpar::parameters<>(proj_lcc)(lat_1,40.03333333333333)(lat_2,38.73333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3730, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000.00001016)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3731, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,399999.99998984)(y_0,99999.99998983997)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3732, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3733, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3734, srs::dpar::parameters<>(proj_lcc)(lat_1,41.7)(lat_2,40.43333333333333)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3735, srs::dpar::parameters<>(proj_lcc)(lat_1,40.03333333333333)(lat_2,38.73333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3736, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000.00001016)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3737, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,399999.99998984)(y_0,99999.99998983997)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3738, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3739, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3740, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_grs80)(units_m)(no_defs)},
+ {3741, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_grs80)(units_m)(no_defs)},
+ {3742, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_grs80)(units_m)(no_defs)},
+ {3743, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_grs80)(units_m)(no_defs)},
+ {3744, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_grs80)(units_m)(no_defs)},
+ {3745, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_grs80)(units_m)(no_defs)},
+ {3746, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_grs80)(units_m)(no_defs)},
+ {3747, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(units_m)(no_defs)},
+ {3748, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(units_m)(no_defs)},
+ {3749, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(units_m)(no_defs)},
+ {3750, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_grs80)(units_m)(no_defs)},
+ {3751, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_grs80)(units_m)(no_defs)},
+ {3752, srs::dpar::parameters<>(proj_merc)(lon_0,100)(lat_ts,-41)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3753, srs::dpar::parameters<>(proj_lcc)(lat_1,41.7)(lat_2,40.43333333333333)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3754, srs::dpar::parameters<>(proj_lcc)(lat_1,40.03333333333333)(lat_2,38.73333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3755, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000.00001016)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3756, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,399999.99998984)(y_0,99999.99998983997)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3757, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3758, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3759, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {3760, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {3761, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs80)(units_m)(no_defs)},
+ {3762, srs::dpar::parameters<>(proj_lcc)(lat_1,-54)(lat_2,-54.75)(lat_0,-55)(lon_0,-37)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {3763, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66825833333333)(lon_0,-8.133108333333334)(k,1)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3764, srs::dpar::parameters<>(proj_tmerc)(lat_0,-44)(lon_0,-176.5)(k,1)(x_0,400000)(y_0,800000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3765, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16.5)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3766, srs::dpar::parameters<>(proj_lcc)(lat_1,45.91666666666666)(lat_2,43.08333333333334)(lat_0,0)(lon_0,16.5)(x_0,0)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3767, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3768, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3769, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_clrk66)(units_m)(no_defs)},
+ {3770, srs::dpar::parameters<>(proj_tmerc)(lat_0,32)(lon_0,-64.75)(k,1)(x_0,550000)(y_0,100000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3771, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-111)(k,0.9999)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3772, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-114)(k,0.9999)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3773, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-117)(k,0.9999)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3774, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-120)(k,0.9999)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3775, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-111)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3776, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-114)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3777, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-117)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3778, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-120)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3779, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-111)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3780, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-114)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3781, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-117)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3782, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-120)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3783, srs::dpar::parameters<>(proj_tmerc)(lat_0,-25.06855261111111)(lon_0,-130.1129671111111)(k,1)(x_0,14200)(y_0,15500)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3784, srs::dpar::parameters<>(proj_utm)(zone,9)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(185,165,42,0,0,0,0))(units_m)(no_defs)},
+ {3785, srs::dpar::parameters<>(proj_merc)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6378137)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3786, srs::dpar::parameters<>(proj_eqc)(lat_ts,0)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r,6371007)(units_m)(no_defs)},
+ {3787, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9999)(x_0,500000)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {3788, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,166)(k,1)(x_0,3500000)(y_0,10000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3789, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,169)(k,1)(x_0,3500000)(y_0,10000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3790, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,179)(k,1)(x_0,3500000)(y_0,10000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3791, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-178)(k,1)(x_0,3500000)(y_0,10000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3793, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-176.5)(k,1)(x_0,3500000)(y_0,10000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3794, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9999)(x_0,500000)(y_0,-5000000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3795, srs::dpar::parameters<>(proj_lcc)(lat_1,23)(lat_2,21.7)(lat_0,22.35)(lon_0,-81)(x_0,500000)(y_0,280296.016)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3796, srs::dpar::parameters<>(proj_lcc)(lat_1,21.3)(lat_2,20.13333333333333)(lat_0,20.71666666666667)(lon_0,-76.83333333333333)(x_0,500000)(y_0,229126.939)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3797, srs::dpar::parameters<>(proj_lcc)(lat_1,50)(lat_2,46)(lat_0,44)(lon_0,-70)(x_0,800000)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3798, srs::dpar::parameters<>(proj_lcc)(lat_1,50)(lat_2,46)(lat_0,44)(lon_0,-70)(x_0,800000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3799, srs::dpar::parameters<>(proj_lcc)(lat_1,50)(lat_2,46)(lat_0,44)(lon_0,-70)(x_0,800000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {3800, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-120)(k,0.9999)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {3801, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-120)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {3802, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-120)(k,0.9999)(x_0,0)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ //{3812},
+ //{3814},
+ //{3815},
+ //{3816},
+ {3819, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(595.48,121.69,515.35,4.115,2.9383,-0.853,-0.7029504596901044))(no_defs)},
+ {3821, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(no_defs)},
+ //{3822},
+ {3823, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {3824, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{3825},
+ //{3826},
+ //{3827},
+ //{3828},
+ //{3829},
+ //{3832},
+ //{3833},
+ //{3834},
+ //{3835},
+ //{3836},
+ //{3837},
+ //{3838},
+ //{3839},
+ //{3840},
+ //{3841},
+ //{3842},
+ //{3843},
+ //{3844},
+ //{3845},
+ //{3846},
+ //{3847},
+ //{3848},
+ //{3849},
+ //{3850},
+ {3920, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(11,72,-101,0,0,0,0))(units_m)(no_defs)},
+ {3942, srs::dpar::parameters<>(proj_lcc)(lat_1,41.25)(lat_2,42.75)(lat_0,42)(lon_0,3)(x_0,1700000)(y_0,1200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3943, srs::dpar::parameters<>(proj_lcc)(lat_1,42.25)(lat_2,43.75)(lat_0,43)(lon_0,3)(x_0,1700000)(y_0,2200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3944, srs::dpar::parameters<>(proj_lcc)(lat_1,43.25)(lat_2,44.75)(lat_0,44)(lon_0,3)(x_0,1700000)(y_0,3200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3945, srs::dpar::parameters<>(proj_lcc)(lat_1,44.25)(lat_2,45.75)(lat_0,45)(lon_0,3)(x_0,1700000)(y_0,4200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3946, srs::dpar::parameters<>(proj_lcc)(lat_1,45.25)(lat_2,46.75)(lat_0,46)(lon_0,3)(x_0,1700000)(y_0,5200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3947, srs::dpar::parameters<>(proj_lcc)(lat_1,46.25)(lat_2,47.75)(lat_0,47)(lon_0,3)(x_0,1700000)(y_0,6200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3948, srs::dpar::parameters<>(proj_lcc)(lat_1,47.25)(lat_2,48.75)(lat_0,48)(lon_0,3)(x_0,1700000)(y_0,7200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3949, srs::dpar::parameters<>(proj_lcc)(lat_1,48.25)(lat_2,49.75)(lat_0,49)(lon_0,3)(x_0,1700000)(y_0,8200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3950, srs::dpar::parameters<>(proj_lcc)(lat_1,49.25)(lat_2,50.75)(lat_0,50)(lon_0,3)(x_0,1700000)(y_0,9200000)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {3991, srs::dpar::parameters<>(proj_lcc)(lat_1,18.43333333333333)(lat_2,18.03333333333333)(lat_0,17.83333333333333)(lon_0,-66.43333333333334)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(11,72,-101,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {3992, srs::dpar::parameters<>(proj_lcc)(lat_1,18.43333333333333)(lat_2,18.03333333333333)(lat_0,17.83333333333333)(lon_0,-66.43333333333334)(x_0,152400.3048006096)(y_0,30480.06096012192)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(11,72,-101,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ //{3993},
+ //{3994},
+ //{3995},
+ //{3996},
+ //{3997},
+ {4001, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(no_defs)},
+ {4002, srs::dpar::parameters<>(proj_longlat)(a,6377340.189)(b,6356034.447938534)(no_defs)},
+ {4003, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(no_defs)},
+ {4004, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4005, srs::dpar::parameters<>(proj_longlat)(a,6377492.018)(b,6356173.508712696)(no_defs)},
+ {4006, srs::dpar::parameters<>(proj_longlat)(ellps_bess_nam)(no_defs)},
+ {4007, srs::dpar::parameters<>(proj_longlat)(a,6378293.645208759)(b,6356617.987679838)(no_defs)},
+ {4008, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4009, srs::dpar::parameters<>(proj_longlat)(a,6378450.047548896)(b,6356826.621488444)(no_defs)},
+ {4010, srs::dpar::parameters<>(proj_longlat)(a,6378300.789)(b,6356566.435)(no_defs)},
+ {4011, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4012, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4013, srs::dpar::parameters<>(proj_longlat)(a,6378249.145)(b,6356514.966398753)(no_defs)},
+ {4014, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356514.996941779)(no_defs)},
+ {4015, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(no_defs)},
+ {4016, srs::dpar::parameters<>(proj_longlat)(ellps_evrstss)(no_defs)},
+ {4018, srs::dpar::parameters<>(proj_longlat)(a,6377304.063)(b,6356103.038993155)(no_defs)},
+ {4019, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4020, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(no_defs)},
+ {4021, srs::dpar::parameters<>(proj_longlat)(a,6378160)(b,6356774.50408554)(no_defs)},
+ {4022, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4024, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4025, srs::dpar::parameters<>(proj_longlat)(ellps_wgs66)(no_defs)},
+ {4027, srs::dpar::parameters<>(proj_longlat)(a,6376523)(b,6355862.933255573)(no_defs)},
+ {4028, srs::dpar::parameters<>(proj_longlat)(a,6378298.3)(b,6356657.142669561)(no_defs)},
+ {4029, srs::dpar::parameters<>(proj_longlat)(a,6378300)(b,6356751.689189189)(no_defs)},
+ {4030, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(no_defs)},
+ {4031, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(no_defs)},
+ {4032, srs::dpar::parameters<>(proj_longlat)(a,6378136.2)(b,6356751.516927429)(no_defs)},
+ {4033, srs::dpar::parameters<>(proj_longlat)(a,6378136.3)(b,6356751.616592146)(no_defs)},
+ {4034, srs::dpar::parameters<>(proj_longlat)(a,6378249.144808011)(b,6356514.966204134)(no_defs)},
+ {4035, srs::dpar::parameters<>(proj_longlat)(r,6371000)(no_defs)},
+ {4036, srs::dpar::parameters<>(proj_longlat)(ellps_grs67)(no_defs)},
+ {4041, srs::dpar::parameters<>(proj_longlat)(a,6378135)(b,6356750.304921594)(no_defs)},
+ {4042, srs::dpar::parameters<>(proj_longlat)(a,6377299.36559538)(b,6356098.359005157)(no_defs)},
+ {4043, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(no_defs)},
+ {4044, srs::dpar::parameters<>(proj_longlat)(a,6377301.243)(b,6356100.230165384)(no_defs)},
+ {4045, srs::dpar::parameters<>(proj_longlat)(a,6377299.151)(b,6356098.145120132)(no_defs)},
+ {4047, srs::dpar::parameters<>(proj_longlat)(r,6371007)(no_defs)},
+ {4052, srs::dpar::parameters<>(proj_longlat)(r,6370997)(no_defs)},
+ {4053, srs::dpar::parameters<>(proj_longlat)(r,6371228)(no_defs)},
+ {4054, srs::dpar::parameters<>(proj_longlat)(a,6378273)(b,6356889.449)(no_defs)},
+ {4055, srs::dpar::parameters<>(proj_longlat)(r,6378137)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4120, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4121, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-199.87,74.79,246.62,0,0,0,0))(no_defs)},
+ {4122, srs::dpar::parameters<>(proj_longlat)(a,6378135)(b,6356750.304921594)(no_defs)},
+ {4123, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4124, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4125, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-404.78,685.68,45.47,0,0,0,0))(no_defs)},
+ {4126, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4127, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4128, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4129, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4130, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,-0,-0,-0,0))(no_defs)},
+ {4131, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(no_defs)},
+ {4132, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4133, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014))(no_defs)},
+ {4134, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4135, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4136, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4137, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4138, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4139, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(11,72,-101,0,0,0,0))(no_defs)},
+ {4140, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4141, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-48,55,52,0,0,0,0))(no_defs)},
+ {4142, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-125,53,467,0,0,0,0))(no_defs)},
+ {4143, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-124.76,53,466.79,0,0,0,0))(no_defs)},
+ {4144, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(no_defs)},
+ {4145, srs::dpar::parameters<>(proj_longlat)(a,6377301.243)(b,6356100.230165384)(no_defs)},
+ {4146, srs::dpar::parameters<>(proj_longlat)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(no_defs)},
+ {4147, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0))(no_defs)},
+ {4148, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4149, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(674.374,15.056,405.346,0,0,0,0))(no_defs)},
+ {4150, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(674.374,15.056,405.346,0,0,0,0))(no_defs)},
+ {4151, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4152, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4153, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-133.63,-157.5,-158.62,0,0,0,0))(no_defs)},
+ {4154, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4155, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-83,37,124,0,0,0,0))(no_defs)},
+ {4156, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4157, srs::dpar::parameters<>(proj_longlat)(a,6378293.645208759)(b,6356617.987679838)(no_defs)},
+ {4158, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4159, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4160, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4161, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(27.5,14,186.4,0,0,0,0))(no_defs)},
+ {4162, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4163, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4164, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-76,-138,67,0,0,0,0))(no_defs)},
+ {4165, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-173,253,27,0,0,0,0))(no_defs)},
+ {4166, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4167, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4168, srs::dpar::parameters<>(proj_longlat)(a,6378300)(b,6356751.689189189)(towgs84,srs::detail::towgs84<>(-199,32,322,0,0,0,0))(no_defs)},
+ {4169, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-115,118,426,0,0,0,0))(no_defs)},
+ {4170, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4171, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4172, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4173, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4174, srs::dpar::parameters<>(proj_longlat)(a,6378300)(b,6356751.689189189)(no_defs)},
+ {4175, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-88,4,101,0,0,0,0))(no_defs)},
+ {4176, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4178, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1))(no_defs)},
+ {4179, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84))(no_defs)},
+ {4180, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4181, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-193,13.7,-39.3,-0.41,-2.933,2.688,0.43))(no_defs)},
+ {4182, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4183, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-104,167,-38,0,0,0,0))(no_defs)},
+ {4184, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-203,141,53,0,0,0,0))(no_defs)},
+ {4185, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4188, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(towgs84,srs::detail::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15))(no_defs)},
+ {4189, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4190, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4191, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4192, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206.1,-174.7,-87.7,0,0,0,0))(no_defs)},
+ {4193, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-70.9,-151.8,-41.4,0,0,0,0))(no_defs)},
+ {4194, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4195, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(105,326,-102.5,0,0,0.814,-0.6))(no_defs)},
+ {4196, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-45,417,-3.5,0,0,0.814,-0.6))(no_defs)},
+ {4197, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4198, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4199, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4200, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4201, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4202, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(no_defs)},
+ {4203, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(no_defs)},
+ {4204, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4205, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-43,-163,45,0,0,0,0))(no_defs)},
+ {4206, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4207, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4208, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4209, srs::dpar::parameters<>(proj_longlat)(a,6378249.145)(b,6356514.966398753)(no_defs)},
+ {4210, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4211, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4212, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(31.95,300.99,419.19,0,0,0,0))(no_defs)},
+ {4213, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-106,-87,188,0,0,0,0))(no_defs)},
+ {4214, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4215, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4216, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4218, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(no_defs)},
+ {4219, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-384,664,-48,0,0,0,0))(no_defs)},
+ {4220, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4221, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4222, srs::dpar::parameters<>(proj_longlat)(a,6378249.145)(b,6356514.966398753)(no_defs)},
+ {4223, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4224, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-134,229,-29,0,0,0,0))(no_defs)},
+ {4225, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206,172,-6,0,0,0,0))(no_defs)},
+ {4226, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4227, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4228, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4229, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(no_defs)},
+ {4230, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4231, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4232, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4233, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-133,-321,50,0,0,0,0))(no_defs)},
+ {4234, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4235, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4236, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-637,-549,-203,0,0,0,0))(no_defs)},
+ {4237, srs::dpar::parameters<>(proj_longlat)(ellps_grs67)(no_defs)},
+ {4238, srs::dpar::parameters<>(proj_longlat)(a,6378160)(b,6356774.50408554)(no_defs)},
+ {4239, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(217,823,299,0,0,0,0))(no_defs)},
+ {4240, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(no_defs)},
+ {4241, srs::dpar::parameters<>(proj_longlat)(a,6378249.144808011)(b,6356514.966204134)(no_defs)},
+ {4242, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4243, srs::dpar::parameters<>(proj_longlat)(a,6377299.36559538)(b,6356098.359005157)(no_defs)},
+ {4244, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(-97,787,86,0,0,0,0))(no_defs)},
+ {4245, srs::dpar::parameters<>(proj_longlat)(a,6377304.063)(b,6356103.038993155)(towgs84,srs::detail::towgs84<>(-11,851,5,0,0,0,0))(no_defs)},
+ {4246, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-294.7,-200.1,525.5,0,0,0,0))(no_defs)},
+ {4247, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-273.5,110.6,-357.9,0,0,0,0))(no_defs)},
+ {4248, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4249, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4250, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-130,29,364,0,0,0,0))(no_defs)},
+ {4251, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-90,40,88,0,0,0,0))(no_defs)},
+ {4252, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4253, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4254, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4255, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-333,-222,114,0,0,0,0))(no_defs)},
+ {4256, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(41,-220,-134,0,0,0,0))(no_defs)},
+ {4257, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-587.8,519.75,145.76,0,0,0,0))(no_defs)},
+ {4258, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4259, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4260, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-70.9,-151.8,-41.4,0,0,0,0))(no_defs)},
+ {4261, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31,146,47,0,0,0,0))(no_defs)},
+ {4262, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(639,405,60,0,0,0,0))(no_defs)},
+ {4263, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4264, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-252.95,-4.11,-96.38,0,0,0,0))(no_defs)},
+ {4265, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4266, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4267, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(srs::dpar::datum_nad27)(no_defs)},
+ {4268, srs::dpar::parameters<>(proj_longlat)(a,6378450.047548896)(b,6356826.621488444)(no_defs)},
+ {4269, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(srs::dpar::datum_nad83)(no_defs)},
+ {4270, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4271, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4272, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(srs::dpar::datum_nzgd49)(no_defs)},
+ {4273, srs::dpar::parameters<>(proj_longlat)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(no_defs)},
+ {4274, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4275, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(no_defs)},
+ {4276, srs::dpar::parameters<>(proj_longlat)(ellps_wgs66)(no_defs)},
+ {4277, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(srs::dpar::datum_osgb36)(no_defs)},
+ {4278, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(no_defs)},
+ {4279, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(no_defs)},
+ {4280, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4281, srs::dpar::parameters<>(proj_longlat)(a,6378300.789)(b,6356566.435)(towgs84,srs::detail::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1))(no_defs)},
+ {4282, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4283, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4284, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4285, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4286, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(no_defs)},
+ {4287, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(164,138,-189,0,0,0,0))(no_defs)},
+ {4288, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4289, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4291, srs::dpar::parameters<>(proj_longlat)(ellps_grs67)(no_defs)},
+ {4292, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-355,21,72,0,0,0,0))(no_defs)},
+ {4293, srs::dpar::parameters<>(proj_longlat)(ellps_bess_nam)(no_defs)},
+ {4294, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4295, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4296, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4297, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189,-242,-91,0,0,0,0))(no_defs)},
+ {4298, srs::dpar::parameters<>(proj_longlat)(ellps_evrstss)(no_defs)},
+ {4299, srs::dpar::parameters<>(proj_longlat)(a,6377340.189)(b,6356034.447938534)(no_defs)},
+ {4300, srs::dpar::parameters<>(proj_longlat)(a,6377340.189)(b,6356034.447938534)(no_defs)},
+ {4301, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4302, srs::dpar::parameters<>(proj_longlat)(a,6378293.645208759)(b,6356617.987679838)(no_defs)},
+ {4303, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(no_defs)},
+ {4304, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-73,-247,227,0,0,0,0))(no_defs)},
+ {4306, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4307, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4308, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4309, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-155,171,37,0,0,0,0))(no_defs)},
+ {4310, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4311, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-265,120,-358,0,0,0,0))(no_defs)},
+ {4312, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(no_defs)},
+ {4313, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1))(no_defs)},
+ {4314, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(srs::dpar::datum_potsdam)(no_defs)},
+ {4315, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-23,259,-9,0,0,0,0))(no_defs)},
+ {4316, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4317, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4318, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(-3.2,-5.7,2.8,0,0,0,0))(no_defs)},
+ {4319, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4322, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(no_defs)},
+ {4324, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(no_defs)},
+ {4326, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ {4327, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{4328},
+ {4329, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{4330},
+ //{4331},
+ //{4332},
+ //{4333},
+ //{4334},
+ //{4335},
+ //{4336},
+ //{4337},
+ //{4338},
+ {4339, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4340},
+ {4341, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4342},
+ {4343, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4344},
+ {4345, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4346},
+ {4347, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4348},
+ {4349, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4350},
+ {4351, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4352},
+ {4353, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4354},
+ {4355, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4356},
+ {4357, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0))(no_defs)},
+ //{4358},
+ {4359, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ //{4360},
+ {4361, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ //{4362},
+ {4363, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4364},
+ {4365, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4366},
+ {4367, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4368},
+ {4369, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4370},
+ {4371, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4372},
+ {4373, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4374},
+ {4375, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4376},
+ {4377, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4378},
+ {4379, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4380},
+ {4381, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4382},
+ {4383, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4384},
+ //{4385},
+ {4386, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4387},
+ {4388, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4389},
+ {4600, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4601, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4602, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(725,685,536,0,0,0,0))(no_defs)},
+ {4603, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(72,213.7,93,0,0,0,0))(no_defs)},
+ {4604, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(174,359,365,0,0,0,0))(no_defs)},
+ {4605, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4606, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-149,128,296,0,0,0,0))(no_defs)},
+ {4607, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(195.671,332.517,274.607,0,0,0,0))(no_defs)},
+ {4608, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4609, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4610, srs::dpar::parameters<>(proj_longlat)(a,6378140)(b,6356755.288157528)(no_defs)},
+ {4611, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425))(no_defs)},
+ {4612, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4613, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4614, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706))(no_defs)},
+ {4615, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-499,-249,314,0,0,0,0))(no_defs)},
+ {4616, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4617, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4618, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(no_defs)},
+ {4619, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4620, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-106,-129,165,0,0,0,0))(no_defs)},
+ {4621, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(137,248,-430,0,0,0,0))(no_defs)},
+ {4622, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4623, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-186,230,110,0,0,0,0))(no_defs)},
+ {4624, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2,2,-2,0,0,0,0))(no_defs)},
+ {4625, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4626, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4627, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4628, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(162,117,154,0,0,0,0))(no_defs)},
+ {4629, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4630, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4631, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(145,-187,103,0,0,0,0))(no_defs)},
+ {4632, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-382,-59,-262,0,0,0,0))(no_defs)},
+ {4633, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4634, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4635, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798))(no_defs)},
+ {4636, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(365,194,166,0,0,0,0))(no_defs)},
+ {4637, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(325,154,172,0,0,0,0))(no_defs)},
+ {4638, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(30,430,368,0,0,0,0))(no_defs)},
+ {4639, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4640, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4641, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4642, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4643, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7))(no_defs)},
+ {4644, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4645, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4646, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4657, srs::dpar::parameters<>(proj_longlat)(a,6377019.27)(b,6355762.5391)(towgs84,srs::detail::towgs84<>(-28,199,5,0,0,0,0))(no_defs)},
+ {4658, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-73,46,-86,0,0,0,0))(no_defs)},
+ {4659, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4660, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805))(no_defs)},
+ {4661, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4662, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4663, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4664, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4665, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4666, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4667, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4668, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-86,-98,-119,0,0,0,0))(no_defs)},
+ {4669, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4670, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4671, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {4672, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(175,-38,113,0,0,0,0))(no_defs)},
+ {4673, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(174.05,-25.49,112.57,-0,-0,0.554,0.2263))(no_defs)},
+ {4674, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4675, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-100,-248,259,0,0,0,0))(no_defs)},
+ {4676, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4677, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {4678, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(44.585,-131.212,-39.544,0,0,0,0))(no_defs)},
+ {4679, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-80.01,253.26,291.19,0,0,0,0))(no_defs)},
+ {4680, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(124.5,-63.5,-281,0,0,0,0))(no_defs)},
+ {4681, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4682, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(no_defs)},
+ {4683, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06))(no_defs)},
+ {4684, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-133,-321,50,0,0,0,0))(no_defs)},
+ {4685, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4686, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4687, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4688, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074))(no_defs)},
+ {4689, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4690, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4691, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773))(no_defs)},
+ {4692, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(217.037,86.959,23.956,0,0,0,0))(no_defs)},
+ {4693, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,-0.15,0.68,0,0,0,0))(no_defs)},
+ {4694, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4695, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4696, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4697, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4698, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(145,-187,103,0,0,0,0))(no_defs)},
+ {4699, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-770.1,158.4,-498.2,0,0,0,0))(no_defs)},
+ {4700, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4701, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-79.9,-158,-168.9,0,0,0,0))(no_defs)},
+ {4702, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4703, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4704, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4705, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4706, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(towgs84,srs::detail::towgs84<>(-146.21,112.63,4.05,0,0,0,0))(no_defs)},
+ {4707, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(114,-116,-333,0,0,0,0))(no_defs)},
+ {4708, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(towgs84,srs::detail::towgs84<>(-491,-22,435,0,0,0,0))(no_defs)},
+ {4709, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(145,75,-272,0,0,0,0))(no_defs)},
+ {4710, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-320,550,-494,0,0,0,0))(no_defs)},
+ {4711, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(124,-234,-25,0,0,0,0))(no_defs)},
+ {4712, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-205,107,53,0,0,0,0))(no_defs)},
+ {4713, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-79,-129,145,0,0,0,0))(no_defs)},
+ {4714, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-127,-769,472,0,0,0,0))(no_defs)},
+ {4715, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-104,-129,239,0,0,0,0))(no_defs)},
+ {4716, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(298,-304,-375,0,0,0,0))(no_defs)},
+ {4717, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-2,151,181,0,0,0,0))(no_defs)},
+ {4718, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4719, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(211,147,111,0,0,0,0))(no_defs)},
+ {4720, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(no_defs)},
+ {4721, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(265.025,384.929,-194.046,0,0,0,0))(no_defs)},
+ {4722, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-794,119,-298,0,0,0,0))(no_defs)},
+ {4723, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(67.8,106.1,138.8,0,0,0,0))(no_defs)},
+ {4724, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(208,-435,-229,0,0,0,0))(no_defs)},
+ {4725, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(189,-79,-202,0,0,0,0))(no_defs)},
+ {4726, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {4727, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4728, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-307,-92,127,0,0,0,0))(no_defs)},
+ {4729, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(185,165,42,0,0,0,0))(no_defs)},
+ {4730, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(170,42,84,0,0,0,0))(no_defs)},
+ {4731, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(51,391,-36,0,0,0,0))(no_defs)},
+ {4732, srs::dpar::parameters<>(proj_longlat)(a,6378270)(b,6356794.343434343)(towgs84,srs::detail::towgs84<>(102,52,-38,0,0,0,0))(no_defs)},
+ {4733, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(276,-57,149,0,0,0,0))(no_defs)},
+ {4734, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-632,438,-609,0,0,0,0))(no_defs)},
+ {4735, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(647,1777,-1124,0,0,0,0))(no_defs)},
+ {4736, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(260,12,-147,0,0,0,0))(no_defs)},
+ {4737, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4738, srs::dpar::parameters<>(proj_longlat)(a,6378293.645208759)(b,6356617.987679838)(no_defs)},
+ {4739, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-156,-271,-189,0,0,0,0))(no_defs)},
+ {4740, srs::dpar::parameters<>(proj_longlat)(a,6378136)(b,6356751.361745712)(towgs84,srs::detail::towgs84<>(0,0,1.5,-0,-0,0.076,0))(no_defs)},
+ {4741, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4742, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {4743, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(84.1,-320.1,218.7,0,0,0,0))(no_defs)},
+ {4744, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {4745, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4746, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {4747, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4748, srs::dpar::parameters<>(proj_longlat)(a,6378306.3696)(b,6356571.996)(towgs84,srs::detail::towgs84<>(51,391,-36,0,0,0,0))(no_defs)},
+ {4749, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4750, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(-56.263,16.136,-22.856,0,0,0,0))(no_defs)},
+ {4751, srs::dpar::parameters<>(proj_longlat)(a,6377295.664)(b,6356094.667915204)(no_defs)},
+ {4752, srs::dpar::parameters<>(proj_longlat)(a,6378306.3696)(b,6356571.996)(towgs84,srs::detail::towgs84<>(51,391,-36,0,0,0,0))(no_defs)},
+ {4753, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {4754, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0))(no_defs)},
+ {4755, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4756, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(no_defs)},
+ {4757, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(no_defs)},
+ {4758, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4759, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4760, srs::dpar::parameters<>(proj_longlat)(ellps_wgs66)(no_defs)},
+ {4761, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4762, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4763, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4764, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4765, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(no_defs)},
+ {4801, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_bern)(no_defs)},
+ {4802, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_bogota)(no_defs)},
+ {4803, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_lisbon)(no_defs)},
+ {4804, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-587.8,519.75,145.76,0,0,0,0))(pm_jakarta)(no_defs)},
+ {4805, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_ferro)(no_defs)},
+ {4806, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_rome)(no_defs)},
+ {4807, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(no_defs)},
+ {4808, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {4809, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_brussels)(no_defs)},
+ {4810, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189,-242,-91,0,0,0,0))(pm_paris)(no_defs)},
+ {4811, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-73,-247,227,0,0,0,0))(pm_paris)(no_defs)},
+ {4813, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {4814, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_stockholm)(no_defs)},
+ {4815, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_athens)(no_defs)},
+ {4816, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(pm_paris)(no_defs)},
+ {4817, srs::dpar::parameters<>(proj_longlat)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(no_defs)},
+ {4818, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_ferro)(no_defs)},
+ {4819, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(pm_paris)(no_defs)},
+ {4820, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {4821, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(pm_paris)(no_defs)},
+ //{4882},
+ {4883, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4884},
+ {4885, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4886},
+ {4887, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4888},
+ {4889, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4890},
+ {4891, srs::dpar::parameters<>(proj_longlat)(ellps_wgs66)(no_defs)},
+ //{4892},
+ {4893, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4894},
+ {4895, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4896},
+ //{4897},
+ {4898, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4899},
+ {4900, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.4058,-109.8777,-2.5764,0.0,0.0,0.0,0.0))(no_defs)},
+ {4901, srs::dpar::parameters<>(proj_longlat)(a,6376523)(b,6355862.933255573)(pm,2.3372291666985)(no_defs)},
+ {4902, srs::dpar::parameters<>(proj_longlat)(a,6376523)(b,6355862.933255573)(pm_paris)(no_defs)},
+ {4903, srs::dpar::parameters<>(proj_longlat)(a,6378298.3)(b,6356657.142669561)(pm_madrid)(no_defs)},
+ {4904, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_lisbon)(no_defs)},
+ //{4906},
+ {4907, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4908},
+ {4909, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4910},
+ //{4911},
+ //{4912},
+ //{4913},
+ //{4914},
+ //{4915},
+ //{4916},
+ //{4917},
+ //{4918},
+ //{4919},
+ //{4920},
+ {4921, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ //{4922},
+ {4923, srs::dpar::parameters<>(proj_longlat)(a,6378136)(b,6356751.361745712)(towgs84,srs::detail::towgs84<>(0.0,0.0,1.5,-0.0,0.0,-0.076,0.0))(no_defs)},
+ //{4924},
+ {4925, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4926},
+ {4927, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4928},
+ {4929, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ //{4930},
+ {4931, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4932},
+ {4933, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4934},
+ {4935, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4936},
+ {4937, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4938},
+ {4939, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4940},
+ {4941, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4942},
+ {4943, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4944},
+ {4945, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4946},
+ {4947, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4948},
+ {4949, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4950},
+ {4951, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4952},
+ {4953, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0))(no_defs)},
+ //{4954},
+ {4955, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ //{4956},
+ {4957, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ //{4958},
+ {4959, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4960},
+ {4961, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4962},
+ {4963, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4964},
+ {4965, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4966},
+ {4967, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4968},
+ {4969, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4970},
+ {4971, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4972},
+ {4973, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4974},
+ {4975, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4976},
+ {4977, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4978},
+ {4979, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{4980},
+ {4981, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4982},
+ {4983, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4984},
+ {4985, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105))(no_defs)},
+ //{4986},
+ {4987, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662))(no_defs)},
+ //{4988},
+ {4989, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4990},
+ {4991, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ //{4992},
+ {4993, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(44.585,-131.212,-39.544,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4994},
+ {4995, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-127.62,-67.24,-47.04,-3.068,-4.903,-1.578,-0.21864069462192215))(no_defs)},
+ //{4996},
+ {4997, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ //{4998},
+ {4999, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.072,-0.507,-0.245,-0.0183,-0.0003,0.007,-0.001918262698097996))(no_defs)},
+ //{5600},
+ //{5601},
+ //{5602},
+ //{5603},
+ //{5604},
+ //{5605},
+ //{5606},
+ //{5607},
+ //{5608},
+ //{5609},
+ //{5610},
+ //{5611},
+ //{5612},
+ //{5613},
+ //{5614},
+ //{5615},
+ //{5616},
+ //{5617},
+ //{5618},
+ //{5619},
+ //{5620},
+ //{5701},
+ //{5702},
+ //{5703},
+ //{5704},
+ //{5705},
+ //{5706},
+ //{5709},
+ //{5710},
+ //{5711},
+ //{5712},
+ //{5713},
+ //{5714},
+ //{5715},
+ //{5716},
+ //{5717},
+ //{5718},
+ //{5719},
+ //{5720},
+ //{5721},
+ //{5722},
+ //{5723},
+ //{5724},
+ //{5725},
+ //{5726},
+ //{5727},
+ //{5728},
+ //{5729},
+ //{5730},
+ //{5731},
+ //{5732},
+ //{5733},
+ //{5734},
+ //{5735},
+ //{5736},
+ //{5737},
+ //{5738},
+ //{5739},
+ //{5740},
+ //{5741},
+ //{5742},
+ //{5743},
+ //{5744},
+ //{5745},
+ //{5746},
+ //{5747},
+ //{5748},
+ //{5749},
+ //{5750},
+ //{5751},
+ //{5752},
+ //{5753},
+ //{5754},
+ //{5755},
+ //{5756},
+ //{5757},
+ //{5758},
+ //{5759},
+ //{5760},
+ //{5761},
+ //{5762},
+ //{5763},
+ //{5764},
+ //{5765},
+ //{5766},
+ //{5767},
+ //{5768},
+ //{5769},
+ //{5770},
+ //{5771},
+ //{5772},
+ //{5773},
+ //{5774},
+ //{5775},
+ //{5776},
+ //{5777},
+ //{5778},
+ //{5779},
+ //{5780},
+ //{5781},
+ //{5782},
+ //{5783},
+ //{5784},
+ //{5785},
+ //{5786},
+ //{5787},
+ //{5788},
+ //{5789},
+ //{5790},
+ //{5791},
+ //{5792},
+ //{5793},
+ //{5794},
+ //{5795},
+ //{5796},
+ //{5797},
+ //{5798},
+ //{5799},
+ //{5800},
+ //{5801},
+ //{5802},
+ //{5803},
+ //{5804},
+ //{5805},
+ //{5806},
+ //{5807},
+ //{5808},
+ //{5809},
+ //{5810},
+ //{5811},
+ //{5812},
+ //{5813},
+ //{5814},
+ //{5815},
+ //{5816},
+ //{5817},
+ //{5818},
+ //{5819},
+ //{5820},
+ //{5821},
+ //{7400},
+ //{7401},
+ //{7402},
+ //{7403},
+ //{7404},
+ //{7405},
+ //{7406},
+ //{7407},
+ //{7408},
+ //{7409},
+ //{7410},
+ //{7411},
+ //{7412},
+ //{7413},
+ //{7414},
+ //{7415},
+ //{7416},
+ //{7417},
+ //{7418},
+ //{7419},
+ //{7420},
+ //{7421},
+ //{7422},
+ {20004, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20005, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,5500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20006, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,6500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20007, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,7500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20008, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20009, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,9500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20010, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,10500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20011, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,11500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20012, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,12500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20013, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,13500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20014, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,14500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20015, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,15500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20016, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,16500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20017, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,17500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20018, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,18500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20019, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,19500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20020, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,20500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20021, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,21500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20022, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,22500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20023, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,23500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20024, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,24500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20025, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,25500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20026, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,26500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20027, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,27500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20028, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,28500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20029, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,29500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20030, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,30500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20031, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,31500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20032, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,32500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20064, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20065, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20066, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20067, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20068, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20069, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20070, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20071, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20072, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20073, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20074, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20075, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20076, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20077, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20078, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20079, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20080, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20081, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20082, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20083, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20084, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20085, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20086, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20087, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20088, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20089, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20090, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20091, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20092, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {20135, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_clrk80)(units_m)(no_defs)},
+ {20136, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_clrk80)(units_m)(no_defs)},
+ {20137, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_clrk80)(units_m)(no_defs)},
+ {20138, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_clrk80)(units_m)(no_defs)},
+ {20248, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20249, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20250, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20251, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20252, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20253, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20254, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20255, srs::dpar::parameters<>(proj_utm)(zone,55)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20256, srs::dpar::parameters<>(proj_utm)(zone,56)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20257, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20258, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20348, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20349, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20350, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20351, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20352, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20353, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20354, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20355, srs::dpar::parameters<>(proj_utm)(zone,55)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20356, srs::dpar::parameters<>(proj_utm)(zone,56)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20357, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20358, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {20436, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_intl)(units_m)(no_defs)},
+ {20437, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_intl)(units_m)(no_defs)},
+ {20438, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_intl)(units_m)(no_defs)},
+ {20439, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_intl)(units_m)(no_defs)},
+ {20440, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_intl)(units_m)(no_defs)},
+ {20499, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_intl)(units_m)(no_defs)},
+ {20538, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_krass)(towgs84,srs::detail::towgs84<>(-43,-163,45,0,0,0,0))(units_m)(no_defs)},
+ {20539, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_krass)(towgs84,srs::detail::towgs84<>(-43,-163,45,0,0,0,0))(units_m)(no_defs)},
+ {20790, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,1)(k,1)(x_0,200000)(y_0,300000)(ellps_intl)(pm_lisbon)(units_m)(no_defs)},
+ {20791, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,1)(k,1)(x_0,0)(y_0,0)(ellps_intl)(pm_lisbon)(units_m)(no_defs)},
+ {20822, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_intl)(units_m)(no_defs)},
+ {20823, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_intl)(units_m)(no_defs)},
+ {20824, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_intl)(units_m)(no_defs)},
+ {20934, srs::dpar::parameters<>(proj_utm)(zone,34)(south)(a,6378249.145)(b,6356514.966398753)(units_m)(no_defs)},
+ {20935, srs::dpar::parameters<>(proj_utm)(zone,35)(south)(a,6378249.145)(b,6356514.966398753)(units_m)(no_defs)},
+ {20936, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(a,6378249.145)(b,6356514.966398753)(units_m)(no_defs)},
+ {21035, srs::dpar::parameters<>(proj_utm)(zone,35)(south)(ellps_clrk80)(units_m)(no_defs)},
+ {21036, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(ellps_clrk80)(units_m)(no_defs)},
+ {21037, srs::dpar::parameters<>(proj_utm)(zone,37)(south)(ellps_clrk80)(units_m)(no_defs)},
+ {21095, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_clrk80)(units_m)(no_defs)},
+ {21096, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_clrk80)(units_m)(no_defs)},
+ {21097, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_clrk80)(units_m)(no_defs)},
+ {21100, srs::dpar::parameters<>(proj_merc)(lon_0,110)(k,0.997)(x_0,3900000)(y_0,900000)(ellps_bessel)(pm_jakarta)(units_m)(no_defs)},
+ {21148, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_bessel)(units_m)(no_defs)},
+ {21149, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_bessel)(units_m)(no_defs)},
+ {21150, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_bessel)(units_m)(no_defs)},
+ {21291, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-62)(k,0.9995000000000001)(x_0,400000)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(31.95,300.99,419.19,0,0,0,0))(units_m)(no_defs)},
+ {21292, srs::dpar::parameters<>(proj_tmerc)(lat_0,13.17638888888889)(lon_0,-59.55972222222222)(k,0.9999986)(x_0,30000)(y_0,75000)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(31.95,300.99,419.19,0,0,0,0))(units_m)(no_defs)},
+ {21413, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,13500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21414, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,14500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21415, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,15500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21416, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,16500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21417, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,17500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21418, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,18500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21419, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,19500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21420, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,20500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21421, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,21500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21422, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,22500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21423, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,23500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21453, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21454, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21455, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21456, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21457, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21458, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21459, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21460, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21461, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21462, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21463, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21473, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21474, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21475, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21476, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21477, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21478, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21479, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21480, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21481, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21482, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21483, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {21500, srs::dpar::parameters<>(proj_lcc)(lat_1,49.83333333333334)(lat_2,51.16666666666666)(lat_0,90)(lon_0,0)(x_0,150000)(y_0,5400000)(ellps_intl)(pm_brussels)(units_m)(no_defs)},
+ {21780, srs::dpar::parameters<>(proj_somerc)(lat_0,46.95240555555556)(lon_0,0)(k_0,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_bern)(units_m)(no_defs)},
+ {21781, srs::dpar::parameters<>(proj_somerc)(lat_0,46.95240555555556)(lon_0,7.439583333333333)(k_0,1)(x_0,600000)(y_0,200000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(674.374,15.056,405.346,0,0,0,0))(units_m)(no_defs)},
+ //{21782},
+ {21817, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21818, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21891, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-77.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21892, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-74.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21893, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-71.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21894, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-68.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21896, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-77.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21897, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-74.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21898, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-71.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {21899, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.599047222222222)(lon_0,-68.08091666666667)(k,1)(x_0,1000000)(y_0,1000000)(ellps_intl)(towgs84,srs::detail::towgs84<>(307,304,-318,0,0,0,0))(units_m)(no_defs)},
+ {22032, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_clrk80)(units_m)(no_defs)},
+ {22033, srs::dpar::parameters<>(proj_utm)(zone,33)(south)(ellps_clrk80)(units_m)(no_defs)},
+ {22091, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,11.5)(k,0.9996)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {22092, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,0.9996)(x_0,500000)(y_0,10000000)(ellps_clrk80)(units_m)(no_defs)},
+ {22171, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-72)(k,1)(x_0,1500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22172, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-69)(k,1)(x_0,2500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22173, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-66)(k,1)(x_0,3500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22174, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-63)(k,1)(x_0,4500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22175, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-60)(k,1)(x_0,5500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22176, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-57)(k,1)(x_0,6500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22177, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-54)(k,1)(x_0,7500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {22181, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-72)(k,1)(x_0,1500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22182, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-69)(k,1)(x_0,2500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22183, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-66)(k,1)(x_0,3500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22184, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-63)(k,1)(x_0,4500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22185, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-60)(k,1)(x_0,5500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22186, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-57)(k,1)(x_0,6500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22187, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-54)(k,1)(x_0,7500000)(y_0,0)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {22191, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-72)(k,1)(x_0,1500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22192, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-69)(k,1)(x_0,2500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22193, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-66)(k,1)(x_0,3500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22194, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-63)(k,1)(x_0,4500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22195, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-60)(k,1)(x_0,5500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22196, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-57)(k,1)(x_0,6500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22197, srs::dpar::parameters<>(proj_tmerc)(lat_0,-90)(lon_0,-54)(k,1)(x_0,7500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {22234, srs::dpar::parameters<>(proj_utm)(zone,34)(south)(a,6378249.145)(b,6356514.966398753)(units_m)(no_defs)},
+ {22235, srs::dpar::parameters<>(proj_utm)(zone,35)(south)(a,6378249.145)(b,6356514.966398753)(units_m)(no_defs)},
+ {22236, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(a,6378249.145)(b,6356514.966398753)(units_m)(no_defs)},
+ //{22275},
+ //{22277},
+ //{22279},
+ //{22281},
+ //{22283},
+ //{22285},
+ //{22287},
+ //{22289},
+ //{22291},
+ //{22293},
+ //{22300},
+ {22332, srs::dpar::parameters<>(proj_utm)(zone,32)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22391, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_0,36)(lon_0,9.9)(k_0,0.999625544)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22392, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,9.9)(k_0,0.999625769)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22521, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206,172,-6,0,0,0,0))(units_m)(no_defs)},
+ {22522, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206,172,-6,0,0,0,0))(units_m)(no_defs)},
+ {22523, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206,172,-6,0,0,0,0))(units_m)(no_defs)},
+ {22524, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206,172,-6,0,0,0,0))(units_m)(no_defs)},
+ {22525, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206,172,-6,0,0,0,0))(units_m)(no_defs)},
+ {22700, srs::dpar::parameters<>(proj_lcc)(lat_1,34.65)(lat_0,34.65)(lon_0,37.35)(k_0,0.9996256)(x_0,300000)(y_0,300000)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22770, srs::dpar::parameters<>(proj_lcc)(lat_1,34.65)(lat_0,34.65)(lon_0,37.35)(k_0,0.9996256)(x_0,300000)(y_0,300000)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22780, srs::dpar::parameters<>(proj_sterea)(lat_0,34.2)(lon_0,39.15)(k,0.9995341)(x_0,0)(y_0,0)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22832, srs::dpar::parameters<>(proj_utm)(zone,32)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {22991, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,35)(k,1)(x_0,300000)(y_0,1100000)(ellps_helmert)(units_m)(no_defs)},
+ {22992, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,31)(k,1)(x_0,615000)(y_0,810000)(ellps_helmert)(units_m)(no_defs)},
+ {22993, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,27)(k,1)(x_0,700000)(y_0,200000)(ellps_helmert)(units_m)(no_defs)},
+ {22994, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,27)(k,1)(x_0,700000)(y_0,1200000)(ellps_helmert)(units_m)(no_defs)},
+ {23028, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(units_m)(no_defs)},
+ {23029, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_intl)(units_m)(no_defs)},
+ {23030, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_intl)(units_m)(no_defs)},
+ {23031, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_intl)(units_m)(no_defs)},
+ {23032, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_intl)(units_m)(no_defs)},
+ {23033, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_intl)(units_m)(no_defs)},
+ {23034, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_intl)(units_m)(no_defs)},
+ {23035, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_intl)(units_m)(no_defs)},
+ {23036, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_intl)(units_m)(no_defs)},
+ {23037, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_intl)(units_m)(no_defs)},
+ {23038, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_intl)(units_m)(no_defs)},
+ {23090, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {23095, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,5)(k,0.9996)(x_0,500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {23239, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_clrk80)(units_m)(no_defs)},
+ {23240, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_clrk80)(units_m)(no_defs)},
+ {23433, srs::dpar::parameters<>(proj_utm)(zone,33)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {23700, srs::dpar::parameters<>(proj_somerc)(lat_0,47.14439372222222)(lon_0,19.04857177777778)(k_0,0.99993)(x_0,650000)(y_0,200000)(ellps_grs67)(units_m)(no_defs)},
+ {23830, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,94.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23831, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,97.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23832, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,100.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23833, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,103.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23834, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,106.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23835, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,109.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23836, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,112.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23837, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,115.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23838, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,118.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23839, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,121.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23840, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,124.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23841, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,127.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23842, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,130.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23843, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,133.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23844, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,136.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23845, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,139.5)(k,0.9999)(x_0,200000)(y_0,1500000)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23846, srs::dpar::parameters<>(proj_utm)(zone,46)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23847, srs::dpar::parameters<>(proj_utm)(zone,47)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23848, srs::dpar::parameters<>(proj_utm)(zone,48)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23849, srs::dpar::parameters<>(proj_utm)(zone,49)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23850, srs::dpar::parameters<>(proj_utm)(zone,50)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23851, srs::dpar::parameters<>(proj_utm)(zone,51)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23852, srs::dpar::parameters<>(proj_utm)(zone,52)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23853, srs::dpar::parameters<>(proj_utm)(zone,53)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23866, srs::dpar::parameters<>(proj_utm)(zone,46)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23867, srs::dpar::parameters<>(proj_utm)(zone,47)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23868, srs::dpar::parameters<>(proj_utm)(zone,48)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23869, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23870, srs::dpar::parameters<>(proj_utm)(zone,50)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23871, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23872, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23877, srs::dpar::parameters<>(proj_utm)(zone,47)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23878, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23879, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23880, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23881, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23882, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23883, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23884, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {23886, srs::dpar::parameters<>(proj_utm)(zone,46)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23887, srs::dpar::parameters<>(proj_utm)(zone,47)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23888, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23889, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23890, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23891, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23892, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23893, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23894, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(a,6378160)(b,6356774.50408554)(units_m)(no_defs)},
+ {23946, srs::dpar::parameters<>(proj_utm)(zone,46)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(217,823,299,0,0,0,0))(units_m)(no_defs)},
+ {23947, srs::dpar::parameters<>(proj_utm)(zone,47)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(217,823,299,0,0,0,0))(units_m)(no_defs)},
+ {23948, srs::dpar::parameters<>(proj_utm)(zone,48)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(217,823,299,0,0,0,0))(units_m)(no_defs)},
+ {24047, srs::dpar::parameters<>(proj_utm)(zone,47)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {24048, srs::dpar::parameters<>(proj_utm)(zone,48)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {24100, srs::dpar::parameters<>(proj_lcc)(lat_1,18)(lat_0,18)(lon_0,-77)(k_0,1)(x_0,167638.49597)(y_0,121918.90616)(a,6378249.144808011)(b,6356514.966204134)(to_meter,0.3047972654)(no_defs)},
+ {24200, srs::dpar::parameters<>(proj_lcc)(lat_1,18)(lat_0,18)(lon_0,-77)(k_0,1)(x_0,250000)(y_0,150000)(ellps_clrk66)(units_m)(no_defs)},
+ {24305, srs::dpar::parameters<>(proj_utm)(zone,45)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {24306, srs::dpar::parameters<>(proj_utm)(zone,46)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {24311, srs::dpar::parameters<>(proj_utm)(zone,41)(a,6377301.243)(b,6356100.230165384)(units_m)(no_defs)},
+ {24312, srs::dpar::parameters<>(proj_utm)(zone,42)(a,6377301.243)(b,6356100.230165384)(units_m)(no_defs)},
+ {24313, srs::dpar::parameters<>(proj_utm)(zone,43)(a,6377301.243)(b,6356100.230165384)(units_m)(no_defs)},
+ {24342, srs::dpar::parameters<>(proj_utm)(zone,42)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24343, srs::dpar::parameters<>(proj_utm)(zone,43)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24344, srs::dpar::parameters<>(proj_utm)(zone,44)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24345, srs::dpar::parameters<>(proj_utm)(zone,45)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24346, srs::dpar::parameters<>(proj_utm)(zone,46)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24347, srs::dpar::parameters<>(proj_utm)(zone,47)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24370, srs::dpar::parameters<>(proj_lcc)(lat_1,39.5)(lat_0,39.5)(lon_0,68)(k_0,0.99846154)(x_0,2153865.73916853)(y_0,2368292.194628102)(a,6377299.36559538)(b,6356098.359005157)(to_meter,0.9143985307444408)(no_defs)},
+ {24371, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_0,32.5)(lon_0,68)(k_0,0.99878641)(x_0,2743195.592233322)(y_0,914398.5307444407)(a,6377299.36559538)(b,6356098.359005157)(to_meter,0.9143985307444408)(no_defs)},
+ {24372, srs::dpar::parameters<>(proj_lcc)(lat_1,26)(lat_0,26)(lon_0,74)(k_0,0.99878641)(x_0,2743195.592233322)(y_0,914398.5307444407)(a,6377299.36559538)(b,6356098.359005157)(to_meter,0.9143985307444408)(no_defs)},
+ {24373, srs::dpar::parameters<>(proj_lcc)(lat_1,19)(lat_0,19)(lon_0,80)(k_0,0.99878641)(x_0,2743195.592233322)(y_0,914398.5307444407)(a,6377299.36559538)(b,6356098.359005157)(to_meter,0.9143985307444408)(no_defs)},
+ {24374, srs::dpar::parameters<>(proj_lcc)(lat_1,12)(lat_0,12)(lon_0,80)(k_0,0.99878641)(x_0,2743195.592233322)(y_0,914398.5307444407)(a,6377299.36559538)(b,6356098.359005157)(to_meter,0.9143985307444408)(no_defs)},
+ {24375, srs::dpar::parameters<>(proj_lcc)(lat_1,26)(lat_0,26)(lon_0,90)(k_0,0.99878641)(x_0,2743185.69)(y_0,914395.23)(a,6377276.345)(b,6356075.41314024)(units_m)(no_defs)},
+ {24376, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_0,32.5)(lon_0,68)(k_0,0.99878641)(x_0,2743196.4)(y_0,914398.8)(a,6377301.243)(b,6356100.230165384)(units_m)(no_defs)},
+ {24377, srs::dpar::parameters<>(proj_lcc)(lat_1,26)(lat_0,26)(lon_0,74)(k_0,0.99878641)(x_0,2743196.4)(y_0,914398.8)(a,6377301.243)(b,6356100.230165384)(units_m)(no_defs)},
+ {24378, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_0,32.5)(lon_0,68)(k_0,0.99878641)(x_0,2743195.5)(y_0,914398.5)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24379, srs::dpar::parameters<>(proj_lcc)(lat_1,26)(lat_0,26)(lon_0,74)(k_0,0.99878641)(x_0,2743195.5)(y_0,914398.5)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24380, srs::dpar::parameters<>(proj_lcc)(lat_1,26)(lat_0,26)(lon_0,90)(k_0,0.99878641)(x_0,2743195.5)(y_0,914398.5)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24381, srs::dpar::parameters<>(proj_lcc)(lat_1,19)(lat_0,19)(lon_0,80)(k_0,0.99878641)(x_0,2743195.5)(y_0,914398.5)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24382, srs::dpar::parameters<>(proj_lcc)(lat_1,26)(lat_0,26)(lon_0,90)(k_0,0.99878641)(x_0,2743195.592233322)(y_0,914398.5307444407)(a,6377299.36559538)(b,6356098.359005157)(to_meter,0.9143985307444408)(no_defs)},
+ {24383, srs::dpar::parameters<>(proj_lcc)(lat_1,12)(lat_0,12)(lon_0,80)(k_0,0.99878641)(x_0,2743195.5)(y_0,914398.5)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295,736,257,0,0,0,0))(units_m)(no_defs)},
+ {24500, srs::dpar::parameters<>(proj_cass)(lat_0,1.287646666666667)(lon_0,103.8530022222222)(x_0,30000)(y_0,30000)(a,6377304.063)(b,6356103.038993155)(towgs84,srs::detail::towgs84<>(-11,851,5,0,0,0,0))(units_m)(no_defs)},
+ {24547, srs::dpar::parameters<>(proj_utm)(zone,47)(a,6377304.063)(b,6356103.038993155)(towgs84,srs::detail::towgs84<>(-11,851,5,0,0,0,0))(units_m)(no_defs)},
+ {24548, srs::dpar::parameters<>(proj_utm)(zone,48)(a,6377304.063)(b,6356103.038993155)(towgs84,srs::detail::towgs84<>(-11,851,5,0,0,0,0))(units_m)(no_defs)},
+ {24571, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,102.25)(alpha,323.0257905)(k,0.99984)(x_0,804671.2997750348)(y_0,0)(a,6377304.063)(b,6356103.038993155)(towgs84,srs::detail::towgs84<>(-11,851,5,0,0,0,0))(to_meter,20.11678249437587)(no_defs)},
+ {24600, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_0,32.5)(lon_0,45)(k_0,0.9987864078000001)(x_0,1500000)(y_0,1166200)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-294.7,-200.1,525.5,0,0,0,0))(units_m)(no_defs)},
+ {24718, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_intl)(towgs84,srs::detail::towgs84<>(-273.5,110.6,-357.9,0,0,0,0))(units_m)(no_defs)},
+ {24719, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_intl)(towgs84,srs::detail::towgs84<>(-273.5,110.6,-357.9,0,0,0,0))(units_m)(no_defs)},
+ {24720, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(towgs84,srs::detail::towgs84<>(-273.5,110.6,-357.9,0,0,0,0))(units_m)(no_defs)},
+ {24817, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_intl)(units_m)(no_defs)},
+ {24818, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_intl)(units_m)(no_defs)},
+ {24819, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_intl)(units_m)(no_defs)},
+ {24820, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(units_m)(no_defs)},
+ {24821, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_intl)(units_m)(no_defs)},
+ {24877, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_intl)(units_m)(no_defs)},
+ {24878, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_intl)(units_m)(no_defs)},
+ {24879, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_intl)(units_m)(no_defs)},
+ {24880, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_intl)(units_m)(no_defs)},
+ {24881, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_intl)(units_m)(no_defs)},
+ {24882, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_intl)(units_m)(no_defs)},
+ {24891, srs::dpar::parameters<>(proj_tmerc)(lat_0,-6)(lon_0,-80.5)(k,0.99983008)(x_0,222000)(y_0,1426834.743)(ellps_intl)(units_m)(no_defs)},
+ {24892, srs::dpar::parameters<>(proj_tmerc)(lat_0,-9.5)(lon_0,-76)(k,0.99932994)(x_0,720000)(y_0,1039979.159)(ellps_intl)(units_m)(no_defs)},
+ {24893, srs::dpar::parameters<>(proj_tmerc)(lat_0,-9.5)(lon_0,-70.5)(k,0.99952992)(x_0,1324000)(y_0,1040084.558)(ellps_intl)(units_m)(no_defs)},
+ {25000, srs::dpar::parameters<>(proj_tmerc)(lat_0,4.666666666666667)(lon_0,-1)(k,0.99975)(x_0,274319.51)(y_0,0)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-130,29,364,0,0,0,0))(units_m)(no_defs)},
+ {25231, srs::dpar::parameters<>(proj_utm)(zone,31)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {25391, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {25392, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,119)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {25393, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,121)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {25394, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {25395, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,125)(k,0.99995)(x_0,500000)(y_0,0)(ellps_clrk66)(units_m)(no_defs)},
+ {25700, srs::dpar::parameters<>(proj_merc)(lon_0,110)(k,0.997)(x_0,3900000)(y_0,900000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-587.8,519.75,145.76,0,0,0,0))(pm_jakarta)(units_m)(no_defs)},
+ {25828, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_grs80)(units_m)(no_defs)},
+ {25829, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_grs80)(units_m)(no_defs)},
+ {25830, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_grs80)(units_m)(no_defs)},
+ {25831, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_grs80)(units_m)(no_defs)},
+ {25832, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_grs80)(units_m)(no_defs)},
+ {25833, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_grs80)(units_m)(no_defs)},
+ {25834, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_grs80)(units_m)(no_defs)},
+ {25835, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_grs80)(units_m)(no_defs)},
+ {25836, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_grs80)(units_m)(no_defs)},
+ {25837, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_grs80)(units_m)(no_defs)},
+ {25838, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_grs80)(units_m)(no_defs)},
+ {25884, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9996)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {25932, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_intl)(units_m)(no_defs)},
+ {26191, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,-5.4)(k_0,0.999625769)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31,146,47,0,0,0,0))(units_m)(no_defs)},
+ {26192, srs::dpar::parameters<>(proj_lcc)(lat_1,29.7)(lat_0,29.7)(lon_0,-5.4)(k_0,0.9996155960000001)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31,146,47,0,0,0,0))(units_m)(no_defs)},
+ {26193, srs::dpar::parameters<>(proj_lcc)(lat_1,26.1)(lat_0,26.1)(lon_0,-5.4)(k_0,0.9996)(x_0,1200000)(y_0,400000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31,146,47,0,0,0,0))(units_m)(no_defs)},
+ {26194, srs::dpar::parameters<>(proj_lcc)(lat_1,26.1)(lat_0,26.1)(lon_0,-5.4)(k_0,0.999616304)(x_0,1200000)(y_0,400000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31,146,47,0,0,0,0))(units_m)(no_defs)},
+ {26195, srs::dpar::parameters<>(proj_lcc)(lat_1,22.5)(lat_0,22.5)(lon_0,-5.4)(k_0,0.999616437)(x_0,1500000)(y_0,400000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31,146,47,0,0,0,0))(units_m)(no_defs)},
+ {26237, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_bessel)(towgs84,srs::detail::towgs84<>(639,405,60,0,0,0,0))(units_m)(no_defs)},
+ {26331, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_clrk80)(units_m)(no_defs)},
+ {26332, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_clrk80)(units_m)(no_defs)},
+ {26391, srs::dpar::parameters<>(proj_tmerc)(lat_0,4)(lon_0,4.5)(k,0.99975)(x_0,230738.26)(y_0,0)(ellps_clrk80)(units_m)(no_defs)},
+ {26392, srs::dpar::parameters<>(proj_tmerc)(lat_0,4)(lon_0,8.5)(k,0.99975)(x_0,670553.98)(y_0,0)(ellps_clrk80)(units_m)(no_defs)},
+ {26393, srs::dpar::parameters<>(proj_tmerc)(lat_0,4)(lon_0,12.5)(k,0.99975)(x_0,1110369.7)(y_0,0)(ellps_clrk80)(units_m)(no_defs)},
+ {26432, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-252.95,-4.11,-96.38,0,0,0,0))(units_m)(no_defs)},
+ {26591, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-3.45233333333333)(k,0.9996)(x_0,1500000)(y_0,0)(ellps_intl)(pm_rome)(units_m)(no_defs)},
+ {26592, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,2.54766666666666)(k,0.9996)(x_0,2520000)(y_0,0)(ellps_intl)(pm_rome)(units_m)(no_defs)},
+ {26632, srs::dpar::parameters<>(proj_utm)(zone,32)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {26692, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {26701, srs::dpar::parameters<>(proj_utm)(zone,1)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26702, srs::dpar::parameters<>(proj_utm)(zone,2)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26703, srs::dpar::parameters<>(proj_utm)(zone,3)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26704, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26705, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26706, srs::dpar::parameters<>(proj_utm)(zone,6)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26707, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26708, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26709, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26710, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26711, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26712, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26713, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26714, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26715, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26716, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26717, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26718, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26719, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26720, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26721, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26722, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {26729, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-85.83333333333333)(k,0.99996)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26730, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-87.5)(k,0.999933333)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26731, srs::dpar::parameters<>(proj_omerc)(lat_0,57)(lonc,-133.6666666666667)(alpha,323.1301023611111)(k,0.9999)(x_0,5000000.001016002)(y_0,-5000000.001016002)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26732, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-142)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26733, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-146)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26734, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-150)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26735, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-154)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26736, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-158)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26737, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-162)(k,0.9999)(x_0,213360.4267208534)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26738, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-166)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26739, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-170)(k,0.9999)(x_0,182880.3657607315)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26740, srs::dpar::parameters<>(proj_lcc)(lat_1,53.83333333333334)(lat_2,51.83333333333334)(lat_0,51)(lon_0,-176)(x_0,914401.8288036576)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26741, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26742, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26743, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26744, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26745, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26746, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26747, srs::dpar::parameters<>(proj_lcc)(lat_1,34.41666666666666)(lat_2,33.86666666666667)(lat_0,34.13333333333333)(lon_0,-118.3333333333333)(x_0,1276106.450596901)(y_0,127079.524511049)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26748, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26749, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26750, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26751, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26752, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26753, srs::dpar::parameters<>(proj_lcc)(lat_1,39.71666666666667)(lat_2,40.78333333333333)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26754, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26755, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26756, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,182880.3657607315)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26757, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26758, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26759, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26760, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26766, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26767, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26768, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26769, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26770, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26771, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26772, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26773, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26774, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26775, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26776, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26777, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26778, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26779, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26780, srs::dpar::parameters<>(proj_lcc)(lat_1,36.73333333333333)(lat_2,37.93333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26781, srs::dpar::parameters<>(proj_lcc)(lat_1,31.16666666666667)(lat_2,32.66666666666666)(lat_0,30.66666666666667)(lon_0,-92.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26782, srs::dpar::parameters<>(proj_lcc)(lat_1,29.3)(lat_2,30.7)(lat_0,28.66666666666667)(lon_0,-91.33333333333333)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26783, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.83333333333334)(lon_0,-68.5)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26784, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26785, srs::dpar::parameters<>(proj_lcc)(lat_1,38.3)(lat_2,39.45)(lat_0,37.83333333333334)(lon_0,-77)(x_0,243840.4876809754)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26786, srs::dpar::parameters<>(proj_lcc)(lat_1,41.71666666666667)(lat_2,42.68333333333333)(lat_0,41)(lon_0,-71.5)(x_0,182880.3657607315)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26787, srs::dpar::parameters<>(proj_lcc)(lat_1,41.28333333333333)(lat_2,41.48333333333333)(lat_0,41)(lon_0,-70.5)(x_0,60960.12192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26791, srs::dpar::parameters<>(proj_lcc)(lat_1,47.03333333333333)(lat_2,48.63333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26792, srs::dpar::parameters<>(proj_lcc)(lat_1,45.61666666666667)(lat_2,47.05)(lat_0,45)(lon_0,-94.25)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26793, srs::dpar::parameters<>(proj_lcc)(lat_1,43.78333333333333)(lat_2,45.21666666666667)(lat_0,43)(lon_0,-94)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26794, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.66666666666667)(lon_0,-88.83333333333333)(k,0.99996)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26795, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-90.33333333333333)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26796, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-90.5)(k,0.999933333)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26797, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-92.5)(k,0.999933333)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26798, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.16666666666666)(lon_0,-94.5)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26799, srs::dpar::parameters<>(proj_lcc)(lat_1,34.41666666666666)(lat_2,33.86666666666667)(lat_0,34.13333333333333)(lon_0,-118.3333333333333)(x_0,1276106.450596901)(y_0,1268253.006858014)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {26801, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.5)(lon_0,-83.66666666666667)(k,0.999942857)(x_0,152400.3048006096)(y_0,0)(a,6378450.047548896)(b,6356826.621488444)(to_meter,0.3048006096012192)(no_defs)},
+ {26802, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.5)(lon_0,-85.75)(k,0.999909091)(x_0,152400.3048006096)(y_0,0)(a,6378450.047548896)(b,6356826.621488444)(to_meter,0.3048006096012192)(no_defs)},
+ {26803, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.5)(lon_0,-88.75)(k,0.999909091)(x_0,152400.3048006096)(y_0,0)(a,6378450.047548896)(b,6356826.621488444)(to_meter,0.3048006096012192)(no_defs)},
+ {26811, srs::dpar::parameters<>(proj_lcc)(lat_1,45.48333333333333)(lat_2,47.08333333333334)(lat_0,44.78333333333333)(lon_0,-87)(x_0,609601.2192024384)(y_0,0)(a,6378450.047548896)(b,6356826.621488444)(to_meter,0.3048006096012192)(no_defs)},
+ {26812, srs::dpar::parameters<>(proj_lcc)(lat_1,44.18333333333333)(lat_2,45.7)(lat_0,43.31666666666667)(lon_0,-84.33333333333333)(x_0,609601.2192024384)(y_0,0)(a,6378450.047548896)(b,6356826.621488444)(to_meter,0.3048006096012192)(no_defs)},
+ {26813, srs::dpar::parameters<>(proj_lcc)(lat_1,42.1)(lat_2,43.66666666666666)(lat_0,41.5)(lon_0,-84.33333333333333)(x_0,609601.2192024384)(y_0,0)(a,6378450.047548896)(b,6356826.621488444)(to_meter,0.3048006096012192)(no_defs)},
+ {26814, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26815, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26819, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26820, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26821, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26822, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.0000101601)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26823, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,1968500)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26824, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,1968500)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26825, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26826, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26830, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(units_m)(no_defs)},
+ {26831, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(units_m)(no_defs)},
+ {26832, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(units_m)(no_defs)},
+ {26833, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.0000101601)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26834, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,1968500)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26835, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,1968500)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26836, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26837, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26841, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26842, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26843, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000.0000101601)(y_0,99999.99998984)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26844, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.0000101601)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26845, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,1968500)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26846, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,1968500)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {26847, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26848, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26849, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26850, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26851, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26852, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26853, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26854, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {26855, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26856, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26857, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26858, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26859, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26860, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26861, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26862, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(to_meter,0.3048006096012192)(no_defs)},
+ {26863, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000.0000000001)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26864, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26865, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26866, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26867, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000.0000101599)(y_0,99999.99998983997)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26868, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.00001016)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26869, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26870, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(to_meter,0.3048006096012192)(no_defs)},
+ {26891, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-82.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26892, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26893, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-84)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26894, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26895, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26896, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26897, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-96)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26898, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-53)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26899, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-56)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {26901, srs::dpar::parameters<>(proj_utm)(zone,1)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26902, srs::dpar::parameters<>(proj_utm)(zone,2)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26903, srs::dpar::parameters<>(proj_utm)(zone,3)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26904, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26905, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26906, srs::dpar::parameters<>(proj_utm)(zone,6)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26907, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26908, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26909, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26910, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26911, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26912, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26913, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26914, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26915, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26916, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26917, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26918, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26919, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26920, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26921, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26922, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26923, srs::dpar::parameters<>(proj_utm)(zone,23)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26929, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-85.83333333333333)(k,0.99996)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26930, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-87.5)(k,0.999933333)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26931, srs::dpar::parameters<>(proj_omerc)(lat_0,57)(lonc,-133.6666666666667)(alpha,323.1301023611111)(k,0.9999)(x_0,5000000)(y_0,-5000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26932, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-142)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26933, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-146)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26934, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-150)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26935, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-154)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26936, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-158)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26937, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-162)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26938, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-166)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26939, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-170)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26940, srs::dpar::parameters<>(proj_lcc)(lat_1,53.83333333333334)(lat_2,51.83333333333334)(lat_0,51)(lon_0,-176)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26941, srs::dpar::parameters<>(proj_lcc)(lat_1,41.66666666666666)(lat_2,40)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26942, srs::dpar::parameters<>(proj_lcc)(lat_1,39.83333333333334)(lat_2,38.33333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26943, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.06666666666667)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26944, srs::dpar::parameters<>(proj_lcc)(lat_1,37.25)(lat_2,36)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26945, srs::dpar::parameters<>(proj_lcc)(lat_1,35.46666666666667)(lat_2,34.03333333333333)(lat_0,33.5)(lon_0,-118)(x_0,2000000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26946, srs::dpar::parameters<>(proj_lcc)(lat_1,33.88333333333333)(lat_2,32.78333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26948, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26949, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26950, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.999933333)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26951, srs::dpar::parameters<>(proj_lcc)(lat_1,36.23333333333333)(lat_2,34.93333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,400000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26952, srs::dpar::parameters<>(proj_lcc)(lat_1,34.76666666666667)(lat_2,33.3)(lat_0,32.66666666666666)(lon_0,-92)(x_0,400000)(y_0,400000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26953, srs::dpar::parameters<>(proj_lcc)(lat_1,40.78333333333333)(lat_2,39.71666666666667)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26954, srs::dpar::parameters<>(proj_lcc)(lat_1,39.75)(lat_2,38.45)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26955, srs::dpar::parameters<>(proj_lcc)(lat_1,38.43333333333333)(lat_2,37.23333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26956, srs::dpar::parameters<>(proj_lcc)(lat_1,41.86666666666667)(lat_2,41.2)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096)(y_0,152400.3048)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26957, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26958, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.999941177)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26959, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.999941177)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26960, srs::dpar::parameters<>(proj_lcc)(lat_1,30.75)(lat_2,29.58333333333333)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26961, srs::dpar::parameters<>(proj_tmerc)(lat_0,18.83333333333333)(lon_0,-155.5)(k,0.999966667)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26962, srs::dpar::parameters<>(proj_tmerc)(lat_0,20.33333333333333)(lon_0,-156.6666666666667)(k,0.999966667)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26963, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26964, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.83333333333333)(lon_0,-159.5)(k,0.99999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26965, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.66666666666667)(lon_0,-160.1666666666667)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26966, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26967, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26968, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473679999999)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26969, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473679999999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26970, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.999933333)(x_0,800000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26971, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26972, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.999941177)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26973, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.999966667)(x_0,100000)(y_0,250000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26974, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.999966667)(x_0,900000)(y_0,250000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26975, srs::dpar::parameters<>(proj_lcc)(lat_1,43.26666666666667)(lat_2,42.06666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26976, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.61666666666667)(lat_0,40)(lon_0,-93.5)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26977, srs::dpar::parameters<>(proj_lcc)(lat_1,39.78333333333333)(lat_2,38.71666666666667)(lat_0,38.33333333333334)(lon_0,-98)(x_0,400000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26978, srs::dpar::parameters<>(proj_lcc)(lat_1,38.56666666666667)(lat_2,37.26666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,400000)(y_0,400000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26979, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,37.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26980, srs::dpar::parameters<>(proj_lcc)(lat_1,37.93333333333333)(lat_2,36.73333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000)(y_0,500000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26981, srs::dpar::parameters<>(proj_lcc)(lat_1,32.66666666666666)(lat_2,31.16666666666667)(lat_0,30.5)(lon_0,-92.5)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26982, srs::dpar::parameters<>(proj_lcc)(lat_1,30.7)(lat_2,29.3)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26983, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26984, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.999966667)(x_0,900000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26985, srs::dpar::parameters<>(proj_lcc)(lat_1,39.45)(lat_2,38.3)(lat_0,37.66666666666666)(lon_0,-77)(x_0,400000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26986, srs::dpar::parameters<>(proj_lcc)(lat_1,42.68333333333333)(lat_2,41.71666666666667)(lat_0,41)(lon_0,-71.5)(x_0,200000)(y_0,750000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26987, srs::dpar::parameters<>(proj_lcc)(lat_1,41.48333333333333)(lat_2,41.28333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26988, srs::dpar::parameters<>(proj_lcc)(lat_1,47.08333333333334)(lat_2,45.48333333333333)(lat_0,44.78333333333333)(lon_0,-87)(x_0,8000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26989, srs::dpar::parameters<>(proj_lcc)(lat_1,45.7)(lat_2,44.18333333333333)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,6000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26990, srs::dpar::parameters<>(proj_lcc)(lat_1,43.66666666666666)(lat_2,42.1)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,4000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26991, srs::dpar::parameters<>(proj_lcc)(lat_1,48.63333333333333)(lat_2,47.03333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26992, srs::dpar::parameters<>(proj_lcc)(lat_1,47.05)(lat_2,45.61666666666667)(lat_0,45)(lon_0,-94.25)(x_0,800000)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26993, srs::dpar::parameters<>(proj_lcc)(lat_1,45.21666666666667)(lat_2,43.78333333333333)(lat_0,43)(lon_0,-94)(x_0,800000)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26994, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26995, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26996, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-90.5)(k,0.999933333)(x_0,250000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26997, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-92.5)(k,0.999933333)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {26998, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.16666666666666)(lon_0,-94.5)(k,0.999941177)(x_0,850000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {27037, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_clrk80)(units_m)(no_defs)},
+ {27038, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_clrk80)(units_m)(no_defs)},
+ {27039, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_clrk80)(units_m)(no_defs)},
+ {27040, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_clrk80)(units_m)(no_defs)},
+ {27120, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_intl)(units_m)(no_defs)},
+ {27200, srs::dpar::parameters<>(proj_nzmg)(lat_0,-41)(lon_0,173)(x_0,2510000)(y_0,6023150)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27205, srs::dpar::parameters<>(proj_tmerc)(lat_0,-36.87986527777778)(lon_0,174.7643393611111)(k,0.9999)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27206, srs::dpar::parameters<>(proj_tmerc)(lat_0,-37.76124980555556)(lon_0,176.46619725)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27207, srs::dpar::parameters<>(proj_tmerc)(lat_0,-38.62470277777778)(lon_0,177.8856362777778)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27208, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39.65092930555556)(lon_0,176.6736805277778)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27209, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39.13575830555556)(lon_0,174.22801175)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27210, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39.51247038888889)(lon_0,175.6400368055556)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27211, srs::dpar::parameters<>(proj_tmerc)(lat_0,-40.24194713888889)(lon_0,175.4880996111111)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27212, srs::dpar::parameters<>(proj_tmerc)(lat_0,-40.92553263888889)(lon_0,175.6473496666667)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27213, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.30131963888888)(lon_0,174.7766231111111)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27214, srs::dpar::parameters<>(proj_tmerc)(lat_0,-40.71475905555556)(lon_0,172.6720465)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27215, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.27454472222222)(lon_0,173.2993168055555)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27216, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.28991152777778)(lon_0,172.1090281944444)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27217, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.81080286111111)(lon_0,171.5812600555556)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27218, srs::dpar::parameters<>(proj_tmerc)(lat_0,-42.33369427777778)(lon_0,171.5497713055556)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27219, srs::dpar::parameters<>(proj_tmerc)(lat_0,-42.68911658333333)(lon_0,173.0101333888889)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27220, srs::dpar::parameters<>(proj_tmerc)(lat_0,-41.54448666666666)(lon_0,173.8020741111111)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27221, srs::dpar::parameters<>(proj_tmerc)(lat_0,-42.88632236111111)(lon_0,170.9799935)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27222, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.11012813888889)(lon_0,170.2609258333333)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27223, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.97780288888889)(lon_0,168.606267)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27224, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.59063758333333)(lon_0,172.7271935833333)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27225, srs::dpar::parameters<>(proj_tmerc)(lat_0,-43.74871155555556)(lon_0,171.3607484722222)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27226, srs::dpar::parameters<>(proj_tmerc)(lat_0,-44.40222036111111)(lon_0,171.0572508333333)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27227, srs::dpar::parameters<>(proj_tmerc)(lat_0,-44.73526797222222)(lon_0,169.4677550833333)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27228, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.13290258333333)(lon_0,168.3986411944444)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27229, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.56372616666666)(lon_0,167.7388617777778)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27230, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.81619661111111)(lon_0,170.6285951666667)(k,1)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27231, srs::dpar::parameters<>(proj_tmerc)(lat_0,-45.86151336111111)(lon_0,170.2825891111111)(k,0.99996)(x_0,300000)(y_0,700000)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27232, srs::dpar::parameters<>(proj_tmerc)(lat_0,-46.60000961111111)(lon_0,168.342872)(k,1)(x_0,300002.66)(y_0,699999.58)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27258, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27259, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27260, srs::dpar::parameters<>(proj_utm)(zone,60)(south)(ellps_intl)(srs::dpar::datum_nzgd49)(units_m)(no_defs)},
+ {27291, srs::dpar::parameters<>(proj_tmerc)(lat_0,-39)(lon_0,175.5)(k,1)(x_0,274319.5243848086)(y_0,365759.3658464114)(ellps_intl)(srs::dpar::datum_nzgd49)(to_meter,0.9143984146160287)(no_defs)},
+ {27292, srs::dpar::parameters<>(proj_tmerc)(lat_0,-44)(lon_0,171.5)(k,1)(x_0,457199.2073080143)(y_0,457199.2073080143)(ellps_intl)(srs::dpar::datum_nzgd49)(to_meter,0.9143984146160287)(no_defs)},
+ {27391, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,-4.666666666666667)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27392, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,-2.333333333333333)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27393, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27394, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,2.5)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27395, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,6.166666666666667)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27396, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,10.16666666666667)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27397, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,14.16666666666667)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27398, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,18.33333333333333)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21))(pm_oslo)(units_m)(no_defs)},
+ {27429, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_intl)(units_m)(no_defs)},
+ {27492, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,-8.131906111111112)(k,1)(x_0,180.598)(y_0,-86.98999999999999)(ellps_intl)(units_m)(no_defs)},
+ {27493, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,-8.131906111111112)(k,1)(x_0,180.598)(y_0,-86.98999999999999)(ellps_intl)(units_m)(no_defs)},
+ {27500, srs::dpar::parameters<>(proj_lcc)(lat_1,49.5)(lat_0,49.5)(lon_0,5.4)(k_0,0.99950908)(x_0,500000)(y_0,300000)(a,6376523)(b,6355862.933255573)(pm,2.3372291666985)(units_m)(no_defs)},
+ {27561, srs::dpar::parameters<>(proj_lcc)(lat_1,49.50000000000001)(lat_0,49.50000000000001)(lon_0,0)(k_0,0.999877341)(x_0,600000)(y_0,200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27562, srs::dpar::parameters<>(proj_lcc)(lat_1,46.8)(lat_0,46.8)(lon_0,0)(k_0,0.99987742)(x_0,600000)(y_0,200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27563, srs::dpar::parameters<>(proj_lcc)(lat_1,44.10000000000001)(lat_0,44.10000000000001)(lon_0,0)(k_0,0.999877499)(x_0,600000)(y_0,200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27564, srs::dpar::parameters<>(proj_lcc)(lat_1,42.16500000000001)(lat_0,42.16500000000001)(lon_0,0)(k_0,0.99994471)(x_0,234.358)(y_0,185861.369)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27571, srs::dpar::parameters<>(proj_lcc)(lat_1,49.50000000000001)(lat_0,49.50000000000001)(lon_0,0)(k_0,0.999877341)(x_0,600000)(y_0,1200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27572, srs::dpar::parameters<>(proj_lcc)(lat_1,46.8)(lat_0,46.8)(lon_0,0)(k_0,0.99987742)(x_0,600000)(y_0,2200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27573, srs::dpar::parameters<>(proj_lcc)(lat_1,44.10000000000001)(lat_0,44.10000000000001)(lon_0,0)(k_0,0.999877499)(x_0,600000)(y_0,3200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27574, srs::dpar::parameters<>(proj_lcc)(lat_1,42.16500000000001)(lat_0,42.16500000000001)(lon_0,0)(k_0,0.99994471)(x_0,234.358)(y_0,4185861.369)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27581, srs::dpar::parameters<>(proj_lcc)(lat_1,49.50000000000001)(lat_0,49.50000000000001)(lon_0,0)(k_0,0.999877341)(x_0,600000)(y_0,1200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27582, srs::dpar::parameters<>(proj_lcc)(lat_1,46.8)(lat_0,46.8)(lon_0,0)(k_0,0.99987742)(x_0,600000)(y_0,2200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27583, srs::dpar::parameters<>(proj_lcc)(lat_1,44.10000000000001)(lat_0,44.10000000000001)(lon_0,0)(k_0,0.999877499)(x_0,600000)(y_0,3200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27584, srs::dpar::parameters<>(proj_lcc)(lat_1,42.16500000000001)(lat_0,42.16500000000001)(lon_0,0)(k_0,0.99994471)(x_0,234.358)(y_0,4185861.369)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27591, srs::dpar::parameters<>(proj_lcc)(lat_1,49.50000000000001)(lat_0,49.50000000000001)(lon_0,0)(k_0,0.999877341)(x_0,600000)(y_0,200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27592, srs::dpar::parameters<>(proj_lcc)(lat_1,46.8)(lat_0,46.8)(lon_0,0)(k_0,0.99987742)(x_0,600000)(y_0,200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27593, srs::dpar::parameters<>(proj_lcc)(lat_1,44.10000000000001)(lat_0,44.10000000000001)(lon_0,0)(k_0,0.999877499)(x_0,600000)(y_0,200000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27594, srs::dpar::parameters<>(proj_lcc)(lat_1,42.16500000000001)(lat_0,42.16500000000001)(lon_0,0)(k_0,0.99994471)(x_0,234.358)(y_0,185861.369)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168,-60,320,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {27700, srs::dpar::parameters<>(proj_tmerc)(lat_0,49)(lon_0,-2)(k,0.9996012717)(x_0,400000)(y_0,-100000)(ellps_airy)(srs::dpar::datum_osgb36)(units_m)(no_defs)},
+ {28191, srs::dpar::parameters<>(proj_cass)(lat_0,31.73409694444445)(lon_0,35.21208055555556)(x_0,170251.555)(y_0,126867.909)(a,6378300.789)(b,6356566.435)(towgs84,srs::detail::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1))(units_m)(no_defs)},
+ {28192, srs::dpar::parameters<>(proj_tmerc)(lat_0,31.73409694444445)(lon_0,35.21208055555556)(k,1)(x_0,170251.555)(y_0,1126867.909)(a,6378300.789)(b,6356566.435)(towgs84,srs::detail::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1))(units_m)(no_defs)},
+ {28193, srs::dpar::parameters<>(proj_cass)(lat_0,31.73409694444445)(lon_0,35.21208055555556)(x_0,170251.555)(y_0,1126867.909)(a,6378300.789)(b,6356566.435)(towgs84,srs::detail::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1))(units_m)(no_defs)},
+ {28232, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {28348, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28349, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28350, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28351, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28352, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28353, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28354, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28355, srs::dpar::parameters<>(proj_utm)(zone,55)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28356, srs::dpar::parameters<>(proj_utm)(zone,56)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28357, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28358, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {28402, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,2500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28403, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,3500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28404, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,4500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28405, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,5500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28406, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,6500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28407, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,7500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28408, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,8500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28409, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,9500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28410, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,10500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28411, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,11500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28412, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,12500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28413, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,13500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28414, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,14500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28415, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,15500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28416, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,16500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28417, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,17500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28418, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,18500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28419, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,19500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28420, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,20500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28421, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,21500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28422, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,22500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28423, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,23500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28424, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,24500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28425, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,25500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28426, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,26500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28427, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,27500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28428, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,28500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28429, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,29500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28430, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,30500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28431, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,31500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28432, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,32500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28462, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28463, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,27)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28466, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,33)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28467, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,39)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28468, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,45)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28469, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,51)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28470, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,57)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28471, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,63)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28472, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,69)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28473, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,75)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28474, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,81)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28475, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,87)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28476, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,93)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28477, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,99)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28478, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,105)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28479, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,111)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28480, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,117)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28481, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,123)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28482, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,129)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28483, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,135)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28484, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,141)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28485, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,147)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28486, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,153)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28487, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,159)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28488, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,165)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28489, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28490, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28491, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-177)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28492, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-171)(k,1)(x_0,500000)(y_0,0)(ellps_krass)(units_m)(no_defs)},
+ {28600, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.45)(lon_0,51.21666666666667)(k,0.99999)(x_0,200000)(y_0,300000)(ellps_intl)(units_m)(no_defs)},
+ {28991, srs::dpar::parameters<>(proj_sterea)(lat_0,52.15616055555555)(lon_0,5.38763888888889)(k,0.9999079)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {28992, srs::dpar::parameters<>(proj_sterea)(lat_0,52.15616055555555)(lon_0,5.38763888888889)(k,0.9999079)(x_0,155000)(y_0,463000)(ellps_bessel)(units_m)(no_defs)},
+ {29100, srs::dpar::parameters<>(proj_poly)(lat_0,0)(lon_0,-54)(x_0,5000000)(y_0,10000000)(ellps_grs67)(units_m)(no_defs)},
+ {29101, srs::dpar::parameters<>(proj_poly)(lat_0,0)(lon_0,-54)(x_0,5000000)(y_0,10000000)(ellps_aust_sa)(units_m)(no_defs)},
+ {29118, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs67)(units_m)(no_defs)},
+ {29119, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs67)(units_m)(no_defs)},
+ {29120, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs67)(units_m)(no_defs)},
+ {29121, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs67)(units_m)(no_defs)},
+ {29122, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs67)(units_m)(no_defs)},
+ {29168, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_aust_sa)(units_m)(no_defs)},
+ {29169, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_aust_sa)(units_m)(no_defs)},
+ {29170, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_aust_sa)(units_m)(no_defs)},
+ {29171, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_aust_sa)(units_m)(no_defs)},
+ {29172, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_aust_sa)(units_m)(no_defs)},
+ {29177, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29178, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29179, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29180, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29181, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29182, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29183, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29184, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29185, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_grs67)(units_m)(no_defs)},
+ {29187, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29188, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29189, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29190, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29191, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29192, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29193, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29194, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29195, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_aust_sa)(units_m)(no_defs)},
+ {29220, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-355,21,72,0,0,0,0))(units_m)(no_defs)},
+ {29221, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-355,21,72,0,0,0,0))(units_m)(no_defs)},
+ {29333, srs::dpar::parameters<>(proj_utm)(zone,33)(south)(ellps_bess_nam)(units_m)(no_defs)},
+ //{29371},
+ //{29373},
+ //{29375},
+ //{29377},
+ //{29379},
+ //{29381},
+ //{29383},
+ //{29385},
+ {29635, srs::dpar::parameters<>(proj_utm)(zone,35)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {29636, srs::dpar::parameters<>(proj_utm)(zone,36)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {29700, srs::dpar::parameters<>(proj_omerc)(lat_0,-18.9)(lonc,44.10000000000001)(alpha,18.9)(k,0.9995000000000001)(x_0,400000)(y_0,800000)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189,-242,-91,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ //{29701},
+ {29702, srs::dpar::parameters<>(proj_omerc)(lat_0,-18.9)(lonc,44.10000000000001)(alpha,18.9)(k,0.9995000000000001)(x_0,400000)(y_0,800000)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189,-242,-91,0,0,0,0))(pm_paris)(units_m)(no_defs)},
+ {29738, srs::dpar::parameters<>(proj_utm)(zone,38)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189,-242,-91,0,0,0,0))(units_m)(no_defs)},
+ {29739, srs::dpar::parameters<>(proj_utm)(zone,39)(south)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189,-242,-91,0,0,0,0))(units_m)(no_defs)},
+ {29849, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_evrstss)(units_m)(no_defs)},
+ {29850, srs::dpar::parameters<>(proj_utm)(zone,50)(ellps_evrstss)(units_m)(no_defs)},
+ {29871, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,115)(alpha,53.31582047222222)(k,0.99984)(x_0,590476.8714630401)(y_0,442857.653094361)(ellps_evrstss)(to_meter,20.11676512155263)(no_defs)},
+ {29872, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,115)(alpha,53.31582047222222)(k,0.99984)(x_0,590476.8727431979)(y_0,442857.6545573985)(ellps_evrstss)(to_meter,0.3047994715386762)(no_defs)},
+ {29873, srs::dpar::parameters<>(proj_omerc)(lat_0,4)(lonc,115)(alpha,53.31582047222222)(k,0.99984)(x_0,590476.87)(y_0,442857.65)(ellps_evrstss)(units_m)(no_defs)},
+ {29900, srs::dpar::parameters<>(proj_tmerc)(lat_0,53.5)(lon_0,-8)(k,1.000035)(x_0,200000)(y_0,250000)(a,6377340.189)(b,6356034.447938534)(units_m)(no_defs)},
+ {29901, srs::dpar::parameters<>(proj_tmerc)(lat_0,53.5)(lon_0,-8)(k,1)(x_0,200000)(y_0,250000)(ellps_airy)(towgs84,srs::detail::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15))(units_m)(no_defs)},
+ {29902, srs::dpar::parameters<>(proj_tmerc)(lat_0,53.5)(lon_0,-8)(k,1.000035)(x_0,200000)(y_0,250000)(a,6377340.189)(b,6356034.447938534)(units_m)(no_defs)},
+ {29903, srs::dpar::parameters<>(proj_tmerc)(lat_0,53.5)(lon_0,-8)(k,1.000035)(x_0,200000)(y_0,250000)(a,6377340.189)(b,6356034.447938534)(units_m)(no_defs)},
+ {30161, srs::dpar::parameters<>(proj_tmerc)(lat_0,33)(lon_0,129.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30162, srs::dpar::parameters<>(proj_tmerc)(lat_0,33)(lon_0,131)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30163, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,132.1666666666667)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30164, srs::dpar::parameters<>(proj_tmerc)(lat_0,33)(lon_0,133.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30165, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,134.3333333333333)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30166, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,136)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30167, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,137.1666666666667)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30168, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,138.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30169, srs::dpar::parameters<>(proj_tmerc)(lat_0,36)(lon_0,139.8333333333333)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30170, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,140.8333333333333)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30171, srs::dpar::parameters<>(proj_tmerc)(lat_0,44)(lon_0,140.25)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30172, srs::dpar::parameters<>(proj_tmerc)(lat_0,44)(lon_0,142.25)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30173, srs::dpar::parameters<>(proj_tmerc)(lat_0,44)(lon_0,144.25)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30174, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,142)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30175, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,127.5)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30176, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,124)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30177, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,131)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30178, srs::dpar::parameters<>(proj_tmerc)(lat_0,20)(lon_0,136)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30179, srs::dpar::parameters<>(proj_tmerc)(lat_0,26)(lon_0,154)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {30200, srs::dpar::parameters<>(proj_cass)(lat_0,10.44166666666667)(lon_0,-61.33333333333334)(x_0,86501.46392051999)(y_0,65379.0134283)(a,6378293.645208759)(b,6356617.987679838)(to_meter,0.201166195164)(no_defs)},
+ {30339, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_helmert)(units_m)(no_defs)},
+ {30340, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_helmert)(units_m)(no_defs)},
+ {30491, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_0,36)(lon_0,2.7)(k_0,0.999625544)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-73,-247,227,0,0,0,0))(units_m)(no_defs)},
+ {30492, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,2.7)(k_0,0.999625769)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-73,-247,227,0,0,0,0))(units_m)(no_defs)},
+ {30493, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_0,36)(lon_0,2.7)(k_0,0.999625544)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {30494, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,2.7)(k_0,0.999625769)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {30729, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_clrk80)(units_m)(no_defs)},
+ {30730, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_clrk80)(units_m)(no_defs)},
+ {30731, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_clrk80)(units_m)(no_defs)},
+ {30732, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_clrk80)(units_m)(no_defs)},
+ {30791, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_0,36)(lon_0,2.7)(k_0,0.999625544)(x_0,500135)(y_0,300090)(ellps_clrk80)(units_m)(no_defs)},
+ {30792, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,2.7)(k_0,0.999625769)(x_0,500135)(y_0,300090)(ellps_clrk80)(units_m)(no_defs)},
+ {30800, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15.80827777777778)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {31028, srs::dpar::parameters<>(proj_utm)(zone,28)(a,6378249.2)(b,6356515)(units_m)(no_defs)},
+ {31121, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_intl)(towgs84,srs::detail::towgs84<>(-265,120,-358,0,0,0,0))(units_m)(no_defs)},
+ {31154, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-54)(k,0.9996)(x_0,500000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-265,120,-358,0,0,0,0))(units_m)(no_defs)},
+ {31170, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-55.68333333333333)(k,0.9996)(x_0,500000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-265,120,-358,0,0,0,0))(units_m)(no_defs)},
+ {31171, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-55.68333333333333)(k,0.9999)(x_0,500000)(y_0,0)(ellps_intl)(towgs84,srs::detail::towgs84<>(-265,120,-358,0,0,0,0))(units_m)(no_defs)},
+ {31251, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,28)(k,1)(x_0,0)(y_0,-5000000)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31252, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,31)(k,1)(x_0,0)(y_0,-5000000)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31253, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,34)(k,1)(x_0,0)(y_0,-5000000)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31254, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,10.33333333333333)(k,1)(x_0,0)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31255, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.33333333333333)(k,1)(x_0,0)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31256, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16.33333333333333)(k,1)(x_0,0)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31257, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,10.33333333333333)(k,1)(x_0,150000)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31258, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.33333333333333)(k,1)(x_0,450000)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31259, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16.33333333333333)(k,1)(x_0,750000)(y_0,-5000000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31266, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,1)(x_0,6500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31267, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,1)(x_0,7500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31268, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,1)(x_0,8500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31275, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9999)(x_0,5500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31276, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,18)(k,0.9999)(x_0,6500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31277, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,0.9999)(x_0,7500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31278, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,21)(k,0.9999)(x_0,7500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31279, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,24)(k,0.9999)(x_0,8500000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31281, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,28)(k,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31282, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,31)(k,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31283, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,34)(k,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31284, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,10.33333333333333)(k,1)(x_0,150000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31285, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.33333333333333)(k,1)(x_0,450000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31286, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16.33333333333333)(k,1)(x_0,750000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31287, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,46)(lat_0,47.5)(lon_0,13.33333333333333)(x_0,400000)(y_0,400000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31288, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,28)(k,1)(x_0,150000)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31289, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,31)(k,1)(x_0,450000)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31290, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,34)(k,1)(x_0,750000)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31291, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,28)(k,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31292, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,31)(k,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31293, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,34)(k,1)(x_0,0)(y_0,0)(ellps_bessel)(pm_ferro)(units_m)(no_defs)},
+ {31294, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,10.33333333333333)(k,1)(x_0,150000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31295, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,13.33333333333333)(k,1)(x_0,450000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31296, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,16.33333333333333)(k,1)(x_0,750000)(y_0,0)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ {31297, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,46)(lat_0,47.5)(lon_0,13.33333333333333)(x_0,400000)(y_0,400000)(ellps_bessel)(towgs84,srs::detail::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232))(units_m)(no_defs)},
+ //{31300},
+ {31370, srs::dpar::parameters<>(proj_lcc)(lat_1,51.16666723333333)(lat_2,49.8333339)(lat_0,90)(lon_0,4.367486666666666)(x_0,150000.013)(y_0,5400088.438)(ellps_intl)(towgs84,srs::detail::towgs84<>(106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1))(units_m)(no_defs)},
+ {31461, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,3)(k,1)(x_0,1500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31462, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,6)(k,1)(x_0,2500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31463, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,3500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,4500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31466, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,6)(k,1)(x_0,2500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31467, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,1)(x_0,3500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31468, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,12)(k,1)(x_0,4500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31469, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,1)(x_0,5500000)(y_0,0)(ellps_bessel)(srs::dpar::datum_potsdam)(units_m)(no_defs)},
+ {31528, srs::dpar::parameters<>(proj_utm)(zone,28)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-23,259,-9,0,0,0,0))(units_m)(no_defs)},
+ {31529, srs::dpar::parameters<>(proj_utm)(zone,29)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-23,259,-9,0,0,0,0))(units_m)(no_defs)},
+ {31600, srs::dpar::parameters<>(proj_sterea)(lat_0,45.9)(lon_0,25.39246588888889)(k,0.9996667)(x_0,500000)(y_0,500000)(ellps_intl)(units_m)(no_defs)},
+ {31700, srs::dpar::parameters<>(proj_sterea)(lat_0,46)(lon_0,25)(k,0.99975)(x_0,500000)(y_0,500000)(ellps_krass)(units_m)(no_defs)},
+ {31838, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(-3.2,-5.7,2.8,0,0,0,0))(units_m)(no_defs)},
+ {31839, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(-3.2,-5.7,2.8,0,0,0,0))(units_m)(no_defs)},
+ {31900, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,48)(k,0.9996)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {31901, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,48)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {31965, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31966, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31967, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31968, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31969, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31970, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31971, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31972, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31973, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31974, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31975, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31976, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31977, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31978, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31979, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31980, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31981, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31982, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31983, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31984, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31985, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31986, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31987, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31988, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31989, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31990, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31991, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31992, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31993, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31994, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31995, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31996, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31997, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31998, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {31999, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {32000, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0,0,0,0,0,0,0))(units_m)(no_defs)},
+ {32001, srs::dpar::parameters<>(proj_lcc)(lat_1,48.71666666666667)(lat_2,47.85)(lat_0,47)(lon_0,-109.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32002, srs::dpar::parameters<>(proj_lcc)(lat_1,47.88333333333333)(lat_2,46.45)(lat_0,45.83333333333334)(lon_0,-109.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32003, srs::dpar::parameters<>(proj_lcc)(lat_1,46.4)(lat_2,44.86666666666667)(lat_0,44)(lon_0,-109.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32005, srs::dpar::parameters<>(proj_lcc)(lat_1,41.85)(lat_2,42.81666666666667)(lat_0,41.33333333333334)(lon_0,-100)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32006, srs::dpar::parameters<>(proj_lcc)(lat_1,40.28333333333333)(lat_2,41.71666666666667)(lat_0,39.66666666666666)(lon_0,-99.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32007, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32008, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32009, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32010, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32011, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.66666666666667)(k,0.9999749999999999)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32012, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32013, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32014, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32015, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-74.33333333333333)(k,0.999966667)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32016, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32017, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32018, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.5)(lon_0,-74)(x_0,304800.6096012192)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32019, srs::dpar::parameters<>(proj_lcc)(lat_1,34.33333333333334)(lat_2,36.16666666666666)(lat_0,33.75)(lon_0,-79)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32020, srs::dpar::parameters<>(proj_lcc)(lat_1,47.43333333333333)(lat_2,48.73333333333333)(lat_0,47)(lon_0,-100.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32021, srs::dpar::parameters<>(proj_lcc)(lat_1,46.18333333333333)(lat_2,47.48333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32022, srs::dpar::parameters<>(proj_lcc)(lat_1,40.43333333333333)(lat_2,41.7)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32023, srs::dpar::parameters<>(proj_lcc)(lat_1,38.73333333333333)(lat_2,40.03333333333333)(lat_0,38)(lon_0,-82.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32024, srs::dpar::parameters<>(proj_lcc)(lat_1,35.56666666666667)(lat_2,36.76666666666667)(lat_0,35)(lon_0,-98)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32025, srs::dpar::parameters<>(proj_lcc)(lat_1,33.93333333333333)(lat_2,35.23333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32026, srs::dpar::parameters<>(proj_lcc)(lat_1,44.33333333333334)(lat_2,46)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32027, srs::dpar::parameters<>(proj_lcc)(lat_1,42.33333333333334)(lat_2,44)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32028, srs::dpar::parameters<>(proj_lcc)(lat_1,40.88333333333333)(lat_2,41.95)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32029, srs::dpar::parameters<>(proj_lcc)(lat_1,39.93333333333333)(lat_2,40.8)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32030, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.9999938)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32031, srs::dpar::parameters<>(proj_lcc)(lat_1,33.76666666666667)(lat_2,34.96666666666667)(lat_0,33)(lon_0,-81)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32033, srs::dpar::parameters<>(proj_lcc)(lat_1,32.33333333333334)(lat_2,33.66666666666666)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32034, srs::dpar::parameters<>(proj_lcc)(lat_1,44.41666666666666)(lat_2,45.68333333333333)(lat_0,43.83333333333334)(lon_0,-100)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32035, srs::dpar::parameters<>(proj_lcc)(lat_1,42.83333333333334)(lat_2,44.4)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32036, srs::dpar::parameters<>(proj_lcc)(lat_1,35.25)(lat_2,36.41666666666666)(lat_0,34.66666666666666)(lon_0,-86)(x_0,30480.06096012192)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32037, srs::dpar::parameters<>(proj_lcc)(lat_1,34.65)(lat_2,36.18333333333333)(lat_0,34)(lon_0,-101.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32038, srs::dpar::parameters<>(proj_lcc)(lat_1,32.13333333333333)(lat_2,33.96666666666667)(lat_0,31.66666666666667)(lon_0,-97.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32039, srs::dpar::parameters<>(proj_lcc)(lat_1,30.11666666666667)(lat_2,31.88333333333333)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32040, srs::dpar::parameters<>(proj_lcc)(lat_1,28.38333333333333)(lat_2,30.28333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32041, srs::dpar::parameters<>(proj_lcc)(lat_1,26.16666666666667)(lat_2,27.83333333333333)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32042, srs::dpar::parameters<>(proj_lcc)(lat_1,40.71666666666667)(lat_2,41.78333333333333)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32043, srs::dpar::parameters<>(proj_lcc)(lat_1,39.01666666666667)(lat_2,40.65)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32044, srs::dpar::parameters<>(proj_lcc)(lat_1,37.21666666666667)(lat_2,38.35)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32045, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-72.5)(k,0.999964286)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32046, srs::dpar::parameters<>(proj_lcc)(lat_1,38.03333333333333)(lat_2,39.2)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32047, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,37.96666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32048, srs::dpar::parameters<>(proj_lcc)(lat_1,47.5)(lat_2,48.73333333333333)(lat_0,47)(lon_0,-120.8333333333333)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32049, srs::dpar::parameters<>(proj_lcc)(lat_1,45.83333333333334)(lat_2,47.33333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32050, srs::dpar::parameters<>(proj_lcc)(lat_1,39)(lat_2,40.25)(lat_0,38.5)(lon_0,-79.5)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32051, srs::dpar::parameters<>(proj_lcc)(lat_1,37.48333333333333)(lat_2,38.88333333333333)(lat_0,37)(lon_0,-81)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32052, srs::dpar::parameters<>(proj_lcc)(lat_1,45.56666666666667)(lat_2,46.76666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32053, srs::dpar::parameters<>(proj_lcc)(lat_1,44.25)(lat_2,45.5)(lat_0,43.83333333333334)(lon_0,-90)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32054, srs::dpar::parameters<>(proj_lcc)(lat_1,42.73333333333333)(lat_2,44.06666666666667)(lat_0,42)(lon_0,-90)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32055, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.66666666666666)(lon_0,-105.1666666666667)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32056, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.66666666666666)(lon_0,-107.3333333333333)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32057, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.66666666666666)(lon_0,-108.75)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32058, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.66666666666666)(lon_0,-110.0833333333333)(k,0.999941177)(x_0,152400.3048006096)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32061, srs::dpar::parameters<>(proj_lcc)(lat_1,16.81666666666667)(lat_0,16.81666666666667)(lon_0,-90.33333333333333)(k_0,0.99992226)(x_0,500000)(y_0,292209.579)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32062, srs::dpar::parameters<>(proj_lcc)(lat_1,14.9)(lat_0,14.9)(lon_0,-90.33333333333333)(k_0,0.99989906)(x_0,500000)(y_0,325992.681)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32064, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-99)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32065, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32066, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32067, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32074, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-99)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32075, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32076, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32077, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32081, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-53)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32082, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-56)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32083, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-58.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32084, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-61.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32085, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-64.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32086, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-67.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32098, srs::dpar::parameters<>(proj_lcc)(lat_1,60)(lat_2,46)(lat_0,44)(lon_0,-68.5)(x_0,0)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {32099, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-91.33333333333333)(x_0,609601.2192024384)(y_0,0)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {32100, srs::dpar::parameters<>(proj_lcc)(lat_1,49)(lat_2,45)(lat_0,44.25)(lon_0,-109.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32104, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,40)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32107, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000)(y_0,8000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32108, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000)(y_0,6000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32109, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000)(y_0,4000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32110, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.999966667)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32111, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32112, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.999909091)(x_0,165000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32113, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32114, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.999916667)(x_0,830000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32115, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32116, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,250000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32117, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32118, srs::dpar::parameters<>(proj_lcc)(lat_1,41.03333333333333)(lat_2,40.66666666666666)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32119, srs::dpar::parameters<>(proj_lcc)(lat_1,36.16666666666666)(lat_2,34.33333333333334)(lat_0,33.75)(lon_0,-79)(x_0,609601.22)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32120, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.43333333333333)(lat_0,47)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32121, srs::dpar::parameters<>(proj_lcc)(lat_1,47.48333333333333)(lat_2,46.18333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32122, srs::dpar::parameters<>(proj_lcc)(lat_1,41.7)(lat_2,40.43333333333333)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32123, srs::dpar::parameters<>(proj_lcc)(lat_1,40.03333333333333)(lat_2,38.73333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32124, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,35.56666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32125, srs::dpar::parameters<>(proj_lcc)(lat_1,35.23333333333333)(lat_2,33.93333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32126, srs::dpar::parameters<>(proj_lcc)(lat_1,46)(lat_2,44.33333333333334)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32127, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,42.33333333333334)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32128, srs::dpar::parameters<>(proj_lcc)(lat_1,41.95)(lat_2,40.88333333333333)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32129, srs::dpar::parameters<>(proj_lcc)(lat_1,40.96666666666667)(lat_2,39.93333333333333)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32130, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,100000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32133, srs::dpar::parameters<>(proj_lcc)(lat_1,34.83333333333334)(lat_2,32.5)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32134, srs::dpar::parameters<>(proj_lcc)(lat_1,45.68333333333333)(lat_2,44.41666666666666)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32135, srs::dpar::parameters<>(proj_lcc)(lat_1,44.4)(lat_2,42.83333333333334)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32136, srs::dpar::parameters<>(proj_lcc)(lat_1,36.41666666666666)(lat_2,35.25)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32137, srs::dpar::parameters<>(proj_lcc)(lat_1,36.18333333333333)(lat_2,34.65)(lat_0,34)(lon_0,-101.5)(x_0,200000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32138, srs::dpar::parameters<>(proj_lcc)(lat_1,33.96666666666667)(lat_2,32.13333333333333)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32139, srs::dpar::parameters<>(proj_lcc)(lat_1,31.88333333333333)(lat_2,30.11666666666667)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,700000)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32140, srs::dpar::parameters<>(proj_lcc)(lat_1,30.28333333333333)(lat_2,28.38333333333333)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,4000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32141, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000)(y_0,5000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32142, srs::dpar::parameters<>(proj_lcc)(lat_1,41.78333333333333)(lat_2,40.71666666666667)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32143, srs::dpar::parameters<>(proj_lcc)(lat_1,40.65)(lat_2,39.01666666666667)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,2000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32144, srs::dpar::parameters<>(proj_lcc)(lat_1,38.35)(lat_2,37.21666666666667)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32145, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-72.5)(k,0.999964286)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32146, srs::dpar::parameters<>(proj_lcc)(lat_1,39.2)(lat_2,38.03333333333333)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000)(y_0,2000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32147, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,36.76666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32148, srs::dpar::parameters<>(proj_lcc)(lat_1,48.73333333333333)(lat_2,47.5)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32149, srs::dpar::parameters<>(proj_lcc)(lat_1,47.33333333333334)(lat_2,45.83333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32150, srs::dpar::parameters<>(proj_lcc)(lat_1,40.25)(lat_2,39)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32151, srs::dpar::parameters<>(proj_lcc)(lat_1,38.88333333333333)(lat_2,37.48333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32152, srs::dpar::parameters<>(proj_lcc)(lat_1,46.76666666666667)(lat_2,45.56666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32153, srs::dpar::parameters<>(proj_lcc)(lat_1,45.5)(lat_2,44.25)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32154, srs::dpar::parameters<>(proj_lcc)(lat_1,44.06666666666667)(lat_2,42.73333333333333)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32155, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32156, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,400000)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32157, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32158, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32161, srs::dpar::parameters<>(proj_lcc)(lat_1,18.43333333333333)(lat_2,18.03333333333333)(lat_0,17.83333333333333)(lon_0,-66.43333333333334)(x_0,200000)(y_0,200000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-99)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {32165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {32166, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {32167, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {32180, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-55.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32181, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-53)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32182, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-56)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32183, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-58.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32184, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-61.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32185, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-64.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32186, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-67.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32187, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-70.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32188, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-73.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32189, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-76.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32190, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-79.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32191, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-82.5)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32192, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32193, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-84)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32194, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32195, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-90)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32196, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32197, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-96)(k,0.9999)(x_0,304800)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32198, srs::dpar::parameters<>(proj_lcc)(lat_1,60)(lat_2,46)(lat_0,44)(lon_0,-68.5)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32199, srs::dpar::parameters<>(proj_lcc)(lat_1,27.83333333333333)(lat_2,26.16666666666667)(lat_0,25.5)(lon_0,-91.33333333333333)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {32201, srs::dpar::parameters<>(proj_utm)(zone,1)(ellps_wgs72)(units_m)(no_defs)},
+ {32202, srs::dpar::parameters<>(proj_utm)(zone,2)(ellps_wgs72)(units_m)(no_defs)},
+ {32203, srs::dpar::parameters<>(proj_utm)(zone,3)(ellps_wgs72)(units_m)(no_defs)},
+ {32204, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_wgs72)(units_m)(no_defs)},
+ {32205, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_wgs72)(units_m)(no_defs)},
+ {32206, srs::dpar::parameters<>(proj_utm)(zone,6)(ellps_wgs72)(units_m)(no_defs)},
+ {32207, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_wgs72)(units_m)(no_defs)},
+ {32208, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_wgs72)(units_m)(no_defs)},
+ {32209, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_wgs72)(units_m)(no_defs)},
+ {32210, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_wgs72)(units_m)(no_defs)},
+ {32211, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_wgs72)(units_m)(no_defs)},
+ {32212, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_wgs72)(units_m)(no_defs)},
+ {32213, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_wgs72)(units_m)(no_defs)},
+ {32214, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_wgs72)(units_m)(no_defs)},
+ {32215, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_wgs72)(units_m)(no_defs)},
+ {32216, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_wgs72)(units_m)(no_defs)},
+ {32217, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_wgs72)(units_m)(no_defs)},
+ {32218, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_wgs72)(units_m)(no_defs)},
+ {32219, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_wgs72)(units_m)(no_defs)},
+ {32220, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_wgs72)(units_m)(no_defs)},
+ {32221, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_wgs72)(units_m)(no_defs)},
+ {32222, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_wgs72)(units_m)(no_defs)},
+ {32223, srs::dpar::parameters<>(proj_utm)(zone,23)(ellps_wgs72)(units_m)(no_defs)},
+ {32224, srs::dpar::parameters<>(proj_utm)(zone,24)(ellps_wgs72)(units_m)(no_defs)},
+ {32225, srs::dpar::parameters<>(proj_utm)(zone,25)(ellps_wgs72)(units_m)(no_defs)},
+ {32226, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_wgs72)(units_m)(no_defs)},
+ {32227, srs::dpar::parameters<>(proj_utm)(zone,27)(ellps_wgs72)(units_m)(no_defs)},
+ {32228, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_wgs72)(units_m)(no_defs)},
+ {32229, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_wgs72)(units_m)(no_defs)},
+ {32230, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_wgs72)(units_m)(no_defs)},
+ {32231, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_wgs72)(units_m)(no_defs)},
+ {32232, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_wgs72)(units_m)(no_defs)},
+ {32233, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_wgs72)(units_m)(no_defs)},
+ {32234, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_wgs72)(units_m)(no_defs)},
+ {32235, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_wgs72)(units_m)(no_defs)},
+ {32236, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_wgs72)(units_m)(no_defs)},
+ {32237, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_wgs72)(units_m)(no_defs)},
+ {32238, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_wgs72)(units_m)(no_defs)},
+ {32239, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_wgs72)(units_m)(no_defs)},
+ {32240, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_wgs72)(units_m)(no_defs)},
+ {32241, srs::dpar::parameters<>(proj_utm)(zone,41)(ellps_wgs72)(units_m)(no_defs)},
+ {32242, srs::dpar::parameters<>(proj_utm)(zone,42)(ellps_wgs72)(units_m)(no_defs)},
+ {32243, srs::dpar::parameters<>(proj_utm)(zone,43)(ellps_wgs72)(units_m)(no_defs)},
+ {32244, srs::dpar::parameters<>(proj_utm)(zone,44)(ellps_wgs72)(units_m)(no_defs)},
+ {32245, srs::dpar::parameters<>(proj_utm)(zone,45)(ellps_wgs72)(units_m)(no_defs)},
+ {32246, srs::dpar::parameters<>(proj_utm)(zone,46)(ellps_wgs72)(units_m)(no_defs)},
+ {32247, srs::dpar::parameters<>(proj_utm)(zone,47)(ellps_wgs72)(units_m)(no_defs)},
+ {32248, srs::dpar::parameters<>(proj_utm)(zone,48)(ellps_wgs72)(units_m)(no_defs)},
+ {32249, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_wgs72)(units_m)(no_defs)},
+ {32250, srs::dpar::parameters<>(proj_utm)(zone,50)(ellps_wgs72)(units_m)(no_defs)},
+ {32251, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_wgs72)(units_m)(no_defs)},
+ {32252, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_wgs72)(units_m)(no_defs)},
+ {32253, srs::dpar::parameters<>(proj_utm)(zone,53)(ellps_wgs72)(units_m)(no_defs)},
+ {32254, srs::dpar::parameters<>(proj_utm)(zone,54)(ellps_wgs72)(units_m)(no_defs)},
+ {32255, srs::dpar::parameters<>(proj_utm)(zone,55)(ellps_wgs72)(units_m)(no_defs)},
+ {32256, srs::dpar::parameters<>(proj_utm)(zone,56)(ellps_wgs72)(units_m)(no_defs)},
+ {32257, srs::dpar::parameters<>(proj_utm)(zone,57)(ellps_wgs72)(units_m)(no_defs)},
+ {32258, srs::dpar::parameters<>(proj_utm)(zone,58)(ellps_wgs72)(units_m)(no_defs)},
+ {32259, srs::dpar::parameters<>(proj_utm)(zone,59)(ellps_wgs72)(units_m)(no_defs)},
+ {32260, srs::dpar::parameters<>(proj_utm)(zone,60)(ellps_wgs72)(units_m)(no_defs)},
+ {32301, srs::dpar::parameters<>(proj_utm)(zone,1)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32302, srs::dpar::parameters<>(proj_utm)(zone,2)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32303, srs::dpar::parameters<>(proj_utm)(zone,3)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32304, srs::dpar::parameters<>(proj_utm)(zone,4)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32305, srs::dpar::parameters<>(proj_utm)(zone,5)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32306, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32307, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32308, srs::dpar::parameters<>(proj_utm)(zone,8)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32309, srs::dpar::parameters<>(proj_utm)(zone,9)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32310, srs::dpar::parameters<>(proj_utm)(zone,10)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32311, srs::dpar::parameters<>(proj_utm)(zone,11)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32312, srs::dpar::parameters<>(proj_utm)(zone,12)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32313, srs::dpar::parameters<>(proj_utm)(zone,13)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32314, srs::dpar::parameters<>(proj_utm)(zone,14)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32315, srs::dpar::parameters<>(proj_utm)(zone,15)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32316, srs::dpar::parameters<>(proj_utm)(zone,16)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32317, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32318, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32319, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32320, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32321, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32322, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32323, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32324, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32325, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32326, srs::dpar::parameters<>(proj_utm)(zone,26)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32327, srs::dpar::parameters<>(proj_utm)(zone,27)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32328, srs::dpar::parameters<>(proj_utm)(zone,28)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32329, srs::dpar::parameters<>(proj_utm)(zone,29)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32330, srs::dpar::parameters<>(proj_utm)(zone,30)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32331, srs::dpar::parameters<>(proj_utm)(zone,31)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32332, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32333, srs::dpar::parameters<>(proj_utm)(zone,33)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32334, srs::dpar::parameters<>(proj_utm)(zone,34)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32335, srs::dpar::parameters<>(proj_utm)(zone,35)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32336, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32337, srs::dpar::parameters<>(proj_utm)(zone,37)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32338, srs::dpar::parameters<>(proj_utm)(zone,38)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32339, srs::dpar::parameters<>(proj_utm)(zone,39)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32340, srs::dpar::parameters<>(proj_utm)(zone,40)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32341, srs::dpar::parameters<>(proj_utm)(zone,41)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32342, srs::dpar::parameters<>(proj_utm)(zone,42)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32343, srs::dpar::parameters<>(proj_utm)(zone,43)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32344, srs::dpar::parameters<>(proj_utm)(zone,44)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32345, srs::dpar::parameters<>(proj_utm)(zone,45)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32346, srs::dpar::parameters<>(proj_utm)(zone,46)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32347, srs::dpar::parameters<>(proj_utm)(zone,47)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32348, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32349, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32350, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32351, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32352, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32353, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32354, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32355, srs::dpar::parameters<>(proj_utm)(zone,55)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32356, srs::dpar::parameters<>(proj_utm)(zone,56)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32357, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32358, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32359, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32360, srs::dpar::parameters<>(proj_utm)(zone,60)(south)(ellps_wgs72)(units_m)(no_defs)},
+ {32401, srs::dpar::parameters<>(proj_utm)(zone,1)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32402, srs::dpar::parameters<>(proj_utm)(zone,2)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32403, srs::dpar::parameters<>(proj_utm)(zone,3)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32404, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32405, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32406, srs::dpar::parameters<>(proj_utm)(zone,6)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32407, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32408, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32409, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32410, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32411, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32412, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32413, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32414, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32415, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32416, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32417, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32418, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32419, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32420, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32421, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32422, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32423, srs::dpar::parameters<>(proj_utm)(zone,23)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32424, srs::dpar::parameters<>(proj_utm)(zone,24)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32425, srs::dpar::parameters<>(proj_utm)(zone,25)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32426, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32427, srs::dpar::parameters<>(proj_utm)(zone,27)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32428, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32429, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32430, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32431, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32432, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32433, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32434, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32435, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32436, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32437, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32438, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32439, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32440, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32441, srs::dpar::parameters<>(proj_utm)(zone,41)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32442, srs::dpar::parameters<>(proj_utm)(zone,42)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32443, srs::dpar::parameters<>(proj_utm)(zone,43)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32444, srs::dpar::parameters<>(proj_utm)(zone,44)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32445, srs::dpar::parameters<>(proj_utm)(zone,45)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32446, srs::dpar::parameters<>(proj_utm)(zone,46)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32447, srs::dpar::parameters<>(proj_utm)(zone,47)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32448, srs::dpar::parameters<>(proj_utm)(zone,48)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32449, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32450, srs::dpar::parameters<>(proj_utm)(zone,50)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32451, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32452, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32453, srs::dpar::parameters<>(proj_utm)(zone,53)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32454, srs::dpar::parameters<>(proj_utm)(zone,54)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32455, srs::dpar::parameters<>(proj_utm)(zone,55)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32456, srs::dpar::parameters<>(proj_utm)(zone,56)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32457, srs::dpar::parameters<>(proj_utm)(zone,57)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32458, srs::dpar::parameters<>(proj_utm)(zone,58)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32459, srs::dpar::parameters<>(proj_utm)(zone,59)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32460, srs::dpar::parameters<>(proj_utm)(zone,60)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32501, srs::dpar::parameters<>(proj_utm)(zone,1)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32502, srs::dpar::parameters<>(proj_utm)(zone,2)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32503, srs::dpar::parameters<>(proj_utm)(zone,3)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32504, srs::dpar::parameters<>(proj_utm)(zone,4)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32505, srs::dpar::parameters<>(proj_utm)(zone,5)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32506, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32507, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32508, srs::dpar::parameters<>(proj_utm)(zone,8)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32509, srs::dpar::parameters<>(proj_utm)(zone,9)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32510, srs::dpar::parameters<>(proj_utm)(zone,10)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32511, srs::dpar::parameters<>(proj_utm)(zone,11)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32512, srs::dpar::parameters<>(proj_utm)(zone,12)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32513, srs::dpar::parameters<>(proj_utm)(zone,13)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32514, srs::dpar::parameters<>(proj_utm)(zone,14)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32515, srs::dpar::parameters<>(proj_utm)(zone,15)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32516, srs::dpar::parameters<>(proj_utm)(zone,16)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32517, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32518, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32519, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32520, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32521, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32522, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32523, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32524, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32525, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32526, srs::dpar::parameters<>(proj_utm)(zone,26)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32527, srs::dpar::parameters<>(proj_utm)(zone,27)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32528, srs::dpar::parameters<>(proj_utm)(zone,28)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32529, srs::dpar::parameters<>(proj_utm)(zone,29)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32530, srs::dpar::parameters<>(proj_utm)(zone,30)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32531, srs::dpar::parameters<>(proj_utm)(zone,31)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32532, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32533, srs::dpar::parameters<>(proj_utm)(zone,33)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32534, srs::dpar::parameters<>(proj_utm)(zone,34)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32535, srs::dpar::parameters<>(proj_utm)(zone,35)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32536, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32537, srs::dpar::parameters<>(proj_utm)(zone,37)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32538, srs::dpar::parameters<>(proj_utm)(zone,38)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32539, srs::dpar::parameters<>(proj_utm)(zone,39)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32540, srs::dpar::parameters<>(proj_utm)(zone,40)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32541, srs::dpar::parameters<>(proj_utm)(zone,41)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32542, srs::dpar::parameters<>(proj_utm)(zone,42)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32543, srs::dpar::parameters<>(proj_utm)(zone,43)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32544, srs::dpar::parameters<>(proj_utm)(zone,44)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32545, srs::dpar::parameters<>(proj_utm)(zone,45)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32546, srs::dpar::parameters<>(proj_utm)(zone,46)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32547, srs::dpar::parameters<>(proj_utm)(zone,47)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32548, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32549, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32550, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32551, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32552, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32553, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32554, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32555, srs::dpar::parameters<>(proj_utm)(zone,55)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32556, srs::dpar::parameters<>(proj_utm)(zone,56)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32557, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32558, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32559, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ {32560, srs::dpar::parameters<>(proj_utm)(zone,60)(south)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0,0,1.9,0,0,0.814,-0.38))(units_m)(no_defs)},
+ //{32600},
+ {32601, srs::dpar::parameters<>(proj_utm)(zone,1)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32602, srs::dpar::parameters<>(proj_utm)(zone,2)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32603, srs::dpar::parameters<>(proj_utm)(zone,3)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32604, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32605, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32606, srs::dpar::parameters<>(proj_utm)(zone,6)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32607, srs::dpar::parameters<>(proj_utm)(zone,7)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32608, srs::dpar::parameters<>(proj_utm)(zone,8)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32609, srs::dpar::parameters<>(proj_utm)(zone,9)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32610, srs::dpar::parameters<>(proj_utm)(zone,10)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32611, srs::dpar::parameters<>(proj_utm)(zone,11)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32612, srs::dpar::parameters<>(proj_utm)(zone,12)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32613, srs::dpar::parameters<>(proj_utm)(zone,13)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32614, srs::dpar::parameters<>(proj_utm)(zone,14)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32615, srs::dpar::parameters<>(proj_utm)(zone,15)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32616, srs::dpar::parameters<>(proj_utm)(zone,16)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32617, srs::dpar::parameters<>(proj_utm)(zone,17)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32618, srs::dpar::parameters<>(proj_utm)(zone,18)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32619, srs::dpar::parameters<>(proj_utm)(zone,19)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32620, srs::dpar::parameters<>(proj_utm)(zone,20)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32621, srs::dpar::parameters<>(proj_utm)(zone,21)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32622, srs::dpar::parameters<>(proj_utm)(zone,22)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32623, srs::dpar::parameters<>(proj_utm)(zone,23)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32624, srs::dpar::parameters<>(proj_utm)(zone,24)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32625, srs::dpar::parameters<>(proj_utm)(zone,25)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32626, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32627, srs::dpar::parameters<>(proj_utm)(zone,27)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32628, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32629, srs::dpar::parameters<>(proj_utm)(zone,29)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32630, srs::dpar::parameters<>(proj_utm)(zone,30)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32631, srs::dpar::parameters<>(proj_utm)(zone,31)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32632, srs::dpar::parameters<>(proj_utm)(zone,32)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32633, srs::dpar::parameters<>(proj_utm)(zone,33)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32634, srs::dpar::parameters<>(proj_utm)(zone,34)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32635, srs::dpar::parameters<>(proj_utm)(zone,35)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32636, srs::dpar::parameters<>(proj_utm)(zone,36)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32637, srs::dpar::parameters<>(proj_utm)(zone,37)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32638, srs::dpar::parameters<>(proj_utm)(zone,38)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32639, srs::dpar::parameters<>(proj_utm)(zone,39)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32640, srs::dpar::parameters<>(proj_utm)(zone,40)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32641, srs::dpar::parameters<>(proj_utm)(zone,41)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32642, srs::dpar::parameters<>(proj_utm)(zone,42)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32643, srs::dpar::parameters<>(proj_utm)(zone,43)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32644, srs::dpar::parameters<>(proj_utm)(zone,44)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32645, srs::dpar::parameters<>(proj_utm)(zone,45)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32646, srs::dpar::parameters<>(proj_utm)(zone,46)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32647, srs::dpar::parameters<>(proj_utm)(zone,47)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32648, srs::dpar::parameters<>(proj_utm)(zone,48)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32649, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32650, srs::dpar::parameters<>(proj_utm)(zone,50)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32651, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32652, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32653, srs::dpar::parameters<>(proj_utm)(zone,53)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32654, srs::dpar::parameters<>(proj_utm)(zone,54)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32655, srs::dpar::parameters<>(proj_utm)(zone,55)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32656, srs::dpar::parameters<>(proj_utm)(zone,56)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32657, srs::dpar::parameters<>(proj_utm)(zone,57)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32658, srs::dpar::parameters<>(proj_utm)(zone,58)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32659, srs::dpar::parameters<>(proj_utm)(zone,59)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32660, srs::dpar::parameters<>(proj_utm)(zone,60)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32661, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lat_ts,90)(lon_0,0)(k,0.994)(x_0,2000000)(y_0,2000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32662, srs::dpar::parameters<>(proj_eqc)(lat_ts,0)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ //{32663},
+ {32664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-99)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(to_meter,0.3048006096012192)(no_defs)},
+ {32665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-93)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(to_meter,0.3048006096012192)(no_defs)},
+ {32666, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-87)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(to_meter,0.3048006096012192)(no_defs)},
+ {32667, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,-81)(k,0.9996)(x_0,500000.001016002)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(to_meter,0.3048006096012192)(no_defs)},
+ //{32700},
+ {32701, srs::dpar::parameters<>(proj_utm)(zone,1)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32702, srs::dpar::parameters<>(proj_utm)(zone,2)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32703, srs::dpar::parameters<>(proj_utm)(zone,3)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32704, srs::dpar::parameters<>(proj_utm)(zone,4)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32705, srs::dpar::parameters<>(proj_utm)(zone,5)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32706, srs::dpar::parameters<>(proj_utm)(zone,6)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32707, srs::dpar::parameters<>(proj_utm)(zone,7)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32708, srs::dpar::parameters<>(proj_utm)(zone,8)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32709, srs::dpar::parameters<>(proj_utm)(zone,9)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32710, srs::dpar::parameters<>(proj_utm)(zone,10)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32711, srs::dpar::parameters<>(proj_utm)(zone,11)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32712, srs::dpar::parameters<>(proj_utm)(zone,12)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32713, srs::dpar::parameters<>(proj_utm)(zone,13)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32714, srs::dpar::parameters<>(proj_utm)(zone,14)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32715, srs::dpar::parameters<>(proj_utm)(zone,15)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32716, srs::dpar::parameters<>(proj_utm)(zone,16)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32717, srs::dpar::parameters<>(proj_utm)(zone,17)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32718, srs::dpar::parameters<>(proj_utm)(zone,18)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32719, srs::dpar::parameters<>(proj_utm)(zone,19)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32720, srs::dpar::parameters<>(proj_utm)(zone,20)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32721, srs::dpar::parameters<>(proj_utm)(zone,21)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32722, srs::dpar::parameters<>(proj_utm)(zone,22)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32723, srs::dpar::parameters<>(proj_utm)(zone,23)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32724, srs::dpar::parameters<>(proj_utm)(zone,24)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32725, srs::dpar::parameters<>(proj_utm)(zone,25)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32726, srs::dpar::parameters<>(proj_utm)(zone,26)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32727, srs::dpar::parameters<>(proj_utm)(zone,27)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32728, srs::dpar::parameters<>(proj_utm)(zone,28)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32729, srs::dpar::parameters<>(proj_utm)(zone,29)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32730, srs::dpar::parameters<>(proj_utm)(zone,30)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32731, srs::dpar::parameters<>(proj_utm)(zone,31)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32732, srs::dpar::parameters<>(proj_utm)(zone,32)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32733, srs::dpar::parameters<>(proj_utm)(zone,33)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32734, srs::dpar::parameters<>(proj_utm)(zone,34)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32735, srs::dpar::parameters<>(proj_utm)(zone,35)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32736, srs::dpar::parameters<>(proj_utm)(zone,36)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32737, srs::dpar::parameters<>(proj_utm)(zone,37)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32738, srs::dpar::parameters<>(proj_utm)(zone,38)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32739, srs::dpar::parameters<>(proj_utm)(zone,39)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32740, srs::dpar::parameters<>(proj_utm)(zone,40)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32741, srs::dpar::parameters<>(proj_utm)(zone,41)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32742, srs::dpar::parameters<>(proj_utm)(zone,42)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32743, srs::dpar::parameters<>(proj_utm)(zone,43)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32744, srs::dpar::parameters<>(proj_utm)(zone,44)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32745, srs::dpar::parameters<>(proj_utm)(zone,45)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32746, srs::dpar::parameters<>(proj_utm)(zone,46)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32747, srs::dpar::parameters<>(proj_utm)(zone,47)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32748, srs::dpar::parameters<>(proj_utm)(zone,48)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32749, srs::dpar::parameters<>(proj_utm)(zone,49)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32750, srs::dpar::parameters<>(proj_utm)(zone,50)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32751, srs::dpar::parameters<>(proj_utm)(zone,51)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32752, srs::dpar::parameters<>(proj_utm)(zone,52)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32753, srs::dpar::parameters<>(proj_utm)(zone,53)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32754, srs::dpar::parameters<>(proj_utm)(zone,54)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32755, srs::dpar::parameters<>(proj_utm)(zone,55)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32756, srs::dpar::parameters<>(proj_utm)(zone,56)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32757, srs::dpar::parameters<>(proj_utm)(zone,57)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32758, srs::dpar::parameters<>(proj_utm)(zone,58)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32759, srs::dpar::parameters<>(proj_utm)(zone,59)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32760, srs::dpar::parameters<>(proj_utm)(zone,60)(south)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32761, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lat_ts,-90)(lon_0,0)(k,0.994)(x_0,2000000)(y_0,2000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {32766, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,36)(k,0.9996)(x_0,500000)(y_0,10000000)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {61206405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {61216405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-199.87,74.79,246.62,0.0,0.0,0.0,0.0))(no_defs)},
+ {61226405, srs::dpar::parameters<>(proj_longlat)(a,6378135)(b,6356750.304921594)(no_defs)},
+ {61236405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-96.062,-82.428,-121.753,4.801,-0.345,1.376,0.30857215014565614))(no_defs)},
+ {61246405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(414.1,41.3,603.1,-0.855,-2.141,7.023,0.0))(no_defs)},
+ {61266405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61266413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61276405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-82.875,-57.097,-156.768,-2.158,-1.524,0.982,-0.07404906544270759))(no_defs)},
+ {61286405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {61296405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {61306405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0))(no_defs)},
+ {61306413, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0))(no_defs)},
+ {61316405, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(182.0,915.0,344.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61326405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-244.72,-162.773,400.75,0.0,0.0,0.0,0.0))(no_defs)},
+ {61336405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.055,-0.541,-0.185,0.0183,0.0003,0.007,-0.002887707287459349))(no_defs)},
+ {61346405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-191.808,-250.512,167.861,-0.792,-1.653,8.558,4.270300283733636))(no_defs)},
+ {61356405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(58.0,-283.0,-182.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61366405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {61376405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {61386405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {61396405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(11.0,72.0,-101.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61406405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ {61406413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ {61416405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-48.0,55.0,52.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61426405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-125.0,53.0,467.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61436405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-124.76,53.0,466.79,0.0,0.0,0.0,0.0))(no_defs)},
+ {61446405, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(214.0,804.0,268.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61456405, srs::dpar::parameters<>(proj_longlat)(a,6377301.243)(b,6356100.230165384)(towgs84,srs::detail::towgs84<>(275.57,676.78,229.6,0.0,0.0,0.0,0.0))(no_defs)},
+ {61466405, srs::dpar::parameters<>(proj_longlat)(a,6377299.151)(b,6356098.145120132)(towgs84,srs::detail::towgs84<>(295.0,736.0,257.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61476405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-17.51,-108.32,-62.39,0.0,0.0,0.0,0.0))(no_defs)},
+ {61486405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61486413, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61496405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(674.4,15.1,405.3,0.0,0.0,0.0,0.0))(no_defs)},
+ {61506405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(674.374,15.056,405.346,0.0,0.0,0.0,0.0))(no_defs)},
+ {61516405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61516413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61526405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ {61526413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0))(no_defs)},
+ {61536405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-133.63,-157.5,-158.62,0.0,0.0,0.0,0.0))(no_defs)},
+ {61546405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-123.02,-158.95,-168.47,0.0,0.0,0.0,0.0))(no_defs)},
+ {61556405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-83.0,37.0,124.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61566405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(559.0,68.7,451.5,7.92,4.073,4.251,1.1777720436709203))(no_defs)},
+ {61576405, srs::dpar::parameters<>(proj_longlat)(a,6378293.645208759)(b,6356617.987679838)(no_defs)},
+ {61586405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-0.465,372.095,171.736,0.0,0.0,0.0,0.0))(no_defs)},
+ {61596405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-114.7,-98.5,-150.7,0.0,0.0,0.0,0.0))(no_defs)},
+ {61606405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {61616405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(27.5,14.0,186.4,0.0,0.0,0.0,0.0))(no_defs)},
+ {61626405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {61636405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61636413, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61646405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-76.0,-138.0,67.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61656405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-173.0,253.0,27.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61666405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61676405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61676413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61686405, srs::dpar::parameters<>(proj_longlat)(a,6378300)(b,6356751.689189189)(towgs84,srs::detail::towgs84<>(-199.0,32.0,322.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61696405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-115.0,118.0,426.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61706405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61706413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61716405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61716413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61736405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61736413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61746405, srs::dpar::parameters<>(proj_longlat)(a,6378300)(b,6356751.689189189)(no_defs)},
+ {61756405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-88.0,4.0,101.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61766405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61766413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61786405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(24.0,-123.0,-94.0,0.02,0.25,0.13,0.226891286871806))(no_defs)},
+ {61796405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.17326243724756094))(no_defs)},
+ {61806405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61806413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61816405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-193.0,13.7,-39.3,-0.41,-2.933,2.688,0.08869386668625144))(no_defs)},
+ {61826405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-422.651,-172.995,84.02,0.0,0.0,0.0,0.0))(no_defs)},
+ {61836405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-104.0,167.0,-38.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61846405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-203.0,141.0,53.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61886405, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(towgs84,srs::detail::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355))(no_defs)},
+ {61896405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61896413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61906405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61906413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {61916405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {61926405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206.1,-174.7,-87.7,0.0,0.0,0.0,0.0))(no_defs)},
+ {61936405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-70.9,-151.8,-41.4,0.0,0.0,0.0,0.0))(no_defs)},
+ {61946405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(163.511,127.533,-159.789,0.0,0.0,0.814,-0.12375888374825782))(no_defs)},
+ {61956405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(105.0,326.0,-102.5,0.0,0.0,0.814,-0.12375888374825782))(no_defs)},
+ {61966405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-45.0,417.0,-3.5,0.0,0.0,0.814,-0.12375888374825782))(no_defs)},
+ {61976405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {61986405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {61996405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {62006405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {62016405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-165.0,-11.0,206.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62026405, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(towgs84,srs::detail::towgs84<>(-124.133,-42.003,137.4,-0.008,-0.557,-0.178,-0.3824149507821167))(no_defs)},
+ {62036405, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(towgs84,srs::detail::towgs84<>(-117.763,-51.51,139.061,0.292,-0.443,-0.277,-0.03939657799319541))(no_defs)},
+ {62046405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-18.944,-379.364,-24.063,0.04,0.764,-6.431,0.7543103964456315))(no_defs)},
+ {62056405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-43.0,-163.0,45.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62066405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {62076405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-288.885,-91.744,126.244,-1.691,-0.41,0.211,-0.948405579124149))(no_defs)},
+ {62086405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-161.0,310.0,-145.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62096405, srs::dpar::parameters<>(proj_longlat)(a,6378249.145)(b,6356514.966398753)(towgs84,srs::detail::towgs84<>(-138.0,-105.0,-289.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62106405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-157.0,-2.0,-299.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62116405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-377.7,675.1,-52.2,0.0,0.0,0.0,0.0))(no_defs)},
+ {62126405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(31.95,300.99,419.19,0.0,0.0,0.0,0.0))(no_defs)},
+ {62136405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-106.0,-87.0,188.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62146405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(15.8,-154.4,-82.3,0.0,0.0,0.0,0.0))(no_defs)},
+ {62156405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {62166405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-73.0,213.0,296.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62186405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(304.5,306.5,-318.1,0.0,0.0,0.0,0.0))(no_defs)},
+ {62196405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-384.0,664.0,-48.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62206405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-50.9,-347.6,-231.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62216405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-154.5,150.7,100.4,0.0,0.0,0.0,0.0))(no_defs)},
+ {62226405, srs::dpar::parameters<>(proj_longlat)(a,6378249.145)(b,6356514.966398753)(towgs84,srs::detail::towgs84<>(-136.0,-108.0,-292.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62236405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-260.1,5.5,432.2,0.0,0.0,0.0,0.0))(no_defs)},
+ {62246405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-134.0,229.0,-29.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62256405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-206.0,172.0,-6.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62276405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-83.58,-397.54,458.78,-17.595,-2.847,4.256,0.6652040001468859))(no_defs)},
+ {62296405, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(towgs84,srs::detail::towgs84<>(-130.0,110.0,-13.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62306405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-157.89,-17.16,-78.41,2.118,2.697,-1.434,-1.1097046576093785))(no_defs)},
+ {62316405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-82.981,-99.719,-110.709,-0.10470001565102613,0.031001600378938583,0.08040202147511816,-0.06482902860346239))(no_defs)},
+ {62326405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-346.0,-1.0,224.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62336405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-133.0,-321.0,50.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62366405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-637.0,-549.0,-203.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62376405, srs::dpar::parameters<>(proj_longlat)(ellps_grs67)(towgs84,srs::detail::towgs84<>(57.01,-69.97,-9.29,0.0,0.0,0.0,0.0))(no_defs)},
+ {62386405, srs::dpar::parameters<>(proj_longlat)(a,6378160)(b,6356774.50408554)(towgs84,srs::detail::towgs84<>(-1.977,-13.06,-9.993,0.364,-0.254,-0.689,-0.2138966040782389))(no_defs)},
+ {62396405, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(217.0,823.0,299.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62406405, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(204.64,834.74,293.8,0.0,0.0,0.0,0.0))(no_defs)},
+ {62416405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {62426405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-33.722,153.789,94.959,-8.581,4.478,-4.54,1.8460700159115124))(no_defs)},
+ {62436405, srs::dpar::parameters<>(proj_longlat)(a,6377299.36559538)(b,6356098.357204818)(no_defs)},
+ {62446405, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(towgs84,srs::detail::towgs84<>(-97.0,787.0,86.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62456405, srs::dpar::parameters<>(proj_longlat)(a,6377304.063)(b,6356103.038993155)(towgs84,srs::detail::towgs84<>(-11.0,851.0,5.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62466405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-294.7,-200.1,525.5,0.0,0.0,0.0,0.0))(no_defs)},
+ {62476405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-273.5,110.6,-357.9,0.0,0.0,0.0,0.0))(no_defs)},
+ {62486405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-307.7,265.3,-363.5,0.0,0.0,0.0,0.0))(no_defs)},
+ {62496405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {62506405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-130.0,29.0,364.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62516405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-90.0,40.0,88.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62526405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {62536405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(-133.0,-77.0,-51.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62546405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0002681442481212253))(no_defs)},
+ {62556405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-333.0,-222.0,114.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62566405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(41.0,-220.0,-134.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62576405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-587.8,519.75,145.76,0.0,0.0,0.0,0.0))(no_defs)},
+ {62586405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62586413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62596405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-254.1,-5.36,-100.29,0.0,0.0,0.0,0.0))(no_defs)},
+ {62616405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(31.0,146.0,47.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62626405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(639.0,405.0,60.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62636405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-90.2,-87.32,114.17,0.0,0.0,0.0,0.0))(no_defs)},
+ {62646405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-252.95,-4.11,-96.38,0.0,0.0,0.0,0.0))(no_defs)},
+ {62656405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-50.2,-50.4,84.8,-0.69,-2.012,0.459,-5.791915759418465))(no_defs)},
+ {62666405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-80.7,-132.5,41.1,0.0,0.0,0.0,0.0))(no_defs)},
+ {62676405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(srs::dpar::datum_nad27)(no_defs)},
+ {62686405, srs::dpar::parameters<>(proj_longlat)(a,6378450.047548896)(b,6356826.621488444)(no_defs)},
+ {62696405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(srs::dpar::datum_nad83)(no_defs)},
+ {62706405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-245.0,-153.9,382.8,0.0,0.0,0.0,0.0))(no_defs)},
+ {62716405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-2.0,374.0,172.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62726405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(srs::dpar::datum_nzgd49)(no_defs)},
+ {62736405, srs::dpar::parameters<>(proj_longlat)(a,6377492.018)(b,6356173.508712696)(towgs84,srs::detail::towgs84<>(278.3,93.0,474.5,7.889,0.05,-6.61,1.2809044467944684))(no_defs)},
+ {62746405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-239.749,88.181,30.488,0.263,-0.082,-1.211,0.4597642531247778))(no_defs)},
+ {62756405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-168.0,-60.0,320.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62766405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs66)(no_defs)},
+ {62776405, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(srs::dpar::datum_osgb36)(no_defs)},
+ {62786405, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(no_defs)},
+ {62796405, srs::dpar::parameters<>(proj_longlat)(ellps_airy)(no_defs)},
+ {62806405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {62816405, srs::dpar::parameters<>(proj_longlat)(a,6378300.789)(b,6356566.435)(towgs84,srs::detail::towgs84<>(-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,0.20626480624709637))(no_defs)},
+ {62826405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849))(no_defs)},
+ {62836405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62836413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62846405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(-40.595,-18.55,-69.339,2.508,-1.832,2.611,-0.8867324020562674))(no_defs)},
+ {62856405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-128.033,-283.697,21.052,0.0,0.0,0.0,0.0))(no_defs)},
+ {62866405, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(no_defs)},
+ {62886405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {62896405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(565.04,49.91,465.84,-0.40939438743923684,-0.35970519561431136,1.868491000350572,0.8409828680306614))(no_defs)},
+ {62926405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-355.0,21.0,72.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62936405, srs::dpar::parameters<>(proj_longlat)(ellps_bess_nam)(towgs84,srs::detail::towgs84<>(616.0,97.0,-251.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62956405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {62976405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-189.0,-242.0,-91.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {62986405, srs::dpar::parameters<>(proj_longlat)(ellps_evrstss)(towgs84,srs::detail::towgs84<>(-533.4,669.2,-52.5,0.0,0.0,4.28,1.9388891787227058))(no_defs)},
+ {62996405, srs::dpar::parameters<>(proj_longlat)(a,6377340.189)(b,6356034.447938534)(towgs84,srs::detail::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355))(no_defs)},
+ {63006405, srs::dpar::parameters<>(proj_longlat)(a,6377340.189)(b,6356034.447938534)(towgs84,srs::detail::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355))(no_defs)},
+ {63016405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-147.0,506.0,687.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {63026405, srs::dpar::parameters<>(proj_longlat)(a,6378293.645208759)(b,6356617.987679838)(towgs84,srs::detail::towgs84<>(-61.702,284.488,472.052,0.0,0.0,0.0,0.0))(no_defs)},
+ {63036405, srs::dpar::parameters<>(proj_longlat)(ellps_helmert)(no_defs)},
+ {63046405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-73.0,-247.0,227.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {63066405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {63076405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-169.559,-72.34,303.102,0.0,0.0,0.0,0.0))(no_defs)},
+ {63086405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {63096405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-155.0,171.0,37.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {63106405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(no_defs)},
+ {63116405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-265.0,120.0,-358.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {63126405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(426.9,142.6,460.1,4.91,4.49,-12.42,3.5271281868253483))(no_defs)},
+ {63136405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-106.8686,52.2978,-103.7239,0.3366,0.457,-1.8422,0.26292574852317374))(no_defs)},
+ {63146405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(srs::dpar::datum_potsdam)(no_defs)},
+ {63156405, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356515)(towgs84,srs::detail::towgs84<>(-23.0,259.0,-9.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {63166405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(103.25,-100.4,-307.19,0.0,0.0,0.0,0.0))(no_defs)},
+ {63176405, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(towgs84,srs::detail::towgs84<>(28.0,-121.0,-77.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {63186405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(-3.2,-5.7,2.8,0.0,0.0,0.0,0.0))(no_defs)},
+ {63196405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(226.702,-193.337,-35.371,-2.229,4.391,-9.238,0.20209825716090501))(no_defs)},
+ {63226405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105))(no_defs)},
+ {63246405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs72)(towgs84,srs::detail::towgs84<>(0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662))(no_defs)},
+ {63266405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{63266406},
+ //{63266407},
+ //{63266408},
+ //{63266409},
+ //{63266410},
+ {63266411, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{63266412},
+ {63266413, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{63266414},
+ //{63266415},
+ //{63266416},
+ //{63266417},
+ //{63266418},
+ {63266419, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(srs::dpar::datum_wgs84)(no_defs)},
+ //{63266420},
+ {66006405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {66016405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-255.0,-15.0,71.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66026405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(725.0,685.0,536.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66036405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(72.0,213.7,93.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66046405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(174.0,359.0,365.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66056405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(9.0,183.0,236.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66066405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-149.0,128.0,296.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66076405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(195.671,332.517,274.607,0.0,0.0,0.0,0.0))(no_defs)},
+ {66086405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {66096405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {66106405, srs::dpar::parameters<>(proj_longlat)(a,6378140)(b,6356755.288157528)(no_defs)},
+ {66116405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-0.22570443917666022))(no_defs)},
+ {66126405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66126413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66136405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(-404.78,685.68,45.47,0.0,0.0,0.0,0.0))(no_defs)},
+ {66146405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,0.7543238036580374))(no_defs)},
+ {66156405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-499.0,-249.0,314.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66166405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-289.0,-124.0,60.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66186405, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(towgs84,srs::detail::towgs84<>(-66.87,4.37,-38.52,0.0,0.0,0.0,0.0))(no_defs)},
+ {66196405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66196413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66206405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(towgs84,srs::detail::towgs84<>(-106.0,-129.0,165.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66216405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(137.0,248.0,-430.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66226405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,0.39157310817948776))(no_defs)},
+ {66236405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-186.0,230.0,110.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66246405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66246413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66256405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(126.93,547.94,130.41,-2.7867,5.1612,-0.8584,2.851136537311739))(no_defs)},
+ {66266405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(94.0,-948.0,-1262.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66276405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66276413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66286405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(162.0,117.0,154.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66296405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(72.438,345.918,79.486,1.6045,-0.8823,-0.5565,0.2835316026672587))(no_defs)},
+ {66306405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(259.551,297.612,197.833,-1.4866,2.1224,0.4612,5.574285762347154))(no_defs)},
+ {66316405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(145.0,-187.0,103.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66326405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-382.0,-59.0,-262.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66336405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(335.47,222.58,-230.94,0.0,0.0,0.0,0.0))(no_defs)},
+ {66346405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-11.64,-348.6,291.98,0.0,0.0,0.0,0.0))(no_defs)},
+ {66356405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,0.9240250790257423))(no_defs)},
+ {66366405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(365.0,194.0,166.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66376405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(325.0,154.0,172.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66386405, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(towgs84,srs::detail::towgs84<>(30.0,430.0,368.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66396405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(253.0,-132.0,-127.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66406405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66406413, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66416405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(287.58,177.78,-135.41,0.0,0.0,0.0,0.0))(no_defs)},
+ {66426405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-13.0,-348.0,292.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66436405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-23.039820110761912))(no_defs)},
+ {66446405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-10.18,-350.43,291.37,0.0,0.0,0.0,0.0))(no_defs)},
+ {66456405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66456413, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66466405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {66576405, srs::dpar::parameters<>(proj_longlat)(a,6377019.27)(b,6355762.5391)(towgs84,srs::detail::towgs84<>(-28.0,199.0,5.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66586405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-73.0,46.0,-86.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66596405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66596413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66606405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(982.6087,552.753,-540.873,6.681626625276941,-31.61149240864225,-19.848161004816845,3.466280068982454))(no_defs)},
+ {66616405, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66616413, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {66636405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-210.502,-66.902,-48.476,2.094,15.067,5.817,0.10003843102984174))(no_defs)},
+ {66646405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-208.719,129.685,52.092,-0.195,0.014,-0.327,0.040840431636925086))(no_defs)},
+ {66656405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(towgs84,srs::detail::towgs84<>(-103.088,162.481,-28.276,0.167,-0.082,-0.168,-0.31022226859563296))(no_defs)},
+ {66666405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(towgs84,srs::detail::towgs84<>(631.392,-66.551,481.442,1.09,4.445,4.487,-0.9137530916746368))(no_defs)},
+ {66676405, srs::dpar::parameters<>(proj_longlat)(ellps_wgs84)(towgs84,srs::detail::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0))(no_defs)},
+ {68016405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_bern)(no_defs)},
+ {68026405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_bogota)(no_defs)},
+ {68036405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_lisbon)(no_defs)},
+ {68046405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {68056405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_ferro)(no_defs)},
+ {68066405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_rome)(no_defs)},
+ {68086405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {68096405, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(pm_brussels)(no_defs)},
+ {68136405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {68146405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_stockholm)(no_defs)},
+ {68156405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_athens)(no_defs)},
+ {68186405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_ferro)(no_defs)},
+ {68206405, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(pm_jakarta)(no_defs)},
+ {69036405, srs::dpar::parameters<>(proj_longlat)(a,6378298.3)(b,6356657.142669561)(pm_madrid)(no_defs)}
};
const code_element * first = arr;
const code_element * last = arr + sizeof(arr) / sizeof(code_element);
const code_element * el = binary_find_code_element(first, last, code);
- return el != last ? el->proj4_str : "";
+ return el != last ? el->parameters : srs::dpar::parameters<>();
}
}
diff --git a/boost/geometry/srs/projections/epsg_traits.hpp b/boost/geometry/srs/projections/epsg_traits.hpp
index 6cc642cae4..2bddaa4bff 100644
--- a/boost/geometry/srs/projections/epsg_traits.hpp
+++ b/boost/geometry/srs/projections/epsg_traits.hpp
@@ -18,6 +18,7 @@
#include <boost/geometry/srs/projections/factory.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
#include <boost/geometry/srs/projections/srid_traits.hpp>
@@ -36,7 +37,7 @@ namespace detail
\ingroup projection
\tparam EPSG epsg code
*/
-template <size_t EPSG>
+template <int EPSG>
struct epsg_traits
{
// Specializations define:
@@ -44,4368 +45,4368 @@ struct epsg_traits
// - function par to get parameters
};
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2000, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2001, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2002, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2003, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2004, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2005, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2006, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2007, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2008, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2009, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2010, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2011, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2012, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2013, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2014, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2015, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2016, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2017, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2018, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2019, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2020, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2021, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2022, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2023, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2024, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2025, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2026, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2027, utm, clrk66, "+proj=utm +zone=15 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2028, utm, clrk66, "+proj=utm +zone=16 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2029, utm, clrk66, "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2030, utm, clrk66, "+proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2031, utm, clrk66, "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2032, utm, clrk66, "+proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2033, utm, clrk66, "+proj=utm +zone=19 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2034, utm, clrk66, "+proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2035, utm, clrk66, "+proj=utm +zone=21 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2036, sterea, GRS80, "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2037, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2038, utm, GRS80, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2039, tmerc, GRS80, "+proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2040, utm, clrk80, "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2041, utm, clrk80, "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2042, utm, clrk80, "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2043, utm, clrk80, "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2044, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2045, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2046, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2047, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2048, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2049, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2050, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2051, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2052, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2053, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2054, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2055, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2056, somerc, bessel, "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2057, omerc, intl, "+proj=omerc +lat_0=27.51882880555555 +lonc=52.60353916666667 +alpha=0.5716611944444444 +k=0.999895934 +x_0=658377.437 +y_0=3044969.194 +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2058, utm, intl, "+proj=utm +zone=38 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2059, utm, intl, "+proj=utm +zone=39 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2060, utm, intl, "+proj=utm +zone=40 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2061, utm, intl, "+proj=utm +zone=41 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2062, lcc, 6378298.3, 6356657.142669561, "+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669561 +pm=madrid +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2063, utm, 6378249.2, 6356515, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2064, utm, 6378249.2, 6356515, "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2065, krovak, bessel, "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2066, cass, 6378293.645208759, 6356617.987679838, "+proj=cass +lat_0=11.25217861111111 +lon_0=-60.68600888888889 +x_0=37718.66159325 +y_0=36209.91512952 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2067, utm, intl, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2068, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2069, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2070, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2071, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2072, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2073, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2074, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2075, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2076, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2077, utm, intl, "+proj=utm +zone=32 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2078, utm, intl, "+proj=utm +zone=33 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2079, utm, intl, "+proj=utm +zone=34 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2080, utm, intl, "+proj=utm +zone=35 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2081, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2082, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2083, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2084, utm, intl, "+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2085, lcc, clrk66, NAD27, "+proj=lcc +lat_1=22.35 +lat_0=22.35 +lon_0=-81 +k_0=0.99993602 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2086, lcc, clrk66, NAD27, "+proj=lcc +lat_1=20.71666666666667 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +k_0=0.99994848 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2087, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2088, tmerc, 6378249.2, 6356515, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2089, utm, WGS84, "+proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2090, utm, WGS84, "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2091, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2092, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2093, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=106 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2094, tmerc, WGS72, "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2095, utm, intl, "+proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2096, tmerc, bessel, "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2097, tmerc, bessel, "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2098, tmerc, bessel, "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2099, cass, helmert, "+proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2100, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2101, lcc, intl, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=0 +y_0=-52684.972 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2102, lcc, intl, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=200000 +y_0=147315.028 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2103, lcc, intl, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=500000 +y_0=447315.028 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2104, lcc, intl, "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=-17044 +y_0=-23139.97 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2105, tmerc, GRS80, "+proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.9999 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2106, tmerc, GRS80, "+proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2107, tmerc, GRS80, "+proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2108, tmerc, GRS80, "+proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2109, tmerc, GRS80, "+proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2110, tmerc, GRS80, "+proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2111, tmerc, GRS80, "+proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2112, tmerc, GRS80, "+proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2113, tmerc, GRS80, "+proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.7763888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2114, tmerc, GRS80, "+proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2115, tmerc, GRS80, "+proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2116, tmerc, GRS80, "+proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2117, tmerc, GRS80, "+proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2118, tmerc, GRS80, "+proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2119, tmerc, GRS80, "+proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2120, tmerc, GRS80, "+proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2121, tmerc, GRS80, "+proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2122, tmerc, GRS80, "+proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2123, tmerc, GRS80, "+proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2124, tmerc, GRS80, "+proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2125, tmerc, GRS80, "+proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2126, tmerc, GRS80, "+proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2127, tmerc, GRS80, "+proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2128, tmerc, GRS80, "+proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2129, tmerc, GRS80, "+proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2130, tmerc, GRS80, "+proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2131, tmerc, GRS80, "+proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.99996 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2132, tmerc, GRS80, "+proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2133, utm, GRS80, "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2134, utm, GRS80, "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2135, utm, GRS80, "+proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2136, tmerc, 6378300, 6356751.689189189, "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +to_meter=0.3047997101815088 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2137, tmerc, 6378300, 6356751.689189189, "+proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2138, lcc, clrk66, "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2139, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2140, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2141, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2142, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2143, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2144, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2145, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2146, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2147, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2148, utm, GRS80, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2149, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2150, utm, GRS80, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2151, utm, GRS80, "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2152, utm, GRS80, "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2153, utm, GRS80, "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2154, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2155, lcc, clrk66, "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2156, utm, GRS80, "+proj=utm +zone=59 +south +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2157, tmerc, GRS80, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.99982 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2158, utm, GRS80, "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2159, tmerc, 6378300, 6356751.689189189, "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=152399.8550907544 +y_0=0 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2160, tmerc, 6378300, 6356751.689189189, "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=243839.7681452071 +y_0=182879.8261089053 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2161, utm, clrk80, "+proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2162, utm, clrk80, "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 2163, laea, 6370997, "+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 +b=6370997 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2164, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2165, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2166, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2167, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2168, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2169, tmerc, intl, "+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2170, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2171, sterea, krass, "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5647000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2172, sterea, krass, "+proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 +k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2173, sterea, krass, "+proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 +k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2174, sterea, krass, "+proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 +k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2175, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 +y_0=-4700000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2176, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2177, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2178, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2179, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2180, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2188, utm, intl, "+proj=utm +zone=25 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2189, utm, intl, "+proj=utm +zone=26 +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2190, utm, intl, "+proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2191, utm, intl, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2192, lcc, intl, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2193, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2194, lcc, clrk66, "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2195, utm, GRS80, "+proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2196, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2197, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2198, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2199, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2200, sterea, 6378135, 6356750.304921594, "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=300000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2201, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2202, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2203, utm, GRS80, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2204, lcc, clrk66, NAD27, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2205, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2206, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2207, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2208, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2209, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2210, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2211, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2212, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2213, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2214, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2215, utm, 6378249.2, 6356515, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2216, utm, intl, "+proj=utm +zone=22 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2217, utm, intl, "+proj=utm +zone=23 +ellps=intl +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2218, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2219, utm, 6378135, 6356750.304921594, "+proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2220, utm, 6378135, 6356750.304921594, "+proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2221, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2222, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2223, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2224, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2225, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2226, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2227, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2228, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2229, lcc, GRS80, NAD83, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2230, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2231, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2232, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2233, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2234, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2235, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2236, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2237, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2238, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2239, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2240, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2241, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2242, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2243, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2244, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2245, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2246, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2247, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2248, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2249, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2250, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2251, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2252, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2253, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2254, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2255, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2256, lcc, GRS80, NAD83, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2257, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2258, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2259, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2260, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2261, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2262, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2263, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2264, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2265, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2266, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2267, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2268, lcc, GRS80, NAD83, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2269, lcc, GRS80, NAD83, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2270, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2271, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2272, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2273, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2274, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2275, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2276, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2277, lcc, GRS80, NAD83, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2278, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2279, lcc, GRS80, NAD83, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2280, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2281, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2282, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2283, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2284, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2285, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2286, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2287, lcc, GRS80, NAD83, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2288, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2289, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2290, sterea, 6378135, 6356750.304921594, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=700000 +y_0=400000 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2291, sterea, 6378135, 6356750.304921594, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2292, sterea, GRS80, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2294, tmerc, 6378135, 6356750.304921594, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=4500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2295, tmerc, 6378135, 6356750.304921594, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=5500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2296, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2297, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2298, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2299, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2300, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2301, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2302, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2303, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2304, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2305, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2306, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2307, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2308, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=109 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2309, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2310, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2311, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2312, utm, clrk80, "+proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2313, utm, clrk80, "+proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2314, cass, 6378293.645208759, 6356617.987679838, "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392052001 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2315, utm, intl, "+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2316, utm, intl, "+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2317, lcc, intl, "+proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2318, lcc, intl, "+proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2319, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2320, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2321, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2322, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2323, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2324, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2325, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2326, tmerc, intl, "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2327, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2328, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2329, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2330, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2331, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2332, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2333, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2334, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2335, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2336, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2337, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2338, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2339, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2340, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2341, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2342, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2343, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2344, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2345, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2346, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2347, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2348, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2349, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2350, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2351, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2352, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2353, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2354, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2355, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2356, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2357, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2358, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2359, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2360, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2361, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2362, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2363, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2364, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2365, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2366, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2367, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2368, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2369, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2370, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2371, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2372, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2373, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2374, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2375, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2376, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2377, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2378, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2379, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2380, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2381, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2382, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2383, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2384, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2385, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2386, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2387, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2388, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2389, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2390, tmerc, 6378140, 6356755.288157528, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2391, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2392, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2393, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2394, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2395, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2396, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2397, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2398, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2399, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2400, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2401, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2402, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2403, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2404, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2405, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2406, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2407, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2408, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2409, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2410, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2411, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2412, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2413, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2414, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2415, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2416, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2417, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2418, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2419, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2420, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2421, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2422, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2423, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2424, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2425, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2426, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2427, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2428, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2429, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2430, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2431, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2432, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2433, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2434, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2435, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2436, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2437, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2438, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2439, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2440, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2441, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2442, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2443, tmerc, GRS80, "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2444, tmerc, GRS80, "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2445, tmerc, GRS80, "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2446, tmerc, GRS80, "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2447, tmerc, GRS80, "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2448, tmerc, GRS80, "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2449, tmerc, GRS80, "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2450, tmerc, GRS80, "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2451, tmerc, GRS80, "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2452, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2453, tmerc, GRS80, "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2454, tmerc, GRS80, "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2455, tmerc, GRS80, "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2456, tmerc, GRS80, "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2457, tmerc, GRS80, "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2458, tmerc, GRS80, "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2459, tmerc, GRS80, "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2460, tmerc, GRS80, "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2461, tmerc, GRS80, "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2462, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2463, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2464, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2465, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2466, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2467, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2468, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2469, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2470, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2471, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2472, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2473, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2474, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2475, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2476, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2477, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2478, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2479, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2480, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2481, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2482, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2483, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2484, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2485, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2486, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2487, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2488, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2489, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2490, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2491, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2492, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2493, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2494, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2495, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2496, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2497, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2498, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2499, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2500, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2501, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2502, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2503, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2504, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2505, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2506, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2507, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2508, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2509, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2510, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2511, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2512, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2513, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2514, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2515, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2516, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2517, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2518, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2519, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2520, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2521, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2522, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2523, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2524, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2525, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2526, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2527, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2528, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2529, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2530, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2531, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2532, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2533, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2534, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2535, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2536, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2537, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2538, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2539, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2540, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2541, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2542, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2543, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2544, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2545, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2546, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2547, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2548, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2549, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2550, utm, bessel, "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2551, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2552, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2553, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2554, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2555, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2556, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2557, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2558, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2559, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2560, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2561, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2562, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2563, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2564, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2565, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2566, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2567, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2568, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2569, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2570, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2571, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2572, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2573, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2574, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2575, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2576, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2577, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2578, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2579, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2580, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2581, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2582, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2583, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2584, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2585, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2586, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2587, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2588, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2589, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2590, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2591, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2592, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2593, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2594, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2595, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2596, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2597, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2598, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2599, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2600, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2601, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2602, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2603, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2604, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2605, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2606, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2607, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2608, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2609, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2610, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2611, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2612, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2613, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2614, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2615, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2616, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2617, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2618, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2619, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2620, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2621, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2622, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2623, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2624, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2625, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2626, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2627, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2628, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2629, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2630, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2631, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2632, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2633, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2634, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2635, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2636, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2637, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2638, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2639, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2640, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2641, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2642, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2643, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2644, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2645, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2646, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2647, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2648, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2649, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2650, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2651, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2652, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2653, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2654, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2655, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2656, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2657, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2658, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2659, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2660, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2661, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2662, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2663, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2664, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2665, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2666, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2667, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2668, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2669, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2670, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2671, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2672, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2673, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2674, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2675, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2676, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2677, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2678, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2679, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2680, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2681, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2682, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2683, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2684, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2685, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2686, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2687, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2688, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2689, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2690, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2691, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2692, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2693, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2694, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2695, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2696, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2697, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2698, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2699, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2700, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2701, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2702, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2703, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2704, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2705, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2706, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2707, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2708, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2709, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2710, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2711, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2712, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2713, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2714, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2715, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2716, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2717, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2718, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2719, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2720, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2721, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2722, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2723, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2724, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2725, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2726, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2727, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2728, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2729, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2730, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2731, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2732, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2733, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2734, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2735, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2736, utm, clrk66, "+proj=utm +zone=36 +south +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2737, utm, clrk66, "+proj=utm +zone=37 +south +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2738, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2739, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2740, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2741, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2742, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2743, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2744, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2745, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2746, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2747, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2748, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2749, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2750, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2751, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2752, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2753, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2754, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2755, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2756, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2757, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2758, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2759, tmerc, GRS80, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2760, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2761, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2762, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2763, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2764, lcc, GRS80, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2765, lcc, GRS80, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2766, lcc, GRS80, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2767, lcc, GRS80, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2768, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2769, lcc, GRS80, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2770, lcc, GRS80, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2771, lcc, GRS80, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2772, lcc, GRS80, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2773, lcc, GRS80, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2774, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2775, lcc, GRS80, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2776, tmerc, GRS80, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2777, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2778, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2779, lcc, GRS80, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2780, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2781, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2782, tmerc, GRS80, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2783, tmerc, GRS80, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2784, tmerc, GRS80, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2785, tmerc, GRS80, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2786, tmerc, GRS80, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2787, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2788, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2789, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2790, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2791, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2792, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2793, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2794, lcc, GRS80, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2795, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2796, lcc, GRS80, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2797, lcc, GRS80, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2798, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2799, lcc, GRS80, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2800, lcc, GRS80, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2801, lcc, GRS80, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2802, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2803, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2804, lcc, GRS80, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2805, lcc, GRS80, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2806, lcc, GRS80, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2807, lcc, GRS80, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2808, lcc, GRS80, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2809, lcc, GRS80, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2810, lcc, GRS80, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2811, lcc, GRS80, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2812, lcc, GRS80, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2813, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2814, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2815, tmerc, GRS80, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2816, tmerc, GRS80, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2817, tmerc, GRS80, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2818, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2819, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2820, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2821, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2822, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2823, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2824, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2825, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2826, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2827, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2828, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2829, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2830, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2831, lcc, GRS80, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2832, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2833, lcc, GRS80, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2834, lcc, GRS80, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2835, lcc, GRS80, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2836, lcc, GRS80, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2837, lcc, GRS80, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2838, lcc, GRS80, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2839, lcc, GRS80, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2840, tmerc, GRS80, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2841, lcc, GRS80, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2842, lcc, GRS80, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2843, lcc, GRS80, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2844, lcc, GRS80, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2845, lcc, GRS80, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2846, lcc, GRS80, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2847, lcc, GRS80, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2848, lcc, GRS80, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2849, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2850, lcc, GRS80, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2851, lcc, GRS80, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2852, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2853, lcc, GRS80, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2854, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2855, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2856, lcc, GRS80, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2857, lcc, GRS80, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2858, lcc, GRS80, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2859, lcc, GRS80, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2860, lcc, GRS80, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2861, lcc, GRS80, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2862, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2863, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2864, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2865, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2866, lcc, GRS80, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2867, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2868, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2869, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2870, lcc, GRS80, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2871, lcc, GRS80, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2872, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2873, lcc, GRS80, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2874, lcc, GRS80, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2875, lcc, GRS80, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2876, lcc, GRS80, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2877, lcc, GRS80, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2878, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2879, lcc, GRS80, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2880, tmerc, GRS80, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2881, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2882, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2883, lcc, GRS80, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2884, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2885, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2886, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2887, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2888, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2889, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2890, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2891, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2892, lcc, GRS80, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2893, lcc, GRS80, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2894, lcc, GRS80, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2895, lcc, GRS80, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2896, lcc, GRS80, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2897, lcc, GRS80, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2898, lcc, GRS80, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2899, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2900, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2901, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2902, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2903, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2904, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2905, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2906, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2907, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2908, lcc, GRS80, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2909, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2910, lcc, GRS80, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2911, lcc, GRS80, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2912, lcc, GRS80, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2913, lcc, GRS80, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2914, lcc, GRS80, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2915, lcc, GRS80, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2916, lcc, GRS80, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2917, lcc, GRS80, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2918, lcc, GRS80, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2919, lcc, GRS80, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2920, lcc, GRS80, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2921, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2922, lcc, GRS80, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2923, lcc, GRS80, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2924, lcc, GRS80, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2925, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2926, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2927, lcc, GRS80, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2928, lcc, GRS80, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2929, lcc, GRS80, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2930, lcc, GRS80, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 2931, tmerc, 6378249.2, 6356515, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2932, tmerc, intl, "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2933, utm, bessel, "+proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2934, merc, bessel, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2935, tmerc, krass, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2936, tmerc, krass, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2937, tmerc, krass, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2938, tmerc, krass, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2939, tmerc, krass, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2940, tmerc, krass, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2941, tmerc, krass, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2942, utm, intl, "+proj=utm +zone=28 +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2943, utm, intl, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2944, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2945, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2946, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2947, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2948, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2949, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2950, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2951, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2952, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2953, sterea, GRS80, "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2954, sterea, GRS80, "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2955, utm, GRS80, "+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2956, utm, GRS80, "+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2957, utm, GRS80, "+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2958, utm, GRS80, "+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2959, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2960, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2961, utm, GRS80, "+proj=utm +zone=20 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2962, utm, GRS80, "+proj=utm +zone=21 +ellps=GRS80 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2963, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2964, aea, clrk66, NAD27, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2965, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2966, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2967, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2968, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2969, utm, intl, "+proj=utm +zone=20 +ellps=intl +towgs84=137,248,-430,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2970, utm, intl, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2971, utm, intl, "+proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2972, utm, GRS80, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2973, utm, intl, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2975, utm, GRS80, "+proj=utm +zone=40 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2976, utm, intl, "+proj=utm +zone=6 +south +ellps=intl +towgs84=162,117,154,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2977, utm, intl, "+proj=utm +zone=5 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2978, utm, intl, "+proj=utm +zone=7 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2979, utm, intl, "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2980, utm, intl, "+proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2981, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2982, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2983, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2984, lcc, intl, "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=intl +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2985, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 2986, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2987, utm, clrk66, "+proj=utm +zone=21 +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2988, utm, intl, "+proj=utm +zone=1 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2989, utm, WGS84, "+proj=utm +zone=20 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2990, tmerc, intl, "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=50000 +y_0=160000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2991, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 2992, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2993, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2994, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2995, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2996, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2997, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2998, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 2999, utm, intl, "+proj=utm +zone=38 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3000, merc, bessel, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3001, merc, bessel, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3002, merc, bessel, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3003, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3004, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3005, aea, GRS80, NAD83, "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3006, utm, GRS80, "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3007, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3008, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3009, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3010, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3011, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3012, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3013, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3014, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3015, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3016, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3017, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3018, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3019, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3020, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3021, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3022, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3023, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3024, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3025, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3026, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3027, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3028, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3029, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3030, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3031, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3032, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=70 +k=1 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3033, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.5 +lat_2=-74.5 +lat_0=-50 +lon_0=70 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3034, lcc, GRS80, "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3035, laea, GRS80, "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3036, utm, WGS84, "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3037, utm, WGS84, "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3038, utm, GRS80, "+proj=utm +zone=26 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3039, utm, GRS80, "+proj=utm +zone=27 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3040, utm, GRS80, "+proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3041, utm, GRS80, "+proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3042, utm, GRS80, "+proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3043, utm, GRS80, "+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3044, utm, GRS80, "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3045, utm, GRS80, "+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3046, utm, GRS80, "+proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3047, utm, GRS80, "+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3048, utm, GRS80, "+proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3049, utm, GRS80, "+proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3050, utm, GRS80, "+proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3051, utm, GRS80, "+proj=utm +zone=39 +ellps=GRS80 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3052, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3053, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3054, utm, intl, "+proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3055, utm, intl, "+proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3056, utm, intl, "+proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3057, lcc, GRS80, "+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3058, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7800000 +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3059, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3060, utm, intl, "+proj=utm +zone=58 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3061, utm, intl, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3062, utm, intl, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3063, utm, intl, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3064, utm, WGS84, "+proj=utm +zone=32 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3065, utm, WGS84, "+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3066, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=37 +k=0.9998 +x_0=500000 +y_0=-3000000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3067, utm, GRS80, "+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3068, cass, bessel, potsdam, "+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3069, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=500000 +y_0=-4500000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3070, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3071, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3072, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3073, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3074, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3075, tmerc, GRS80, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3076, tmerc, GRS80, "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3077, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3078, omerc, GRS80, NAD83, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3079, omerc, GRS80, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3080, lcc, clrk66, NAD27, "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=914400 +y_0=914400 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3081, lcc, GRS80, NAD83, "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3082, lcc, GRS80, NAD83, "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3083, aea, GRS80, NAD83, "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3084, lcc, GRS80, "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3085, aea, GRS80, "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3086, aea, GRS80, NAD83, "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3087, aea, GRS80, "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3088, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3089, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3090, lcc, GRS80, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3091, lcc, GRS80, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3092, utm, bessel, "+proj=utm +zone=51 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3093, utm, bessel, "+proj=utm +zone=52 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3094, utm, bessel, "+proj=utm +zone=53 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3095, utm, bessel, "+proj=utm +zone=54 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3096, utm, bessel, "+proj=utm +zone=55 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3097, utm, GRS80, "+proj=utm +zone=51 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3098, utm, GRS80, "+proj=utm +zone=52 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3099, utm, GRS80, "+proj=utm +zone=53 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3100, utm, GRS80, "+proj=utm +zone=54 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3101, utm, GRS80, "+proj=utm +zone=55 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3102, lcc, clrk66, "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=95169.31165862332 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3103, utm, clrk80, "+proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3104, utm, clrk80, "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3105, utm, clrk80, "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3106, tmerc, 6377276.345, 6356075.41314024, "+proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3107, lcc, GRS80, "+proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3108, tmerc, GRS80, "+proj=tmerc +lat_0=49.5 +lon_0=-2.416666666666667 +k=0.999997 +x_0=47000 +y_0=50000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3109, tmerc, GRS80, "+proj=tmerc +lat_0=49.225 +lon_0=-2.135 +k=0.9999999000000001 +x_0=40000 +y_0=70000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3110, lcc, aust_SA, "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=4500000 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3111, lcc, GRS80, "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3112, lcc, GRS80, "+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3113, tmerc, GRS80, "+proj=tmerc +lat_0=-28 +lon_0=153 +k=0.99999 +x_0=50000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3114, tmerc, GRS80, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-80.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3115, tmerc, GRS80, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3116, tmerc, GRS80, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3117, tmerc, GRS80, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-71.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3118, tmerc, GRS80, "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-68.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3119, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3120, sterea, krass, "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5467000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3121, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3122, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3123, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3124, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3125, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3126, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3127, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3128, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3129, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3130, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3131, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3132, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3133, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3134, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3135, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3136, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3137, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3138, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3139, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3140, cass, 6378306.3696, 6356571.996, "+proj=cass +lat_0=-18 +lon_0=178 +x_0=109435.392 +y_0=141622.272 +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +to_meter=0.201168 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3141, utm, intl, "+proj=utm +zone=60 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3142, utm, intl, "+proj=utm +zone=1 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3143, tmerc, WGS72, "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3144, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3145, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3146, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3147, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3148, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3149, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3150, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3151, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3152, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=18.05779 +k=0.99999425 +x_0=100178.1808 +y_0=-6500614.7836 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3153, aea, GRS80, "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3154, utm, GRS80, "+proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3155, utm, GRS80, "+proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3156, utm, GRS80, "+proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3157, utm, GRS80, "+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3158, utm, GRS80, "+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3159, utm, GRS80, "+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3160, utm, GRS80, "+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3161, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3162, lcc, GRS80, "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3163, lcc, GRS80, "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3164, utm, WGS84, "+proj=utm +zone=58 +south +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3165, lcc, intl, "+proj=lcc +lat_1=-22.24469175 +lat_2=-22.29469175 +lat_0=-22.26969175 +lon_0=166.44242575 +x_0=0.66 +y_0=1.02 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3166, lcc, intl, "+proj=lcc +lat_1=-22.24472222222222 +lat_2=-22.29472222222222 +lat_0=-22.26972222222222 +lon_0=166.4425 +x_0=8.313000000000001 +y_0=-2.354 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3167, omerc, 6377295.664, 6356094.667915204, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3168, omerc, 6377295.664, 6356094.667915204, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804670.24 +y_0=0 +a=6377295.664 +b=6356094.667915204 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3169, utm, GRS80, "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3170, utm, GRS80, "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3171, utm, GRS80, "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3172, utm, intl, "+proj=utm +zone=59 +south +ellps=intl +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3173, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3174, aea, GRS80, NAD83, "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3175, aea, GRS80, NAD83, "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3176, tmerc, 6377276.345, 6356075.41314024, "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3177, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3178, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3179, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3180, utm, GRS80, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3181, utm, GRS80, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3182, utm, GRS80, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3183, utm, GRS80, "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3184, utm, GRS80, "+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3185, utm, GRS80, "+proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3186, utm, GRS80, "+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3187, utm, GRS80, "+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3188, utm, GRS80, "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3189, utm, GRS80, "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3190, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3191, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3192, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3193, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3194, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3195, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3196, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3197, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3198, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3199, utm, intl, "+proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3200, lcc, clrk80, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3201, utm, intl, "+proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3202, utm, intl, "+proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3203, utm, intl, "+proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3204, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3205, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3206, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3207, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3208, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3209, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3210, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3211, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3212, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3213, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3214, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3215, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3216, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3217, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3218, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3219, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3220, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3221, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3222, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3223, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3224, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3225, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3226, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3227, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3228, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3229, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=30 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3230, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3231, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3232, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3233, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3234, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3235, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3236, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3237, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3238, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3239, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3240, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3241, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3242, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3243, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3244, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3245, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3246, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3247, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3248, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3249, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3250, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3251, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3252, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=45 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3253, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3254, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3255, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3256, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3257, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3258, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3259, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=171 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3260, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3261, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3262, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3263, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3264, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3265, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3266, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3267, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3268, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3269, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3270, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3271, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3272, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3273, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3274, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3275, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3276, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3277, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3278, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3279, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3280, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3281, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3282, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3283, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3284, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3285, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3286, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3287, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3288, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3289, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3290, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3291, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3292, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3293, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3294, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-78 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3295, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3296, utm, GRS80, "+proj=utm +zone=5 +south +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3297, utm, GRS80, "+proj=utm +zone=6 +south +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3298, utm, GRS80, "+proj=utm +zone=7 +south +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3299, utm, GRS80, "+proj=utm +zone=8 +south +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3300, lcc, GRS80, "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3301, lcc, GRS80, "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3302, utm, intl, "+proj=utm +zone=7 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3303, utm, intl, "+proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3304, utm, intl, "+proj=utm +zone=6 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3305, utm, intl, "+proj=utm +zone=6 +south +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3306, utm, intl, "+proj=utm +zone=5 +south +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3307, utm, WGS84, "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3308, lcc, GRS80, "+proj=lcc +lat_1=-30.75 +lat_2=-35.75 +lat_0=-33.25 +lon_0=147 +x_0=9300000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3309, aea, clrk66, NAD27, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3310, aea, GRS80, NAD83, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3311, aea, GRS80, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3312, utm, intl, "+proj=utm +zone=21 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3313, utm, GRS80, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3314, lcc, clrk66, "+proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=0 +lon_0=26 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3315, tmerc, clrk66, "+proj=tmerc +lat_0=-9 +lon_0=26 +k=0.9998 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3316, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3317, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3318, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3319, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3320, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3321, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3322, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3323, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3324, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3325, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3326, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3327, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3328, sterea, krass, "+proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666666667 +k=0.999714 +x_0=500000 +y_0=500000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3329, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3330, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3331, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3332, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3333, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3334, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3335, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3336, utm, intl, "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3337, lcc, clrk80, "+proj=lcc +lat_1=-20.19506944444445 +lat_0=-20.19506944444445 +lon_0=57.52182777777778 +k_0=1 +x_0=1000000 +y_0=1000000 +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3338, aea, GRS80, NAD83, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3339, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3340, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3341, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3342, utm, clrk80, "+proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3343, utm, GRS80, "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3344, utm, GRS80, "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3345, utm, GRS80, "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3346, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3347, lcc, GRS80, NAD83, "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3348, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3349, merc, WGS84, WGS84, "+proj=merc +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3350, tmerc, krass, "+proj=tmerc +lat_0=0.1 +lon_0=21.95 +k=1 +x_0=250000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3351, tmerc, krass, "+proj=tmerc +lat_0=0.1 +lon_0=24.95 +k=1 +x_0=1250000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3352, tmerc, krass, "+proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3353, utm, intl, "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3354, utm, intl, "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3355, tmerc, helmert, "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3356, utm, clrk66, "+proj=utm +zone=17 +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3357, utm, clrk66, "+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3358, lcc, GRS80, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3359, lcc, GRS80, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024385 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3360, lcc, GRS80, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3361, lcc, GRS80, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3362, lcc, GRS80, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3363, lcc, GRS80, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3364, lcc, GRS80, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3365, lcc, GRS80, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3366, cass, 6378293.645208759, 6356617.987679838, "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3367, utm, clrk80, "+proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3368, utm, clrk80, "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3369, utm, clrk80, "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3370, utm, clrk66, NAD27, "+proj=utm +zone=59 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3371, utm, clrk66, NAD27, "+proj=utm +zone=60 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3372, utm, GRS80, NAD83, "+proj=utm +zone=59 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3373, utm, GRS80, NAD83, "+proj=utm +zone=60 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3374, utm, intl, "+proj=utm +zone=29 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3375, omerc, GRS80, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3376, omerc, GRS80, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3377, cass, GRS80, "+proj=cass +lat_0=2.121679744444445 +lon_0=103.4279362361111 +x_0=-14810.562 +y_0=8758.32 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3378, cass, GRS80, "+proj=cass +lat_0=2.682347636111111 +lon_0=101.9749050416667 +x_0=3673.785 +y_0=-4240.573 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3379, cass, GRS80, "+proj=cass +lat_0=3.769388088888889 +lon_0=102.3682989833333 +x_0=-7368.228 +y_0=6485.858 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3380, cass, GRS80, "+proj=cass +lat_0=3.68464905 +lon_0=101.3891079138889 +x_0=-34836.161 +y_0=56464.049 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3381, cass, GRS80, "+proj=cass +lat_0=4.9762852 +lon_0=103.070275625 +x_0=19594.245 +y_0=3371.895 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3382, cass, GRS80, "+proj=cass +lat_0=5.421517541666667 +lon_0=100.3443769638889 +x_0=-23.414 +y_0=62.283 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3383, cass, GRS80, "+proj=cass +lat_0=5.964672713888889 +lon_0=100.6363711111111 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3384, cass, GRS80, "+proj=cass +lat_0=4.859063022222222 +lon_0=100.8154105861111 +x_0=-1.769 +y_0=133454.779 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3385, cass, GRS80, "+proj=cass +lat_0=5.972543658333334 +lon_0=102.2952416694444 +x_0=13227.851 +y_0=8739.894 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3386, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3387, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3388, merc, krass, "+proj=merc +lon_0=51 +k=1 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3389, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3390, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3391, utm, clrk80, "+proj=utm +zone=37 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3392, utm, clrk80, "+proj=utm +zone=38 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3393, utm, clrk80, "+proj=utm +zone=39 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3394, lcc, clrk80, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3395, merc, WGS84, WGS84, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3396, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3397, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3398, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3399, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3400, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3401, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3402, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3403, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3404, lcc, GRS80, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3405, utm, WGS84, "+proj=utm +zone=48 +ellps=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3406, utm, WGS84, "+proj=utm +zone=49 +ellps=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3407, cass, 6378293.645208759, 6356617.987679838, "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 3408, laea, 6371228, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 3409, laea, 6371228, "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 3410, cea, 6371228, "+proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3411, stere, 6378273, 6356889.449, "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3412, stere, 6378273, 6356889.449, "+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3413, stere, WGS84, WGS84, "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3414, tmerc, WGS84, "+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3415, lcc, WGS72, "+proj=lcc +lat_1=18 +lat_2=24 +lat_0=21 +lon_0=114 +x_0=500000 +y_0=500000 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3416, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3417, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3418, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3419, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3420, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3421, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3422, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3423, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3424, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3425, lcc, GRS80, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3426, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3427, lcc, GRS80, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3428, lcc, GRS80, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3429, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3430, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3431, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3432, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3433, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3434, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3435, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3436, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3437, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3438, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3439, utm, clrk80, "+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3440, utm, clrk80, "+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3441, lcc, GRS80, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3442, lcc, GRS80, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3443, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3444, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3445, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3446, tmerc, GRS80, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3447, lcc, GRS80, "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=50.797815 +lon_0=4.359215833333333 +x_0=150328 +y_0=166262 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3448, lcc, WGS84, "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=750000 +y_0=650000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3449, utm, WGS84, "+proj=utm +zone=17 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3450, utm, WGS84, "+proj=utm +zone=18 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3451, lcc, GRS80, NAD83, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3452, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3453, lcc, GRS80, NAD83, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3454, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3455, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3456, lcc, GRS80, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3457, lcc, GRS80, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3458, lcc, GRS80, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3459, lcc, GRS80, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3460, tmerc, WGS72, "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3461, utm, 6378249.2, 6356515, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 3462, utm, 6378249.2, 6356515, "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3463, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3464, tmerc, GRS80, "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3465, tmerc, GRS80, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3466, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3467, aea, GRS80, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3468, omerc, GRS80, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3469, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3470, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3471, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3472, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3473, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3474, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3475, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3476, tmerc, GRS80, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3477, lcc, GRS80, "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3478, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3479, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3480, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3481, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3482, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3483, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3484, lcc, GRS80, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3485, lcc, GRS80, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3486, lcc, GRS80, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3487, lcc, GRS80, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3488, aea, GRS80, "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3489, lcc, GRS80, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3490, lcc, GRS80, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3491, lcc, GRS80, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3492, lcc, GRS80, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3493, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3494, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3495, lcc, GRS80, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3496, lcc, GRS80, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3497, lcc, GRS80, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3498, lcc, GRS80, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3499, lcc, GRS80, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3500, lcc, GRS80, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3501, lcc, GRS80, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3502, lcc, GRS80, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3503, lcc, GRS80, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3504, lcc, GRS80, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3505, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3506, lcc, GRS80, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3507, lcc, GRS80, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3508, lcc, GRS80, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3509, tmerc, GRS80, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3510, tmerc, GRS80, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3511, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3512, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3513, aea, GRS80, "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3514, lcc, GRS80, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3515, lcc, GRS80, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3516, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3517, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3518, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3519, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3520, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3521, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3522, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3523, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3524, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3525, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3526, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3527, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3528, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3529, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3530, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3531, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3532, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3533, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3534, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3535, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3536, lcc, GRS80, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3537, lcc, GRS80, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3538, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3539, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3540, lcc, GRS80, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3541, lcc, GRS80, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3542, lcc, GRS80, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3543, lcc, GRS80, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3544, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3545, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3546, lcc, GRS80, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3547, lcc, GRS80, "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3548, lcc, GRS80, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3549, lcc, GRS80, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3550, lcc, GRS80, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3551, lcc, GRS80, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3552, lcc, GRS80, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3553, lcc, GRS80, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3554, tmerc, GRS80, "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3555, tmerc, GRS80, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3556, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3557, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3558, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3559, lcc, GRS80, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3560, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3561, tmerc, clrk66, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3562, tmerc, clrk66, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3563, tmerc, clrk66, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3564, tmerc, clrk66, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3565, tmerc, clrk66, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3566, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3567, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3568, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3569, lcc, GRS80, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3570, lcc, GRS80, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3571, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=180 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3572, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3573, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=-100 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3574, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=-40 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3575, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3576, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3577, aea, GRS80, "+proj=aea +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=132 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3578, aea, GRS80, NAD83, "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3579, aea, GRS80, "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3580, lcc, GRS80, NAD83, "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3581, lcc, GRS80, "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3582, lcc, GRS80, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3583, lcc, GRS80, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3584, lcc, GRS80, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3585, lcc, GRS80, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3586, lcc, GRS80, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3587, lcc, GRS80, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3588, lcc, GRS80, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3589, lcc, GRS80, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3590, lcc, GRS80, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3591, omerc, GRS80, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3592, lcc, GRS80, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3593, lcc, GRS80, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3594, lcc, GRS80, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3595, lcc, GRS80, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3596, lcc, GRS80, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3597, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3598, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3599, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3600, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3601, tmerc, GRS80, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3602, tmerc, GRS80, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3603, tmerc, GRS80, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3604, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3605, lcc, GRS80, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3606, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3607, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3608, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3609, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3610, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3611, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3612, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3613, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3614, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3615, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3616, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3617, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3618, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3619, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3620, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3621, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3622, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3623, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3624, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3625, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3626, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3627, lcc, GRS80, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3628, lcc, GRS80, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3629, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3630, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3631, lcc, GRS80, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3632, lcc, GRS80, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3633, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3634, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3635, lcc, GRS80, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3636, lcc, GRS80, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3637, lcc, GRS80, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3638, lcc, GRS80, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3639, lcc, GRS80, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3640, lcc, GRS80, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3641, lcc, GRS80, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3642, lcc, GRS80, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3643, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3644, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3645, lcc, GRS80, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3646, lcc, GRS80, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3647, lcc, GRS80, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3648, lcc, GRS80, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3649, lcc, GRS80, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3650, lcc, GRS80, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3651, lcc, GRS80, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3652, lcc, GRS80, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3653, tmerc, GRS80, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3654, tmerc, GRS80, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3655, lcc, GRS80, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3656, lcc, GRS80, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3657, lcc, GRS80, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3658, lcc, GRS80, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3659, lcc, GRS80, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3660, lcc, GRS80, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3661, lcc, GRS80, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3662, lcc, GRS80, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3663, lcc, GRS80, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3664, lcc, GRS80, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3665, aea, GRS80, "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3666, lcc, GRS80, "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3667, lcc, GRS80, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3668, lcc, GRS80, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3669, lcc, GRS80, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3670, lcc, GRS80, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3671, lcc, GRS80, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3672, lcc, GRS80, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3673, lcc, GRS80, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3674, lcc, GRS80, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3675, lcc, GRS80, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3676, lcc, GRS80, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3677, lcc, GRS80, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3678, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3679, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3680, lcc, GRS80, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3681, lcc, GRS80, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3682, lcc, GRS80, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3683, lcc, GRS80, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3684, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3685, lcc, GRS80, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3686, lcc, GRS80, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3687, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3688, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3689, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3690, lcc, GRS80, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3691, lcc, GRS80, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3692, lcc, GRS80, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3693, lcc, GRS80, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3694, lcc, GRS80, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3695, lcc, GRS80, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3696, lcc, GRS80, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3697, lcc, GRS80, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3698, lcc, GRS80, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3699, lcc, GRS80, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3700, lcc, GRS80, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3701, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3702, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3703, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3704, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3705, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3706, utm, GRS80, "+proj=utm +zone=59 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3707, utm, GRS80, "+proj=utm +zone=60 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3708, utm, GRS80, "+proj=utm +zone=1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3709, utm, GRS80, "+proj=utm +zone=2 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3710, utm, GRS80, "+proj=utm +zone=3 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3711, utm, GRS80, "+proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3712, utm, GRS80, "+proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3713, utm, GRS80, "+proj=utm +zone=6 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3714, utm, GRS80, "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3715, utm, GRS80, "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3716, utm, GRS80, "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3717, utm, GRS80, "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3718, utm, GRS80, "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3719, utm, GRS80, "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3720, utm, GRS80, "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3721, utm, GRS80, "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3722, utm, GRS80, "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3723, utm, GRS80, "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3724, utm, GRS80, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3725, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3726, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3727, tmerc, intl, "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=160000 +y_0=50000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3728, lcc, GRS80, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3729, lcc, GRS80, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3730, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3731, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3732, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3733, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3734, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3735, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3736, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3737, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3738, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3739, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3740, utm, GRS80, "+proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3741, utm, GRS80, "+proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3742, utm, GRS80, "+proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3743, utm, GRS80, "+proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3744, utm, GRS80, "+proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3745, utm, GRS80, "+proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3746, utm, GRS80, "+proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3747, utm, GRS80, "+proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3748, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3749, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3750, utm, GRS80, "+proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3751, utm, GRS80, "+proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3752, merc, WGS84, WGS84, "+proj=merc +lon_0=100 +lat_ts=-41 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3753, lcc, GRS80, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3754, lcc, GRS80, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3755, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3756, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3757, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3758, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3759, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3760, tmerc, GRS80, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3761, utm, GRS80, "+proj=utm +zone=22 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3762, lcc, WGS84, WGS84, "+proj=lcc +lat_1=-54 +lat_2=-54.75 +lat_0=-55 +lon_0=-37 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3763, tmerc, GRS80, "+proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333333334 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3764, tmerc, GRS80, "+proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3765, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3766, lcc, GRS80, "+proj=lcc +lat_1=45.91666666666666 +lat_2=43.08333333333334 +lat_0=0 +lon_0=16.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3767, utm, GRS80, "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3768, utm, GRS80, "+proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3769, utm, clrk66, "+proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3770, tmerc, WGS84, "+proj=tmerc +lat_0=32 +lon_0=-64.75 +k=1 +x_0=550000 +y_0=100000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3771, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3772, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3773, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3774, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3775, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3776, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3777, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3778, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3779, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3780, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3781, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3782, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3783, tmerc, WGS84, "+proj=tmerc +lat_0=-25.06855261111111 +lon_0=-130.1129671111111 +k=1 +x_0=14200 +y_0=15500 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3784, utm, intl, "+proj=utm +zone=9 +south +ellps=intl +towgs84=185,165,42,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 3785, merc, 6378137, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 3786, eqc, 6371007, "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371007 +b=6371007 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3787, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3788, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=166 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3789, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=169 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3790, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=179 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3791, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-178 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3793, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-176.5 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3794, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3795, lcc, clrk66, NAD27, "+proj=lcc +lat_1=23 +lat_2=21.7 +lat_0=22.35 +lon_0=-81 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3796, lcc, clrk66, NAD27, "+proj=lcc +lat_1=21.3 +lat_2=20.13333333333333 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3797, lcc, clrk66, NAD27, "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3798, lcc, GRS80, NAD83, "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3799, lcc, GRS80, "+proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3800, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 3801, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3802, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3814, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3815, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3816, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3819, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.35,4.115,2.9383,-0.853,-0.7029504596901044 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3821, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3822, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3823, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3824, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3825, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3826, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3827, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3828, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3829, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3832, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3833, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3834, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3835, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3836, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3837, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3838, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3839, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3840, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3841, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3842, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3843, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3844, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3845, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3846, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3847, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3848, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3849, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3850, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3920, utm, clrk66, "+proj=utm +zone=20 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3942, lcc, GRS80, "+proj=lcc +lat_1=41.25 +lat_2=42.75 +lat_0=42 +lon_0=3 +x_0=1700000 +y_0=1200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3943, lcc, GRS80, "+proj=lcc +lat_1=42.25 +lat_2=43.75 +lat_0=43 +lon_0=3 +x_0=1700000 +y_0=2200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3944, lcc, GRS80, "+proj=lcc +lat_1=43.25 +lat_2=44.75 +lat_0=44 +lon_0=3 +x_0=1700000 +y_0=3200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3945, lcc, GRS80, "+proj=lcc +lat_1=44.25 +lat_2=45.75 +lat_0=45 +lon_0=3 +x_0=1700000 +y_0=4200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3946, lcc, GRS80, "+proj=lcc +lat_1=45.25 +lat_2=46.75 +lat_0=46 +lon_0=3 +x_0=1700000 +y_0=5200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3947, lcc, GRS80, "+proj=lcc +lat_1=46.25 +lat_2=47.75 +lat_0=47 +lon_0=3 +x_0=1700000 +y_0=6200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3948, lcc, GRS80, "+proj=lcc +lat_1=47.25 +lat_2=48.75 +lat_0=48 +lon_0=3 +x_0=1700000 +y_0=7200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3949, lcc, GRS80, "+proj=lcc +lat_1=48.25 +lat_2=49.75 +lat_0=49 +lon_0=3 +x_0=1700000 +y_0=8200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3950, lcc, GRS80, "+proj=lcc +lat_1=49.25 +lat_2=50.75 +lat_0=50 +lon_0=3 +x_0=1700000 +y_0=9200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3991, lcc, clrk66, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 3992, lcc, clrk66, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012192 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3993, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3994, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3995, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3996, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 3997, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4001, longlat, airy, "+proj=longlat +ellps=airy +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4002, longlat, 6377340.189, 6356034.447938534, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4003, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4004, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4005, longlat, 6377492.018, 6356173.508712696, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4006, longlat, bess_nam, "+proj=longlat +ellps=bess_nam +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4007, longlat, 6378293.645208759, 6356617.987679838, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4008, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4009, longlat, 6378450.047548896, 6356826.621488444, "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4010, longlat, 6378300.789, 6356566.435, "+proj=longlat +a=6378300.789 +b=6356566.435 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4011, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4012, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4013, longlat, 6378249.145, 6356514.966398753, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4014, longlat, 6378249.2, 6356514.996941779, "+proj=longlat +a=6378249.2 +b=6356514.996941779 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4015, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4016, longlat, evrstSS, "+proj=longlat +ellps=evrstSS +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4018, longlat, 6377304.063, 6356103.038993155, "+proj=longlat +a=6377304.063 +b=6356103.038993155 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4019, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4020, longlat, helmert, "+proj=longlat +ellps=helmert +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4021, longlat, 6378160, 6356774.50408554, "+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4022, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4024, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4025, longlat, WGS66, "+proj=longlat +ellps=WGS66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4027, longlat, 6376523, 6355862.933255573, "+proj=longlat +a=6376523 +b=6355862.933255573 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4028, longlat, 6378298.3, 6356657.142669561, "+proj=longlat +a=6378298.3 +b=6356657.142669561 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4029, longlat, 6378300, 6356751.689189189, "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4030, longlat, WGS84, "+proj=longlat +ellps=WGS84 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4031, longlat, WGS84, "+proj=longlat +ellps=WGS84 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4032, longlat, 6378136.2, 6356751.516927429, "+proj=longlat +a=6378136.2 +b=6356751.516927429 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4033, longlat, 6378136.3, 6356751.616592146, "+proj=longlat +a=6378136.3 +b=6356751.616592146 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4034, longlat, 6378249.144808011, 6356514.966204134, "+proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 4035, longlat, 6371000, "+proj=longlat +a=6371000 +b=6371000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4036, longlat, GRS67, "+proj=longlat +ellps=GRS67 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4041, longlat, 6378135, 6356750.304921594, "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4042, longlat, 6377299.36559538, 6356098.359005157, "+proj=longlat +a=6377299.36559538 +b=6356098.359005157 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4043, longlat, WGS72, "+proj=longlat +ellps=WGS72 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4044, longlat, 6377301.243, 6356100.230165384, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4045, longlat, 6377299.151, 6356098.145120132, "+proj=longlat +a=6377299.151 +b=6356098.145120132 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 4047, longlat, 6371007, "+proj=longlat +a=6371007 +b=6371007 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 4052, longlat, 6370997, "+proj=longlat +a=6370997 +b=6370997 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 4053, longlat, 6371228, "+proj=longlat +a=6371228 +b=6371228 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4054, longlat, 6378273, 6356889.449, "+proj=longlat +a=6378273 +b=6356889.449 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (epsg, 4055, longlat, 6378137, "+proj=longlat +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4120, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4121, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4122, longlat, 6378135, 6356750.304921594, "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4123, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4124, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4125, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4126, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4127, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4128, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4129, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4130, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4131, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4132, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4133, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4134, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4135, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4136, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4137, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4138, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4139, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4140, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4141, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4142, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4143, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4144, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4145, longlat, 6377301.243, 6356100.230165384, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4146, longlat, 6377299.151, 6356098.145120132, "+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4147, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4148, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4149, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4150, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4151, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4152, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4153, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4154, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4155, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4156, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4157, longlat, 6378293.645208759, 6356617.987679838, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4158, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4159, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4160, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4161, longlat, intl, "+proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4162, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4163, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4164, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4165, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4166, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4167, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4168, longlat, 6378300, 6356751.689189189, "+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4169, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4170, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4171, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4172, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4173, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4174, longlat, 6378300, 6356751.689189189, "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4175, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4176, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4178, longlat, krass, "+proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4179, longlat, krass, "+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4180, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4181, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4182, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4183, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4184, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4185, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4188, longlat, airy, "+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4189, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4190, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4191, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4192, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4193, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4194, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4195, longlat, intl, "+proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4196, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4197, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4198, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4199, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4200, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4201, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4202, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4203, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4204, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4205, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4206, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4207, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4208, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4209, longlat, 6378249.145, 6356514.966398753, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4210, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4211, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4212, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4213, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4214, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4215, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4216, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4218, longlat, intl, "+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4219, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4220, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4221, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4222, longlat, 6378249.145, 6356514.966398753, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4223, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4224, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4225, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4226, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4227, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4228, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4229, longlat, helmert, "+proj=longlat +ellps=helmert +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4230, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4231, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4232, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4233, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4234, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4235, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4236, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4237, longlat, GRS67, "+proj=longlat +ellps=GRS67 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4238, longlat, 6378160, 6356774.50408554, "+proj=longlat +a=6378160 +b=6356774.50408554 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4239, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4240, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4241, longlat, 6378249.144808011, 6356514.966204134, "+proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4242, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4243, longlat, 6377299.36559538, 6356098.359005157, "+proj=longlat +a=6377299.36559538 +b=6356098.359005157 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4244, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4245, longlat, 6377304.063, 6356103.038993155, "+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4246, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4247, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4248, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4249, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4250, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4251, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4252, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4253, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4254, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4255, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4256, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4257, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4258, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4259, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4260, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4261, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4262, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4263, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4264, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4265, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4266, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4267, longlat, clrk66, NAD27, "+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4268, longlat, 6378450.047548896, 6356826.621488444, "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4269, longlat, GRS80, NAD83, "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4270, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4271, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4272, longlat, intl, nzgd49, "+proj=longlat +ellps=intl +datum=nzgd49 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4273, longlat, 6377492.018, 6356173.508712696, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4274, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4275, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4276, longlat, WGS66, "+proj=longlat +ellps=WGS66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4277, longlat, airy, OSGB36, "+proj=longlat +ellps=airy +datum=OSGB36 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4278, longlat, airy, "+proj=longlat +ellps=airy +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4279, longlat, airy, "+proj=longlat +ellps=airy +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4280, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4281, longlat, 6378300.789, 6356566.435, "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4282, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4283, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4284, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4285, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4286, longlat, helmert, "+proj=longlat +ellps=helmert +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4287, longlat, intl, "+proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4288, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4289, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4291, longlat, GRS67, "+proj=longlat +ellps=GRS67 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4292, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4293, longlat, bess_nam, "+proj=longlat +ellps=bess_nam +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4294, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4295, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4296, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4297, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4298, longlat, evrstSS, "+proj=longlat +ellps=evrstSS +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4299, longlat, 6377340.189, 6356034.447938534, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4300, longlat, 6377340.189, 6356034.447938534, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4301, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4302, longlat, 6378293.645208759, 6356617.987679838, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4303, longlat, helmert, "+proj=longlat +ellps=helmert +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4304, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4306, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4307, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4308, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4309, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4310, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4311, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4312, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4313, longlat, intl, "+proj=longlat +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4314, longlat, bessel, potsdam, "+proj=longlat +ellps=bessel +datum=potsdam +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4315, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4316, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4317, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4318, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4319, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4322, longlat, WGS72, "+proj=longlat +ellps=WGS72 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4324, longlat, WGS72, "+proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4326, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4327, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4328, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4329, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4330, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4331, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4332, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4333, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4334, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4335, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4336, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4337, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4338, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4339, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4340, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4341, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4342, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4343, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4344, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4345, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4346, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4347, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4348, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4349, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4350, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4351, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4352, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4353, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4354, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4355, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4356, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4357, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4358, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4359, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4360, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4361, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4362, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4363, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4364, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4365, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4366, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4367, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4368, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4369, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4370, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4371, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4372, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4373, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4374, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4375, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4376, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4377, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4378, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4379, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4380, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4381, longlat, intl, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4382, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4383, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4384, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4385, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4386, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4387, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4388, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4389, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4600, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4601, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4602, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4603, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4604, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4605, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4606, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4607, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4608, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4609, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4610, longlat, 6378140, 6356755.288157528, "+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4611, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4612, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4613, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4614, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4615, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4616, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4617, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4618, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4619, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4620, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4621, longlat, intl, "+proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4622, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4623, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4624, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4625, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4626, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4627, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4628, longlat, intl, "+proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4629, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4630, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4631, longlat, intl, "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4632, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4633, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4634, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4635, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4636, longlat, intl, "+proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4637, longlat, intl, "+proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4638, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4639, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4640, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4641, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4642, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4643, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4644, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4645, longlat, intl, "+proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4646, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4657, longlat, 6377019.27, 6355762.5391, "+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28,199,5,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4658, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4659, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4660, longlat, intl, "+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4661, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4662, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4663, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4664, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4665, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4666, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4667, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4668, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4669, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4670, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4671, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4672, longlat, intl, "+proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4673, longlat, intl, "+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-0,0.554,0.2263 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4674, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4675, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4676, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4677, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4678, longlat, krass, "+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4679, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.19,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4680, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4681, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4682, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4683, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4684, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4685, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4686, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4687, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4688, longlat, intl, "+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4689, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4690, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4691, longlat, intl, "+proj=longlat +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4692, longlat, intl, "+proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4693, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4694, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4695, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4696, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4697, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4698, longlat, intl, "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4699, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4700, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4701, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4702, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4703, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4704, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4705, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4706, longlat, helmert, "+proj=longlat +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4707, longlat, intl, "+proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4708, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4709, longlat, intl, "+proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4710, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4711, longlat, intl, "+proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4712, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-205,107,53,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4713, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4714, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4715, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4716, longlat, intl, "+proj=longlat +ellps=intl +towgs84=298,-304,-375,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4717, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4718, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4719, longlat, intl, "+proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4720, longlat, WGS72, "+proj=longlat +ellps=WGS72 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4721, longlat, intl, "+proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4722, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4723, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4724, longlat, intl, "+proj=longlat +ellps=intl +towgs84=208,-435,-229,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4725, longlat, intl, "+proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4726, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4727, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4728, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4729, longlat, intl, "+proj=longlat +ellps=intl +towgs84=185,165,42,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4730, longlat, intl, "+proj=longlat +ellps=intl +towgs84=170,42,84,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4731, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=51,391,-36,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4732, longlat, 6378270, 6356794.343434343, "+proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=102,52,-38,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4733, longlat, intl, "+proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4734, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-632,438,-609,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4735, longlat, intl, "+proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4736, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4737, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4738, longlat, 6378293.645208759, 6356617.987679838, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4739, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4740, longlat, 6378136, 6356751.361745712, "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0,0,1.5,-0,-0,0.076,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4741, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4742, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4743, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4744, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4745, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4746, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4747, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4748, longlat, 6378306.3696, 6356571.996, "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4749, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4750, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4751, longlat, 6377295.664, 6356094.667915204, "+proj=longlat +a=6377295.664 +b=6356094.667915204 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4752, longlat, 6378306.3696, 6356571.996, "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4753, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4754, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4755, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4756, longlat, WGS84, "+proj=longlat +ellps=WGS84 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4757, longlat, WGS84, "+proj=longlat +ellps=WGS84 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4758, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4759, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4760, longlat, WGS66, "+proj=longlat +ellps=WGS66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4761, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4762, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4763, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4764, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4765, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4801, longlat, bessel, "+proj=longlat +ellps=bessel +pm=bern +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4802, longlat, intl, "+proj=longlat +ellps=intl +pm=bogota +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4803, longlat, intl, "+proj=longlat +ellps=intl +pm=lisbon +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4804, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4805, longlat, bessel, "+proj=longlat +ellps=bessel +pm=ferro +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4806, longlat, intl, "+proj=longlat +ellps=intl +pm=rome +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4807, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4808, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4809, longlat, intl, "+proj=longlat +ellps=intl +pm=brussels +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4810, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4811, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +pm=paris +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4813, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4814, longlat, bessel, "+proj=longlat +ellps=bessel +pm=stockholm +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4815, longlat, bessel, "+proj=longlat +ellps=bessel +pm=athens +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4816, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4817, longlat, 6377492.018, 6356173.508712696, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4818, longlat, bessel, "+proj=longlat +ellps=bessel +pm=ferro +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4819, longlat, clrk80, "+proj=longlat +ellps=clrk80 +pm=paris +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4820, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4821, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4882, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4883, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4884, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4885, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4886, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4887, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4888, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4889, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4890, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4891, longlat, WGS66, "+proj=longlat +ellps=WGS66 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4892, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4893, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4894, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4895, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4896, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4897, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4898, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4899, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4900, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4901, longlat, 6376523, 6355862.933255573, "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=2.3372291666985 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4902, longlat, 6376523, 6355862.933255573, "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4903, longlat, 6378298.3, 6356657.142669561, "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madrid +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4904, longlat, bessel, "+proj=longlat +ellps=bessel +pm=lisbon +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4906, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4907, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4908, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4909, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4913, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4914, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4915, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4916, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4917, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4918, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4919, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4920, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4921, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4922, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 4923, longlat, 6378136, 6356751.361745712, "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0.0,0.0,1.5,-0.0,0.0,-0.076,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4924, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4925, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4926, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4927, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4928, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4929, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4930, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4931, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4932, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4933, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4934, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4935, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4936, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4937, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4938, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4939, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4940, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4941, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4942, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4943, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4944, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4945, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4946, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4947, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4948, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4949, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4950, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4951, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4952, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4953, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4954, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4955, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4956, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4957, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4958, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4959, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4960, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4961, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4962, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4963, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4964, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4965, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4966, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4967, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4968, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4969, longlat, intl, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4970, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4971, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4972, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4973, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4974, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4975, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4976, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4977, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4978, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 4979, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4980, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4981, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4982, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4983, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4984, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4985, longlat, WGS72, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4986, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4987, longlat, WGS72, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4988, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4989, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4990, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4991, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4992, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4993, longlat, krass, "+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4994, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4995, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,-4.903,-1.578,-0.21864069462192215 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4996, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4997, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 4998, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 4999, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.072,-0.507,-0.245,-0.0183,-0.0003,0.007,-0.001918262698097996 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5600, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5601, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5602, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5603, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5604, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5605, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5606, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5607, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5608, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5609, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5613, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5614, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5615, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5616, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5617, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5618, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5619, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5620, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5701, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5702, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5703, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5704, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5705, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5706, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5709, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5710, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5711, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5712, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5713, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5714, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5715, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5716, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5717, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5718, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5719, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5720, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5721, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5722, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5723, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5724, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5725, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5726, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5727, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5728, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5729, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5730, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5731, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5732, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5733, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5734, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5735, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5736, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5737, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5738, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5739, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5740, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5741, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5742, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5743, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5744, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5745, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5746, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5747, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5748, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5749, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5750, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5751, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5752, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5753, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5754, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5755, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5756, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5757, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5758, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5759, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5760, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5761, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5762, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5763, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5764, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5765, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5766, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5767, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5768, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5769, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5770, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5771, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5772, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5773, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5774, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5775, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5776, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5777, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5778, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5779, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5780, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5781, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5782, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5783, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5784, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5785, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5786, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5787, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5788, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5789, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5790, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5791, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5792, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5793, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5794, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5795, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5796, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5797, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5798, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5799, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5800, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5801, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5802, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5803, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5804, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5805, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5806, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5807, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5808, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5809, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5810, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5811, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5813, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5814, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5815, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5816, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5817, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5818, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5819, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5820, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 5821, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7400, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7401, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7402, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7403, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7404, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7405, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7406, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7407, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7408, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7409, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7413, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7414, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7415, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7416, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7417, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7418, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7419, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7420, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7421, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 7422, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20004, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20005, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20006, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20007, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20008, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20009, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20010, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20011, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20012, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20013, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20014, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20015, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20016, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20017, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20018, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20019, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20020, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20021, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20022, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20023, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20024, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20025, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20026, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20027, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20028, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20029, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20030, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20031, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20032, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20064, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20065, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20066, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20067, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20068, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20069, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20070, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20071, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20072, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20073, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20074, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20075, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20076, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20077, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20078, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20079, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20080, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20081, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20082, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20083, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20084, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20085, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20086, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20087, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20088, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20089, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20090, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20091, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20092, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20135, utm, clrk80, "+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20136, utm, clrk80, "+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20137, utm, clrk80, "+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20138, utm, clrk80, "+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20248, utm, aust_SA, "+proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20249, utm, aust_SA, "+proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20250, utm, aust_SA, "+proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20251, utm, aust_SA, "+proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20252, utm, aust_SA, "+proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20253, utm, aust_SA, "+proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20254, utm, aust_SA, "+proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20255, utm, aust_SA, "+proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20256, utm, aust_SA, "+proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20257, utm, aust_SA, "+proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20258, utm, aust_SA, "+proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20348, utm, aust_SA, "+proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20349, utm, aust_SA, "+proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20350, utm, aust_SA, "+proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20351, utm, aust_SA, "+proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20352, utm, aust_SA, "+proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20353, utm, aust_SA, "+proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20354, utm, aust_SA, "+proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20355, utm, aust_SA, "+proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20356, utm, aust_SA, "+proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20357, utm, aust_SA, "+proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20358, utm, aust_SA, "+proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20436, utm, intl, "+proj=utm +zone=36 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20437, utm, intl, "+proj=utm +zone=37 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20438, utm, intl, "+proj=utm +zone=38 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20439, utm, intl, "+proj=utm +zone=39 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20440, utm, intl, "+proj=utm +zone=40 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20499, utm, intl, "+proj=utm +zone=39 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20538, utm, krass, "+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20539, utm, krass, "+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20790, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=200000 +y_0=300000 +ellps=intl +pm=lisbon +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20791, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=0 +y_0=0 +ellps=intl +pm=lisbon +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20822, utm, intl, "+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20823, utm, intl, "+proj=utm +zone=23 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 20824, utm, intl, "+proj=utm +zone=24 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 20934, utm, 6378249.145, 6356514.966398753, "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 20935, utm, 6378249.145, 6356514.966398753, "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 20936, utm, 6378249.145, 6356514.966398753, "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21035, utm, clrk80, "+proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21036, utm, clrk80, "+proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21037, utm, clrk80, "+proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21095, utm, clrk80, "+proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21096, utm, clrk80, "+proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21097, utm, clrk80, "+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21100, merc, bessel, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21148, utm, bessel, "+proj=utm +zone=48 +south +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21149, utm, bessel, "+proj=utm +zone=49 +south +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21150, utm, bessel, "+proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21291, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21292, tmerc, clrk80, "+proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21413, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21414, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21415, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21416, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21417, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21418, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21419, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21420, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21421, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21422, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21423, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21453, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21454, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21455, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21456, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21457, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21458, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21459, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21460, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21461, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21462, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21463, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21473, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21474, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21475, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21476, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21477, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21478, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21479, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21480, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21481, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21482, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21483, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21500, lcc, intl, "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=intl +pm=brussels +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21780, somerc, bessel, "+proj=somerc +lat_0=46.95240555555556 +lon_0=0 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +pm=bern +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21781, somerc, bessel, "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 21782, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21817, utm, intl, "+proj=utm +zone=17 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21818, utm, intl, "+proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21891, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21892, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21893, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21894, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21896, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21897, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21898, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 21899, tmerc, intl, "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22032, utm, clrk80, "+proj=utm +zone=32 +south +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22033, utm, clrk80, "+proj=utm +zone=33 +south +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22091, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22092, tmerc, clrk80, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22171, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22172, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22173, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22174, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22175, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22176, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22177, tmerc, GRS80, "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22181, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22182, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22183, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22184, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22185, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22186, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22187, tmerc, WGS84, "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22191, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22192, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22193, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22194, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22195, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22196, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22197, tmerc, intl, "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22234, utm, 6378249.145, 6356514.966398753, "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22235, utm, 6378249.145, 6356514.966398753, "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22236, utm, 6378249.145, 6356514.966398753, "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22279, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22281, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22283, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22285, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22287, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22289, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22291, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22293, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 22300, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22332, utm, 6378249.2, 6356515, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22391, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22392, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22521, utm, intl, "+proj=utm +zone=21 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22522, utm, intl, "+proj=utm +zone=22 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22523, utm, intl, "+proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22524, utm, intl, "+proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22525, utm, intl, "+proj=utm +zone=25 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22700, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22770, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22780, sterea, 6378249.2, 6356515, "+proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=0 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 22832, utm, 6378249.2, 6356515, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22991, tmerc, helmert, "+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22992, tmerc, helmert, "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22993, tmerc, helmert, "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=200000 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 22994, tmerc, helmert, "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23028, utm, intl, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23029, utm, intl, "+proj=utm +zone=29 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23030, utm, intl, "+proj=utm +zone=30 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23031, utm, intl, "+proj=utm +zone=31 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23032, utm, intl, "+proj=utm +zone=32 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23033, utm, intl, "+proj=utm +zone=33 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23034, utm, intl, "+proj=utm +zone=34 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23035, utm, intl, "+proj=utm +zone=35 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23036, utm, intl, "+proj=utm +zone=36 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23037, utm, intl, "+proj=utm +zone=37 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23038, utm, intl, "+proj=utm +zone=38 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23090, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23095, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23239, utm, clrk80, "+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23240, utm, clrk80, "+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23433, utm, 6378249.2, 6356515, "+proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23700, somerc, GRS67, "+proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23830, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=94.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23831, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=97.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23832, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=100.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23833, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=103.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23834, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=106.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23835, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=109.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23836, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=112.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23837, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=115.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23838, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=118.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23839, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=121.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23840, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=124.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23841, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=127.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23842, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=130.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23843, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=133.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23844, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=136.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23845, tmerc, WGS84, "+proj=tmerc +lat_0=0 +lon_0=139.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23846, utm, 6378160, 6356774.50408554, "+proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23847, utm, 6378160, 6356774.50408554, "+proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23848, utm, 6378160, 6356774.50408554, "+proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23849, utm, 6378160, 6356774.50408554, "+proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23850, utm, 6378160, 6356774.50408554, "+proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23851, utm, 6378160, 6356774.50408554, "+proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23852, utm, 6378160, 6356774.50408554, "+proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23853, utm, 6378160, 6356774.50408554, "+proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23866, utm, WGS84, "+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23867, utm, WGS84, "+proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23868, utm, WGS84, "+proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23869, utm, WGS84, "+proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23870, utm, WGS84, "+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23871, utm, WGS84, "+proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23872, utm, WGS84, "+proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23877, utm, WGS84, "+proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23878, utm, WGS84, "+proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23879, utm, WGS84, "+proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23880, utm, WGS84, "+proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23881, utm, WGS84, "+proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23882, utm, WGS84, "+proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23883, utm, WGS84, "+proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 23884, utm, WGS84, "+proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23886, utm, 6378160, 6356774.50408554, "+proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23887, utm, 6378160, 6356774.50408554, "+proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23888, utm, 6378160, 6356774.50408554, "+proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23889, utm, 6378160, 6356774.50408554, "+proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23890, utm, 6378160, 6356774.50408554, "+proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23891, utm, 6378160, 6356774.50408554, "+proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23892, utm, 6378160, 6356774.50408554, "+proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23893, utm, 6378160, 6356774.50408554, "+proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23894, utm, 6378160, 6356774.50408554, "+proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23946, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23947, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 23948, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24047, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24048, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24100, lcc, 6378249.144808011, 6356514.966204134, "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167638.49597 +y_0=121918.90616 +a=6378249.144808011 +b=6356514.966204134 +to_meter=0.3047972654 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24200, lcc, clrk66, "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 +y_0=150000 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24305, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24306, utm, 6377276.345, 6356075.41314024, "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24311, utm, 6377301.243, 6356100.230165384, "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24312, utm, 6377301.243, 6356100.230165384, "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24313, utm, 6377301.243, 6356100.230165384, "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24342, utm, 6377299.151, 6356098.145120132, "+proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24343, utm, 6377299.151, 6356098.145120132, "+proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24344, utm, 6377299.151, 6356098.145120132, "+proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24345, utm, 6377299.151, 6356098.145120132, "+proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24346, utm, 6377299.151, 6356098.145120132, "+proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24347, utm, 6377299.151, 6356098.145120132, "+proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24370, lcc, 6377299.36559538, 6356098.359005157, "+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24371, lcc, 6377299.36559538, 6356098.359005157, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24372, lcc, 6377299.36559538, 6356098.359005157, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24373, lcc, 6377299.36559538, 6356098.359005157, "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24374, lcc, 6377299.36559538, 6356098.359005157, "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24375, lcc, 6377276.345, 6356075.41314024, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24376, lcc, 6377301.243, 6356100.230165384, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24377, lcc, 6377301.243, 6356100.230165384, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24378, lcc, 6377299.151, 6356098.145120132, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24379, lcc, 6377299.151, 6356098.145120132, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24380, lcc, 6377299.151, 6356098.145120132, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24381, lcc, 6377299.151, 6356098.145120132, "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24382, lcc, 6377299.36559538, 6356098.359005157, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005157 +to_meter=0.9143985307444408 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24383, lcc, 6377299.151, 6356098.145120132, "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24500, cass, 6377304.063, 6356103.038993155, "+proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24547, utm, 6377304.063, 6356103.038993155, "+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24548, utm, 6377304.063, 6356103.038993155, "+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 24571, omerc, 6377304.063, 6356103.038993155, "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804671.2997750348 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24600, lcc, clrk80, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24718, utm, intl, "+proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24719, utm, intl, "+proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24720, utm, intl, "+proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24817, utm, intl, "+proj=utm +zone=17 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24818, utm, intl, "+proj=utm +zone=18 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24819, utm, intl, "+proj=utm +zone=19 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24820, utm, intl, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24821, utm, intl, "+proj=utm +zone=21 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24877, utm, intl, "+proj=utm +zone=17 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24878, utm, intl, "+proj=utm +zone=18 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24879, utm, intl, "+proj=utm +zone=19 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24880, utm, intl, "+proj=utm +zone=20 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24881, utm, intl, "+proj=utm +zone=21 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24882, utm, intl, "+proj=utm +zone=22 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24891, tmerc, intl, "+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24892, tmerc, intl, "+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 24893, tmerc, intl, "+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25000, tmerc, clrk80, "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 25231, utm, 6378249.2, 6356515, "+proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25391, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25392, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25393, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25394, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25395, tmerc, clrk66, "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25700, merc, bessel, "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25828, utm, GRS80, "+proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25829, utm, GRS80, "+proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25830, utm, GRS80, "+proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25831, utm, GRS80, "+proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25832, utm, GRS80, "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25833, utm, GRS80, "+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25834, utm, GRS80, "+proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25835, utm, GRS80, "+proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25836, utm, GRS80, "+proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25837, utm, GRS80, "+proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25838, utm, GRS80, "+proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25884, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 25932, utm, intl, "+proj=utm +zone=32 +south +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26191, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26192, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26193, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26194, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26195, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26237, utm, bessel, "+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26331, utm, clrk80, "+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26332, utm, clrk80, "+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26391, tmerc, clrk80, "+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26392, tmerc, clrk80, "+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26393, tmerc, clrk80, "+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26432, utm, intl, "+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26591, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=-3.45233333333333 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26592, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=2.54766666666666 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26632, utm, 6378249.2, 6356515, "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26692, utm, 6378249.2, 6356515, "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26701, utm, clrk66, NAD27, "+proj=utm +zone=1 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26702, utm, clrk66, NAD27, "+proj=utm +zone=2 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26703, utm, clrk66, NAD27, "+proj=utm +zone=3 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26704, utm, clrk66, NAD27, "+proj=utm +zone=4 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26705, utm, clrk66, NAD27, "+proj=utm +zone=5 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26706, utm, clrk66, NAD27, "+proj=utm +zone=6 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26707, utm, clrk66, NAD27, "+proj=utm +zone=7 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26708, utm, clrk66, NAD27, "+proj=utm +zone=8 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26709, utm, clrk66, NAD27, "+proj=utm +zone=9 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26710, utm, clrk66, NAD27, "+proj=utm +zone=10 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26711, utm, clrk66, NAD27, "+proj=utm +zone=11 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26712, utm, clrk66, NAD27, "+proj=utm +zone=12 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26713, utm, clrk66, NAD27, "+proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26714, utm, clrk66, NAD27, "+proj=utm +zone=14 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26715, utm, clrk66, NAD27, "+proj=utm +zone=15 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26716, utm, clrk66, NAD27, "+proj=utm +zone=16 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26717, utm, clrk66, NAD27, "+proj=utm +zone=17 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26718, utm, clrk66, NAD27, "+proj=utm +zone=18 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26719, utm, clrk66, NAD27, "+proj=utm +zone=19 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26720, utm, clrk66, NAD27, "+proj=utm +zone=20 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26721, utm, clrk66, NAD27, "+proj=utm +zone=21 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26722, utm, clrk66, NAD27, "+proj=utm +zone=22 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26729, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26730, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26731, omerc, clrk66, NAD27, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26732, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26733, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26734, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26735, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26736, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26737, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.4267208534 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26738, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26739, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26740, lcc, clrk66, NAD27, "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26741, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26742, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26743, lcc, clrk66, NAD27, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26744, lcc, clrk66, NAD27, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26745, lcc, clrk66, NAD27, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26746, lcc, clrk66, NAD27, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26747, lcc, clrk66, NAD27, "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=127079.524511049 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26748, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26749, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26750, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26751, lcc, clrk66, NAD27, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26752, lcc, clrk66, NAD27, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26753, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26754, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26755, lcc, clrk66, NAD27, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26756, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26757, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26758, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26759, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26760, lcc, clrk66, NAD27, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26766, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26767, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26768, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26769, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26770, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26771, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26772, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26773, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26774, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26775, lcc, clrk66, NAD27, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26776, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26777, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26778, lcc, clrk66, NAD27, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26779, lcc, clrk66, NAD27, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26780, lcc, clrk66, NAD27, "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26781, lcc, clrk66, NAD27, "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26782, lcc, clrk66, NAD27, "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26783, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26784, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26785, lcc, clrk66, NAD27, "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26786, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26787, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26791, lcc, clrk66, NAD27, "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26792, lcc, clrk66, NAD27, "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26793, lcc, clrk66, NAD27, "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26794, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26795, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26796, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26797, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26798, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26799, lcc, clrk66, NAD27, "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=1268253.006858014 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26801, tmerc, 6378450.047548896, 6356826.621488444, "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26802, tmerc, 6378450.047548896, 6356826.621488444, "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26803, tmerc, 6378450.047548896, 6356826.621488444, "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26811, lcc, 6378450.047548896, 6356826.621488444, "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26812, lcc, 6378450.047548896, 6356826.621488444, "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 26813, lcc, 6378450.047548896, 6356826.621488444, "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26814, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26815, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26819, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26820, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26821, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26822, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26823, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26824, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26825, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26826, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26830, lcc, GRS80, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26831, lcc, GRS80, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26832, lcc, GRS80, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26833, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26834, lcc, GRS80, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26835, lcc, GRS80, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26836, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26837, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26841, lcc, GRS80, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26842, lcc, GRS80, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26843, lcc, GRS80, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26844, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26845, lcc, GRS80, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26846, lcc, GRS80, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26847, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26848, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26849, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26850, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26851, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26852, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26853, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26854, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26855, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26856, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26857, lcc, GRS80, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26858, lcc, GRS80, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26859, lcc, GRS80, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26860, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26861, lcc, GRS80, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26862, lcc, GRS80, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26863, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26864, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26865, lcc, GRS80, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26866, lcc, GRS80, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26867, lcc, GRS80, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26868, lcc, GRS80, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26869, lcc, GRS80, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26870, lcc, GRS80, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26891, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26892, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26893, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26894, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26895, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26896, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26897, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26898, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 26899, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26901, utm, GRS80, NAD83, "+proj=utm +zone=1 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26902, utm, GRS80, NAD83, "+proj=utm +zone=2 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26903, utm, GRS80, NAD83, "+proj=utm +zone=3 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26904, utm, GRS80, NAD83, "+proj=utm +zone=4 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26905, utm, GRS80, NAD83, "+proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26906, utm, GRS80, NAD83, "+proj=utm +zone=6 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26907, utm, GRS80, NAD83, "+proj=utm +zone=7 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26908, utm, GRS80, NAD83, "+proj=utm +zone=8 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26909, utm, GRS80, NAD83, "+proj=utm +zone=9 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26910, utm, GRS80, NAD83, "+proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26911, utm, GRS80, NAD83, "+proj=utm +zone=11 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26912, utm, GRS80, NAD83, "+proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26913, utm, GRS80, NAD83, "+proj=utm +zone=13 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26914, utm, GRS80, NAD83, "+proj=utm +zone=14 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26915, utm, GRS80, NAD83, "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26916, utm, GRS80, NAD83, "+proj=utm +zone=16 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26917, utm, GRS80, NAD83, "+proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26918, utm, GRS80, NAD83, "+proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26919, utm, GRS80, NAD83, "+proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26920, utm, GRS80, NAD83, "+proj=utm +zone=20 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26921, utm, GRS80, NAD83, "+proj=utm +zone=21 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26922, utm, GRS80, NAD83, "+proj=utm +zone=22 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26923, utm, GRS80, NAD83, "+proj=utm +zone=23 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26929, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26930, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26931, omerc, GRS80, NAD83, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26932, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26933, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26934, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26935, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26936, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26937, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26938, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26939, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26940, lcc, GRS80, NAD83, "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26941, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26942, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26943, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26944, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26945, lcc, GRS80, NAD83, "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26946, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26948, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26949, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26950, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26951, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26952, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26953, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26954, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26955, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26956, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26957, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26958, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26959, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26960, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26961, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26962, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26963, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26964, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26965, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26966, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26967, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26968, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26969, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26970, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26971, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26972, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26973, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26974, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26975, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26976, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26977, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26978, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26979, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26980, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26981, lcc, GRS80, NAD83, "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26982, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26983, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26984, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26985, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26986, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26987, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26988, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26989, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26990, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26991, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26992, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26993, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26994, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26995, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26996, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26997, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 26998, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27037, utm, clrk80, "+proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27038, utm, clrk80, "+proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27039, utm, clrk80, "+proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27040, utm, clrk80, "+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27120, utm, intl, "+proj=utm +zone=20 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27200, nzmg, intl, nzgd49, "+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27205, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393611111 +k=0.9999 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27206, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.46619725 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27207, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27208, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805277778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27209, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.22801175 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27210, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27211, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27212, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27213, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27214, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27215, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168055555 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27216, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27217, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600555556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27218, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27219, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333888889 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27220, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27221, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27222, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27223, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27224, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27225, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484722222 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27226, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27227, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27228, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27229, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27230, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27231, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891111111 +k=0.99996 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27232, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 +k=1 +x_0=300002.66 +y_0=699999.58 +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27258, utm, intl, nzgd49, "+proj=utm +zone=58 +south +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27259, utm, intl, nzgd49, "+proj=utm +zone=59 +south +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27260, utm, intl, nzgd49, "+proj=utm +zone=60 +south +ellps=intl +datum=nzgd49 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27291, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.5243848086 +y_0=365759.3658464114 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27292, tmerc, intl, nzgd49, "+proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.2073080143 +y_0=457199.2073080143 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27391, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27392, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27393, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27394, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27395, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27396, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27397, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27398, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27429, utm, intl, "+proj=utm +zone=29 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27492, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 27493, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27500, lcc, 6376523, 6355862.933255573, "+proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=5.4 +k_0=0.99950908 +x_0=500000 +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=2.3372291666985 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27561, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27562, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27563, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27564, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27571, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27572, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27573, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27574, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27581, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27582, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27583, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27584, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27591, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27592, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27593, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 27594, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 27700, tmerc, airy, OSGB36, "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 28191, cass, 6378300.789, 6356566.435, "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 28192, tmerc, 6378300.789, 6356566.435, "+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 28193, cass, 6378300.789, 6356566.435, "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 28232, utm, 6378249.2, 6356515, "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28348, utm, GRS80, "+proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28349, utm, GRS80, "+proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28350, utm, GRS80, "+proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28351, utm, GRS80, "+proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28352, utm, GRS80, "+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28353, utm, GRS80, "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28354, utm, GRS80, "+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28355, utm, GRS80, "+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28356, utm, GRS80, "+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28357, utm, GRS80, "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28358, utm, GRS80, "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28402, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28403, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28404, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28405, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28406, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28407, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28408, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28409, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28410, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28411, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28412, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28413, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28414, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28415, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28416, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28417, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28418, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28419, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28420, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28421, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28422, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28423, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28424, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28425, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28426, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28427, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28428, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28429, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28430, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28431, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28432, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28462, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28463, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28464, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28465, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28466, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28467, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28468, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28469, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28470, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28471, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28472, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28473, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28474, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28475, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28476, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28477, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28478, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28479, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28480, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28481, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28482, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28483, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28484, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28485, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28486, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28487, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28488, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28489, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28490, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28491, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28492, tmerc, krass, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28600, tmerc, intl, "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28991, sterea, bessel, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 28992, sterea, bessel, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29100, poly, GRS67, "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29101, poly, aust_SA, "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29118, utm, GRS67, "+proj=utm +zone=18 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29119, utm, GRS67, "+proj=utm +zone=19 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29120, utm, GRS67, "+proj=utm +zone=20 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29121, utm, GRS67, "+proj=utm +zone=21 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29122, utm, GRS67, "+proj=utm +zone=22 +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29168, utm, aust_SA, "+proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29169, utm, aust_SA, "+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29170, utm, aust_SA, "+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29171, utm, aust_SA, "+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29172, utm, aust_SA, "+proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29177, utm, GRS67, "+proj=utm +zone=17 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29178, utm, GRS67, "+proj=utm +zone=18 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29179, utm, GRS67, "+proj=utm +zone=19 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29180, utm, GRS67, "+proj=utm +zone=20 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29181, utm, GRS67, "+proj=utm +zone=21 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29182, utm, GRS67, "+proj=utm +zone=22 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29183, utm, GRS67, "+proj=utm +zone=23 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29184, utm, GRS67, "+proj=utm +zone=24 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29185, utm, GRS67, "+proj=utm +zone=25 +south +ellps=GRS67 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29187, utm, aust_SA, "+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29188, utm, aust_SA, "+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29189, utm, aust_SA, "+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29190, utm, aust_SA, "+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29191, utm, aust_SA, "+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29192, utm, aust_SA, "+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29193, utm, aust_SA, "+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29194, utm, aust_SA, "+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29195, utm, aust_SA, "+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29220, utm, intl, "+proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29221, utm, intl, "+proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29333, utm, bess_nam, "+proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29371, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29373, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29379, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29381, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29383, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29385, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 29635, utm, 6378249.2, 6356515, "+proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 29636, utm, 6378249.2, 6356515, "+proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29700, omerc, intl, "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 29701, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29702, omerc, intl, "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29738, utm, intl, "+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29739, utm, intl, "+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29849, utm, evrstSS, "+proj=utm +zone=49 +ellps=evrstSS +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29850, utm, evrstSS, "+proj=utm +zone=50 +ellps=evrstSS +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29871, omerc, evrstSS, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29872, omerc, evrstSS, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29873, omerc, evrstSS, "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 29900, tmerc, 6377340.189, 6356034.447938534, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 29901, tmerc, airy, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 29902, tmerc, 6377340.189, 6356034.447938534, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 29903, tmerc, 6377340.189, 6356034.447938534, "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30161, tmerc, bessel, "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30162, tmerc, bessel, "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30163, tmerc, bessel, "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30164, tmerc, bessel, "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30165, tmerc, bessel, "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30166, tmerc, bessel, "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30167, tmerc, bessel, "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30168, tmerc, bessel, "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30169, tmerc, bessel, "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30170, tmerc, bessel, "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30171, tmerc, bessel, "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30172, tmerc, bessel, "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30173, tmerc, bessel, "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30174, tmerc, bessel, "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30175, tmerc, bessel, "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30176, tmerc, bessel, "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30177, tmerc, bessel, "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30178, tmerc, bessel, "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30179, tmerc, bessel, "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 30200, cass, 6378293.645208759, 6356617.987679838, "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30339, utm, helmert, "+proj=utm +zone=39 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30340, utm, helmert, "+proj=utm +zone=40 +ellps=helmert +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 30491, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 30492, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 30493, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 30494, lcc, 6378249.2, 6356515, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30729, utm, clrk80, "+proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30730, utm, clrk80, "+proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30731, utm, clrk80, "+proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30732, utm, clrk80, "+proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30791, lcc, clrk80, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30792, lcc, clrk80, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 30800, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 31028, utm, 6378249.2, 6356515, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31121, utm, intl, "+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31154, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31170, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31171, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31251, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31252, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31253, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31254, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31255, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31256, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31257, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31258, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31259, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31265, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31266, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31267, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31268, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31275, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31276, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31277, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31278, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31279, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31281, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31282, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31283, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31284, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31285, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31286, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31287, lcc, bessel, "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31288, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31289, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31290, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31291, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31292, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31293, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31294, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31295, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31296, tmerc, bessel, "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31297, lcc, bessel, "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 31300, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31370, lcc, intl, "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31461, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31462, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31463, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31464, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31465, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31466, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31467, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31468, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 31469, tmerc, bessel, potsdam, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 31528, utm, 6378249.2, 6356515, "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 31529, utm, 6378249.2, 6356515, "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31600, sterea, intl, "+proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9996667 +x_0=500000 +y_0=500000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31700, sterea, krass, "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 +ellps=krass +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31838, utm, WGS84, "+proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31839, utm, WGS84, "+proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31900, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=48 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31901, tmerc, GRS80, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31965, utm, GRS80, "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31966, utm, GRS80, "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31967, utm, GRS80, "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31968, utm, GRS80, "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31969, utm, GRS80, "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31970, utm, GRS80, "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31971, utm, GRS80, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31972, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31973, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31974, utm, GRS80, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31975, utm, GRS80, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31976, utm, GRS80, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31977, utm, GRS80, "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31978, utm, GRS80, "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31979, utm, GRS80, "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31980, utm, GRS80, "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31981, utm, GRS80, "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31982, utm, GRS80, "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31983, utm, GRS80, "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31984, utm, GRS80, "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31985, utm, GRS80, "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31986, utm, GRS80, "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31987, utm, GRS80, "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31988, utm, GRS80, "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31989, utm, GRS80, "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31990, utm, GRS80, "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31991, utm, GRS80, "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31992, utm, GRS80, "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31993, utm, GRS80, "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31994, utm, GRS80, "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31995, utm, GRS80, "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31996, utm, GRS80, "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31997, utm, GRS80, "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31998, utm, GRS80, "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 31999, utm, GRS80, "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32000, utm, GRS80, "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32001, lcc, clrk66, NAD27, "+proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=47 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32002, lcc, clrk66, NAD27, "+proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=45.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32003, lcc, clrk66, NAD27, "+proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32005, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=41.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32006, lcc, clrk66, NAD27, "+proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32007, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32008, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32009, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32010, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32011, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32012, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32013, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32014, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32015, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32016, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32017, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32018, lcc, clrk66, NAD27, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32019, lcc, clrk66, NAD27, "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32020, lcc, clrk66, NAD27, "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32021, lcc, clrk66, NAD27, "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32022, lcc, clrk66, NAD27, "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32023, lcc, clrk66, NAD27, "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32024, lcc, clrk66, NAD27, "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32025, lcc, clrk66, NAD27, "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32026, lcc, clrk66, NAD27, "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32027, lcc, clrk66, NAD27, "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32028, lcc, clrk66, NAD27, "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32029, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32030, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32031, lcc, clrk66, NAD27, "+proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32033, lcc, clrk66, NAD27, "+proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32034, lcc, clrk66, NAD27, "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32035, lcc, clrk66, NAD27, "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32036, lcc, clrk66, NAD27, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32037, lcc, clrk66, NAD27, "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32038, lcc, clrk66, NAD27, "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32039, lcc, clrk66, NAD27, "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32040, lcc, clrk66, NAD27, "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32041, lcc, clrk66, NAD27, "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32042, lcc, clrk66, NAD27, "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32043, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32044, lcc, clrk66, NAD27, "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32045, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32046, lcc, clrk66, NAD27, "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32047, lcc, clrk66, NAD27, "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32048, lcc, clrk66, NAD27, "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32049, lcc, clrk66, NAD27, "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32050, lcc, clrk66, NAD27, "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32051, lcc, clrk66, NAD27, "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32052, lcc, clrk66, NAD27, "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32053, lcc, clrk66, NAD27, "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32054, lcc, clrk66, NAD27, "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32055, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32056, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32057, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32058, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32061, lcc, clrk66, NAD27, "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=500000 +y_0=292209.579 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32062, lcc, clrk66, NAD27, "+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32064, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32065, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32066, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32067, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32074, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32075, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32076, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32077, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32081, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32082, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32083, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32084, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32085, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32086, tmerc, clrk66, NAD27, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32098, lcc, clrk66, NAD27, "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32099, lcc, clrk66, NAD27, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32100, lcc, GRS80, NAD83, "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32104, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32107, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32108, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32109, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32110, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32111, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32112, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32113, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32114, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32115, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32116, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32117, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32118, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32119, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32120, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32121, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32122, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32123, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32124, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32125, lcc, GRS80, NAD83, "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32126, lcc, GRS80, NAD83, "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32127, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32128, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32129, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32130, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32133, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32134, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32135, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32136, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32137, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32138, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32139, lcc, GRS80, NAD83, "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32140, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32141, lcc, GRS80, NAD83, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32142, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32143, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32144, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32145, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32146, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32147, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32148, lcc, GRS80, NAD83, "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32149, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32150, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32151, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32152, lcc, GRS80, NAD83, "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32153, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32154, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32155, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32156, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32157, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32158, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32161, lcc, GRS80, NAD83, "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32164, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32165, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32166, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32167, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32180, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32181, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32182, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32183, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32184, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32185, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32186, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32187, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32188, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32189, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32190, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32191, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32192, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32193, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32194, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32195, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32196, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32197, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32198, lcc, GRS80, NAD83, "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32199, lcc, GRS80, NAD83, "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32201, utm, WGS72, "+proj=utm +zone=1 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32202, utm, WGS72, "+proj=utm +zone=2 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32203, utm, WGS72, "+proj=utm +zone=3 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32204, utm, WGS72, "+proj=utm +zone=4 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32205, utm, WGS72, "+proj=utm +zone=5 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32206, utm, WGS72, "+proj=utm +zone=6 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32207, utm, WGS72, "+proj=utm +zone=7 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32208, utm, WGS72, "+proj=utm +zone=8 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32209, utm, WGS72, "+proj=utm +zone=9 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32210, utm, WGS72, "+proj=utm +zone=10 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32211, utm, WGS72, "+proj=utm +zone=11 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32212, utm, WGS72, "+proj=utm +zone=12 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32213, utm, WGS72, "+proj=utm +zone=13 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32214, utm, WGS72, "+proj=utm +zone=14 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32215, utm, WGS72, "+proj=utm +zone=15 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32216, utm, WGS72, "+proj=utm +zone=16 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32217, utm, WGS72, "+proj=utm +zone=17 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32218, utm, WGS72, "+proj=utm +zone=18 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32219, utm, WGS72, "+proj=utm +zone=19 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32220, utm, WGS72, "+proj=utm +zone=20 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32221, utm, WGS72, "+proj=utm +zone=21 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32222, utm, WGS72, "+proj=utm +zone=22 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32223, utm, WGS72, "+proj=utm +zone=23 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32224, utm, WGS72, "+proj=utm +zone=24 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32225, utm, WGS72, "+proj=utm +zone=25 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32226, utm, WGS72, "+proj=utm +zone=26 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32227, utm, WGS72, "+proj=utm +zone=27 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32228, utm, WGS72, "+proj=utm +zone=28 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32229, utm, WGS72, "+proj=utm +zone=29 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32230, utm, WGS72, "+proj=utm +zone=30 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32231, utm, WGS72, "+proj=utm +zone=31 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32232, utm, WGS72, "+proj=utm +zone=32 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32233, utm, WGS72, "+proj=utm +zone=33 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32234, utm, WGS72, "+proj=utm +zone=34 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32235, utm, WGS72, "+proj=utm +zone=35 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32236, utm, WGS72, "+proj=utm +zone=36 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32237, utm, WGS72, "+proj=utm +zone=37 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32238, utm, WGS72, "+proj=utm +zone=38 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32239, utm, WGS72, "+proj=utm +zone=39 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32240, utm, WGS72, "+proj=utm +zone=40 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32241, utm, WGS72, "+proj=utm +zone=41 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32242, utm, WGS72, "+proj=utm +zone=42 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32243, utm, WGS72, "+proj=utm +zone=43 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32244, utm, WGS72, "+proj=utm +zone=44 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32245, utm, WGS72, "+proj=utm +zone=45 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32246, utm, WGS72, "+proj=utm +zone=46 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32247, utm, WGS72, "+proj=utm +zone=47 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32248, utm, WGS72, "+proj=utm +zone=48 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32249, utm, WGS72, "+proj=utm +zone=49 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32250, utm, WGS72, "+proj=utm +zone=50 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32251, utm, WGS72, "+proj=utm +zone=51 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32252, utm, WGS72, "+proj=utm +zone=52 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32253, utm, WGS72, "+proj=utm +zone=53 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32254, utm, WGS72, "+proj=utm +zone=54 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32255, utm, WGS72, "+proj=utm +zone=55 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32256, utm, WGS72, "+proj=utm +zone=56 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32257, utm, WGS72, "+proj=utm +zone=57 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32258, utm, WGS72, "+proj=utm +zone=58 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32259, utm, WGS72, "+proj=utm +zone=59 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32260, utm, WGS72, "+proj=utm +zone=60 +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32301, utm, WGS72, "+proj=utm +zone=1 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32302, utm, WGS72, "+proj=utm +zone=2 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32303, utm, WGS72, "+proj=utm +zone=3 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32304, utm, WGS72, "+proj=utm +zone=4 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32305, utm, WGS72, "+proj=utm +zone=5 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32306, utm, WGS72, "+proj=utm +zone=6 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32307, utm, WGS72, "+proj=utm +zone=7 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32308, utm, WGS72, "+proj=utm +zone=8 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32309, utm, WGS72, "+proj=utm +zone=9 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32310, utm, WGS72, "+proj=utm +zone=10 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32311, utm, WGS72, "+proj=utm +zone=11 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32312, utm, WGS72, "+proj=utm +zone=12 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32313, utm, WGS72, "+proj=utm +zone=13 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32314, utm, WGS72, "+proj=utm +zone=14 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32315, utm, WGS72, "+proj=utm +zone=15 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32316, utm, WGS72, "+proj=utm +zone=16 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32317, utm, WGS72, "+proj=utm +zone=17 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32318, utm, WGS72, "+proj=utm +zone=18 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32319, utm, WGS72, "+proj=utm +zone=19 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32320, utm, WGS72, "+proj=utm +zone=20 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32321, utm, WGS72, "+proj=utm +zone=21 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32322, utm, WGS72, "+proj=utm +zone=22 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32323, utm, WGS72, "+proj=utm +zone=23 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32324, utm, WGS72, "+proj=utm +zone=24 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32325, utm, WGS72, "+proj=utm +zone=25 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32326, utm, WGS72, "+proj=utm +zone=26 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32327, utm, WGS72, "+proj=utm +zone=27 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32328, utm, WGS72, "+proj=utm +zone=28 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32329, utm, WGS72, "+proj=utm +zone=29 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32330, utm, WGS72, "+proj=utm +zone=30 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32331, utm, WGS72, "+proj=utm +zone=31 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32332, utm, WGS72, "+proj=utm +zone=32 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32333, utm, WGS72, "+proj=utm +zone=33 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32334, utm, WGS72, "+proj=utm +zone=34 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32335, utm, WGS72, "+proj=utm +zone=35 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32336, utm, WGS72, "+proj=utm +zone=36 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32337, utm, WGS72, "+proj=utm +zone=37 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32338, utm, WGS72, "+proj=utm +zone=38 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32339, utm, WGS72, "+proj=utm +zone=39 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32340, utm, WGS72, "+proj=utm +zone=40 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32341, utm, WGS72, "+proj=utm +zone=41 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32342, utm, WGS72, "+proj=utm +zone=42 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32343, utm, WGS72, "+proj=utm +zone=43 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32344, utm, WGS72, "+proj=utm +zone=44 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32345, utm, WGS72, "+proj=utm +zone=45 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32346, utm, WGS72, "+proj=utm +zone=46 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32347, utm, WGS72, "+proj=utm +zone=47 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32348, utm, WGS72, "+proj=utm +zone=48 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32349, utm, WGS72, "+proj=utm +zone=49 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32350, utm, WGS72, "+proj=utm +zone=50 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32351, utm, WGS72, "+proj=utm +zone=51 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32352, utm, WGS72, "+proj=utm +zone=52 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32353, utm, WGS72, "+proj=utm +zone=53 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32354, utm, WGS72, "+proj=utm +zone=54 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32355, utm, WGS72, "+proj=utm +zone=55 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32356, utm, WGS72, "+proj=utm +zone=56 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32357, utm, WGS72, "+proj=utm +zone=57 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32358, utm, WGS72, "+proj=utm +zone=58 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32359, utm, WGS72, "+proj=utm +zone=59 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32360, utm, WGS72, "+proj=utm +zone=60 +south +ellps=WGS72 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32401, utm, WGS72, "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32402, utm, WGS72, "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32403, utm, WGS72, "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32404, utm, WGS72, "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32405, utm, WGS72, "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32406, utm, WGS72, "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32407, utm, WGS72, "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32408, utm, WGS72, "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32409, utm, WGS72, "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32410, utm, WGS72, "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32411, utm, WGS72, "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32412, utm, WGS72, "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32413, utm, WGS72, "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32414, utm, WGS72, "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32415, utm, WGS72, "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32416, utm, WGS72, "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32417, utm, WGS72, "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32418, utm, WGS72, "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32419, utm, WGS72, "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32420, utm, WGS72, "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32421, utm, WGS72, "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32422, utm, WGS72, "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32423, utm, WGS72, "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32424, utm, WGS72, "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32425, utm, WGS72, "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32426, utm, WGS72, "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32427, utm, WGS72, "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32428, utm, WGS72, "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32429, utm, WGS72, "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32430, utm, WGS72, "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32431, utm, WGS72, "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32432, utm, WGS72, "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32433, utm, WGS72, "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32434, utm, WGS72, "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32435, utm, WGS72, "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32436, utm, WGS72, "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32437, utm, WGS72, "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32438, utm, WGS72, "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32439, utm, WGS72, "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32440, utm, WGS72, "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32441, utm, WGS72, "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32442, utm, WGS72, "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32443, utm, WGS72, "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32444, utm, WGS72, "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32445, utm, WGS72, "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32446, utm, WGS72, "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32447, utm, WGS72, "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32448, utm, WGS72, "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32449, utm, WGS72, "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32450, utm, WGS72, "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32451, utm, WGS72, "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32452, utm, WGS72, "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32453, utm, WGS72, "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32454, utm, WGS72, "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32455, utm, WGS72, "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32456, utm, WGS72, "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32457, utm, WGS72, "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32458, utm, WGS72, "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32459, utm, WGS72, "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32460, utm, WGS72, "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32501, utm, WGS72, "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32502, utm, WGS72, "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32503, utm, WGS72, "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32504, utm, WGS72, "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32505, utm, WGS72, "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32506, utm, WGS72, "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32507, utm, WGS72, "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32508, utm, WGS72, "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32509, utm, WGS72, "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32510, utm, WGS72, "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32511, utm, WGS72, "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32512, utm, WGS72, "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32513, utm, WGS72, "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32514, utm, WGS72, "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32515, utm, WGS72, "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32516, utm, WGS72, "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32517, utm, WGS72, "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32518, utm, WGS72, "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32519, utm, WGS72, "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32520, utm, WGS72, "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32521, utm, WGS72, "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32522, utm, WGS72, "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32523, utm, WGS72, "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32524, utm, WGS72, "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32525, utm, WGS72, "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32526, utm, WGS72, "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32527, utm, WGS72, "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32528, utm, WGS72, "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32529, utm, WGS72, "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32530, utm, WGS72, "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32531, utm, WGS72, "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32532, utm, WGS72, "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32533, utm, WGS72, "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32534, utm, WGS72, "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32535, utm, WGS72, "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32536, utm, WGS72, "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32537, utm, WGS72, "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32538, utm, WGS72, "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32539, utm, WGS72, "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32540, utm, WGS72, "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32541, utm, WGS72, "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32542, utm, WGS72, "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32543, utm, WGS72, "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32544, utm, WGS72, "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32545, utm, WGS72, "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32546, utm, WGS72, "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32547, utm, WGS72, "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32548, utm, WGS72, "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32549, utm, WGS72, "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32550, utm, WGS72, "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32551, utm, WGS72, "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32552, utm, WGS72, "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32553, utm, WGS72, "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32554, utm, WGS72, "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32555, utm, WGS72, "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32556, utm, WGS72, "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32557, utm, WGS72, "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32558, utm, WGS72, "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32559, utm, WGS72, "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 32560, utm, WGS72, "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 32600, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32601, utm, WGS84, WGS84, "+proj=utm +zone=1 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32602, utm, WGS84, WGS84, "+proj=utm +zone=2 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32603, utm, WGS84, WGS84, "+proj=utm +zone=3 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32604, utm, WGS84, WGS84, "+proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32605, utm, WGS84, WGS84, "+proj=utm +zone=5 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32606, utm, WGS84, WGS84, "+proj=utm +zone=6 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32607, utm, WGS84, WGS84, "+proj=utm +zone=7 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32608, utm, WGS84, WGS84, "+proj=utm +zone=8 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32609, utm, WGS84, WGS84, "+proj=utm +zone=9 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32610, utm, WGS84, WGS84, "+proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32611, utm, WGS84, WGS84, "+proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32612, utm, WGS84, WGS84, "+proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32613, utm, WGS84, WGS84, "+proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32614, utm, WGS84, WGS84, "+proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32615, utm, WGS84, WGS84, "+proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32616, utm, WGS84, WGS84, "+proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32617, utm, WGS84, WGS84, "+proj=utm +zone=17 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32618, utm, WGS84, WGS84, "+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32619, utm, WGS84, WGS84, "+proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32620, utm, WGS84, WGS84, "+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32621, utm, WGS84, WGS84, "+proj=utm +zone=21 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32622, utm, WGS84, WGS84, "+proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32623, utm, WGS84, WGS84, "+proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32624, utm, WGS84, WGS84, "+proj=utm +zone=24 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32625, utm, WGS84, WGS84, "+proj=utm +zone=25 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32626, utm, WGS84, WGS84, "+proj=utm +zone=26 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32627, utm, WGS84, WGS84, "+proj=utm +zone=27 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32628, utm, WGS84, WGS84, "+proj=utm +zone=28 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32629, utm, WGS84, WGS84, "+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32630, utm, WGS84, WGS84, "+proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32631, utm, WGS84, WGS84, "+proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32632, utm, WGS84, WGS84, "+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32633, utm, WGS84, WGS84, "+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32634, utm, WGS84, WGS84, "+proj=utm +zone=34 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32635, utm, WGS84, WGS84, "+proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32636, utm, WGS84, WGS84, "+proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32637, utm, WGS84, WGS84, "+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32638, utm, WGS84, WGS84, "+proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32639, utm, WGS84, WGS84, "+proj=utm +zone=39 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32640, utm, WGS84, WGS84, "+proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32641, utm, WGS84, WGS84, "+proj=utm +zone=41 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32642, utm, WGS84, WGS84, "+proj=utm +zone=42 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32643, utm, WGS84, WGS84, "+proj=utm +zone=43 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32644, utm, WGS84, WGS84, "+proj=utm +zone=44 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32645, utm, WGS84, WGS84, "+proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32646, utm, WGS84, WGS84, "+proj=utm +zone=46 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32647, utm, WGS84, WGS84, "+proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32648, utm, WGS84, WGS84, "+proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32649, utm, WGS84, WGS84, "+proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32650, utm, WGS84, WGS84, "+proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32651, utm, WGS84, WGS84, "+proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32652, utm, WGS84, WGS84, "+proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32653, utm, WGS84, WGS84, "+proj=utm +zone=53 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32654, utm, WGS84, WGS84, "+proj=utm +zone=54 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32655, utm, WGS84, WGS84, "+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32656, utm, WGS84, WGS84, "+proj=utm +zone=56 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32657, utm, WGS84, WGS84, "+proj=utm +zone=57 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32658, utm, WGS84, WGS84, "+proj=utm +zone=58 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32659, utm, WGS84, WGS84, "+proj=utm +zone=59 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32660, utm, WGS84, WGS84, "+proj=utm +zone=60 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32661, stere, WGS84, WGS84, "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32662, eqc, WGS84, WGS84, "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 32663, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32664, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32665, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32666, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32667, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 32700, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32701, utm, WGS84, WGS84, "+proj=utm +zone=1 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32702, utm, WGS84, WGS84, "+proj=utm +zone=2 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32703, utm, WGS84, WGS84, "+proj=utm +zone=3 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32704, utm, WGS84, WGS84, "+proj=utm +zone=4 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32705, utm, WGS84, WGS84, "+proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32706, utm, WGS84, WGS84, "+proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32707, utm, WGS84, WGS84, "+proj=utm +zone=7 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32708, utm, WGS84, WGS84, "+proj=utm +zone=8 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32709, utm, WGS84, WGS84, "+proj=utm +zone=9 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32710, utm, WGS84, WGS84, "+proj=utm +zone=10 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32711, utm, WGS84, WGS84, "+proj=utm +zone=11 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32712, utm, WGS84, WGS84, "+proj=utm +zone=12 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32713, utm, WGS84, WGS84, "+proj=utm +zone=13 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32714, utm, WGS84, WGS84, "+proj=utm +zone=14 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32715, utm, WGS84, WGS84, "+proj=utm +zone=15 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32716, utm, WGS84, WGS84, "+proj=utm +zone=16 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32717, utm, WGS84, WGS84, "+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32718, utm, WGS84, WGS84, "+proj=utm +zone=18 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32719, utm, WGS84, WGS84, "+proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32720, utm, WGS84, WGS84, "+proj=utm +zone=20 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32721, utm, WGS84, WGS84, "+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32722, utm, WGS84, WGS84, "+proj=utm +zone=22 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32723, utm, WGS84, WGS84, "+proj=utm +zone=23 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32724, utm, WGS84, WGS84, "+proj=utm +zone=24 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32725, utm, WGS84, WGS84, "+proj=utm +zone=25 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32726, utm, WGS84, WGS84, "+proj=utm +zone=26 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32727, utm, WGS84, WGS84, "+proj=utm +zone=27 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32728, utm, WGS84, WGS84, "+proj=utm +zone=28 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32729, utm, WGS84, WGS84, "+proj=utm +zone=29 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32730, utm, WGS84, WGS84, "+proj=utm +zone=30 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32731, utm, WGS84, WGS84, "+proj=utm +zone=31 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32732, utm, WGS84, WGS84, "+proj=utm +zone=32 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32733, utm, WGS84, WGS84, "+proj=utm +zone=33 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32734, utm, WGS84, WGS84, "+proj=utm +zone=34 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32735, utm, WGS84, WGS84, "+proj=utm +zone=35 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32736, utm, WGS84, WGS84, "+proj=utm +zone=36 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32737, utm, WGS84, WGS84, "+proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32738, utm, WGS84, WGS84, "+proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32739, utm, WGS84, WGS84, "+proj=utm +zone=39 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32740, utm, WGS84, WGS84, "+proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32741, utm, WGS84, WGS84, "+proj=utm +zone=41 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32742, utm, WGS84, WGS84, "+proj=utm +zone=42 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32743, utm, WGS84, WGS84, "+proj=utm +zone=43 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32744, utm, WGS84, WGS84, "+proj=utm +zone=44 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32745, utm, WGS84, WGS84, "+proj=utm +zone=45 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32746, utm, WGS84, WGS84, "+proj=utm +zone=46 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32747, utm, WGS84, WGS84, "+proj=utm +zone=47 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32748, utm, WGS84, WGS84, "+proj=utm +zone=48 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32749, utm, WGS84, WGS84, "+proj=utm +zone=49 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32750, utm, WGS84, WGS84, "+proj=utm +zone=50 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32751, utm, WGS84, WGS84, "+proj=utm +zone=51 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32752, utm, WGS84, WGS84, "+proj=utm +zone=52 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32753, utm, WGS84, WGS84, "+proj=utm +zone=53 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32754, utm, WGS84, WGS84, "+proj=utm +zone=54 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32755, utm, WGS84, WGS84, "+proj=utm +zone=55 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32756, utm, WGS84, WGS84, "+proj=utm +zone=56 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32757, utm, WGS84, WGS84, "+proj=utm +zone=57 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32758, utm, WGS84, WGS84, "+proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32759, utm, WGS84, WGS84, "+proj=utm +zone=59 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32760, utm, WGS84, WGS84, "+proj=utm +zone=60 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32761, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 32766, tmerc, WGS84, WGS84, "+proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61206405, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61216405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61226405, longlat, 6378135, 6356750.304921594, "+proj=longlat +a=6378135 +b=6356750.304921594 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61236405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,-0.345,1.376,0.30857215014565614 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61246405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=414.1,41.3,603.1,-0.855,-2.141,7.023,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61266405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61266413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61276405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-82.875,-57.097,-156.768,-2.158,-1.524,0.982,-0.07404906544270759 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61286405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61296405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61306405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61306413, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,-0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61316405, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=182.0,915.0,344.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61326405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-244.72,-162.773,400.75,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61336405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,0.0003,0.007,-0.002887707287459349 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61346405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-191.808,-250.512,167.861,-0.792,-1.653,8.558,4.270300283733636 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61356405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=58.0,-283.0,-182.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61366405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61376405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61386405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61396405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=11.0,72.0,-101.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61406405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61406413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61416405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-48.0,55.0,52.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61426405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-125.0,53.0,467.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61436405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-124.76,53.0,466.79,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61446405, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=214.0,804.0,268.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61456405, longlat, 6377301.243, 6356100.230165384, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +towgs84=275.57,676.78,229.6,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61466405, longlat, 6377299.151, 6356098.145120132, "+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295.0,736.0,257.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61476405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61486405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61486413, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61496405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=674.4,15.1,405.3,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61506405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61516405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61516413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61526405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61526413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61536405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61546405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-123.02,-158.95,-168.47,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61556405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83.0,37.0,124.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61566405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=559.0,68.7,451.5,7.92,4.073,4.251,1.1777720436709203 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61576405, longlat, 6378293.645208759, 6356617.987679838, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61586405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-0.465,372.095,171.736,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61596405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-114.7,-98.5,-150.7,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61606405, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61616405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=27.5,14.0,186.4,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61626405, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61636405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61636413, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61646405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-76.0,-138.0,67.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61656405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-173.0,253.0,27.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61666405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61676405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61676413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61686405, longlat, 6378300, 6356751.689189189, "+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199.0,32.0,322.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61696405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-115.0,118.0,426.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61706405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61706413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61716405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61716413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61736405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61736413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61746405, longlat, 6378300, 6356751.689189189, "+proj=longlat +a=6378300 +b=6356751.689189189 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61756405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-88.0,4.0,101.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61766405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61766413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61786405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=24.0,-123.0,-94.0,0.02,0.25,0.13,0.226891286871806 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61796405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.17326243724756094 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61806405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61806413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61816405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-193.0,13.7,-39.3,-0.41,-2.933,2.688,0.08869386668625144 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61826405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-422.651,-172.995,84.02,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61836405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-104.0,167.0,-38.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61846405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-203.0,141.0,53.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61886405, longlat, airy, "+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61896405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61896413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61906405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61906413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61916405, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61926405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 61936405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61946405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=163.511,127.533,-159.789,0.0,0.0,0.814,-0.12375888374825782 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61956405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=105.0,326.0,-102.5,0.0,0.0,0.814,-0.12375888374825782 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61966405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-45.0,417.0,-3.5,0.0,0.0,0.814,-0.12375888374825782 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61976405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61986405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 61996405, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62006405, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62016405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-165.0,-11.0,206.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62026405, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +towgs84=-124.133,-42.003,137.4,-0.008,-0.557,-0.178,-0.3824149507821167 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62036405, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +towgs84=-117.763,-51.51,139.061,0.292,-0.443,-0.277,-0.03939657799319541 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62046405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-18.944,-379.364,-24.063,0.04,0.764,-6.431,0.7543103964456315 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62056405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-43.0,-163.0,45.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62066405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62076405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-288.885,-91.744,126.244,-1.691,-0.41,0.211,-0.948405579124149 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62086405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-161.0,310.0,-145.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62096405, longlat, 6378249.145, 6356514.966398753, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs84=-138.0,-105.0,-289.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62106405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-157.0,-2.0,-299.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62116405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-377.7,675.1,-52.2,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62126405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62136405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106.0,-87.0,188.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62146405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=15.8,-154.4,-82.3,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62156405, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62166405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-73.0,213.0,296.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62186405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=304.5,306.5,-318.1,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62196405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-384.0,664.0,-48.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62206405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-50.9,-347.6,-231.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62216405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-154.5,150.7,100.4,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62226405, longlat, 6378249.145, 6356514.966398753, "+proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs84=-136.0,-108.0,-292.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62236405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-260.1,5.5,432.2,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62246405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-134.0,229.0,-29.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62256405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-206.0,172.0,-6.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62276405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83.58,-397.54,458.78,-17.595,-2.847,4.256,0.6652040001468859 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62296405, longlat, helmert, "+proj=longlat +ellps=helmert +towgs84=-130.0,110.0,-13.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62306405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-157.89,-17.16,-78.41,2.118,2.697,-1.434,-1.1097046576093785 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62316405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-82.981,-99.719,-110.709,-0.10470001565102613,0.031001600378938583,0.08040202147511816,-0.06482902860346239 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62326405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-346.0,-1.0,224.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62336405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-133.0,-321.0,50.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62366405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-637.0,-549.0,-203.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62376405, longlat, GRS67, "+proj=longlat +ellps=GRS67 +towgs84=57.01,-69.97,-9.29,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62386405, longlat, 6378160, 6356774.50408554, "+proj=longlat +a=6378160 +b=6356774.50408554 +towgs84=-1.977,-13.06,-9.993,0.364,-0.254,-0.689,-0.2138966040782389 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62396405, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217.0,823.0,299.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62406405, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=204.64,834.74,293.8,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62416405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62426405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-33.722,153.789,94.959,-8.581,4.478,-4.54,1.8460700159115124 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62436405, longlat, 6377299.36559538, 6356098.357204818, "+proj=longlat +a=6377299.36559538 +b=6356098.357204818 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62446405, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97.0,787.0,86.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62456405, longlat, 6377304.063, 6356103.038993155, "+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11.0,851.0,5.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62466405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62476405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62486405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-307.7,265.3,-363.5,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62496405, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62506405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-130.0,29.0,364.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62516405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-90.0,40.0,88.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62526405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62536405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=-133.0,-77.0,-51.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62546405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0002681442481212253 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62556405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-333.0,-222.0,114.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62566405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=41.0,-220.0,-134.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62576405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62586405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62586413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62596405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-254.1,-5.36,-100.29,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62616405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31.0,146.0,47.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62626405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=639.0,405.0,60.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62636405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-90.2,-87.32,114.17,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62646405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62656405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-50.2,-50.4,84.8,-0.69,-2.012,0.459,-5.791915759418465 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62666405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-80.7,-132.5,41.1,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 62676405, longlat, clrk66, NAD27, "+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62686405, longlat, 6378450.047548896, 6356826.621488444, "+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 62696405, longlat, GRS80, NAD83, "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62706405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-245.0,-153.9,382.8,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62716405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-2.0,374.0,172.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 62726405, longlat, intl, nzgd49, "+proj=longlat +ellps=intl +datum=nzgd49 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62736405, longlat, 6377492.018, 6356173.508712696, "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93.0,474.5,7.889,0.05,-6.61,1.2809044467944684 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62746405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-239.749,88.181,30.488,0.263,-0.082,-1.211,0.4597642531247778 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62756405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168.0,-60.0,320.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62766405, longlat, WGS66, "+proj=longlat +ellps=WGS66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 62776405, longlat, airy, OSGB36, "+proj=longlat +ellps=airy +datum=OSGB36 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62786405, longlat, airy, "+proj=longlat +ellps=airy +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62796405, longlat, airy, "+proj=longlat +ellps=airy +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62806405, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62816405, longlat, 6378300.789, 6356566.435, "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,0.20626480624709637 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62826405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62836405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62836413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62846405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=-40.595,-18.55,-69.339,2.508,-1.832,2.611,-0.8867324020562674 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62856405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-128.033,-283.697,21.052,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62866405, longlat, helmert, "+proj=longlat +ellps=helmert +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62886405, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62896405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=565.04,49.91,465.84,-0.40939438743923684,-0.35970519561431136,1.868491000350572,0.8409828680306614 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62926405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-355.0,21.0,72.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62936405, longlat, bess_nam, "+proj=longlat +ellps=bess_nam +towgs84=616.0,97.0,-251.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62956405, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62976405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-189.0,-242.0,-91.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 62986405, longlat, evrstSS, "+proj=longlat +ellps=evrstSS +towgs84=-533.4,669.2,-52.5,0.0,0.0,4.28,1.9388891787227058 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 62996405, longlat, 6377340.189, 6356034.447938534, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 63006405, longlat, 6377340.189, 6356034.447938534, "+proj=longlat +a=6377340.189 +b=6356034.447938534 +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63016405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-147.0,506.0,687.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 63026405, longlat, 6378293.645208759, 6356617.987679838, "+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +towgs84=-61.702,284.488,472.052,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63036405, longlat, helmert, "+proj=longlat +ellps=helmert +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 63046405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73.0,-247.0,227.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63066405, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63076405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-169.559,-72.34,303.102,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63086405, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63096405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-155.0,171.0,37.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 63106405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63116405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-265.0,120.0,-358.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63126405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=426.9,142.6,460.1,4.91,4.49,-12.42,3.5271281868253483 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63136405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-106.8686,52.2978,-103.7239,0.3366,0.457,-1.8422,0.26292574852317374 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 63146405, longlat, bessel, potsdam, "+proj=longlat +ellps=bessel +datum=potsdam +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 63156405, longlat, 6378249.2, 6356515, "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23.0,259.0,-9.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63166405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=103.25,-100.4,-307.19,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63176405, longlat, krass, "+proj=longlat +ellps=krass +towgs84=28.0,-121.0,-77.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63186405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63196405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=226.702,-193.337,-35.371,-2.229,4.391,-9.238,0.20209825716090501 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63226405, longlat, WGS72, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 63246405, longlat, WGS72, "+proj=longlat +ellps=WGS72 +towgs84=0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 63266405, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266406, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266407, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266408, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266409, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266410, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 63266411, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266412, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 63266413, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266414, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266415, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266416, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266417, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266418, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(epsg, 63266419, longlat, WGS84, WGS84, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (epsg, 63266420, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66006405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66016405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-255.0,-15.0,71.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66026405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=725.0,685.0,536.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66036405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=72.0,213.7,93.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66046405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=174.0,359.0,365.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66056405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=9.0,183.0,236.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66066405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-149.0,128.0,296.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66076405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66086405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66096405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 66106405, longlat, 6378140, 6356755.288157528, "+proj=longlat +a=6378140 +b=6356755.288157528 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66116405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-0.22570443917666022 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66126405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66126413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66136405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66146405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,0.7543238036580374 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66156405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-499.0,-249.0,314.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66166405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-289.0,-124.0,60.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66186405, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66196405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66196413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66206405, longlat, clrk80, "+proj=longlat +ellps=clrk80 +towgs84=-106.0,-129.0,165.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66216405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=137.0,248.0,-430.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66226405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,0.39157310817948776 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66236405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-186.0,230.0,110.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66246405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66246413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=2.0,2.0,-2.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66256405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=126.93,547.94,130.41,-2.7867,5.1612,-0.8584,2.851136537311739 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66266405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=94.0,-948.0,-1262.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66276405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66276413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66286405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=162.0,117.0,154.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66296405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=72.438,345.918,79.486,1.6045,-0.8823,-0.5565,0.2835316026672587 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66306405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=259.551,297.612,197.833,-1.4866,2.1224,0.4612,5.574285762347154 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66316405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=145.0,-187.0,103.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66326405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-382.0,-59.0,-262.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66336405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=335.47,222.58,-230.94,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66346405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-11.64,-348.6,291.98,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66356405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,0.9240250790257423 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66366405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=365.0,194.0,166.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66376405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=325.0,154.0,172.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66386405, longlat, clrk66, "+proj=longlat +ellps=clrk66 +towgs84=30.0,430.0,368.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66396405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=253.0,-132.0,-127.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66406405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66406413, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66416405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=287.58,177.78,-135.41,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66426405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-13.0,-348.0,292.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66436405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-23.039820110761912 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66446405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-10.18,-350.43,291.37,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66456405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66456413, longlat, intl, "+proj=longlat +ellps=intl +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66466405, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 66576405, longlat, 6377019.27, 6355762.5391, "+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28.0,199.0,5.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66586405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-73.0,46.0,-86.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66596405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66596413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66606405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=982.6087,552.753,-540.873,6.681626625276941,-31.61149240864225,-19.848161004816845,3.466280068982454 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66616405, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66616413, longlat, GRS80, "+proj=longlat +ellps=GRS80 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66636405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-210.502,-66.902,-48.476,2.094,15.067,5.817,0.10003843102984174 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66646405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-208.719,129.685,52.092,-0.195,0.014,-0.327,0.040840431636925086 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66656405, longlat, intl, "+proj=longlat +ellps=intl +towgs84=-103.088,162.481,-28.276,0.167,-0.082,-0.168,-0.31022226859563296 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66666405, longlat, bessel, "+proj=longlat +ellps=bessel +towgs84=631.392,-66.551,481.442,1.09,4.445,4.487,-0.9137530916746368 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 66676405, longlat, WGS84, "+proj=longlat +ellps=WGS84 +towgs84=0.0,0.0,0.0,0.0,0.0,0.0,0.0 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68016405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=bern +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68026405, longlat, intl, "+proj=longlat +ellps=intl +pm=bogota +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68036405, longlat, intl, "+proj=longlat +ellps=intl +pm=lisbon +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68046405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68056405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=ferro +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68066405, longlat, intl, "+proj=longlat +ellps=intl +pm=rome +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68086405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68096405, longlat, intl, "+proj=longlat +ellps=intl +pm=brussels +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68136405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68146405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=stockholm +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68156405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=athens +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68186405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=ferro +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (epsg, 68206405, longlat, bessel, "+proj=longlat +ellps=bessel +pm=jakarta +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(epsg, 69036405, longlat, 6378298.3, 6356657.142669561, "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madrid +no_defs")
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2000) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2001) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2002) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(725,685,536,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2003) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(72,213.7,93,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2004) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(174,359,365,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2005) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2006) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-149,128,296,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2007) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(195.671,332.517,274.607,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2008) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-55.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2009) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-58.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2010) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-61.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2011) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-64.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2012) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-67.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2013) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-70.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2014) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-73.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2015) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-76.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2016) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-79.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2017) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-73.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2018) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-76.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2019) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-79.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2020) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-82.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2021) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2022) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-84),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2023) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2024) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2025) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2026) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-96),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2027) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2028) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2029) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2030) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2031) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2032) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2033) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2034) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2035) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2036) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-66.5),srs::spar::k<>(0.999912),srs::spar::x_0<>(2500000),srs::spar::y_0<>(7500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2037) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2038) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2039) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31.73439361111111),srs::spar::lon_0<>(35.20451694444445),srs::spar::k<>(1.0000067),srs::spar::x_0<>(219529.584),srs::spar::y_0<>(626907.39),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-48,55,52,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2040) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<30>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-125,53,467,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2041) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<30>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-124.76,53,466.79,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2042) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-125,53,467,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2043) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-124.76,53,466.79,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2044) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2045) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2046)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2047)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2048)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2049)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2050)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2051)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2052)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2053)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2054)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2055)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2056) srs::spar::parameters<srs::spar::proj_somerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_somerc(),srs::spar::lat_0<>(46.95240555555556),srs::spar::lon_0<>(7.439583333333333),srs::spar::k_0<>(1),srs::spar::x_0<>(2600000),srs::spar::y_0<>(1200000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(674.374,15.056,405.346,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2057) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(27.51882880555555),srs::spar::lonc<>(52.60353916666667),srs::spar::alpha<>(0.5716611944444444),srs::spar::k<>(0.999895934),srs::spar::x_0<>(658377.437),srs::spar::y_0<>(3044969.194),srs::spar::ellps_intl(),srs::spar::towgs84<>(-133.63,-157.5,-158.62,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2058) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2059) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2060) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2061) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2062) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::pm_madrid,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40),srs::spar::lat_0<>(40),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.9988085293),srs::spar::x_0<>(600000),srs::spar::y_0<>(600000),srs::spar::a<>(6378298.3),srs::spar::b<>(6356657.142669561)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2063) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-23,259,-9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2064) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-23,259,-9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2065) srs::spar::parameters<srs::spar::proj_krovak,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_krovak(),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(42.5),srs::spar::alpha<>(30.28813972222222),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2066) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(11.25217861111111),srs::spar::lon_0<>(-60.68600888888889),srs::spar::x_0<>(37718.66159325),srs::spar::y_0<>(36209.91512952),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838),srs::spar::to_meter<>(0.201166195164)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2067) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2068) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2069) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(11),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2070) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2071) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2072) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(17),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2073) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(19),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2074) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2075) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(23),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2076) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(25),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2077) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2078) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2079) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2080) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2081) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-69),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2082) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-69),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(27.5,14,186.4,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2083) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-69),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2084) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2085) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(22.35),srs::spar::lat_0<>(22.35),srs::spar::lon_0<>(-81),srs::spar::k_0<>(0.99993602),srs::spar::x_0<>(500000),srs::spar::y_0<>(280296.016)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2086) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(20.71666666666667),srs::spar::lat_0<>(20.71666666666667),srs::spar::lon_0<>(-76.83333333333333),srs::spar::k_0<>(0.99994848),srs::spar::x_0<>(500000),srs::spar::y_0<>(229126.939)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2087) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2088) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(11),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2089) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2090) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2091) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-76,-138,67,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2092) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-76,-138,67,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2093) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(106),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2094) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(106),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2095) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-173,253,27,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2096) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2097) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(127),srs::spar::k<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2098) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(125),srs::spar::k<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2099) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(25.38236111111111),srs::spar::lon_0<>(50.76138888888889),srs::spar::x_0<>(100000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2100) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-199.87,74.79,246.62,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2101) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(10.16666666666667),srs::spar::lat_0<>(10.16666666666667),srs::spar::lon_0<>(-71.60561777777777),srs::spar::k_0<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-52684.972)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2102) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(10.16666666666667),srs::spar::lat_0<>(10.16666666666667),srs::spar::lon_0<>(-71.60561777777777),srs::spar::k_0<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(147315.028)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2103) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(10.16666666666667),srs::spar::lat_0<>(10.16666666666667),srs::spar::lon_0<>(-71.60561777777777),srs::spar::k_0<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(447315.028)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2104) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(10.16666666666667),srs::spar::lat_0<>(10.16666666666667),srs::spar::lon_0<>(-71.60561777777777),srs::spar::k_0<>(1),srs::spar::x_0<>(-17044),srs::spar::y_0<>(-23139.97)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2105) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-36.87972222222222),srs::spar::lon_0<>(174.7641666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2106) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-37.76111111111111),srs::spar::lon_0<>(176.4661111111111),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2107) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-38.62444444444444),srs::spar::lon_0<>(177.8855555555556),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2108) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39.65083333333333),srs::spar::lon_0<>(176.6736111111111),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2109) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39.13555555555556),srs::spar::lon_0<>(174.2277777777778),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2110) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39.51222222222222),srs::spar::lon_0<>(175.64),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2111) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-40.24194444444444),srs::spar::lon_0<>(175.4880555555555),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2112) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-40.92527777777777),srs::spar::lon_0<>(175.6472222222222),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2113) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.3011111111111),srs::spar::lon_0<>(174.7763888888889),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2114) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-40.71472222222223),srs::spar::lon_0<>(172.6719444444444),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2115) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.27444444444444),srs::spar::lon_0<>(173.2991666666667),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2116) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.28972222222222),srs::spar::lon_0<>(172.1088888888889),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2117) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.81055555555555),srs::spar::lon_0<>(171.5811111111111),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2118) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-42.33361111111111),srs::spar::lon_0<>(171.5497222222222),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2119) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-42.68888888888888),srs::spar::lon_0<>(173.01),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2120) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.54444444444444),srs::spar::lon_0<>(173.8019444444444),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2121) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-42.88611111111111),srs::spar::lon_0<>(170.9797222222222),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2122) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.11),srs::spar::lon_0<>(170.2608333333333),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2123) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.97777777777778),srs::spar::lon_0<>(168.6061111111111),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2124) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.59055555555556),srs::spar::lon_0<>(172.7269444444445),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2125) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.74861111111111),srs::spar::lon_0<>(171.3605555555555),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2126) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-44.40194444444445),srs::spar::lon_0<>(171.0572222222222),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2127) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-44.735),srs::spar::lon_0<>(169.4675),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2128) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.13277777777778),srs::spar::lon_0<>(168.3986111111111),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2129) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.56361111111111),srs::spar::lon_0<>(167.7386111111111),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2130) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.81611111111111),srs::spar::lon_0<>(170.6283333333333),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2131) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.86138888888889),srs::spar::lon_0<>(170.2825),srs::spar::k<>(0.99996),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2132) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-46.6),srs::spar::lon_0<>(168.3427777777778),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2133) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2134) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<59>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2135) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<60>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2136) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.666666666666667),srs::spar::lon_0<>(-1),srs::spar::k<>(0.99975),srs::spar::x_0<>(274319.7391633579),srs::spar::y_0<>(0),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189),srs::spar::towgs84<>(-199,32,322,0,0,0,0),srs::spar::to_meter<>(0.3047997101815088)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2137) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-1),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189),srs::spar::towgs84<>(-199,32,322,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2138) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(60),srs::spar::lat_2<>(46),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-68.5),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2139) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-55.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2140) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-58.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2141) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-61.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2142) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-64.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2143) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-67.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2144) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-70.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2145) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-73.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2146) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-76.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2147) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-79.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2148) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2149) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2150) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2151) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<13>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2152) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<12>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2153) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<11>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2154) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(44),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(3),srs::spar::x_0<>(700000),srs::spar::y_0<>(6600000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2155) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-14.26666666666667),srs::spar::lat_0<>(-14.26666666666667),srs::spar::lon_0<>(170),srs::spar::k_0<>(1),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-115,118,426,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2156) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2157) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(53.5),srs::spar::lon_0<>(-8),srs::spar::k<>(0.99982),srs::spar::x_0<>(600000),srs::spar::y_0<>(750000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2158) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2159) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(6.666666666666667),srs::spar::lon_0<>(-12),srs::spar::k<>(1),srs::spar::x_0<>(152399.8550907544),srs::spar::y_0<>(0),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189),srs::spar::to_meter<>(0.3047997101815088)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2160) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(6.666666666666667),srs::spar::lon_0<>(-12),srs::spar::k<>(1),srs::spar::x_0<>(243839.7681452071),srs::spar::y_0<>(182879.8261089053),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189),srs::spar::to_meter<>(0.3047997101815088)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2161) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-88,4,101,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2162) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-88,4,101,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2163) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-100),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6370997)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-5),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-125,53,467,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-5),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-124.76,53,466.79,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2166) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2167) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2168) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2169) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(49.83333333333334),srs::spar::lon_0<>(6.166666666666667),srs::spar::k<>(1),srs::spar::x_0<>(80000),srs::spar::y_0<>(100000),srs::spar::ellps_intl(),srs::spar::towgs84<>(-193,13.7,-39.3,-0.41,-2.933,2.688,0.43)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2170) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2171) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(50.625),srs::spar::lon_0<>(21.08333333333333),srs::spar::k<>(0.9998),srs::spar::x_0<>(4637000),srs::spar::y_0<>(5647000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2172) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(53.00194444444445),srs::spar::lon_0<>(21.50277777777778),srs::spar::k<>(0.9998),srs::spar::x_0<>(4603000),srs::spar::y_0<>(5806000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2173) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(53.58333333333334),srs::spar::lon_0<>(17.00833333333333),srs::spar::k<>(0.9998),srs::spar::x_0<>(3501000),srs::spar::y_0<>(5999000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2174) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(51.67083333333333),srs::spar::lon_0<>(16.67222222222222),srs::spar::k<>(0.9998),srs::spar::x_0<>(3703000),srs::spar::y_0<>(5627000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2175) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18.95833333333333),srs::spar::k<>(0.999983),srs::spar::x_0<>(237000),srs::spar::y_0<>(-4700000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2176) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.999923),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2177) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(0.999923),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2178) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(0.999923),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2179) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.999923),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2180) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(19),srs::spar::k<>(0.9993),srs::spar::x_0<>(500000),srs::spar::y_0<>(-5300000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2188) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2189) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<26>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-104,167,-38,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2190) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<26>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-203,141,53,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2191) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2192) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.8),srs::spar::lat_0<>(46.8),srs::spar::lon_0<>(2.337229166666667),srs::spar::k_0<>(0.99987742),srs::spar::x_0<>(600000),srs::spar::y_0<>(2200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2193) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(173),srs::spar::k<>(0.9996),srs::spar::x_0<>(1600000),srs::spar::y_0<>(10000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2194) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-14.26666666666667),srs::spar::lat_0<>(-14.26666666666667),srs::spar::lon_0<>(-170),srs::spar::k_0<>(1),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-115,118,426,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2195) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2196) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9.5),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2197) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2198) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(900000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2199) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2200) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-66.5),srs::spar::k<>(0.999912),srs::spar::x_0<>(300000),srs::spar::y_0<>(800000),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2201) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2202) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2203) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2204) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.25),srs::spar::lat_2<>(36.41666666666666),srs::spar::lat_0<>(34.66666666666666),srs::spar::lon_0<>(-86),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(30480.06096012192),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2205) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2206) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2207) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(10500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2208) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(11500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2209) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(1),srs::spar::x_0<>(12500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2210) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2211) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(42),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2212) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2213) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2214) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(10.5),srs::spar::k<>(0.999),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206.1,-174.7,-87.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2215) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-70.9,-151.8,-41.4,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2216) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2217) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2218)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2219) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2220) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2221)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2222) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2223) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2224) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2225) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2226) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2227) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2228) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2229) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2230) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2231) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.78333333333333),srs::spar::lat_2<>(39.71666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2232) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2233) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2234) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096012192),srs::spar::y_0<>(152400.3048006096),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2235) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2236) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2237) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2238) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2239) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2240) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2241) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2242) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2243) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(800000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2244) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(99999.99989839978),srs::spar::y_0<>(249364.9987299975),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2245) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(249364.9987299975),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2246) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2247) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.93333333333333),srs::spar::lat_2<>(36.73333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2248) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.45),srs::spar::lat_2<>(38.3),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(399999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2249) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.68333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(750000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2250) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.48333333333333),srs::spar::lat_2<>(41.28333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2251) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.08333333333334),srs::spar::lat_2<>(45.48333333333333),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(7999999.999968001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2252) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.7),srs::spar::lat_2<>(44.18333333333333),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(5999999.999976001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2253) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.66666666666666),srs::spar::lat_2<>(42.1),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(3999999.999984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2254) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2255) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2256) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(45),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2257) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(165000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2258) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2259) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(830000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2260) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2261) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(249999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2262) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2263) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2264) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2265) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.43333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2266) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.48333333333333),srs::spar::lat_2<>(46.18333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2267) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(35.56666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2268) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.23333333333333),srs::spar::lat_2<>(33.93333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2269) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46),srs::spar::lat_2<>(44.33333333333334),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000.0001424),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2270) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(42.33333333333334),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000.0001464),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2271) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.95),srs::spar::lat_2<>(40.88333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2272) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.96666666666667),srs::spar::lat_2<>(39.93333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2273) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.83333333333334),srs::spar::lat_2<>(32.5),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2274) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.41666666666666),srs::spar::lat_2<>(35.25),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2275) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.18333333333333),srs::spar::lat_2<>(34.65),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2276) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.96666666666667),srs::spar::lat_2<>(32.13333333333333),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000.0001016),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2277) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.88333333333333),srs::spar::lat_2<>(30.11666666666667),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2278) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.28333333333333),srs::spar::lat_2<>(28.38333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(3999999.9998984),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2279) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(5000000.0001016),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2280) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(999999.9999960001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2281) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(1999999.999992),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2282) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(2999999.999988),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2283) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.2),srs::spar::lat_2<>(38.03333333333333),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000.0001016),srs::spar::y_0<>(2000000.0001016),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2284) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000.0001016),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2285) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.5),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2286) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.33333333333334),srs::spar::lat_2<>(45.83333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2287) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.76666666666667),srs::spar::lat_2<>(45.56666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2288) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.5),srs::spar::lat_2<>(44.25),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2289) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.06666666666667),srs::spar::lat_2<>(42.73333333333333),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2290) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(47.25),srs::spar::lon_0<>(-63),srs::spar::k<>(0.999912),srs::spar::x_0<>(700000),srs::spar::y_0<>(400000),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2291) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(47.25),srs::spar::lon_0<>(-63),srs::spar::k<>(0.999912),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2292) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(47.25),srs::spar::lon_0<>(-63),srs::spar::k<>(0.999912),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2294) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-61.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2295) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-64.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2296)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2297)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2298)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2299)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2300)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2301)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2302)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2303)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2304)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2305)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2306)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2307)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2308) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(109),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2309) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(116),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2310) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2311) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(6),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2312) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2313) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2314) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(10.44166666666667),srs::spar::lon_0<>(-61.33333333333334),srs::spar::x_0<>(86501.46392052001),srs::spar::y_0<>(65379.0134283),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838),srs::spar::to_meter<>(0.3047972654)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2315) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2316) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2317) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(9),srs::spar::lat_2<>(3),srs::spar::lat_0<>(6),srs::spar::lon_0<>(-66),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2318) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(17),srs::spar::lat_2<>(33),srs::spar::lat_0<>(25.08951),srs::spar::lon_0<>(48),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2319) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2320) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2321) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2322) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2323) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2324) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(42),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2325) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2326) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(22.31213333333334),srs::spar::lon_0<>(114.1785555555556),srs::spar::k<>(1),srs::spar::x_0<>(836694.05),srs::spar::y_0<>(819069.8),srs::spar::ellps_intl(),srs::spar::towgs84<>(-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2327) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2328) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2329) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2330) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(16500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2331) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(17500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2332) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2333) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2334) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(20500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2335) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(21500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2336) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(22500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2337) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(23500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2338) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2339) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2340) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2341) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2342) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2343) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2344) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2345) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2346) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2347) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2348) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2349) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(25500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2350) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(26500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2351) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(27500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2352) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(28500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2353) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(29500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2354) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(30500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2355) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(31500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2356) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(32500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2357) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(33500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2358) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(34500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2359) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(35500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2360) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(36500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2361) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(37500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2362) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(38500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2363) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(39500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(40500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(41500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2366) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(42500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2367) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(43500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2368) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(44500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2369) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(45500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2370) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2371) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2372) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2373) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2374) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2375) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2376) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2377) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2378) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2379) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2380) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2381) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2382) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2383) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2384) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2385) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2386) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2387) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2388) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2389) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2390) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2391) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2392) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2393) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2394) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2395) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-76,-138,67,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2396) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(-76,-138,67,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2397) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2398) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2399) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2400) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15.80827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2401) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(25500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2402) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(26500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2403) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(27500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2404) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(28500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2405) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(29500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2406) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(30500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2407) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(31500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2408) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(32500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2409) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(33500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2410) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(34500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2411) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(35500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2412) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(36500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2413) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(37500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2414) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(38500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2415) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(39500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2416) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(40500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2417) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(41500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2418) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(42500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2419) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(43500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2420) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(44500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2421) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(45500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2422) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2423) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2424) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2425) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2426) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2427) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2428) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2429) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2430) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2431) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2432) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2433) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2434) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2435) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2436) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2437) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2438) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2439) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2440) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2441) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2442) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2443) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(33),srs::spar::lon_0<>(129.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2444) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(33),srs::spar::lon_0<>(131),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2445) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(132.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2446) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(33),srs::spar::lon_0<>(133.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2447) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(134.3333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2448) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(136),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2449) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(137.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2450) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(138.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2451) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(139.8333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2452) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(140.8333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2453) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(44),srs::spar::lon_0<>(140.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2454) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(44),srs::spar::lon_0<>(142.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2455) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(44),srs::spar::lon_0<>(144.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2456) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(142),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2457) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(127.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2458) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(124),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2459) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(131),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2460) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20),srs::spar::lon_0<>(136),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2461) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(154),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2462) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2463) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2466) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2467) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2468) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2469) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2470) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2471) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2472) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2473) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2474) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2475) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2476) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2477) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2478) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2479) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2480) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2481) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2482) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2483) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2484) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2485) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2486) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2487) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2488) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2489) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2490) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2491) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2492) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2493) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2494) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2495) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2496) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2497) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2498) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2499) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2500) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2501) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2502) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2503) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2504) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2505) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2506) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2507) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2508) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2509) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2510) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2511) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2512) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2513) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2514) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2515) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2516) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2517) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2518) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2519) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2520) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2521) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2522) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2523) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2524) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2525) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2526) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(10500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2527) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(11500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2528) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(1),srs::spar::x_0<>(12500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2529) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2530) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(42),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2531) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2532) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(48),srs::spar::k<>(1),srs::spar::x_0<>(16500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2533) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(17500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2534) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(54),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2535) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2536) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(60),srs::spar::k<>(1),srs::spar::x_0<>(20500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2537) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(21500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2538) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(66),srs::spar::k<>(1),srs::spar::x_0<>(22500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2539) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(23500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2540) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(72),srs::spar::k<>(1),srs::spar::x_0<>(24500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2541) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(25500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2542) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(26500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2543) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(27500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2544) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(28500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2545) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(29500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2546) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(30500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2547) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(31500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2548) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(32500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2549) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(33500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2550) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::south(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-404.78,685.68,45.47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2551) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(34500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2552) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(35500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2553) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(36500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2554) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(37500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2555) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(38500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2556) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(39500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2557) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(40500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2558) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(41500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2559) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(42500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2560) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(43500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2561) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(44500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2562) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(45500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2563) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(138),srs::spar::k<>(1),srs::spar::x_0<>(46500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(47500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(144),srs::spar::k<>(1),srs::spar::x_0<>(48500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2566) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(49500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2567) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(150),srs::spar::k<>(1),srs::spar::x_0<>(50500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2568) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(51500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2569) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(156),srs::spar::k<>(1),srs::spar::x_0<>(52500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2570) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(53500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2571) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(162),srs::spar::k<>(1),srs::spar::x_0<>(54500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2572) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(55500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2573) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(168),srs::spar::k<>(1),srs::spar::x_0<>(56500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2574) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(57500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2575) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(174),srs::spar::k<>(1),srs::spar::x_0<>(58500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2576) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(59500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2577) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(180),srs::spar::k<>(1),srs::spar::x_0<>(60000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2578) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(61500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2579) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-174),srs::spar::k<>(1),srs::spar::x_0<>(62500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2580) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(63500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2581) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-168),srs::spar::k<>(1),srs::spar::x_0<>(64500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2582) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2583) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2584) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2585) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2586) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2587) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2588) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2589) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(42),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2590) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2591) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(48),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2592) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2593) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(54),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2594) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2595) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(60),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2596) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2597) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(66),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2598) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2599) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(72),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2600) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2601) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2602) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2603) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2604) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2605) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2606) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2607) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2608) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2609) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2610) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2611) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2612) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2613) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2614) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2615) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2616) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2617) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2618) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2619) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2620) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2621) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2622) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(138),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2623) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2624) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(144),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2625) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2626) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(150),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2627) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2628) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(156),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2629) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2630) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(162),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2631) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2632) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(168),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2633) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2634) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(174),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2635) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2636) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(180),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2637) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2638) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-174),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2639) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2640) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-168),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2641) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2642) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2643) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2644) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(10500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2645) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(11500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2646) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(1),srs::spar::x_0<>(12500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2647) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2648) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(42),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2649) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2650) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(48),srs::spar::k<>(1),srs::spar::x_0<>(16500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2651) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(17500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2652) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(54),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2653) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2654) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(60),srs::spar::k<>(1),srs::spar::x_0<>(20500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2655) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(21500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2656) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(66),srs::spar::k<>(1),srs::spar::x_0<>(22500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2657) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(23500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2658) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(72),srs::spar::k<>(1),srs::spar::x_0<>(24500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2659) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(25500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2660) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(26500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2661) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(27500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2662) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(28500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2663) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(29500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(30500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(31500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2666) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(32500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2667) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(33500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2668) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(34500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2669) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(35500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2670) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(36500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2671) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(37500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2672) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(38500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2673) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(39500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2674) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(40500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2675) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(41500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2676) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(42500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2677) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(43500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2678) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(44500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2679) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(45500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2680) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(138),srs::spar::k<>(1),srs::spar::x_0<>(46500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2681) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(47500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2682) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(144),srs::spar::k<>(1),srs::spar::x_0<>(48500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2683) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(49500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2684) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(150),srs::spar::k<>(1),srs::spar::x_0<>(50500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2685) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(51500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2686) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(156),srs::spar::k<>(1),srs::spar::x_0<>(52500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2687) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(53500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2688) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(162),srs::spar::k<>(1),srs::spar::x_0<>(54500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2689) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(55500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2690) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(168),srs::spar::k<>(1),srs::spar::x_0<>(56500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2691) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(57500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2692) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(174),srs::spar::k<>(1),srs::spar::x_0<>(58500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2693) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(59500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2694) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(180),srs::spar::k<>(1),srs::spar::x_0<>(60000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2695) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(61500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2696) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-174),srs::spar::k<>(1),srs::spar::x_0<>(62500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2697) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(63500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2698) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-168),srs::spar::k<>(1),srs::spar::x_0<>(64500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2699) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2700) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2701) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2702) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2703) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2704) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2705) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2706) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(42),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2707) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2708) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(48),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2709) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2710) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(54),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2711) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2712) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(60),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2713) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2714) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(66),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2715) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2716) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(72),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2717) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2718) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(78),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2719) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2720) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(84),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2721) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2722) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2723) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2724) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(96),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2725) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2726) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(102),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2727) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2728) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(108),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2729) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2730) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(114),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2731) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2732) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(120),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2733) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2734) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(126),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2735) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2736) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2737) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::south,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2738) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2739) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2740) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(138),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2741) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2742) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(144),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2743) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2744) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(150),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2745) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2746) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(156),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2747) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2748) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(162),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2749) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2750) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(168),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2751) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2752) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(174),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2753) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2754) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(180),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2755) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2756) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-174),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2757) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2758) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-168),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2759) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-85.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2760) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-87.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2761) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2762) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2763) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2764) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2765) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2766) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2767) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2768) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2769) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2770) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2771) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2772) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.78333333333333),srs::spar::lat_2<>(39.71666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2773) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2774) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2775) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096),srs::spar::y_0<>(152400.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2776) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2777) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2778) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2779) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2780) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2781) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2782) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(18.83333333333333),srs::spar::lon_0<>(-155.5),srs::spar::k<>(0.999966667),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2783) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20.33333333333333),srs::spar::lon_0<>(-156.6666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2784) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2785) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.83333333333333),srs::spar::lon_0<>(-159.5),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2786) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.66666666666667),srs::spar::lon_0<>(-160.1666666666667),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2787) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2788) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2789) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(800000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2790) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2791) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2792) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(100000),srs::spar::y_0<>(250000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2793) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(250000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2794) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2795) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2796) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2797) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2798) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2799) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.93333333333333),srs::spar::lat_2<>(36.73333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2800) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.66666666666666),srs::spar::lat_2<>(31.16666666666667),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2801) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.7),srs::spar::lat_2<>(29.3),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2802) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2803) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2804) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.45),srs::spar::lat_2<>(38.3),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2805) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.68333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(750000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2806) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.48333333333333),srs::spar::lat_2<>(41.28333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2807) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.08333333333334),srs::spar::lat_2<>(45.48333333333333),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(8000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2808) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.7),srs::spar::lat_2<>(44.18333333333333),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(6000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2809) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.66666666666666),srs::spar::lat_2<>(42.1),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(4000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2810) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2811) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2812) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2813) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2814) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2815) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-90.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2816) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-92.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2817) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.16666666666666),srs::spar::lon_0<>(-94.5),srs::spar::k<>(0.999941177),srs::spar::x_0<>(850000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2818) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(45),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2819) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2820) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(8000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2821) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2822) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2823) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2824) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2825) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(165000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2826) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2827) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(830000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2828) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2829) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2830) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2831) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2832) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.43333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2833) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.48333333333333),srs::spar::lat_2<>(46.18333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2834) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.7),srs::spar::lat_2<>(40.43333333333333),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2835) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.03333333333333),srs::spar::lat_2<>(38.73333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2836) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(35.56666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2837) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.23333333333333),srs::spar::lat_2<>(33.93333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2838) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46),srs::spar::lat_2<>(44.33333333333334),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2839) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(42.33333333333334),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2840) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(100000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2841) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.68333333333333),srs::spar::lat_2<>(44.41666666666666),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2842) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2843) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.41666666666666),srs::spar::lat_2<>(35.25),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2844) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.18333333333333),srs::spar::lat_2<>(34.65),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2845) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.96666666666667),srs::spar::lat_2<>(32.13333333333333),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2846) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.88333333333333),srs::spar::lat_2<>(30.11666666666667),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(700000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2847) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.28333333333333),srs::spar::lat_2<>(28.38333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2848) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000),srs::spar::y_0<>(5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2849) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2850) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2851) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2852) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-72.5),srs::spar::k<>(0.999964286),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2853) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.2),srs::spar::lat_2<>(38.03333333333333),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2854) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2855) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.5),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2856) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.33333333333334),srs::spar::lat_2<>(45.83333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2857) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2858) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2859) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.76666666666667),srs::spar::lat_2<>(45.56666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2860) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.5),srs::spar::lat_2<>(44.25),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2861) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.06666666666667),srs::spar::lat_2<>(42.73333333333333),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2862) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2863) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(400000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2865) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2866) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18.43333333333333),srs::spar::lat_2<>(18.03333333333333),srs::spar::lat_0<>(17.83333333333333),srs::spar::lon_0<>(-66.43333333333334),srs::spar::x_0<>(200000),srs::spar::y_0<>(200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2867) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2868) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2869) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2870) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2871) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2872) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2873) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2874) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2875) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2876) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.78333333333333),srs::spar::lat_2<>(39.71666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2877) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2878) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2879) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096012192),srs::spar::y_0<>(152400.3048006096),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2880) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2881) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2882) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2883) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2884) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2885) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2886) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2887) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2888) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(800000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2889) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(99999.99989839978),srs::spar::y_0<>(249364.9987299975),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2890) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(249364.9987299975),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2891) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2892) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.93333333333333),srs::spar::lat_2<>(36.73333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2893) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.45),srs::spar::lat_2<>(38.3),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(399999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2894) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.68333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(750000),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2895) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.48333333333333),srs::spar::lat_2<>(41.28333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2896) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.08333333333334),srs::spar::lat_2<>(45.48333333333333),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(7999999.999968001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2897) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.7),srs::spar::lat_2<>(44.18333333333333),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(5999999.999976001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2898) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.66666666666666),srs::spar::lat_2<>(42.1),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(3999999.999984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2899) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2900) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2901) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(45),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2902) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(165000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2903) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2904) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(830000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2905) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2906) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(249999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2907) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2908) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2909) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.43333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2910) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.48333333333333),srs::spar::lat_2<>(46.18333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2911) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(35.56666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2912) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.23333333333333),srs::spar::lat_2<>(33.93333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2913) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46),srs::spar::lat_2<>(44.33333333333334),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000.0001424),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2914) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(42.33333333333334),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000.0001464),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2915) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.41666666666666),srs::spar::lat_2<>(35.25),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2916) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.18333333333333),srs::spar::lat_2<>(34.65),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2917) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.96666666666667),srs::spar::lat_2<>(32.13333333333333),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000.0001016),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2918) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.88333333333333),srs::spar::lat_2<>(30.11666666666667),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2919) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.28333333333333),srs::spar::lat_2<>(28.38333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(3999999.9998984),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2920) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(5000000.0001016),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2921) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(999999.9999960001),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2922) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(1999999.999992),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2923) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(2999999.999988),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2924) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.2),srs::spar::lat_2<>(38.03333333333333),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000.0001016),srs::spar::y_0<>(2000000.0001016),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2925) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000.0001016),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2926) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.5),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2927) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.33333333333334),srs::spar::lat_2<>(45.83333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2928) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.76666666666667),srs::spar::lat_2<>(45.56666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2929) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.5),srs::spar::lat_2<>(44.25),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2930) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.06666666666667),srs::spar::lat_2<>(42.73333333333333),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2931) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-106,-87,188,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2932) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.45),srs::spar::lon_0<>(51.21666666666667),srs::spar::k<>(0.99999),srs::spar::x_0<>(200000),srs::spar::y_0<>(300000),srs::spar::ellps_intl(),srs::spar::towgs84<>(-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2933) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2934) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(110),srs::spar::k<>(0.997),srs::spar::x_0<>(3900000),srs::spar::y_0<>(900000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2935) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1166666666666667),srs::spar::lon_0<>(41.53333333333333),srs::spar::k<>(1),srs::spar::x_0<>(1300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2936) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1166666666666667),srs::spar::lon_0<>(44.53333333333333),srs::spar::k<>(1),srs::spar::x_0<>(2300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2937) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1166666666666667),srs::spar::lon_0<>(47.53333333333333),srs::spar::k<>(1),srs::spar::x_0<>(3300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2938) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1166666666666667),srs::spar::lon_0<>(50.53333333333333),srs::spar::k<>(1),srs::spar::x_0<>(4300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2939) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1333333333333333),srs::spar::lon_0<>(50.76666666666667),srs::spar::k<>(1),srs::spar::x_0<>(2300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2940) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1333333333333333),srs::spar::lon_0<>(53.76666666666667),srs::spar::k<>(1),srs::spar::x_0<>(3300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2941) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1333333333333333),srs::spar::lon_0<>(56.76666666666667),srs::spar::k<>(1),srs::spar::x_0<>(4300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2942) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-499,-249,314,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2943) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2944) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-55.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2945) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-58.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2946) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-61.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2947) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-64.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2948) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-67.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2949) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-70.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2950) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-73.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2951) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-76.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2952) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-79.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2953) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-66.5),srs::spar::k<>(0.999912),srs::spar::x_0<>(2500000),srs::spar::y_0<>(7500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2954) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(47.25),srs::spar::lon_0<>(-63),srs::spar::k<>(0.999912),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2955) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2956) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2957) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2958) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2959) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2960) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2961) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2962) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2963)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2964) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(55),srs::spar::lat_2<>(65),srs::spar::lat_0<>(50),srs::spar::lon_0<>(-154),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(99999.99989839978),srs::spar::y_0<>(249999.9998983998),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2966) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(249999.9998983998),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2967) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(99999.99989839978),srs::spar::y_0<>(249999.9998983998),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2968) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(249999.9998983998),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2969) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(137,248,-430,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2970) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2971) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-186,230,110,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2972) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2,2,-2,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2973) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2975) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<40>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2976) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<6>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(162,117,154,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2977) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2978) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2979) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<42>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(145,-187,103,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2980) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-382,-59,-262,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2981) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2982) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2983) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2984) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-20.66666666666667),srs::spar::lat_2<>(-22.33333333333333),srs::spar::lat_0<>(-21.5),srs::spar::lon_0<>(166),srs::spar::x_0<>(400000),srs::spar::y_0<>(300000),srs::spar::ellps_intl(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2985)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2986)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2987) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(30,430,368,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2988) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2989) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2990) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-21.11666666666667),srs::spar::lon_0<>(55.53333333333333),srs::spar::k<>(1),srs::spar::x_0<>(50000),srs::spar::y_0<>(160000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2991) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(41.75),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2992) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(41.75),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(399999.9999984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2993) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(41.75),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2994) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(41.75),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(399999.9999984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2995) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2996) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2997) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2998) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 2999) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3000) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(110),srs::spar::k<>(0.997),srs::spar::x_0<>(3900000),srs::spar::y_0<>(900000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3001) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(110),srs::spar::k<>(0.997),srs::spar::x_0<>(3900000),srs::spar::y_0<>(900000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3002) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(110),srs::spar::k<>(0.997),srs::spar::x_0<>(3900000),srs::spar::y_0<>(900000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-587.8,519.75,145.76,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3003) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(0.9996),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3004) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9996),srs::spar::x_0<>(2520000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3005) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(58.5),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-126),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3006) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3007) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3008) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.5),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3009) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3010) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.5),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3011) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3012) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(14.25),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3013) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15.75),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3014) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(17.25),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3015) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18.75),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3016) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(20.25),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3017) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21.75),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3018) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(23.25),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3019) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(11.30827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3020) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.55827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3021) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15.80827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3022) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18.05827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3023) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(20.30827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3024) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(22.55827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3025) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(11.30827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3026) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.55827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3027) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15.80827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3028) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18.05827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3029) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(20.30827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3030) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(22.55827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3031) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-71),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3032) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-71),srs::spar::lon_0<>(70),srs::spar::k<>(1),srs::spar::x_0<>(6000000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3033) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.5),srs::spar::lat_2<>(-74.5),srs::spar::lat_0<>(-50),srs::spar::lon_0<>(70),srs::spar::x_0<>(6000000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3034) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35),srs::spar::lat_2<>(65),srs::spar::lat_0<>(52),srs::spar::lon_0<>(10),srs::spar::x_0<>(4000000),srs::spar::y_0<>(2800000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3035) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(52),srs::spar::lon_0<>(10),srs::spar::x_0<>(4321000),srs::spar::y_0<>(3210000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3036) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<36>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,-0,-0,-0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3037) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<37>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,-0,-0,-0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3038) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3039) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3040) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3041) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3042) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3043) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3044) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3045) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3046) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3047) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3048) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3049) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3050) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3051) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3052)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3053)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3054) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<26>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-73,46,-86,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3055) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<27>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-73,46,-86,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3056) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-73,46,-86,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3057) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(64.25),srs::spar::lat_2<>(65.75),srs::spar::lat_0<>(65),srs::spar::lon_0<>(-19),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3058) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-8.5),srs::spar::k<>(1),srs::spar::x_0<>(50000),srs::spar::y_0<>(-7800000),srs::spar::ellps_intl(),srs::spar::towgs84<>(982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3059) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(-6000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3060) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3061) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3062) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3063) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3064) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3065) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3066) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(37),srs::spar::k<>(0.9998),srs::spar::x_0<>(500000),srs::spar::y_0<>(-3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3067) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3068) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(52.41864827777778),srs::spar::lon_0<>(13.62720366666667),srs::spar::x_0<>(40000),srs::spar::y_0<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3069) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(-4500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3070) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9996),srs::spar::x_0<>(520000),srs::spar::y_0<>(-4480000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3071) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9996),srs::spar::x_0<>(520000),srs::spar::y_0<>(-4480000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3072) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-67.875),srs::spar::k<>(0.99998),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3073) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-69.125),srs::spar::k<>(0.99998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3074) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.375),srs::spar::k<>(0.99998),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3075) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-67.875),srs::spar::k<>(0.99998),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3076) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-69.125),srs::spar::k<>(0.99998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3077) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.375),srs::spar::k<>(0.99998),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3078) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.25556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.496),srs::spar::y_0<>(-4354009.816)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3079) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.25556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.496),srs::spar::y_0<>(-4354009.816)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3080) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.41666666666667),srs::spar::lat_2<>(34.91666666666666),srs::spar::lat_0<>(31.16666666666667),srs::spar::lon_0<>(-100),srs::spar::x_0<>(914400),srs::spar::y_0<>(914400),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3081) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.41666666666667),srs::spar::lat_2<>(34.91666666666666),srs::spar::lat_0<>(31.16666666666667),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3082) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.5),srs::spar::lat_2<>(35),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1500000),srs::spar::y_0<>(5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3083) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(27.5),srs::spar::lat_2<>(35),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1500000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3084) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.5),srs::spar::lat_2<>(35),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1500000),srs::spar::y_0<>(5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3085) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(27.5),srs::spar::lat_2<>(35),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1500000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3086) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(24),srs::spar::lat_2<>(31.5),srs::spar::lat_0<>(24),srs::spar::lon_0<>(-84),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3087) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(24),srs::spar::lat_2<>(31.5),srs::spar::lat_0<>(24),srs::spar::lon_0<>(-84),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3088) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.08333333333334),srs::spar::lat_2<>(38.66666666666666),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3089) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.08333333333334),srs::spar::lat_2<>(38.66666666666666),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(1500000),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3090) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.08333333333334),srs::spar::lat_2<>(38.66666666666666),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3091) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.08333333333334),srs::spar::lat_2<>(38.66666666666666),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(1500000),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3092) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3093) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3094) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3095) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3096) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3097) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3098) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3099) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3100) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<54>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3101) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<55>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3102) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-14.26666666666667),srs::spar::lat_0<>(-14.26666666666667),srs::spar::lon_0<>(-170),srs::spar::k_0<>(1),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(95169.31165862332),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-115,118,426,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3103) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3104) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3105) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3106) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(90),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3107) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-28),srs::spar::lat_2<>(-36),srs::spar::lat_0<>(-32),srs::spar::lon_0<>(135),srs::spar::x_0<>(1000000),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3108) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(-2.416666666666667),srs::spar::k<>(0.999997),srs::spar::x_0<>(47000),srs::spar::y_0<>(50000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3109) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(49.225),srs::spar::lon_0<>(-2.135),srs::spar::k<>(0.9999999000000001),srs::spar::x_0<>(40000),srs::spar::y_0<>(70000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3110) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-36),srs::spar::lat_2<>(-38),srs::spar::lat_0<>(-37),srs::spar::lon_0<>(145),srs::spar::x_0<>(2500000),srs::spar::y_0<>(4500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3111) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-36),srs::spar::lat_2<>(-38),srs::spar::lat_0<>(-37),srs::spar::lon_0<>(145),srs::spar::x_0<>(2500000),srs::spar::y_0<>(2500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3112) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-18),srs::spar::lat_2<>(-36),srs::spar::lat_0<>(0),srs::spar::lon_0<>(134),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3113) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-28),srs::spar::lon_0<>(153),srs::spar::k<>(0.99999),srs::spar::x_0<>(50000),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3114) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.596200416666666),srs::spar::lon_0<>(-80.07750791666666),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3115) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.596200416666666),srs::spar::lon_0<>(-77.07750791666666),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3116) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.596200416666666),srs::spar::lon_0<>(-74.07750791666666),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3117) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.596200416666666),srs::spar::lon_0<>(-71.07750791666666),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3118) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.596200416666666),srs::spar::lon_0<>(-68.07750791666666),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3119) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(10.5),srs::spar::k<>(0.999),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206.1,-174.7,-87.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3120) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(50.625),srs::spar::lon_0<>(21.08333333333333),srs::spar::k<>(0.9998),srs::spar::x_0<>(4637000),srs::spar::y_0<>(5467000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3121) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3122) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(119),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3123) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(121),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3124) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3125) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(125),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3126) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(19),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3127) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(20),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3128) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3129) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(22),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3130) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(23),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3131) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3132) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(25),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3133) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(26),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3134) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3135) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(28),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3136) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(29),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3137) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3138) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3139)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3140) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(-18),srs::spar::lon_0<>(178),srs::spar::x_0<>(109435.392),srs::spar::y_0<>(141622.272),srs::spar::a<>(6378306.3696),srs::spar::b<>(6356571.996),srs::spar::towgs84<>(51,391,-36,0,0,0,0),srs::spar::to_meter<>(0.201168)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3141) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<60>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(265.025,384.929,-194.046,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3142) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<1>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(265.025,384.929,-194.046,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3143) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-17),srs::spar::lon_0<>(178.75),srs::spar::k<>(0.99985),srs::spar::x_0<>(2000000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3144)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3145)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3146) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3147) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3148) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3149) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3150) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3151) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3152) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18.05779),srs::spar::k<>(0.99999425),srs::spar::x_0<>(100178.1808),srs::spar::y_0<>(-6500614.7836),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3153) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(58.5),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-126),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3154) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3155) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3156) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3157) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3158) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3159) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3160) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3161) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.5),srs::spar::lat_2<>(53.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-85),srs::spar::x_0<>(930000),srs::spar::y_0<>(6430000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3162) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.5),srs::spar::lat_2<>(53.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-85),srs::spar::x_0<>(930000),srs::spar::y_0<>(6430000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3163) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-20.66666666666667),srs::spar::lat_2<>(-22.33333333333333),srs::spar::lat_0<>(-21.5),srs::spar::lon_0<>(166),srs::spar::x_0<>(400000),srs::spar::y_0<>(300000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3164) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(-56.263,16.136,-22.856,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3165) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-22.24469175),srs::spar::lat_2<>(-22.29469175),srs::spar::lat_0<>(-22.26969175),srs::spar::lon_0<>(166.44242575),srs::spar::x_0<>(0.66),srs::spar::y_0<>(1.02)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3166) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-22.24472222222222),srs::spar::lat_2<>(-22.29472222222222),srs::spar::lat_0<>(-22.26972222222222),srs::spar::lon_0<>(166.4425),srs::spar::x_0<>(8.313000000000001),srs::spar::y_0<>(-2.354)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3167) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(102.25),srs::spar::alpha<>(323.0257905),srs::spar::k<>(0.99984),srs::spar::x_0<>(40000),srs::spar::y_0<>(0),srs::spar::a<>(6377295.664),srs::spar::b<>(6356094.667915204),srs::spar::to_meter<>(20.116756)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3168) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(102.25),srs::spar::alpha<>(323.0257905),srs::spar::k<>(0.99984),srs::spar::x_0<>(804670.24),srs::spar::y_0<>(0),srs::spar::a<>(6377295.664),srs::spar::b<>(6356094.667915204)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3169) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<57>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3170) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3171) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<59>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3172) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3173)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3174) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(42.122774),srs::spar::lat_2<>(49.01518),srs::spar::lat_0<>(45.568977),srs::spar::lon_0<>(-84.455955),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3175) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(42.122774),srs::spar::lat_2<>(49.01518),srs::spar::lat_0<>(45.568977),srs::spar::lon_0<>(-83.248627),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3176) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(106),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3177) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(17),srs::spar::k<>(0.9965000000000001),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3178) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3179) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3180) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3181) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3182) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3183) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<23>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3184) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<24>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3185) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<25>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3186) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<26>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3187) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<27>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3188) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3189) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3190) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3191) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(11),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3192) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3193) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3194) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(17),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3195) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(19),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3196) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3197) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(23),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3198) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(25),srs::spar::k<>(0.99995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3199) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3200) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_0<>(32.5),srs::spar::lon_0<>(45),srs::spar::k_0<>(0.9987864078000001),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1166200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3201) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3202) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3203) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3204) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-60.66666666666666),srs::spar::lat_2<>(-63.33333333333334),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-66),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3205) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-60.66666666666666),srs::spar::lat_2<>(-63.33333333333334),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-54),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3206) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-60.66666666666666),srs::spar::lat_2<>(-63.33333333333334),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-42),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3207) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-174),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3208) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-66),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3209) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-54),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3210) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(42),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3211) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(54),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3212) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(66),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3213) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(78),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3214) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(90),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3215) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(102),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3216) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(114),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3217) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(126),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3218) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(138),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3219) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(150),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3220) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-64.66666666666667),srs::spar::lat_2<>(-67.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(162),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3221) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-102),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3222) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-90),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3223) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-78),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3224) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-66),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3225) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-18),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3226) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-6),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3227) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(6),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3228) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(18),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3229) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(30),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3230) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(42),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3231) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(54),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3232) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(66),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3233) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(78),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3234) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(90),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3235) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(102),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3236) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(114),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3237) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(126),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3238) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(138),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3239) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(150),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3240) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(162),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3241) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-68.66666666666667),srs::spar::lat_2<>(-71.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(174),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3242) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-153),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3243) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-135),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3244) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-117),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3245) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-99),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3246) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-81),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3247) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-63),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3248) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-27),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3249) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-9),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3250) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(9),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3251) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(27),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3252) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(45),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3253) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(63),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3254) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(81),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3255) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(99),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3256) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(117),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3257) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(135),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3258) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(153),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3259) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-72.66666666666667),srs::spar::lat_2<>(-75.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(171),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3260) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-168),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3261) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-144),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3262) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-120),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3263) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3264) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-72),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3265) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-48),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3266) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-24),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3267) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3268) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(24),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3269) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(48),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3270) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(72),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3271) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3272) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(120),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3273) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(144),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3274) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(168),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3275) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-165),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3276) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-135),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3277) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-105),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3278) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-75),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3279) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-45),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3280) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-15),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3281) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3282) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3283) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3284) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3285) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3286) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3287) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-150),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3288) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-90),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3289) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(-30),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3290) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(30),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3291) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(90),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3292) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(150),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3293) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-80.23861111111111),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3294) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-76.66666666666667),srs::spar::lat_2<>(-79.33333333333333),srs::spar::lat_0<>(-78),srs::spar::lon_0<>(162),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3295)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3296) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3297) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3298) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3299) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3300) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(59.33333333333334),srs::spar::lat_2<>(58),srs::spar::lat_0<>(57.51755393055556),srs::spar::lon_0<>(24),srs::spar::x_0<>(500000),srs::spar::y_0<>(6375000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3301) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(59.33333333333334),srs::spar::lat_2<>(58),srs::spar::lat_0<>(57.51755393055556),srs::spar::lon_0<>(24),srs::spar::x_0<>(500000),srs::spar::y_0<>(6375000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3302) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3303) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<7>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3304) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3305) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<6>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3306) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<5>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(217.037,86.959,23.956,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3307) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,-0.15,0.68,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3308) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-30.75),srs::spar::lat_2<>(-35.75),srs::spar::lat_0<>(-33.25),srs::spar::lon_0<>(147),srs::spar::x_0<>(9300000),srs::spar::y_0<>(4500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3309) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(34),srs::spar::lat_2<>(40.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::x_0<>(0),srs::spar::y_0<>(-4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3310) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(34),srs::spar::lat_2<>(40.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::x_0<>(0),srs::spar::y_0<>(-4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3311) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(34),srs::spar::lat_2<>(40.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::x_0<>(0),srs::spar::y_0<>(-4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3312) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-186,230,110,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3313) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2,2,-2,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3314) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-6.5),srs::spar::lat_2<>(-11.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(26),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3315) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-9),srs::spar::lon_0<>(26),srs::spar::k<>(0.9998),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3316) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(22),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3317) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3318) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3319) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(14),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3320) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3321) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3322) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(20),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3323) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(22),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3324) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3325) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(26),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3326) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(28),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3327) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(30),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3328) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(52.16666666666666),srs::spar::lon_0<>(19.16666666666667),srs::spar::k<>(0.999714),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3329) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3330) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3331) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3332) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3333) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3334) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3335) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3336) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<42>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(145,-187,103,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3337) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-20.19506944444445),srs::spar::lat_0<>(-20.19506944444445),srs::spar::lon_0<>(57.52182777777778),srs::spar::k_0<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-770.1,158.4,-498.2,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3338) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(55),srs::spar::lat_2<>(65),srs::spar::lat_0<>(50),srs::spar::lon_0<>(-154),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3339) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-79.9,-158,-168.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3340) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(14),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-79.9,-158,-168.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3341) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-79.9,-158,-168.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3342) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::south,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::south(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-79.9,-158,-168.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3343) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3344) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3345) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<30>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3346) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3347) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(77),srs::spar::lat_0<>(63.390675),srs::spar::lon_0<>(-91.86666666666666),srs::spar::x_0<>(6200000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3348) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(77),srs::spar::lat_0<>(63.390675),srs::spar::lon_0<>(-91.86666666666666),srs::spar::x_0<>(6200000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3349) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(-150),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3350) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1),srs::spar::lon_0<>(21.95),srs::spar::k<>(1),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3351) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1),srs::spar::lon_0<>(24.95),srs::spar::k<>(1),srs::spar::x_0<>(1250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3352) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0.1),srs::spar::lon_0<>(27.95),srs::spar::k<>(1),srs::spar::x_0<>(2250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3353) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3354) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3355) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_helmert,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(615000),srs::spar::y_0<>(810000),srs::spar::ellps_helmert(),srs::spar::towgs84<>(-146.21,112.63,4.05,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3356) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(67.8,106.1,138.8,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3357) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3358) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.22),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3359) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.2192024385),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3360) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.83333333333334),srs::spar::lat_2<>(32.5),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3361) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.83333333333334),srs::spar::lat_2<>(32.5),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3362) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.95),srs::spar::lat_2<>(40.88333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3363) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.95),srs::spar::lat_2<>(40.88333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3364) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.96666666666667),srs::spar::lat_2<>(39.93333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3365) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.96666666666667),srs::spar::lat_2<>(39.93333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3366) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(22.31213333333334),srs::spar::lon_0<>(114.1785555555556),srs::spar::x_0<>(40243.57775604237),srs::spar::y_0<>(19069.93351512578),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3367) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3368) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3369) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3370) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3371) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3372) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3373) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3374) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3375) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(102.25),srs::spar::alpha<>(323.0257964666666),srs::spar::k<>(0.99984),srs::spar::x_0<>(804671),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3376) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(115),srs::spar::alpha<>(53.31580995),srs::spar::k<>(0.99984),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3377) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(2.121679744444445),srs::spar::lon_0<>(103.4279362361111),srs::spar::x_0<>(-14810.562),srs::spar::y_0<>(8758.32)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3378) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(2.682347636111111),srs::spar::lon_0<>(101.9749050416667),srs::spar::x_0<>(3673.785),srs::spar::y_0<>(-4240.573)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3379) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(3.769388088888889),srs::spar::lon_0<>(102.3682989833333),srs::spar::x_0<>(-7368.228),srs::spar::y_0<>(6485.858)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3380) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(3.68464905),srs::spar::lon_0<>(101.3891079138889),srs::spar::x_0<>(-34836.161),srs::spar::y_0<>(56464.049)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3381) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(4.9762852),srs::spar::lon_0<>(103.070275625),srs::spar::x_0<>(19594.245),srs::spar::y_0<>(3371.895)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3382) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(5.421517541666667),srs::spar::lon_0<>(100.3443769638889),srs::spar::x_0<>(-23.414),srs::spar::y_0<>(62.283)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3383) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(5.964672713888889),srs::spar::lon_0<>(100.6363711111111),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3384) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(4.859063022222222),srs::spar::lon_0<>(100.8154105861111),srs::spar::x_0<>(-1.769),srs::spar::y_0<>(133454.779)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3385) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(5.972543658333334),srs::spar::lon_0<>(102.2952416694444),srs::spar::x_0<>(13227.851),srs::spar::y_0<>(8739.894)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3386) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3387) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3388) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3389) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(180),srs::spar::k<>(1),srs::spar::x_0<>(60500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3390) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(180),srs::spar::k<>(1),srs::spar::x_0<>(60500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3391) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<37>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(84.1,-320.1,218.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3392) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(84.1,-320.1,218.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3393) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(84.1,-320.1,218.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3394) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_0<>(32.5),srs::spar::lon_0<>(45),srs::spar::k_0<>(0.9987864078000001),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1166200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3395) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3396) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3397) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3398) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3399) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3400) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-115),srs::spar::k<>(0.9992),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3401) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-115),srs::spar::k<>(0.9992),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3402) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-115),srs::spar::k<>(0.9992),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3403) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-115),srs::spar::k<>(0.9992),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3404) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3405) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::ellps_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3406) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3407) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(22.31213333333334),srs::spar::lon_0<>(114.1785555555556),srs::spar::x_0<>(40243.57775604237),srs::spar::y_0<>(19069.93351512578),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838),srs::spar::to_meter<>(0.3047972654)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3408) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371228)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3409) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371228)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3410) srs::spar::parameters<srs::spar::proj_cea,srs::spar::lon_0<>,srs::spar::lat_ts<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cea(),srs::spar::lon_0<>(0),srs::spar::lat_ts<>(30),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371228)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3411) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lat_ts<>(70),srs::spar::lon_0<>(-45),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378273),srs::spar::b<>(6356889.449)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3412) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-70),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378273),srs::spar::b<>(6356889.449)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3413) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lat_ts<>(70),srs::spar::lon_0<>(-45),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3414) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(1.366666666666667),srs::spar::lon_0<>(103.8333333333333),srs::spar::k<>(1),srs::spar::x_0<>(28001.642),srs::spar::y_0<>(38744.572)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3415) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18),srs::spar::lat_2<>(24),srs::spar::lat_0<>(21),srs::spar::lon_0<>(114),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3416) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(46),srs::spar::lat_0<>(47.5),srs::spar::lon_0<>(13.33333333333333),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3417) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(999999.9999898402),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3418) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3419) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3420) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(399999.99998984),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3421) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000.00001016),srs::spar::y_0<>(8000000.000010163),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3422) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(6000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3423) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(3999999.99998984),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3424) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3425) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(999999.9999898402),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3426) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3427) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3428) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(399999.99998984),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3429) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000.00001016),srs::spar::y_0<>(8000000.000010163),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3430) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(6000000),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3431) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(3999999.99998984),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3432) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3433) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3434) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(399999.99998984),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3435) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3436) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(699999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3437) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3438) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(99999.99998983997),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3439) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3440) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3441) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3442) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(399999.99998984),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3443) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3444) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(699999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3445) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3446) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(99999.99998983997),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3447) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.83333333333334),srs::spar::lat_2<>(51.16666666666666),srs::spar::lat_0<>(50.797815),srs::spar::lon_0<>(4.359215833333333),srs::spar::x_0<>(150328),srs::spar::y_0<>(166262)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3448) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-77),srs::spar::k_0<>(1),srs::spar::x_0<>(750000),srs::spar::y_0<>(650000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3449) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3450) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3451) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.66666666666666),srs::spar::lat_2<>(31.16666666666667),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3452) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.7),srs::spar::lat_2<>(29.3),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3453) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3454) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3455) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3456) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.66666666666666),srs::spar::lat_2<>(31.16666666666667),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3457) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.7),srs::spar::lat_2<>(29.3),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3458) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.68333333333333),srs::spar::lat_2<>(44.41666666666666),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3459) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3460) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-17),srs::spar::lon_0<>(178.75),srs::spar::k<>(0.99985),srs::spar::x_0<>(2000000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3461) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-83,37,124,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3462) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-83,37,124,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3463) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.5),srs::spar::lon_0<>(-69.125),srs::spar::k<>(0.99998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.5),srs::spar::lon_0<>(-69.125),srs::spar::k<>(0.99998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-85.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3466) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-87.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3467) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(55),srs::spar::lat_2<>(65),srs::spar::lat_0<>(50),srs::spar::lon_0<>(-154),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3468) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(57),srs::spar::lonc<>(-133.6666666666667),srs::spar::alpha<>(323.1301023611111),srs::spar::k<>(0.9999),srs::spar::x_0<>(5000000),srs::spar::y_0<>(-5000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3469) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-142),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3470) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-146),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3471) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-150),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3472) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-154),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3473) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-158),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3474) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-162),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3475) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-166),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3476) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-170),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3477) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(53.83333333333334),srs::spar::lat_2<>(51.83333333333334),srs::spar::lat_0<>(51),srs::spar::lon_0<>(-176),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3478) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3479) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3480) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3481) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3482) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3483) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3484) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3485) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3486) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3487) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(399999.99998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3488) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(34),srs::spar::lat_2<>(40.5),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::x_0<>(0),srs::spar::y_0<>(-4000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3489) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3490) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3491) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3492) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3493) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3494) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3495) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3496) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3497) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3498) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3499) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3500) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000.0001016),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3501) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3502) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3503) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.78333333333333),srs::spar::lat_2<>(39.71666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3504) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.78333333333333),srs::spar::lat_2<>(39.71666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3505) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3506) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(304800.6096012192),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3507) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096),srs::spar::y_0<>(152400.3048),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3508) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096012192),srs::spar::y_0<>(152400.3048006096),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3509) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3510) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3511) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3512) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3513) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(24),srs::spar::lat_2<>(31.5),srs::spar::lat_0<>(24),srs::spar::lon_0<>(-84),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3514) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3515) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3516) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3517) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3518) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3519) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3520) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3521) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3522) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3523) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3524) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3525) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3526) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(800000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3527) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(800000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3528) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3529) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3530) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3531) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(699999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3532) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(100000),srs::spar::y_0<>(250000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3533) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(99999.99989839978),srs::spar::y_0<>(249999.9998983998),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3534) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(250000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3535) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(249999.9998983998),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3536) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3537) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(999999.9999898402),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3538) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3539) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3540) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3541) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3542) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3543) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(399999.99998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3544) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3545) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3546) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.08333333333334),srs::spar::lat_2<>(38.66666666666666),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3547) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.08333333333334),srs::spar::lat_2<>(38.66666666666666),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(1500000),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3548) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.93333333333333),srs::spar::lat_2<>(36.73333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3549) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.93333333333333),srs::spar::lat_2<>(36.73333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(500000.0001016001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3550) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.66666666666666),srs::spar::lat_2<>(31.16666666666667),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3551) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.66666666666666),srs::spar::lat_2<>(31.16666666666667),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3552) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.7),srs::spar::lat_2<>(29.3),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3553) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.7),srs::spar::lat_2<>(29.3),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(999999.9999898402),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3554) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.5),srs::spar::lon_0<>(-69.125),srs::spar::k<>(0.99998),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3555) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-67.875),srs::spar::k<>(0.99998),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3556) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.375),srs::spar::k<>(0.99998),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3557) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3558) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3559) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.45),srs::spar::lat_2<>(38.3),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3560) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(999999.9999898402),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3561) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(18.83333333333333),srs::spar::lon_0<>(-155.5),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3562) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20.33333333333333),srs::spar::lon_0<>(-156.6666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3563) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.83333333333333),srs::spar::lon_0<>(-159.5),srs::spar::k<>(0.99999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.66666666666667),srs::spar::lon_0<>(-160.1666666666667),srs::spar::k<>(1),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3566) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(2000000.00001016),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3567) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3568) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(999999.9999898402),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3569) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(2000000.00001016),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3570) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3571) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(180),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(-150),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(-100),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3574) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(-40),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3575) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(10),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3576) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(90),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3577) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(-18),srs::spar::lat_2<>(-36),srs::spar::lat_0<>(0),srs::spar::lon_0<>(132),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3578) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(61.66666666666666),srs::spar::lat_2<>(68),srs::spar::lat_0<>(59),srs::spar::lon_0<>(-132.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3579) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(61.66666666666666),srs::spar::lat_2<>(68),srs::spar::lat_0<>(59),srs::spar::lon_0<>(-132.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3580) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(62),srs::spar::lat_2<>(70),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-112),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3581) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(62),srs::spar::lat_2<>(70),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-112),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3582) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.45),srs::spar::lat_2<>(38.3),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(399999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3583) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.48333333333333),srs::spar::lat_2<>(41.28333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3584) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.48333333333333),srs::spar::lat_2<>(41.28333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3585) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.68333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(750000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3586) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.68333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(750000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3587) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.7),srs::spar::lat_2<>(44.18333333333333),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(6000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3588) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.7),srs::spar::lat_2<>(44.18333333333333),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(5999999.999976001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3589) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.08333333333334),srs::spar::lat_2<>(45.48333333333333),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(8000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3590) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.08333333333334),srs::spar::lat_2<>(45.48333333333333),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(7999999.999968001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3591) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.25556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.496),srs::spar::y_0<>(-4354009.816),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3592) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.66666666666666),srs::spar::lat_2<>(42.1),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(4000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3593) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.66666666666666),srs::spar::lat_2<>(42.1),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(3999999.999984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3594) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3595) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3596) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3597) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3598) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3599) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3600) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3601) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-92.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3602) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-90.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(250000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3603) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.16666666666666),srs::spar::lon_0<>(-94.5),srs::spar::k<>(0.999941177),srs::spar::x_0<>(850000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3604) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(45),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3605) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(45),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3606) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3607) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(6000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3608) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(6000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3609) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(8000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3610) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000.00001016),srs::spar::y_0<>(8000000.000010163),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3611) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000),srs::spar::y_0<>(4000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3612) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(3999999.99998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3613) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3614) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3615) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3616) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3617) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3618) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3619) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(165000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3620) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(165000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3621) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(830000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3622) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(830000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3623) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(250000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3624) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(249999.9998983998),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3625) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3626) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3627) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3628) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3629) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3630) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3631) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.22),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3632) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3633) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.43333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3634) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.43333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3635) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.48333333333333),srs::spar::lat_2<>(46.18333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3636) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.48333333333333),srs::spar::lat_2<>(46.18333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(599999.9999976),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3637) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.7),srs::spar::lat_2<>(40.43333333333333),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3638) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.03333333333333),srs::spar::lat_2<>(38.73333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3639) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(35.56666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3640) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(35.56666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3641) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.23333333333333),srs::spar::lat_2<>(33.93333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3642) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.23333333333333),srs::spar::lat_2<>(33.93333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3643) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(41.75),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3644) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(41.75),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(399999.9999984),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3645) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46),srs::spar::lat_2<>(44.33333333333334),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3646) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46),srs::spar::lat_2<>(44.33333333333334),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000.0001424),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3647) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(42.33333333333334),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3648) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(42.33333333333334),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000.0001464),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3649) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.95),srs::spar::lat_2<>(40.88333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3650) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.95),srs::spar::lat_2<>(40.88333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3651) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.96666666666667),srs::spar::lat_2<>(39.93333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3652) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.96666666666667),srs::spar::lat_2<>(39.93333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3653) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(100000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3654) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(99999.99998983997),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3655) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.83333333333334),srs::spar::lat_2<>(32.5),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3656) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.83333333333334),srs::spar::lat_2<>(32.5),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3657) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.68333333333333),srs::spar::lat_2<>(44.41666666666666),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3658) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.68333333333333),srs::spar::lat_2<>(44.41666666666666),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3659) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3660) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3661) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.41666666666666),srs::spar::lat_2<>(35.25),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3662) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.41666666666666),srs::spar::lat_2<>(35.25),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3663) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.88333333333333),srs::spar::lat_2<>(30.11666666666667),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(700000),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3664) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.88333333333333),srs::spar::lat_2<>(30.11666666666667),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(699999.9998983998),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3665) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(27.5),srs::spar::lat_2<>(35),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1500000),srs::spar::y_0<>(6000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3666) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.5),srs::spar::lat_2<>(35),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-100),srs::spar::x_0<>(1500000),srs::spar::y_0<>(5000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3667) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.18333333333333),srs::spar::lat_2<>(34.65),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3668) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.18333333333333),srs::spar::lat_2<>(34.65),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000.0001016002),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3669) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.96666666666667),srs::spar::lat_2<>(32.13333333333333),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3670) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.96666666666667),srs::spar::lat_2<>(32.13333333333333),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000.0001016),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3671) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000),srs::spar::y_0<>(5000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3672) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(5000000.0001016),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3673) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.28333333333333),srs::spar::lat_2<>(28.38333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(4000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3674) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.28333333333333),srs::spar::lat_2<>(28.38333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(3999999.9998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3675) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3676) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(1999999.999992),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3677) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(2000000.00001016),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3678) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3679) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(999999.9999960001),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3680) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(999999.9999898402),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3681) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3682) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0001504),srs::spar::y_0<>(2999999.999988),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3683) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3684) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-72.5),srs::spar::k<>(0.999964286),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3685) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.2),srs::spar::lat_2<>(38.03333333333333),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3686) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.2),srs::spar::lat_2<>(38.03333333333333),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000.0001016),srs::spar::y_0<>(2000000.0001016),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3687) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3688) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000.0001016),srs::spar::y_0<>(999999.9998983998),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3689) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.5),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3690) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.5),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3691) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.33333333333334),srs::spar::lat_2<>(45.83333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3692) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.33333333333334),srs::spar::lat_2<>(45.83333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000.0001016001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3693) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3694) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3695) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.5),srs::spar::lat_2<>(44.25),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3696) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.5),srs::spar::lat_2<>(44.25),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3697) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.76666666666667),srs::spar::lat_2<>(45.56666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3698) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.76666666666667),srs::spar::lat_2<>(45.56666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3699) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.06666666666667),srs::spar::lat_2<>(42.73333333333333),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3700) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.06666666666667),srs::spar::lat_2<>(42.73333333333333),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3701) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9996),srs::spar::x_0<>(520000),srs::spar::y_0<>(-4480000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3702) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3703) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(400000),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3704) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3705) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3706) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<59>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3707) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<60>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3708) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<1>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3709) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<2>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3710) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<3>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3711) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<4>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3712) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<5>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3713) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<6>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3714) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<7>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3715) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<8>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3716) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<9>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3717) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<10>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3718) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<11>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3719) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<12>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3720) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<13>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3721) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<14>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3722) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<15>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3723) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<16>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3724) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3725) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3726) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3727) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-21.11666666666667),srs::spar::lon_0<>(55.53333333333333),srs::spar::k<>(1),srs::spar::x_0<>(160000),srs::spar::y_0<>(50000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3728) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.7),srs::spar::lat_2<>(40.43333333333333),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3729) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.03333333333333),srs::spar::lat_2<>(38.73333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3730) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3731) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3732) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3733) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3734) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.7),srs::spar::lat_2<>(40.43333333333333),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3735) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.03333333333333),srs::spar::lat_2<>(38.73333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3736) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3737) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3738) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3739) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3740) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3741) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3742) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3743) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3744) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3745) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3746) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3747) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3748) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3749) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3750) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3751) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3752) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::lat_ts<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(100),srs::spar::lat_ts<>(-41),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3753) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.7),srs::spar::lat_2<>(40.43333333333333),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3754) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.03333333333333),srs::spar::lat_2<>(38.73333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3755) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3756) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(399999.99998984),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3757) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3758) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3759) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3760) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3761) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3762) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-54),srs::spar::lat_2<>(-54.75),srs::spar::lat_0<>(-55),srs::spar::lon_0<>(-37),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3763) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66825833333333),srs::spar::lon_0<>(-8.133108333333334),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3764) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-44),srs::spar::lon_0<>(-176.5),srs::spar::k<>(1),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3765) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3766) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.91666666666666),srs::spar::lat_2<>(43.08333333333334),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.5),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3767) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3768) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3769) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3770) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(32),srs::spar::lon_0<>(-64.75),srs::spar::k<>(1),srs::spar::x_0<>(550000),srs::spar::y_0<>(100000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3771) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-111),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3772) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3773) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-117),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3774) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3775) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-111),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3776) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3777) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-117),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3778) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3779) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-111),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3780) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3781) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-117),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3782) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3783) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-25.06855261111111),srs::spar::lon_0<>(-130.1129671111111),srs::spar::k<>(1),srs::spar::x_0<>(14200),srs::spar::y_0<>(15500),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3784) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<9>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(185,165,42,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3785) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6378137),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3786) srs::spar::parameters<srs::spar::proj_eqc,srs::spar::lat_ts<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqc(),srs::spar::lat_ts<>(0),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371007)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3787) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3788) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(166),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(10000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3789) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(169),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(10000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3790) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(179),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(10000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3791) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-178),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(10000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3793) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-176.5),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(10000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3794) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(-5000000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3795) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(23),srs::spar::lat_2<>(21.7),srs::spar::lat_0<>(22.35),srs::spar::lon_0<>(-81),srs::spar::x_0<>(500000),srs::spar::y_0<>(280296.016)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3796) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(21.3),srs::spar::lat_2<>(20.13333333333333),srs::spar::lat_0<>(20.71666666666667),srs::spar::lon_0<>(-76.83333333333333),srs::spar::x_0<>(500000),srs::spar::y_0<>(229126.939)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3797) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(46),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-70),srs::spar::x_0<>(800000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3798) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(46),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-70),srs::spar::x_0<>(800000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3799) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(46),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-70),srs::spar::x_0<>(800000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3800) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3801) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3802) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-120),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3814)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3815)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3816)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3819) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(595.48,121.69,515.35,4.115,2.9383,-0.853,-0.7029504596901044)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3821) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3822)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3823) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3824) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3825)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3826)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3827)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3828)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3829)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3832)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3833)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3834)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3835)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3836)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3837)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3838)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3839)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3840)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3841)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3842)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3843)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3844)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3845)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3846)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3847)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3848)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3849)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3850)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3920) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(11,72,-101,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3942) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.25),srs::spar::lat_2<>(42.75),srs::spar::lat_0<>(42),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(1200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3943) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.25),srs::spar::lat_2<>(43.75),srs::spar::lat_0<>(43),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(2200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3944) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.25),srs::spar::lat_2<>(44.75),srs::spar::lat_0<>(44),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(3200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3945) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.25),srs::spar::lat_2<>(45.75),srs::spar::lat_0<>(45),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(4200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3946) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.25),srs::spar::lat_2<>(46.75),srs::spar::lat_0<>(46),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(5200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3947) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.25),srs::spar::lat_2<>(47.75),srs::spar::lat_0<>(47),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(6200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3948) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.25),srs::spar::lat_2<>(48.75),srs::spar::lat_0<>(48),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(7200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3949) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.25),srs::spar::lat_2<>(49.75),srs::spar::lat_0<>(49),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(8200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3950) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.25),srs::spar::lat_2<>(50.75),srs::spar::lat_0<>(50),srs::spar::lon_0<>(3),srs::spar::x_0<>(1700000),srs::spar::y_0<>(9200000),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3991) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18.43333333333333),srs::spar::lat_2<>(18.03333333333333),srs::spar::lat_0<>(17.83333333333333),srs::spar::lon_0<>(-66.43333333333334),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(11,72,-101,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3992) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18.43333333333333),srs::spar::lat_2<>(18.03333333333333),srs::spar::lat_0<>(17.83333333333333),srs::spar::lon_0<>(-66.43333333333334),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(30480.06096012192),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(11,72,-101,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3993)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3994)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3995)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3996)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 3997)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4001) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4002) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4003) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4004) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4005) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4006) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bess_nam,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4007) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4008) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4009) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4010) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300.789),srs::spar::b<>(6356566.435)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4011) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4012) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4013) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4014) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.996941779)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4015) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4016) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_evrstss,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4018) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4019) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4020) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4021) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4022) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4024) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4025) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4027) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6376523),srs::spar::b<>(6355862.933255573)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4028) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378298.3),srs::spar::b<>(6356657.142669561)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4029) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4030) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4031) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4032) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378136.2),srs::spar::b<>(6356751.516927429)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4033) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378136.3),srs::spar::b<>(6356751.616592146)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4034) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.144808011),srs::spar::b<>(6356514.966204134)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4035) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4036) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs67,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4041) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4042) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4043) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4044) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4045) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4047) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6371007)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4052) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6370997)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4053) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6371228)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4054) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378273),srs::spar::b<>(6356889.449)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4055) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6378137),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4120) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4121) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-199.87,74.79,246.62,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4122) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4123) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4124) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4125) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-404.78,685.68,45.47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4126) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4127) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4128) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4129) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4130) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,-0,-0,-0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4131) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4132) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4133) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4134) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4135) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4136) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4137) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4138) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4139) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(11,72,-101,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4140) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4141) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-48,55,52,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4142) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-125,53,467,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4143) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-124.76,53,466.79,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4144) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4145) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4146) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4147) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-17.51,-108.32,-62.39,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4148) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4149) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(674.374,15.056,405.346,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4150) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(674.374,15.056,405.346,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4151) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4152) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4153) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-133.63,-157.5,-158.62,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4154) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4155) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-83,37,124,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4156) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4157) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4158) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4159) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4160) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4161) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(27.5,14,186.4,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4162) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4163) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4164) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-76,-138,67,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4165) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-173,253,27,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4166) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4167) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4168) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189),srs::spar::towgs84<>(-199,32,322,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4169) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-115,118,426,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4170) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4171) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4172) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4173) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4174) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4175) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-88,4,101,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4176) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4178) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(24,-123,-94,0.02,-0.25,-0.13,1.1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4179) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4180) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4181) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-193,13.7,-39.3,-0.41,-2.933,2.688,0.43)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4182) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4183) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-104,167,-38,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4184) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-203,141,53,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4185) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4188) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_airy(),srs::spar::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4189) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4190) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4191) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4192) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206.1,-174.7,-87.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4193) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-70.9,-151.8,-41.4,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4194) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4195) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(105,326,-102.5,0,0,0.814,-0.6)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4196) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-45,417,-3.5,0,0,0.814,-0.6)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4197) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4198) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4199) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4202) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4203) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4204) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4205) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-43,-163,45,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4206) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4207) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4208) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4209) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4210) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4211) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4212) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(31.95,300.99,419.19,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4213) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-106,-87,188,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4214) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4215) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4216) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4218) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4219) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-384,664,-48,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4220) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4221) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4222) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4223) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4224) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-134,229,-29,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4225) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206,172,-6,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4226) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4227) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4228) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4229) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4230) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4231) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4232) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4233) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-133,-321,50,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4234) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4235) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4236) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-637,-549,-203,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4237) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs67,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4238) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4239) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(217,823,299,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4240) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4241) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.144808011),srs::spar::b<>(6356514.966204134)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4242) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4243) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4244) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(-97,787,86,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4245) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155),srs::spar::towgs84<>(-11,851,5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4246) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-294.7,-200.1,525.5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4247) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-273.5,110.6,-357.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4248) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4249) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4250) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-130,29,364,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4251) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-90,40,88,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4252) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4253) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4254) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4255) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-333,-222,114,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4256) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(41,-220,-134,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4257) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-587.8,519.75,145.76,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4258) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4259) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4260) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-70.9,-151.8,-41.4,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4261) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31,146,47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4262) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(639,405,60,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4263) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4264) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-252.95,-4.11,-96.38,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4265) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4266) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4267) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4268) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4269) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4270) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4271) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4272) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4273) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4274) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4275) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4276) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4277) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::datum_osgb36,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4278) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4279) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4280) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4281) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300.789),srs::spar::b<>(6356566.435),srs::spar::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4282) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4283) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4284) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4285) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4286) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4287) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(164,138,-189,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4288) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4289) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4291) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs67,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4292) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-355,21,72,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4293) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bess_nam,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4294) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4295) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4296) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4297) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189,-242,-91,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4298) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_evrstss,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4299) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4302) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4303) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4304) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-73,-247,227,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4306) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4307) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4308) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4309) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-155,171,37,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4310) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4311) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-265,120,-358,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4312) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4313) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4314) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4315) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-23,259,-9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4316) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4317) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4318) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(-3.2,-5.7,2.8,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4319) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4322) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4324) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4326) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4327) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4328)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4329) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4330)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4331)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4332)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4333)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4334)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4335)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4336)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4337)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4338)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4339) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4340)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4341) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4342)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4343) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4344)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4345) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4346)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4347) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4348)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4349) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4350)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4351) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4352)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4353) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4354)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4355) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4356)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4357) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4358)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4359) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4360)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4361) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4362)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4363) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4364)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4365) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4366)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4367) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4368)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4369) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4370)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4371) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4372)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4373) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4374)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4375) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4376)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4377) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4378)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4379) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4380)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4381) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4382)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4383) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4384)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4385)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4386) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4387)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4388) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4389)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4602) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(725,685,536,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4603) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(72,213.7,93,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4604) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(174,359,365,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4605) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4606) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-149,128,296,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4607) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(195.671,332.517,274.607,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4608) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4609) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4610) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4611) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4612) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4613) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4614) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4615) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-499,-249,314,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4616) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4617) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4618) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4619) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4620) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-106,-129,165,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4621) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(137,248,-430,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4622) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4623) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-186,230,110,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4624) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2,2,-2,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4625) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4626) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4627) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4628) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(162,117,154,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4629) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4630) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4631) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(145,-187,103,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4632) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-382,-59,-262,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4633) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4634) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4635) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4636) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(365,194,166,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4637) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(325,154,172,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4638) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(30,430,368,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4639) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4640) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4641) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4642) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4643) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4644) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4645) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4646) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4657) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377019.27),srs::spar::b<>(6355762.5391),srs::spar::towgs84<>(-28,199,5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4658) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-73,46,-86,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4659) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4660) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4661) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4662) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4663) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4664) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4665) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4666) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4667) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4668) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-86,-98,-119,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4669) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4670) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4671) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4672) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(175,-38,113,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4673) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(174.05,-25.49,112.57,-0,-0,0.554,0.2263)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4674) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4675) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-100,-248,259,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4676) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4677) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4678) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(44.585,-131.212,-39.544,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4679) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-80.01,253.26,291.19,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4680) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(124.5,-63.5,-281,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4681) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4682) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4683) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4684) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-133,-321,50,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4685) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4686) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4687) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4688) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4689) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4690) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4691) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4692) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(217.037,86.959,23.956,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4693) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,-0.15,0.68,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4694) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4695) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4696) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4697) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4698) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(145,-187,103,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4699) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-770.1,158.4,-498.2,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4700) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4701) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-79.9,-158,-168.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4702) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4703) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4704) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4705) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4706) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_helmert(),srs::spar::towgs84<>(-146.21,112.63,4.05,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4707) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(114,-116,-333,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4708) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_aust_sa(),srs::spar::towgs84<>(-491,-22,435,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4709) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(145,75,-272,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4710) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-320,550,-494,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4711) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(124,-234,-25,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4712) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-205,107,53,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4713) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-79,-129,145,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4714) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-127,-769,472,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4715) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-104,-129,239,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4716) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(298,-304,-375,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4717) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-2,151,181,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4718) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4719) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(211,147,111,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4720) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4721) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(265.025,384.929,-194.046,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4722) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-794,119,-298,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4723) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(67.8,106.1,138.8,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4724) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(208,-435,-229,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4725) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(189,-79,-202,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4726) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4727) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4728) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-307,-92,127,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4729) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(185,165,42,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4730) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(170,42,84,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4731) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(51,391,-36,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4732) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378270),srs::spar::b<>(6356794.343434343),srs::spar::towgs84<>(102,52,-38,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4733) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(276,-57,149,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4734) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-632,438,-609,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4735) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(647,1777,-1124,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4736) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(260,12,-147,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4737) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4738) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4739) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-156,-271,-189,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4740) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378136),srs::spar::b<>(6356751.361745712),srs::spar::towgs84<>(0,0,1.5,-0,-0,0.076,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4741) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4742) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4743) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(84.1,-320.1,218.7,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4744) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4745) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4746) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4747) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4748) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378306.3696),srs::spar::b<>(6356571.996),srs::spar::towgs84<>(51,391,-36,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4749) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4750) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(-56.263,16.136,-22.856,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4751) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377295.664),srs::spar::b<>(6356094.667915204)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4752) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378306.3696),srs::spar::b<>(6356571.996),srs::spar::towgs84<>(51,391,-36,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4753) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4754) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.406,-109.878,-2.5764,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4755) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4756) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4757) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4758) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4759) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4760) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4761) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4762) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4763) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4764) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4765) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4801) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_bern,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4802) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_bogota,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4803) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_lisbon,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4804) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-587.8,519.75,145.76,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4805) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4806) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_rome,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4807) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4808) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4809) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_brussels,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4810) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189,-242,-91,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4811) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-73,-247,227,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4813) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4814) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_stockholm,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4815) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_athens,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4816) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4817) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4818) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4819) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4820) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4821) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4882)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4883) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4884)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4885) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4886)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4887) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4888)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4889) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4890)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4891) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4892)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4893) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4894)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4895) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4896)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4897)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4898) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4899)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.4058,-109.8777,-2.5764,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::pm<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6376523),srs::spar::b<>(6355862.933255573),srs::spar::pm<>(2.3372291666985)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4902) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::pm_paris,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6376523),srs::spar::b<>(6355862.933255573)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4903) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::pm_madrid,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378298.3),srs::spar::b<>(6356657.142669561)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4904) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_lisbon,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4906)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4907) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4908)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4909) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4913)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4914)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4915)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4916)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4917)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4918)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4919)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4920)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4921) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4922)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4923) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378136),srs::spar::b<>(6356751.361745712),srs::spar::towgs84<>(0.0,0.0,1.5,-0.0,0.0,-0.076,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4924)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4925) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4926)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4927) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4928)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4929) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4930)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4931) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4932)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4933) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4934)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4935) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4936)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4937) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4938)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4939) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4940)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4941) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4942)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4943) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4944)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4945) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4946)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4947) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4948)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4949) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4950)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4951) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4952)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4953) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4954)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4955) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4956)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4957) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4958)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4959) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4960)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4961) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4962)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4963) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4964)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4965) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4966)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4967) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4968)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4969) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4970)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4971) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4972)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4973) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4974)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4975) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4976)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4977) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4978)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4979) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4980)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4981) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4982)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4983) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4984)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4985) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4986)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4987) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4988)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4989) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4990)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4991) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4992)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4993) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(44.585,-131.212,-39.544,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4994)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4995) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-127.62,-67.24,-47.04,-3.068,-4.903,-1.578,-0.21864069462192215)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4996)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4997) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4998)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 4999) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.072,-0.507,-0.245,-0.0183,-0.0003,0.007,-0.001918262698097996)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5600)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5601)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5602)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5603)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5604)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5605)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5606)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5607)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5608)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5609)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5613)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5614)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5615)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5616)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5617)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5618)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5619)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5620)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5701)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5702)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5703)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5704)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5705)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5706)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5709)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5710)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5711)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5712)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5713)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5714)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5715)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5716)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5717)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5718)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5719)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5720)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5721)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5722)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5723)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5724)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5725)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5726)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5727)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5728)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5729)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5730)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5731)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5732)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5733)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5734)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5735)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5736)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5737)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5738)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5739)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5740)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5741)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5742)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5743)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5744)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5745)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5746)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5747)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5748)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5749)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5750)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5751)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5752)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5753)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5754)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5755)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5756)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5757)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5758)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5759)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5760)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5761)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5762)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5763)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5764)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5765)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5766)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5767)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5768)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5769)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5770)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5771)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5772)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5773)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5774)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5775)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5776)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5777)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5778)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5779)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5780)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5781)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5782)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5783)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5784)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5785)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5786)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5787)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5788)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5789)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5790)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5791)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5792)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5793)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5794)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5795)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5796)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5797)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5798)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5799)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5800)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5801)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5802)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5803)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5804)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5805)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5806)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5807)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5808)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5809)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5810)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5811)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5813)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5814)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5815)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5816)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5817)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5818)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5819)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5820)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 5821)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7400)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7401)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7402)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7403)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7404)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7405)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7406)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7407)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7408)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7409)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7413)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7414)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7415)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7416)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7417)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7418)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7419)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7420)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7421)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 7422)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20004) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20005) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20006) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20007) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20008) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20009) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20010) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(10500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20011) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(11500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20012) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(12500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20013) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20014) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20015) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20016) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(16500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20017) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(17500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20018) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20019) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20020) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(20500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20021) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(21500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20022) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(22500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20023) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(23500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20024) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(24500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20025) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(25500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20026) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(26500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20027) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(27500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20028) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(28500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20029) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(29500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20030) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(30500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20031) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(31500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20032) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(32500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20064) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20065) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20066) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20067) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20068) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20069) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20070) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20071) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20072) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20073) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20074) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20075) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20076) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20077) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20078) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20079) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20080) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20081) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20082) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20083) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20084) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20085) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20086) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20087) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20088) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20089) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20090) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20091) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20092) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20135) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20136) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20137) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20138) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20248) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20249) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20250) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20251) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20252) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20253) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20254) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20255) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20256) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20257) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20258) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20348) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20349) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20350) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20351) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20352) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20353) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20354) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20355) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20356) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20357) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20358) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20436) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20437) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20438) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20439) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20440) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20499) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20538) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-43,-163,45,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20539) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-43,-163,45,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20790) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::pm_lisbon,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(1),srs::spar::k<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(300000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20791) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::pm_lisbon,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(1),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20822) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20823) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20824) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20934) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::south(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20935) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::south(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 20936) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<36>(),srs::spar::south(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21035) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::south,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21036) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21037) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::south,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21095) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21096) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21097) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21100) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(110),srs::spar::k<>(0.997),srs::spar::x_0<>(3900000),srs::spar::y_0<>(900000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21148) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21149) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21150) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21291) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-62),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(31.95,300.99,419.19,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21292) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(13.17638888888889),srs::spar::lon_0<>(-59.55972222222222),srs::spar::k<>(0.9999986),srs::spar::x_0<>(30000),srs::spar::y_0<>(75000),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(31.95,300.99,419.19,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21413) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21414) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21415) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21416) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(16500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21417) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(17500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21418) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21419) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21420) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(20500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21421) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(21500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21422) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(22500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21423) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(23500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21453) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21454) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21455) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21456) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21457) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21458) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21459) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21460) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21461) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21462) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21463) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21473) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21474) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21475) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21476) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21477) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21478) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21479) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21480) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21481) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21482) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21483) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21500) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::pm_brussels,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.83333333333334),srs::spar::lat_2<>(51.16666666666666),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(150000),srs::spar::y_0<>(5400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21780) srs::spar::parameters<srs::spar::proj_somerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_bern,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_somerc(),srs::spar::lat_0<>(46.95240555555556),srs::spar::lon_0<>(0),srs::spar::k_0<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21781) srs::spar::parameters<srs::spar::proj_somerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_somerc(),srs::spar::lat_0<>(46.95240555555556),srs::spar::lon_0<>(7.439583333333333),srs::spar::k_0<>(1),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(674.374,15.056,405.346,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21782)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21817) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21818) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21891) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-77.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21892) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-74.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21893) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-71.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21894) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-68.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21896) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-77.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21897) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-74.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21898) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-71.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 21899) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.599047222222222),srs::spar::lon_0<>(-68.08091666666667),srs::spar::k<>(1),srs::spar::x_0<>(1000000),srs::spar::y_0<>(1000000),srs::spar::ellps_intl(),srs::spar::towgs84<>(307,304,-318,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22032) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22033) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::south,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22091) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(11.5),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22092) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22171) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-72),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22172) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-69),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22173) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-66),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22174) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-63),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22175) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-60),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22176) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-57),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22177) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-54),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22181) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-72),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22182) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-69),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22183) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-66),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22184) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-63),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22185) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-60),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22186) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-57),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22187) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-54),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22191) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-72),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22192) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-69),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22193) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-66),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22194) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-63),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22195) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-60),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22196) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-57),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22197) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(-54),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22234) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::south(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22235) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::south(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22236) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<36>(),srs::spar::south(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22279)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22281)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22283)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22285)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22287)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22289)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22291)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22293)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22300)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22332) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22391) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_0<>(36),srs::spar::lon_0<>(9.9),srs::spar::k_0<>(0.999625544),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22392) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(9.9),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22521) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206,172,-6,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22522) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206,172,-6,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22523) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<23>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206,172,-6,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22524) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<24>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206,172,-6,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22525) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<25>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206,172,-6,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22700) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.65),srs::spar::lat_0<>(34.65),srs::spar::lon_0<>(37.35),srs::spar::k_0<>(0.9996256),srs::spar::x_0<>(300000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22770) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.65),srs::spar::lat_0<>(34.65),srs::spar::lon_0<>(37.35),srs::spar::k_0<>(0.9996256),srs::spar::x_0<>(300000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22780) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(34.2),srs::spar::lon_0<>(39.15),srs::spar::k<>(0.9995341),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22832) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22991) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(35),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(1100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22992) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(615000),srs::spar::y_0<>(810000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22993) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(700000),srs::spar::y_0<>(200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 22994) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(700000),srs::spar::y_0<>(1200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23028) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23029) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23030) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23031) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23032) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23033) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23034) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23035) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23036) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23037) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23038) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23090) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23095) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(5),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23239) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23240) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23433) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23700) srs::spar::parameters<srs::spar::proj_somerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_somerc(),srs::spar::lat_0<>(47.14439372222222),srs::spar::lon_0<>(19.04857177777778),srs::spar::k_0<>(0.99993),srs::spar::x_0<>(650000),srs::spar::y_0<>(200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23830) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(94.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23831) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(97.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23832) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(100.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23833) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(103.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23834) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(106.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23835) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(109.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23836) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(112.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23837) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(115.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23838) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(118.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23839) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(121.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23840) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(124.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23841) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(127.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23842) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(130.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23843) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(133.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23844) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(136.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23845) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(139.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(1500000),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23846) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23847) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23848) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23849) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23850) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23851) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23852) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23853) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23866) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23867) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23868) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23869) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23870) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23871) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23872) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23877) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23878) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23879) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23880) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23881) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23882) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23883) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23884) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<54>(),srs::spar::south(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23886) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23887) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23888) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23889) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23890) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23891) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23892) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23893) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23894) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<54>(),srs::spar::south(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23946) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(217,823,299,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23947) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(217,823,299,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 23948) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(217,823,299,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24047) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24048) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24100) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-77),srs::spar::k_0<>(1),srs::spar::x_0<>(167638.49597),srs::spar::y_0<>(121918.90616),srs::spar::a<>(6378249.144808011),srs::spar::b<>(6356514.966204134),srs::spar::to_meter<>(0.3047972654)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24200) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18),srs::spar::lat_0<>(18),srs::spar::lon_0<>(-77),srs::spar::k_0<>(1),srs::spar::x_0<>(250000),srs::spar::y_0<>(150000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24305) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<45>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24306) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24311) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<41>(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24312) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<42>(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24313) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<43>(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24342) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<42>(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24343) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<43>(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24344) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<44>(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24345) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<45>(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24346) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24347) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24370) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.5),srs::spar::lat_0<>(39.5),srs::spar::lon_0<>(68),srs::spar::k_0<>(0.99846154),srs::spar::x_0<>(2153865.73916853),srs::spar::y_0<>(2368292.194628102),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157),srs::spar::to_meter<>(0.9143985307444408)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24371) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_0<>(32.5),srs::spar::lon_0<>(68),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.592233322),srs::spar::y_0<>(914398.5307444407),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157),srs::spar::to_meter<>(0.9143985307444408)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24372) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26),srs::spar::lat_0<>(26),srs::spar::lon_0<>(74),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.592233322),srs::spar::y_0<>(914398.5307444407),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157),srs::spar::to_meter<>(0.9143985307444408)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24373) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(19),srs::spar::lat_0<>(19),srs::spar::lon_0<>(80),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.592233322),srs::spar::y_0<>(914398.5307444407),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157),srs::spar::to_meter<>(0.9143985307444408)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24374) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(12),srs::spar::lat_0<>(12),srs::spar::lon_0<>(80),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.592233322),srs::spar::y_0<>(914398.5307444407),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157),srs::spar::to_meter<>(0.9143985307444408)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24375) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26),srs::spar::lat_0<>(26),srs::spar::lon_0<>(90),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743185.69),srs::spar::y_0<>(914395.23),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24376) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_0<>(32.5),srs::spar::lon_0<>(68),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743196.4),srs::spar::y_0<>(914398.8),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24377) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26),srs::spar::lat_0<>(26),srs::spar::lon_0<>(74),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743196.4),srs::spar::y_0<>(914398.8),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24378) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_0<>(32.5),srs::spar::lon_0<>(68),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.5),srs::spar::y_0<>(914398.5),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24379) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26),srs::spar::lat_0<>(26),srs::spar::lon_0<>(74),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.5),srs::spar::y_0<>(914398.5),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24380) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26),srs::spar::lat_0<>(26),srs::spar::lon_0<>(90),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.5),srs::spar::y_0<>(914398.5),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24381) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(19),srs::spar::lat_0<>(19),srs::spar::lon_0<>(80),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.5),srs::spar::y_0<>(914398.5),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24382) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26),srs::spar::lat_0<>(26),srs::spar::lon_0<>(90),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.592233322),srs::spar::y_0<>(914398.5307444407),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.359005157),srs::spar::to_meter<>(0.9143985307444408)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24383) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(12),srs::spar::lat_0<>(12),srs::spar::lon_0<>(80),srs::spar::k_0<>(0.99878641),srs::spar::x_0<>(2743195.5),srs::spar::y_0<>(914398.5),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295,736,257,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24500) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(1.287646666666667),srs::spar::lon_0<>(103.8530022222222),srs::spar::x_0<>(30000),srs::spar::y_0<>(30000),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155),srs::spar::towgs84<>(-11,851,5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24547) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155),srs::spar::towgs84<>(-11,851,5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24548) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155),srs::spar::towgs84<>(-11,851,5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24571) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(102.25),srs::spar::alpha<>(323.0257905),srs::spar::k<>(0.99984),srs::spar::x_0<>(804671.2997750348),srs::spar::y_0<>(0),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155),srs::spar::towgs84<>(-11,851,5,0,0,0,0),srs::spar::to_meter<>(20.11678249437587)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24600) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_0<>(32.5),srs::spar::lon_0<>(45),srs::spar::k_0<>(0.9987864078000001),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1166200),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-294.7,-200.1,525.5,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24718) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-273.5,110.6,-357.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24719) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-273.5,110.6,-357.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24720) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-273.5,110.6,-357.9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24817) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24818) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24819) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24820) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24821) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24877) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24878) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24879) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24880) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24881) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24882) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24891) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-6),srs::spar::lon_0<>(-80.5),srs::spar::k<>(0.99983008),srs::spar::x_0<>(222000),srs::spar::y_0<>(1426834.743)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24892) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-9.5),srs::spar::lon_0<>(-76),srs::spar::k<>(0.99932994),srs::spar::x_0<>(720000),srs::spar::y_0<>(1039979.159)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 24893) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-9.5),srs::spar::lon_0<>(-70.5),srs::spar::k<>(0.99952992),srs::spar::x_0<>(1324000),srs::spar::y_0<>(1040084.558)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25000) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4.666666666666667),srs::spar::lon_0<>(-1),srs::spar::k<>(0.99975),srs::spar::x_0<>(274319.51),srs::spar::y_0<>(0),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-130,29,364,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25231) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<31>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25391) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25392) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(119),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25393) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(121),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25394) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25395) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(125),srs::spar::k<>(0.99995),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25700) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::pm_jakarta,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(110),srs::spar::k<>(0.997),srs::spar::x_0<>(3900000),srs::spar::y_0<>(900000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-587.8,519.75,145.76,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25828) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25829) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25830) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25831) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25832) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25833) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25834) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25835) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25836) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25837) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25838) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25884) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 25932) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26191) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31,146,47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26192) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.7),srs::spar::lat_0<>(29.7),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.9996155960000001),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31,146,47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26193) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26.1),srs::spar::lat_0<>(26.1),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.9996),srs::spar::x_0<>(1200000),srs::spar::y_0<>(400000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31,146,47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26194) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26.1),srs::spar::lat_0<>(26.1),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.999616304),srs::spar::x_0<>(1200000),srs::spar::y_0<>(400000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31,146,47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26195) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(22.5),srs::spar::lat_0<>(22.5),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.999616437),srs::spar::x_0<>(1500000),srs::spar::y_0<>(400000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31,146,47,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26237) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<37>(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(639,405,60,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26331) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26332) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26391) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4),srs::spar::lon_0<>(4.5),srs::spar::k<>(0.99975),srs::spar::x_0<>(230738.26),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26392) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4),srs::spar::lon_0<>(8.5),srs::spar::k<>(0.99975),srs::spar::x_0<>(670553.98),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26393) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(4),srs::spar::lon_0<>(12.5),srs::spar::k<>(0.99975),srs::spar::x_0<>(1110369.7),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26432) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-252.95,-4.11,-96.38,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26591) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::pm_rome,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-3.45233333333333),srs::spar::k<>(0.9996),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26592) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::pm_rome,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(2.54766666666666),srs::spar::k<>(0.9996),srs::spar::x_0<>(2520000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26632) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26692) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::south(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26701) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26702) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26703) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26704) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26705) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26706) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26707) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26708) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26709) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26710) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26711) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26712) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26713) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26714) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26715) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26716) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26717) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26718) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26719) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26720) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26721) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26722) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26729) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-85.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26730) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-87.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26731) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(57),srs::spar::lonc<>(-133.6666666666667),srs::spar::alpha<>(323.1301023611111),srs::spar::k<>(0.9999),srs::spar::x_0<>(5000000.001016002),srs::spar::y_0<>(-5000000.001016002),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26732) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-142),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26733) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-146),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26734) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-150),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26735) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-154),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26736) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-158),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26737) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-162),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360.4267208534),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26738) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-166),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26739) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-170),srs::spar::k<>(0.9999),srs::spar::x_0<>(182880.3657607315),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26740) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(53.83333333333334),srs::spar::lat_2<>(51.83333333333334),srs::spar::lat_0<>(51),srs::spar::lon_0<>(-176),srs::spar::x_0<>(914401.8288036576),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26741) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26742) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26743) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26744) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26745) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26746) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26747) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.41666666666666),srs::spar::lat_2<>(33.86666666666667),srs::spar::lat_0<>(34.13333333333333),srs::spar::lon_0<>(-118.3333333333333),srs::spar::x_0<>(1276106.450596901),srs::spar::y_0<>(127079.524511049),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26748) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26749) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26750) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26751) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26752) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26753) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.71666666666667),srs::spar::lat_2<>(40.78333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26754) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26755) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26756) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(182880.3657607315),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26757) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26758) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26759) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26760) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26766) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26767) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26768) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26769) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26770) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26771) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26772) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26773) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26774) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26775) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26776) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26777) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26778) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26779) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26780) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.73333333333333),srs::spar::lat_2<>(37.93333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26781) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.16666666666667),srs::spar::lat_2<>(32.66666666666666),srs::spar::lat_0<>(30.66666666666667),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26782) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.3),srs::spar::lat_2<>(30.7),srs::spar::lat_0<>(28.66666666666667),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26783) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26784) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26785) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.3),srs::spar::lat_2<>(39.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-77),srs::spar::x_0<>(243840.4876809754),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26786) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.71666666666667),srs::spar::lat_2<>(42.68333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(182880.3657607315),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26787) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.28333333333333),srs::spar::lat_2<>(41.48333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(60960.12192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26791) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.03333333333333),srs::spar::lat_2<>(48.63333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26792) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.61666666666667),srs::spar::lat_2<>(47.05),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26793) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.78333333333333),srs::spar::lat_2<>(45.21666666666667),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26794) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26795) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26796) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-90.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26797) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-92.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26798) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.16666666666666),srs::spar::lon_0<>(-94.5),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26799) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.41666666666666),srs::spar::lat_2<>(33.86666666666667),srs::spar::lat_0<>(34.13333333333333),srs::spar::lon_0<>(-118.3333333333333),srs::spar::x_0<>(1276106.450596901),srs::spar::y_0<>(1268253.006858014),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26801) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-83.66666666666667),srs::spar::k<>(0.999942857),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26802) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-85.75),srs::spar::k<>(0.999909091),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26803) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-88.75),srs::spar::k<>(0.999909091),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26811) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.48333333333333),srs::spar::lat_2<>(47.08333333333334),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26812) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.18333333333333),srs::spar::lat_2<>(45.7),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.33333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26813) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.1),srs::spar::lat_2<>(43.66666666666666),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.33333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26814) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26815) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26819) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26820) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26821) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26822) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.0000101601),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26823) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(1968500),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26824) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(1968500),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26825) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26826) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26830) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26831) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26832) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26833) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.0000101601),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26834) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(1968500),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26835) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(1968500),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26836) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26837) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26841) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26842) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26843) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000.0000101601),srs::spar::y_0<>(99999.99998984),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26844) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.0000101601),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26845) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(1968500),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26846) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(1968500),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26847) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26848) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26849) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26850) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26851) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26852) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26853) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26854) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26855) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26856) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26857) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26858) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26859) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26860) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26861) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26862) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26863) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26865) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26866) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26867) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000.0000101599),srs::spar::y_0<>(99999.99998983997),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26868) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.00001016),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26869) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26870) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26891) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-82.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26892) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26893) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-84),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26894) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26895) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26896) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26897) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-96),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26898) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-53),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26899) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-56),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26901) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26902) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26903) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26904) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26905) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26906) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26907) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26908) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26909) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26910) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26911) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26912) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26913) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26914) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26915) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26916) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26917) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26918) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26919) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26920) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26921) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26922) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26923) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26929) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-85.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26930) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-87.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26931) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(57),srs::spar::lonc<>(-133.6666666666667),srs::spar::alpha<>(323.1301023611111),srs::spar::k<>(0.9999),srs::spar::x_0<>(5000000),srs::spar::y_0<>(-5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26932) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-142),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26933) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-146),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26934) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-150),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26935) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-154),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26936) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-158),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26937) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-162),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26938) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-166),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26939) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-170),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26940) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(53.83333333333334),srs::spar::lat_2<>(51.83333333333334),srs::spar::lat_0<>(51),srs::spar::lon_0<>(-176),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26941) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.66666666666666),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26942) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.83333333333334),srs::spar::lat_2<>(38.33333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26943) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.06666666666667),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26944) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.25),srs::spar::lat_2<>(36),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26945) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.46666666666667),srs::spar::lat_2<>(34.03333333333333),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26946) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.88333333333333),srs::spar::lat_2<>(32.78333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26948) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26949) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26950) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26951) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.23333333333333),srs::spar::lat_2<>(34.93333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26952) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.76666666666667),srs::spar::lat_2<>(33.3),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26953) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.78333333333333),srs::spar::lat_2<>(39.71666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26954) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.75),srs::spar::lat_2<>(38.45),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26955) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.43333333333333),srs::spar::lat_2<>(37.23333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26956) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.86666666666667),srs::spar::lat_2<>(41.2),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096),srs::spar::y_0<>(152400.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26957) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26958) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26959) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.999941177),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26960) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.75),srs::spar::lat_2<>(29.58333333333333),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26961) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(18.83333333333333),srs::spar::lon_0<>(-155.5),srs::spar::k<>(0.999966667),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26962) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20.33333333333333),srs::spar::lon_0<>(-156.6666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26963) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.83333333333333),srs::spar::lon_0<>(-159.5),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.66666666666667),srs::spar::lon_0<>(-160.1666666666667),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26966) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26967) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26968) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26969) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473679999999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26970) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.999933333),srs::spar::x_0<>(800000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26971) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26972) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26973) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(100000),srs::spar::y_0<>(250000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26974) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(250000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26975) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.26666666666667),srs::spar::lat_2<>(42.06666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26976) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.61666666666667),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26977) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.78333333333333),srs::spar::lat_2<>(38.71666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26978) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.56666666666667),srs::spar::lat_2<>(37.26666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26979) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(37.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26980) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.93333333333333),srs::spar::lat_2<>(36.73333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26981) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.66666666666666),srs::spar::lat_2<>(31.16666666666667),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26982) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.7),srs::spar::lat_2<>(29.3),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26983) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26984) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26985) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.45),srs::spar::lat_2<>(38.3),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26986) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.68333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(750000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26987) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.48333333333333),srs::spar::lat_2<>(41.28333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26988) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.08333333333334),srs::spar::lat_2<>(45.48333333333333),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(8000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26989) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.7),srs::spar::lat_2<>(44.18333333333333),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(6000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26990) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.66666666666666),srs::spar::lat_2<>(42.1),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(4000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26991) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.63333333333333),srs::spar::lat_2<>(47.03333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26992) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.05),srs::spar::lat_2<>(45.61666666666667),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26993) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.21666666666667),srs::spar::lat_2<>(43.78333333333333),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26994) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26995) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26996) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-90.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26997) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-92.5),srs::spar::k<>(0.999933333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 26998) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.16666666666666),srs::spar::lon_0<>(-94.5),srs::spar::k<>(0.999941177),srs::spar::x_0<>(850000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27037) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27038) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27039) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27040) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27120) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27200) srs::spar::parameters<srs::spar::proj_nzmg,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_nzmg(),srs::spar::lat_0<>(-41),srs::spar::lon_0<>(173),srs::spar::x_0<>(2510000),srs::spar::y_0<>(6023150)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27205) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-36.87986527777778),srs::spar::lon_0<>(174.7643393611111),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27206) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-37.76124980555556),srs::spar::lon_0<>(176.46619725),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27207) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-38.62470277777778),srs::spar::lon_0<>(177.8856362777778),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27208) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39.65092930555556),srs::spar::lon_0<>(176.6736805277778),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27209) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39.13575830555556),srs::spar::lon_0<>(174.22801175),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27210) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39.51247038888889),srs::spar::lon_0<>(175.6400368055556),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27211) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-40.24194713888889),srs::spar::lon_0<>(175.4880996111111),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27212) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-40.92553263888889),srs::spar::lon_0<>(175.6473496666667),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27213) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.30131963888888),srs::spar::lon_0<>(174.7766231111111),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27214) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-40.71475905555556),srs::spar::lon_0<>(172.6720465),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27215) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.27454472222222),srs::spar::lon_0<>(173.2993168055555),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27216) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.28991152777778),srs::spar::lon_0<>(172.1090281944444),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27217) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.81080286111111),srs::spar::lon_0<>(171.5812600555556),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27218) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-42.33369427777778),srs::spar::lon_0<>(171.5497713055556),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27219) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-42.68911658333333),srs::spar::lon_0<>(173.0101333888889),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27220) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-41.54448666666666),srs::spar::lon_0<>(173.8020741111111),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27221) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-42.88632236111111),srs::spar::lon_0<>(170.9799935),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27222) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.11012813888889),srs::spar::lon_0<>(170.2609258333333),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27223) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.97780288888889),srs::spar::lon_0<>(168.606267),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27224) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.59063758333333),srs::spar::lon_0<>(172.7271935833333),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27225) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-43.74871155555556),srs::spar::lon_0<>(171.3607484722222),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27226) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-44.40222036111111),srs::spar::lon_0<>(171.0572508333333),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27227) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-44.73526797222222),srs::spar::lon_0<>(169.4677550833333),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27228) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.13290258333333),srs::spar::lon_0<>(168.3986411944444),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27229) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.56372616666666),srs::spar::lon_0<>(167.7388617777778),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27230) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.81619661111111),srs::spar::lon_0<>(170.6285951666667),srs::spar::k<>(1),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27231) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-45.86151336111111),srs::spar::lon_0<>(170.2825891111111),srs::spar::k<>(0.99996),srs::spar::x_0<>(300000),srs::spar::y_0<>(700000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27232) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-46.60000961111111),srs::spar::lon_0<>(168.342872),srs::spar::k<>(1),srs::spar::x_0<>(300002.66),srs::spar::y_0<>(699999.58)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27258) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27259) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27260) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::south,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27291) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-39),srs::spar::lon_0<>(175.5),srs::spar::k<>(1),srs::spar::x_0<>(274319.5243848086),srs::spar::y_0<>(365759.3658464114),srs::spar::ellps_intl(),srs::spar::datum_nzgd49(),srs::spar::to_meter<>(0.9143984146160287)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27292) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(-44),srs::spar::lon_0<>(171.5),srs::spar::k<>(1),srs::spar::x_0<>(457199.2073080143),srs::spar::y_0<>(457199.2073080143),srs::spar::ellps_intl(),srs::spar::datum_nzgd49(),srs::spar::to_meter<>(0.9143984146160287)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27391) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(-4.666666666666667),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27392) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(-2.333333333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27393) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27394) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(2.5),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27395) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(6.166666666666667),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27396) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(10.16666666666667),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27397) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(14.16666666666667),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27398) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_oslo,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(18.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93,474.5,7.889,0.05,-6.61,6.21)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27429) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27492) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-8.131906111111112),srs::spar::k<>(1),srs::spar::x_0<>(180.598),srs::spar::y_0<>(-86.98999999999999)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27493) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-8.131906111111112),srs::spar::k<>(1),srs::spar::x_0<>(180.598),srs::spar::y_0<>(-86.98999999999999)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27500) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::pm<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.5),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(5.4),srs::spar::k_0<>(0.99950908),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6376523),srs::spar::b<>(6355862.933255573),srs::spar::pm<>(2.3372291666985)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27561) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.50000000000001),srs::spar::lat_0<>(49.50000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877341),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27562) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.8),srs::spar::lat_0<>(46.8),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99987742),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27563) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.10000000000001),srs::spar::lat_0<>(44.10000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877499),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27564) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.16500000000001),srs::spar::lat_0<>(42.16500000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99994471),srs::spar::x_0<>(234.358),srs::spar::y_0<>(185861.369),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27571) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.50000000000001),srs::spar::lat_0<>(49.50000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877341),srs::spar::x_0<>(600000),srs::spar::y_0<>(1200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27572) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.8),srs::spar::lat_0<>(46.8),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99987742),srs::spar::x_0<>(600000),srs::spar::y_0<>(2200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27573) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.10000000000001),srs::spar::lat_0<>(44.10000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877499),srs::spar::x_0<>(600000),srs::spar::y_0<>(3200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27574) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.16500000000001),srs::spar::lat_0<>(42.16500000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99994471),srs::spar::x_0<>(234.358),srs::spar::y_0<>(4185861.369),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27581) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.50000000000001),srs::spar::lat_0<>(49.50000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877341),srs::spar::x_0<>(600000),srs::spar::y_0<>(1200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27582) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.8),srs::spar::lat_0<>(46.8),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99987742),srs::spar::x_0<>(600000),srs::spar::y_0<>(2200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27583) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.10000000000001),srs::spar::lat_0<>(44.10000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877499),srs::spar::x_0<>(600000),srs::spar::y_0<>(3200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27584) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.16500000000001),srs::spar::lat_0<>(42.16500000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99994471),srs::spar::x_0<>(234.358),srs::spar::y_0<>(4185861.369),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27591) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.50000000000001),srs::spar::lat_0<>(49.50000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877341),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27592) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.8),srs::spar::lat_0<>(46.8),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99987742),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27593) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.10000000000001),srs::spar::lat_0<>(44.10000000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.999877499),srs::spar::x_0<>(600000),srs::spar::y_0<>(200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27594) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.16500000000001),srs::spar::lat_0<>(42.16500000000001),srs::spar::lon_0<>(0),srs::spar::k_0<>(0.99994471),srs::spar::x_0<>(234.358),srs::spar::y_0<>(185861.369),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168,-60,320,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 27700) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_airy,srs::spar::datum_osgb36,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(49),srs::spar::lon_0<>(-2),srs::spar::k<>(0.9996012717),srs::spar::x_0<>(400000),srs::spar::y_0<>(-100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28191) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(31.73409694444445),srs::spar::lon_0<>(35.21208055555556),srs::spar::x_0<>(170251.555),srs::spar::y_0<>(126867.909),srs::spar::a<>(6378300.789),srs::spar::b<>(6356566.435),srs::spar::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28192) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31.73409694444445),srs::spar::lon_0<>(35.21208055555556),srs::spar::k<>(1),srs::spar::x_0<>(170251.555),srs::spar::y_0<>(1126867.909),srs::spar::a<>(6378300.789),srs::spar::b<>(6356566.435),srs::spar::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28193) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(31.73409694444445),srs::spar::lon_0<>(35.21208055555556),srs::spar::x_0<>(170251.555),srs::spar::y_0<>(1126867.909),srs::spar::a<>(6378300.789),srs::spar::b<>(6356566.435),srs::spar::towgs84<>(-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28232) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::south(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28348) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28349) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28350) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28351) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28352) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28353) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28354) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<54>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28355) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<55>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28356) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<56>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28357) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<57>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28358) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28402) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28403) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28404) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28405) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28406) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28407) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28408) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28409) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(9500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28410) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(10500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28411) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(11500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28412) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(12500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28413) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(13500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28414) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(14500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28415) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(15500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28416) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(16500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28417) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(17500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28418) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(18500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28419) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(19500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28420) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(20500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28421) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(21500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28422) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(22500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28423) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(23500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28424) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(24500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28425) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(25500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28426) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(26500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28427) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(27500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28428) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(28500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28429) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(29500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28430) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(30500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28431) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(31500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28432) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(32500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28462) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28463) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(27),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28466) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(33),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28467) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(39),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28468) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(45),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28469) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(51),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28470) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(57),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28471) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(63),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28472) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(69),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28473) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(75),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28474) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(81),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28475) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(87),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28476) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(93),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28477) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(99),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28478) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28479) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(111),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28480) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(117),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28481) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(123),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28482) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(129),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28483) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(135),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28484) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(141),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28485) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(147),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28486) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(153),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28487) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(159),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28488) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(165),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28489) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28490) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28491) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-177),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28492) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-171),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28600) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.45),srs::spar::lon_0<>(51.21666666666667),srs::spar::k<>(0.99999),srs::spar::x_0<>(200000),srs::spar::y_0<>(300000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28991) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(52.15616055555555),srs::spar::lon_0<>(5.38763888888889),srs::spar::k<>(0.9999079),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 28992) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(52.15616055555555),srs::spar::lon_0<>(5.38763888888889),srs::spar::k<>(0.9999079),srs::spar::x_0<>(155000),srs::spar::y_0<>(463000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29100) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-54),srs::spar::x_0<>(5000000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29101) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-54),srs::spar::x_0<>(5000000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29118) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29119) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29120) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29121) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29122) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29168) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29169) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29170) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29171) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29172) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29177) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29178) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29179) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29180) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29181) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29182) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29183) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29184) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29185) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_grs67,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29187) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29188) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29189) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29190) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29191) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29192) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29193) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29194) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29195) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29220) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-355,21,72,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29221) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-355,21,72,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29333) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::south,srs::spar::ellps_bess_nam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29371)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29373)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29379)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29381)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29383)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29385)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29635) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29636) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<36>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29700) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(-18.9),srs::spar::lonc<>(44.10000000000001),srs::spar::alpha<>(18.9),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189,-242,-91,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29701)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29702) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::pm_paris,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(-18.9),srs::spar::lonc<>(44.10000000000001),srs::spar::alpha<>(18.9),srs::spar::k<>(0.9995000000000001),srs::spar::x_0<>(400000),srs::spar::y_0<>(800000),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189,-242,-91,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29738) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189,-242,-91,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29739) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::south,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::south(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189,-242,-91,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29849) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_evrstss,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29850) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::ellps_evrstss,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29871) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_evrstss,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(115),srs::spar::alpha<>(53.31582047222222),srs::spar::k<>(0.99984),srs::spar::x_0<>(590476.8714630401),srs::spar::y_0<>(442857.653094361),srs::spar::ellps_evrstss(),srs::spar::to_meter<>(20.11676512155263)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29872) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_evrstss,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(115),srs::spar::alpha<>(53.31582047222222),srs::spar::k<>(0.99984),srs::spar::x_0<>(590476.8727431979),srs::spar::y_0<>(442857.6545573985),srs::spar::ellps_evrstss(),srs::spar::to_meter<>(0.3047994715386762)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29873) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_evrstss,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(4),srs::spar::lonc<>(115),srs::spar::alpha<>(53.31582047222222),srs::spar::k<>(0.99984),srs::spar::x_0<>(590476.87),srs::spar::y_0<>(442857.65)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29900) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(53.5),srs::spar::lon_0<>(-8),srs::spar::k<>(1.000035),srs::spar::x_0<>(200000),srs::spar::y_0<>(250000),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29901) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_airy,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(53.5),srs::spar::lon_0<>(-8),srs::spar::k<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(250000),srs::spar::ellps_airy(),srs::spar::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29902) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(53.5),srs::spar::lon_0<>(-8),srs::spar::k<>(1.000035),srs::spar::x_0<>(200000),srs::spar::y_0<>(250000),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 29903) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(53.5),srs::spar::lon_0<>(-8),srs::spar::k<>(1.000035),srs::spar::x_0<>(200000),srs::spar::y_0<>(250000),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30161) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(33),srs::spar::lon_0<>(129.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30162) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(33),srs::spar::lon_0<>(131),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30163) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(132.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(33),srs::spar::lon_0<>(133.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(134.3333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30166) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(136),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30167) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(137.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30168) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(138.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30169) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36),srs::spar::lon_0<>(139.8333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30170) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(140.8333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30171) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(44),srs::spar::lon_0<>(140.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30172) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(44),srs::spar::lon_0<>(142.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30173) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(44),srs::spar::lon_0<>(144.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30174) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(142),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30175) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(127.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30176) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(124),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30177) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(131),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30178) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20),srs::spar::lon_0<>(136),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30179) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(26),srs::spar::lon_0<>(154),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30200) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(10.44166666666667),srs::spar::lon_0<>(-61.33333333333334),srs::spar::x_0<>(86501.46392051999),srs::spar::y_0<>(65379.0134283),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838),srs::spar::to_meter<>(0.201166195164)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30339) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30340) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_helmert,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30491) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_0<>(36),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625544),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-73,-247,227,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30492) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-73,-247,227,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30493) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_0<>(36),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625544),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30494) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30729) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30730) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30731) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30732) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30791) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_0<>(36),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625544),srs::spar::x_0<>(500135),srs::spar::y_0<>(300090)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30792) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500135),srs::spar::y_0<>(300090)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 30800) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15.80827777777778),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31028) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31121) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-265,120,-358,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31154) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-54),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-265,120,-358,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31170) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-55.68333333333333),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-265,120,-358,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31171) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-55.68333333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0),srs::spar::ellps_intl(),srs::spar::towgs84<>(-265,120,-358,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31251) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(28),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31252) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31253) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(34),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31254) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(10.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31255) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31256) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31257) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(10.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31258) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(450000),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31259) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(750000),srs::spar::y_0<>(-5000000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31266) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(1),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31267) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(1),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31268) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(1),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31275) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9999),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31276) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(18),srs::spar::k<>(0.9999),srs::spar::x_0<>(6500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31277) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(0.9999),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31278) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(21),srs::spar::k<>(0.9999),srs::spar::x_0<>(7500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31279) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(24),srs::spar::k<>(0.9999),srs::spar::x_0<>(8500000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31281) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(28),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31282) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31283) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(34),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31284) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(10.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31285) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(450000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31286) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(750000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31287) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(46),srs::spar::lat_0<>(47.5),srs::spar::lon_0<>(13.33333333333333),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31288) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(28),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31289) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(450000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31290) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(34),srs::spar::k<>(1),srs::spar::x_0<>(750000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31291) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(28),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31292) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(31),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31293) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(34),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31294) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(10.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31295) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(13.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(450000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31296) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(16.33333333333333),srs::spar::k<>(1),srs::spar::x_0<>(750000),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31297) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(46),srs::spar::lat_0<>(47.5),srs::spar::lon_0<>(13.33333333333333),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000),srs::spar::ellps_bessel(),srs::spar::towgs84<>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31300)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31370) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(51.16666723333333),srs::spar::lat_2<>(49.8333339),srs::spar::lat_0<>(90),srs::spar::lon_0<>(4.367486666666666),srs::spar::x_0<>(150000.013),srs::spar::y_0<>(5400088.438),srs::spar::ellps_intl(),srs::spar::towgs84<>(106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31461) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(3),srs::spar::k<>(1),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31462) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(6),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31463) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31466) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(6),srs::spar::k<>(1),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31467) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(1),srs::spar::x_0<>(3500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31468) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(12),srs::spar::k<>(1),srs::spar::x_0<>(4500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31469) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(1),srs::spar::x_0<>(5500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31528) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-23,259,-9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31529) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-23,259,-9,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31600) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(45.9),srs::spar::lon_0<>(25.39246588888889),srs::spar::k<>(0.9996667),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31700) srs::spar::parameters<srs::spar::proj_sterea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_krass,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sterea(),srs::spar::lat_0<>(46),srs::spar::lon_0<>(25),srs::spar::k<>(0.99975),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31838) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(-3.2,-5.7,2.8,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31839) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(-3.2,-5.7,2.8,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31900) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(48),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31901) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(48),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31965) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<11>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31966) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<12>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31967) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<13>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31968) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<14>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31969) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<15>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31970) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<16>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31971) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31972) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31973) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31974) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31975) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31976) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31977) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31978) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31979) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31980) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31981) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31982) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31983) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<23>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31984) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<24>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31985) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<25>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31986) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31987) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31988) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31989) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31990) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31991) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31992) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31993) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31994) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31995) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31996) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31997) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31998) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<23>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 31999) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<24>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32000) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<25>(),srs::spar::south(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0,0,0,0,0,0,0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32001) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.71666666666667),srs::spar::lat_2<>(47.85),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32002) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.88333333333333),srs::spar::lat_2<>(46.45),srs::spar::lat_0<>(45.83333333333334),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32003) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.4),srs::spar::lat_2<>(44.86666666666667),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32005) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.85),srs::spar::lat_2<>(42.81666666666667),srs::spar::lat_0<>(41.33333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32006) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.28333333333333),srs::spar::lat_2<>(41.71666666666667),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-99.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32007) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32008) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32009) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32010) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32011) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.66666666666667),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32012) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32013) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32014) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32015) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-74.33333333333333),srs::spar::k<>(0.999966667),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32016) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32017) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32018) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-74),srs::spar::x_0<>(304800.6096012192),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32019) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.33333333333334),srs::spar::lat_2<>(36.16666666666666),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32020) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.43333333333333),srs::spar::lat_2<>(48.73333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32021) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.18333333333333),srs::spar::lat_2<>(47.48333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32022) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.43333333333333),srs::spar::lat_2<>(41.7),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32023) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.73333333333333),srs::spar::lat_2<>(40.03333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32024) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.56666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32025) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.93333333333333),srs::spar::lat_2<>(35.23333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32026) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.33333333333334),srs::spar::lat_2<>(46),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32027) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.33333333333334),srs::spar::lat_2<>(44),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32028) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.88333333333333),srs::spar::lat_2<>(41.95),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32029) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.93333333333333),srs::spar::lat_2<>(40.8),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32030) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.9999938),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32031) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.76666666666667),srs::spar::lat_2<>(34.96666666666667),srs::spar::lat_0<>(33),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32033) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.33333333333334),srs::spar::lat_2<>(33.66666666666666),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32034) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.41666666666666),srs::spar::lat_2<>(45.68333333333333),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32035) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.83333333333334),srs::spar::lat_2<>(44.4),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32036) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.25),srs::spar::lat_2<>(36.41666666666666),srs::spar::lat_0<>(34.66666666666666),srs::spar::lon_0<>(-86),srs::spar::x_0<>(30480.06096012192),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32037) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.65),srs::spar::lat_2<>(36.18333333333333),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32038) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.13333333333333),srs::spar::lat_2<>(33.96666666666667),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-97.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32039) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.11666666666667),srs::spar::lat_2<>(31.88333333333333),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32040) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(28.38333333333333),srs::spar::lat_2<>(30.28333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32041) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26.16666666666667),srs::spar::lat_2<>(27.83333333333333),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32042) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.71666666666667),srs::spar::lat_2<>(41.78333333333333),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32043) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.01666666666667),srs::spar::lat_2<>(40.65),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32044) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.21666666666667),srs::spar::lat_2<>(38.35),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32045) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-72.5),srs::spar::k<>(0.999964286),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32046) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.03333333333333),srs::spar::lat_2<>(39.2),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32047) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(37.96666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32048) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.5),srs::spar::lat_2<>(48.73333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32049) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.83333333333334),srs::spar::lat_2<>(47.33333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32050) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39),srs::spar::lat_2<>(40.25),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32051) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.48333333333333),srs::spar::lat_2<>(38.88333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32052) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.56666666666667),srs::spar::lat_2<>(46.76666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32053) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.25),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32054) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.73333333333333),srs::spar::lat_2<>(44.06666666666667),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32055) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.66666666666666),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32056) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.66666666666666),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32057) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.66666666666666),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32058) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.66666666666666),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.999941177),srs::spar::x_0<>(152400.3048006096),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32061) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(16.81666666666667),srs::spar::lat_0<>(16.81666666666667),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k_0<>(0.99992226),srs::spar::x_0<>(500000),srs::spar::y_0<>(292209.579)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32062) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(14.9),srs::spar::lat_0<>(14.9),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k_0<>(0.99989906),srs::spar::x_0<>(500000),srs::spar::y_0<>(325992.681)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32064) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-99),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32065) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32066) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32067) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32074) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-99),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32075) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32076) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32077) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32081) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-53),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32082) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-56),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32083) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-58.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32084) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-61.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32085) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-64.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32086) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-67.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32098) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(60),srs::spar::lat_2<>(46),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-68.5),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32099) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(609601.2192024384),srs::spar::y_0<>(0),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32100) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49),srs::spar::lat_2<>(45),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32104) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(40),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32107) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(8000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32108) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32109) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32110) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.999966667),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32111) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32112) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.999909091),srs::spar::x_0<>(165000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32113) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32114) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.999916667),srs::spar::x_0<>(830000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32115) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32116) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32117) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32118) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.03333333333333),srs::spar::lat_2<>(40.66666666666666),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32119) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.16666666666666),srs::spar::lat_2<>(34.33333333333334),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.22),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32120) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.43333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32121) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.48333333333333),srs::spar::lat_2<>(46.18333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32122) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.7),srs::spar::lat_2<>(40.43333333333333),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32123) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.03333333333333),srs::spar::lat_2<>(38.73333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32124) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(35.56666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32125) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.23333333333333),srs::spar::lat_2<>(33.93333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32126) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46),srs::spar::lat_2<>(44.33333333333334),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32127) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(42.33333333333334),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32128) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.95),srs::spar::lat_2<>(40.88333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32129) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.96666666666667),srs::spar::lat_2<>(39.93333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32130) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(100000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32133) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.83333333333334),srs::spar::lat_2<>(32.5),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32134) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.68333333333333),srs::spar::lat_2<>(44.41666666666666),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32135) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.4),srs::spar::lat_2<>(42.83333333333334),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32136) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.41666666666666),srs::spar::lat_2<>(35.25),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32137) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.18333333333333),srs::spar::lat_2<>(34.65),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32138) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.96666666666667),srs::spar::lat_2<>(32.13333333333333),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32139) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.88333333333333),srs::spar::lat_2<>(30.11666666666667),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(700000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32140) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.28333333333333),srs::spar::lat_2<>(28.38333333333333),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32141) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000),srs::spar::y_0<>(5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32142) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.78333333333333),srs::spar::lat_2<>(40.71666666666667),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32143) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.65),srs::spar::lat_2<>(39.01666666666667),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32144) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.35),srs::spar::lat_2<>(37.21666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32145) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-72.5),srs::spar::k<>(0.999964286),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32146) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.2),srs::spar::lat_2<>(38.03333333333333),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32147) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32148) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(48.73333333333333),srs::spar::lat_2<>(47.5),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32149) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.33333333333334),srs::spar::lat_2<>(45.83333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32150) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.25),srs::spar::lat_2<>(39),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32151) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.88333333333333),srs::spar::lat_2<>(37.48333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32152) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.76666666666667),srs::spar::lat_2<>(45.56666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32153) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.5),srs::spar::lat_2<>(44.25),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32154) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.06666666666667),srs::spar::lat_2<>(42.73333333333333),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32155) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32156) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(400000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32157) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32158) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32161) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18.43333333333333),srs::spar::lat_2<>(18.03333333333333),srs::spar::lat_0<>(17.83333333333333),srs::spar::lon_0<>(-66.43333333333334),srs::spar::x_0<>(200000),srs::spar::y_0<>(200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-99),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32166) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32167) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32180) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-55.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32181) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-53),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32182) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-56),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32183) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-58.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32184) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-61.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32185) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-64.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32186) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-67.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32187) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-70.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32188) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-73.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32189) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-76.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32190) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-79.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32191) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-82.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32192) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32193) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-84),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32194) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32195) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-90),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32196) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32197) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-96),srs::spar::k<>(0.9999),srs::spar::x_0<>(304800),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32198) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(60),srs::spar::lat_2<>(46),srs::spar::lat_0<>(44),srs::spar::lon_0<>(-68.5),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32199) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(27.83333333333333),srs::spar::lat_2<>(26.16666666666667),srs::spar::lat_0<>(25.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32201) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32202) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32203) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32204) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32205) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32206) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32207) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32208) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32209) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32210) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32211) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32212) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32213) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32214) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32215) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32216) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32217) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32218) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32219) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32220) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32221) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32222) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32223) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32224) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32225) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32226) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32227) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32228) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32229) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32230) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32231) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32232) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32233) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32234) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32235) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32236) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32237) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32238) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32239) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32240) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32241) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32242) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32243) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32244) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32245) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32246) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32247) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32248) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32249) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32250) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32251) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32252) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32253) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32254) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32255) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32256) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32257) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32258) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32259) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32260) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32301) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32302) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32303) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32304) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32305) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32306) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32307) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32308) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32309) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32310) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32311) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32312) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32313) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32314) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32315) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32316) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32317) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32318) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32319) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32320) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32321) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32322) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32323) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32324) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32325) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32326) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32327) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32328) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32329) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32330) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32331) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32332) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32333) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32334) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32335) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32336) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32337) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32338) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32339) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32340) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32341) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32342) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32343) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32344) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32345) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32346) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32347) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32348) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32349) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32350) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32351) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32352) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32353) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32354) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32355) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32356) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32357) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32358) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32359) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32360) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32401) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<1>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32402) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<2>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32403) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<3>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32404) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<4>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32405) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<5>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32406) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<6>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32407) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<7>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32408) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<8>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32409) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<9>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32410) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<10>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32411) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<11>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32412) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<12>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32413) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<13>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32414) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<14>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32415) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<15>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32416) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<16>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32417) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32418) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32419) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32420) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32421) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32422) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32423) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<23>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32424) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<24>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32425) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<25>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32426) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<26>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32427) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<27>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32428) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32429) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32430) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<30>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32431) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<31>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32432) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32433) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32434) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32435) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32436) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<36>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32437) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<37>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32438) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32439) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32440) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<40>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32441) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<41>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32442) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<42>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32443) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<43>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32444) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<44>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32445) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<45>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32446) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32447) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32448) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32449) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32450) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32451) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32452) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32453) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32454) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<54>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32455) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<55>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32456) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<56>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32457) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<57>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32458) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32459) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<59>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32460) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<60>(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32501) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<1>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32502) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<2>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32503) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<3>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32504) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<4>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32505) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<5>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32506) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<6>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32507) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<7>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32508) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<8>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32509) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<9>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32510) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<10>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32511) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<11>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32512) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<12>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32513) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<13>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32514) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<14>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32515) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<15>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32516) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<16>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32517) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<17>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32518) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<18>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32519) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<19>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32520) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<20>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32521) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<21>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32522) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<22>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32523) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<23>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32524) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<24>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32525) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<25>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32526) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<26>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32527) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<27>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32528) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<28>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32529) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<29>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32530) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<30>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32531) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<31>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32532) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32533) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32534) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32535) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32536) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<36>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32537) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<37>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32538) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<38>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32539) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<39>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32540) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<40>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32541) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<41>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32542) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<42>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32543) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<43>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32544) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<44>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32545) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<45>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32546) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<46>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32547) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<47>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32548) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<48>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32549) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<49>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32550) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<50>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32551) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<51>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32552) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<52>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32553) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<53>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32554) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<54>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32555) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<55>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32556) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<56>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32557) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<57>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32558) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<58>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32559) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<59>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32560) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::south,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<60>(),srs::spar::south(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0,0,1.9,0,0,0.814,-0.38)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32600)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32601) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32602) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32603) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32604) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32605) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32606) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32607) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32608) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32609) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32610) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32611) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32612) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32613) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32614) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32615) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32616) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32617) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32618) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32619) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32620) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32621) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32622) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32623) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32624) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32625) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32626) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32627) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32628) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32629) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32630) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32631) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32632) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32633) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32634) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32635) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32636) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32637) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32638) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32639) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32640) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32641) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32642) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32643) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32644) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32645) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32646) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32647) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32648) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32649) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32650) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32651) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32652) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32653) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32654) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32655) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32656) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32657) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32658) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32659) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32660) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32661) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lat_ts<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(0.994),srs::spar::x_0<>(2000000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32662) srs::spar::parameters<srs::spar::proj_eqc,srs::spar::lat_ts<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqc(),srs::spar::lat_ts<>(0),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32663)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-99),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::datum_wgs84(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-93),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::datum_wgs84(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32666) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-87),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::datum_wgs84(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32667) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000.001016002),srs::spar::y_0<>(0),srs::spar::ellps_wgs84(),srs::spar::datum_wgs84(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32700)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32701) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<1>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32702) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<2>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32703) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<3>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32704) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32705) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32706) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<6>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32707) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<7>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32708) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<8>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32709) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<9>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32710) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<10>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32711) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<11>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32712) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<12>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32713) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<13>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32714) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<14>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32715) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<15>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32716) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<16>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32717) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<17>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32718) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<18>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32719) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<19>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32720) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<20>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32721) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<21>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32722) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<22>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32723) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<23>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32724) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<24>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32725) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32726) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32727) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<27>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32728) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32729) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<29>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32730) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<30>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32731) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<31>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32732) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32733) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32734) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32735) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32736) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<36>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32737) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<37>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32738) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<38>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32739) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<39>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32740) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<40>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32741) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<41>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32742) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<42>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32743) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<43>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32744) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<44>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32745) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<45>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32746) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<46>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32747) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<47>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32748) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<48>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32749) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32750) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32751) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32752) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32753) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32754) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32755) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32756) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32757) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<57>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32758) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<58>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32759) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<59>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32760) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<60>,srs::spar::south,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32761) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lat_ts<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lat_ts<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(0.994),srs::spar::x_0<>(2000000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 32766) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(36),srs::spar::k<>(0.9996),srs::spar::x_0<>(500000),srs::spar::y_0<>(10000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61206405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61216405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-199.87,74.79,246.62,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61226405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378135),srs::spar::b<>(6356750.304921594)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61236405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-96.062,-82.428,-121.753,4.801,-0.345,1.376,0.30857215014565614)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61246405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(414.1,41.3,603.1,-0.855,-2.141,7.023,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61266405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61266413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61276405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-82.875,-57.097,-156.768,-2.158,-1.524,0.982,-0.07404906544270759)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61286405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61296405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61306405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61306413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,-0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61316405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(182.0,915.0,344.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61326405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-244.72,-162.773,400.75,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61336405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.055,-0.541,-0.185,0.0183,0.0003,0.007,-0.002887707287459349)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61346405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-191.808,-250.512,167.861,-0.792,-1.653,8.558,4.270300283733636)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61356405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(58.0,-283.0,-182.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61366405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61376405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61386405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61396405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(11.0,72.0,-101.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61406405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61406413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61416405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-48.0,55.0,52.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61426405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-125.0,53.0,467.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61436405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-124.76,53.0,466.79,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61446405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(214.0,804.0,268.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61456405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384),srs::spar::towgs84<>(275.57,676.78,229.6,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61466405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377299.151),srs::spar::b<>(6356098.145120132),srs::spar::towgs84<>(295.0,736.0,257.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61476405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-17.51,-108.32,-62.39,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61486405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61486413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61496405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(674.4,15.1,405.3,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61506405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(674.374,15.056,405.346,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61516405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61516413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61526405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61526413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(-0.991,1.9072,0.5129,0.0257899075194932,-0.009650098960270402,-0.011659943232342112,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61536405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-133.63,-157.5,-158.62,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61546405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-123.02,-158.95,-168.47,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61556405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-83.0,37.0,124.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61566405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(559.0,68.7,451.5,7.92,4.073,4.251,1.1777720436709203)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61576405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61586405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-0.465,372.095,171.736,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61596405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-114.7,-98.5,-150.7,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61606405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61616405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(27.5,14.0,186.4,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61626405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61636405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61636413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61646405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-76.0,-138.0,67.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61656405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-173.0,253.0,27.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61666405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61676405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61676413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61686405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189),srs::spar::towgs84<>(-199.0,32.0,322.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61696405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-115.0,118.0,426.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61706405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61706413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61716405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61716413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61736405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61736413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61746405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300),srs::spar::b<>(6356751.689189189)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61756405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-88.0,4.0,101.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61766405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61766413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61786405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(24.0,-123.0,-94.0,0.02,0.25,0.13,0.226891286871806)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61796405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.17326243724756094)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61806405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61806413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61816405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-193.0,13.7,-39.3,-0.41,-2.933,2.688,0.08869386668625144)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61826405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-422.651,-172.995,84.02,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61836405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-104.0,167.0,-38.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61846405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-203.0,141.0,53.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61886405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_airy(),srs::spar::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61896405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61896413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61906405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61906413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61916405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61926405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206.1,-174.7,-87.7,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61936405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-70.9,-151.8,-41.4,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61946405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(163.511,127.533,-159.789,0.0,0.0,0.814,-0.12375888374825782)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61956405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(105.0,326.0,-102.5,0.0,0.0,0.814,-0.12375888374825782)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61966405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-45.0,417.0,-3.5,0.0,0.0,0.814,-0.12375888374825782)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61976405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61986405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 61996405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62006405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62016405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-165.0,-11.0,206.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62026405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_aust_sa(),srs::spar::towgs84<>(-124.133,-42.003,137.4,-0.008,-0.557,-0.178,-0.3824149507821167)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62036405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_aust_sa(),srs::spar::towgs84<>(-117.763,-51.51,139.061,0.292,-0.443,-0.277,-0.03939657799319541)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62046405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-18.944,-379.364,-24.063,0.04,0.764,-6.431,0.7543103964456315)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62056405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-43.0,-163.0,45.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62066405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62076405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-288.885,-91.744,126.244,-1.691,-0.41,0.211,-0.948405579124149)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62086405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-161.0,310.0,-145.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62096405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753),srs::spar::towgs84<>(-138.0,-105.0,-289.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62106405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-157.0,-2.0,-299.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62116405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-377.7,675.1,-52.2,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62126405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(31.95,300.99,419.19,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62136405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-106.0,-87.0,188.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62146405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(15.8,-154.4,-82.3,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62156405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62166405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-73.0,213.0,296.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62186405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(304.5,306.5,-318.1,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62196405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-384.0,664.0,-48.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62206405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-50.9,-347.6,-231.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62216405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-154.5,150.7,100.4,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62226405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.145),srs::spar::b<>(6356514.966398753),srs::spar::towgs84<>(-136.0,-108.0,-292.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62236405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-260.1,5.5,432.2,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62246405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-134.0,229.0,-29.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62256405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-206.0,172.0,-6.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62276405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-83.58,-397.54,458.78,-17.595,-2.847,4.256,0.6652040001468859)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62296405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_helmert(),srs::spar::towgs84<>(-130.0,110.0,-13.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62306405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-157.89,-17.16,-78.41,2.118,2.697,-1.434,-1.1097046576093785)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62316405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-82.981,-99.719,-110.709,-0.10470001565102613,0.031001600378938583,0.08040202147511816,-0.06482902860346239)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62326405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-346.0,-1.0,224.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62336405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-133.0,-321.0,50.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62366405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-637.0,-549.0,-203.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62376405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs67,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs67(),srs::spar::towgs84<>(57.01,-69.97,-9.29,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62386405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378160),srs::spar::b<>(6356774.50408554),srs::spar::towgs84<>(-1.977,-13.06,-9.993,0.364,-0.254,-0.689,-0.2138966040782389)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62396405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(217.0,823.0,299.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62406405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(204.64,834.74,293.8,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62416405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62426405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-33.722,153.789,94.959,-8.581,4.478,-4.54,1.8460700159115124)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62436405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377299.36559538),srs::spar::b<>(6356098.357204818)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62446405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024),srs::spar::towgs84<>(-97.0,787.0,86.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62456405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377304.063),srs::spar::b<>(6356103.038993155),srs::spar::towgs84<>(-11.0,851.0,5.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62466405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-294.7,-200.1,525.5,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62476405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-273.5,110.6,-357.9,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62486405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-307.7,265.3,-363.5,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62496405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62506405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-130.0,29.0,364.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62516405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-90.0,40.0,88.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62526405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62536405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(-133.0,-77.0,-51.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62546405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0002681442481212253)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62556405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-333.0,-222.0,114.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62566405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(41.0,-220.0,-134.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62576405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-587.8,519.75,145.76,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62586405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62586413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62596405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-254.1,-5.36,-100.29,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62616405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(31.0,146.0,47.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62626405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(639.0,405.0,60.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62636405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-90.2,-87.32,114.17,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62646405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-252.95,-4.11,-96.38,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62656405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-50.2,-50.4,84.8,-0.69,-2.012,0.459,-5.791915759418465)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62666405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-80.7,-132.5,41.1,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62676405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62686405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378450.047548896),srs::spar::b<>(6356826.621488444)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62696405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62706405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-245.0,-153.9,382.8,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62716405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-2.0,374.0,172.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62726405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::datum_nzgd49,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62736405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696),srs::spar::towgs84<>(278.3,93.0,474.5,7.889,0.05,-6.61,1.2809044467944684)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62746405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-239.749,88.181,30.488,0.263,-0.082,-1.211,0.4597642531247778)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62756405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-168.0,-60.0,320.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62766405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62776405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::datum_osgb36,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62786405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62796405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_airy,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62806405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62816405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378300.789),srs::spar::b<>(6356566.435),srs::spar::towgs84<>(-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,0.20626480624709637)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62826405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-178.3,-316.7,-131.5,5.278,6.077,10.979,3.953271276531849)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62836405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62836413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62846405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(-40.595,-18.55,-69.339,2.508,-1.832,2.611,-0.8867324020562674)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62856405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-128.033,-283.697,21.052,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62866405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62886405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62896405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(565.04,49.91,465.84,-0.40939438743923684,-0.35970519561431136,1.868491000350572,0.8409828680306614)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62926405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-355.0,21.0,72.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62936405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bess_nam,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bess_nam(),srs::spar::towgs84<>(616.0,97.0,-251.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62956405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62976405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-189.0,-242.0,-91.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62986405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_evrstss,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_evrstss(),srs::spar::towgs84<>(-533.4,669.2,-52.5,0.0,0.0,4.28,1.9388891787227058)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 62996405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534),srs::spar::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63006405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377340.189),srs::spar::b<>(6356034.447938534),srs::spar::towgs84<>(482.5,-130.6,564.6,-1.042,-0.214,-0.631,1.6810581709138355)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63016405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-147.0,506.0,687.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63026405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378293.645208759),srs::spar::b<>(6356617.987679838),srs::spar::towgs84<>(-61.702,284.488,472.052,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63036405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_helmert,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63046405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-73.0,-247.0,227.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63066405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63076405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-169.559,-72.34,303.102,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63086405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63096405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-155.0,171.0,37.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63106405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63116405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-265.0,120.0,-358.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63126405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(426.9,142.6,460.1,4.91,4.49,-12.42,3.5271281868253483)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63136405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-106.8686,52.2978,-103.7239,0.3366,0.457,-1.8422,0.26292574852317374)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63146405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::datum_potsdam,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63156405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356515),srs::spar::towgs84<>(-23.0,259.0,-9.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63166405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(103.25,-100.4,-307.19,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63176405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_krass(),srs::spar::towgs84<>(28.0,-121.0,-77.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63186405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(-3.2,-5.7,2.8,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63196405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(226.702,-193.337,-35.371,-2.229,4.391,-9.238,0.20209825716090501)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63226405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0.0,0.0,4.5,0.0,0.0,0.554,0.045171992568114105)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63246405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs72,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs72(),srs::spar::towgs84<>(0.0,0.0,1.9,0.0,0.0,0.814,-0.07838062637389662)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266406)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266407)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266408)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266409)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266410)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266411) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266412)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266414)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266415)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266416)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266417)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266418)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266419) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 63266420)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66006405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66016405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-255.0,-15.0,71.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66026405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(725.0,685.0,536.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66036405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(72.0,213.7,93.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66046405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(174.0,359.0,365.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66056405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(9.0,183.0,236.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66066405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-149.0,128.0,296.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66076405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(195.671,332.517,274.607,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66086405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66096405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66106405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378140),srs::spar::b<>(6356755.288157528)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66116405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-0.22570443917666022)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66126405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66126413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66136405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(-404.78,685.68,45.47,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66146405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,0.7543238036580374)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66156405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-499.0,-249.0,314.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66166405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-289.0,-124.0,60.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66186405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_aust_sa(),srs::spar::towgs84<>(-66.87,4.37,-38.52,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66196405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66196413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66206405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk80(),srs::spar::towgs84<>(-106.0,-129.0,165.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66216405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(137.0,248.0,-430.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66226405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,0.39157310817948776)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66236405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-186.0,230.0,110.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66246405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66246413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(2.0,2.0,-2.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66256405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(126.93,547.94,130.41,-2.7867,5.1612,-0.8584,2.851136537311739)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66266405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(94.0,-948.0,-1262.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66276405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66276413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66286405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(162.0,117.0,154.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66296405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(72.438,345.918,79.486,1.6045,-0.8823,-0.5565,0.2835316026672587)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66306405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(259.551,297.612,197.833,-1.4866,2.1224,0.4612,5.574285762347154)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66316405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(145.0,-187.0,103.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66326405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-382.0,-59.0,-262.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66336405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(335.47,222.58,-230.94,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66346405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-11.64,-348.6,291.98,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66356405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,0.9240250790257423)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66366405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(365.0,194.0,166.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66376405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(325.0,154.0,172.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66386405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_clrk66(),srs::spar::towgs84<>(30.0,430.0,368.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66396405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(253.0,-132.0,-127.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66406405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66406413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66416405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(287.58,177.78,-135.41,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66426405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-13.0,-348.0,292.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66436405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-23.039820110761912)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66446405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-10.18,-350.43,291.37,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66456405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66456413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66466405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66576405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377019.27),srs::spar::b<>(6355762.5391),srs::spar::towgs84<>(-28.0,199.0,5.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66586405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-73.0,46.0,-86.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66596405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66596413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66606405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(982.6087,552.753,-540.873,6.681626625276941,-31.61149240864225,-19.848161004816845,3.466280068982454)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66616405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66616413) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_grs80(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66636405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-210.502,-66.902,-48.476,2.094,15.067,5.817,0.10003843102984174)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66646405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-208.719,129.685,52.092,-0.195,0.014,-0.327,0.040840431636925086)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66656405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_intl(),srs::spar::towgs84<>(-103.088,162.481,-28.276,0.167,-0.082,-0.168,-0.31022226859563296)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66666405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_bessel(),srs::spar::towgs84<>(631.392,-66.551,481.442,1.09,4.445,4.487,-0.9137530916746368)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 66676405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs84,srs::spar::towgs84<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::ellps_wgs84(),srs::spar::towgs84<>(0.0,0.0,0.0,0.0,0.0,0.0,0.0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68016405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_bern,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68026405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_bogota,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68036405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_lisbon,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68046405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68056405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68066405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_rome,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68086405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68096405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::pm_brussels,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68136405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68146405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_stockholm,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68156405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_athens,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68186405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_ferro,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 68206405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::pm_jakarta,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(epsg, 69036405) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::pm_madrid,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378298.3),srs::spar::b<>(6356657.142669561)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
} // namespace detail
#endif // DOXYGEN_NO_DETAIL
diff --git a/boost/geometry/srs/projections/esri.hpp b/boost/geometry/srs/projections/esri.hpp
index 577da84a1d..d7a897e35f 100644
--- a/boost/geometry/srs/projections/esri.hpp
+++ b/boost/geometry/srs/projections/esri.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -23,463 +23,465 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
- inline std::string esri_to_string(int code)
+ inline srs::dpar::parameters<> esri_to_parameters(int code)
{
+ using namespace srs::dpar;
+
static const code_element arr[] = {
- {37001, "+proj=longlat +ellps=WGS66 +no_defs"},
- {37002, "+proj=longlat +a=6378166 +b=6356784.283607107 +no_defs"},
- {37003, "+proj=longlat +a=6378150 +b=6356768.337244385 +no_defs"},
- {37004, "+proj=longlat +ellps=fschr60m +no_defs"},
- {37005, "+proj=longlat +a=6378270 +b=6356794.343434343 +no_defs"},
- {37006, "+proj=longlat +a=6377295.664 +b=6356094.667915204 +no_defs"},
- {37007, "+proj=longlat +a=6376896 +b=6355834.846687363 +no_defs"},
- {37008, "+proj=longlat +a=6370997 +b=6370997 +no_defs"},
- {37201, "+proj=longlat +ellps=intl +no_defs"},
- {37202, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs"},
- {37203, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs"},
- {37204, "+proj=longlat +ellps=intl +no_defs"},
- {37205, "+proj=longlat +ellps=intl +no_defs"},
- {37206, "+proj=longlat +ellps=clrk80 +no_defs"},
- {37207, "+proj=longlat +ellps=fschr60m +no_defs"},
- {37208, "+proj=longlat +ellps=clrk80 +no_defs"},
- {37211, "+proj=longlat +ellps=clrk80 +no_defs"},
- {37212, "+proj=longlat +ellps=intl +no_defs"},
- {37213, "+proj=longlat +ellps=intl +no_defs"},
- {37214, "+proj=longlat +ellps=intl +no_defs"},
- {37215, "+proj=longlat +ellps=intl +no_defs"},
- {37216, "+proj=longlat +ellps=intl +no_defs"},
- {37217, "+proj=longlat +ellps=intl +no_defs"},
- {37218, "+proj=longlat +ellps=intl +no_defs"},
- {37219, "+proj=longlat +ellps=intl +no_defs"},
- {37220, "+proj=longlat +ellps=clrk66 +no_defs"},
- {37221, "+proj=longlat +ellps=intl +no_defs"},
- {37222, "+proj=longlat +ellps=intl +no_defs"},
- {37223, "+proj=longlat +a=6378249.2 +b=6356514.999904194 +no_defs"},
- {37224, "+proj=longlat +ellps=intl +no_defs"},
- {37226, "+proj=longlat +ellps=intl +no_defs"},
- {37227, "+proj=longlat +ellps=intl +no_defs"},
- {37228, "+proj=longlat +ellps=clrk80 +no_defs"},
- {37229, "+proj=longlat +a=6378270 +b=6356794.343434343 +no_defs"},
- {37230, "+proj=longlat +ellps=intl +no_defs"},
- {37231, "+proj=longlat +ellps=aust_SA +no_defs"},
- {37232, "+proj=longlat +ellps=intl +no_defs"},
- {37233, "+proj=longlat +ellps=intl +no_defs"},
- {37234, "+proj=longlat +ellps=intl +no_defs"},
- {37235, "+proj=longlat +ellps=intl +no_defs"},
- {37237, "+proj=longlat +ellps=intl +no_defs"},
- {37238, "+proj=longlat +ellps=intl +no_defs"},
- {37239, "+proj=longlat +ellps=clrk66 +no_defs"},
- {37240, "+proj=longlat +ellps=clrk80 +no_defs"},
- {37241, "+proj=longlat +ellps=intl +no_defs"},
- {37242, "+proj=longlat +ellps=intl +no_defs"},
- {37243, "+proj=longlat +ellps=clrk66 +no_defs"},
- {37245, "+proj=longlat +ellps=intl +no_defs"},
- {37246, "+proj=longlat +ellps=intl +no_defs"},
- {37247, "+proj=longlat +ellps=intl +no_defs"},
- {37249, "+proj=longlat +ellps=intl +no_defs"},
- {37250, "+proj=longlat +ellps=intl +no_defs"},
- {37251, "+proj=longlat +ellps=intl +no_defs"},
- {37252, "+proj=longlat +ellps=clrk66 +no_defs"},
- {37253, "+proj=longlat +ellps=intl +no_defs"},
- {37254, "+proj=longlat +ellps=clrk80 +no_defs"},
- {37255, "+proj=longlat +ellps=bessel +no_defs"},
- {37257, "+proj=longlat +ellps=krass +no_defs"},
- {37259, "+proj=longlat +ellps=intl +no_defs"},
- {37260, "+proj=longlat +ellps=clrk66 +no_defs"},
- //{53001, ""},
- {53002, "+proj=eqc +lat_ts=60 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53003, "+proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m +no_defs"},
- {53004, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53008, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53009, "+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53010, "+proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- //{53011, ""},
- {53012, "+proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- //{53013, ""},
- //{53014, ""},
- //{53015, ""},
- {53016, "+proj=gall +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- //{53017, ""},
- //{53018, ""},
- //{53019, ""},
- {53021, "+proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- //{53022, ""},
- //{53023, ""},
- {53024, "+proj=bonne +lon_0=0 +lat_1=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53025, "+proj=omerc +lat_0=40 +lon_1=0 +lat_1=0 +lon_2=0 +lat_2=0 +k=1 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53026, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53027, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53028, "+proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53029, "+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m +no_defs"},
- {53030, "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53031, "+proj=tpeqd +lat_1=0 +lon_1=0 +lat_2=60 +lon_2=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- {53032, "+proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs"},
- //{54001, ""},
- {54002, "+proj=eqc +lat_ts=60 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54003, "+proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54004, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54008, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54009, "+proj=moll +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54010, "+proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- //{54011, ""},
- {54012, "+proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- //{54013, ""},
- //{54014, ""},
- //{54015, ""},
- {54016, "+proj=gall +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- //{54017, ""},
- //{54018, ""},
- //{54019, ""},
- {54021, "+proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- //{54022, ""},
- //{54023, ""},
- {54024, "+proj=bonne +lon_0=0 +lat_1=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54025, "+proj=omerc +lat_0=40 +lon_1=0 +lat_1=0 +lon_2=0 +lat_2=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54026, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54027, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54028, "+proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54029, "+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54030, "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54031, "+proj=tpeqd +lat_1=0 +lon_1=0 +lat_2=60 +lon_2=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {54032, "+proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {65061, "+proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000.00000000001 +y_0=50000.00000000001 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {65161, "+proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000 +y_0=50000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102001, "+proj=aea +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102002, "+proj=lcc +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102003, "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102004, "+proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102005, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102006, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102007, "+proj=aea +lat_1=8 +lat_2=18 +lat_0=13 +lon_0=-157 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102008, "+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102009, "+proj=lcc +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102010, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=60 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102011, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102012, "+proj=lcc +lat_1=30 +lat_2=62 +lat_0=0 +lon_0=105 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102013, "+proj=aea +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"},
- {102014, "+proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"},
- {102015, "+proj=lcc +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs"},
- {102016, "+proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102017, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102018, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102019, "+proj=aeqd +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102020, "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102021, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102022, "+proj=aea +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102023, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=-23 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102024, "+proj=lcc +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102025, "+proj=aea +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102026, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=15 +lat_2=65 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102027, "+proj=lcc +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102028, "+proj=aea +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102029, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=7 +lat_2=-32 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102030, "+proj=lcc +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"},
- {102031, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=43 +lat_2=62 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"},
- {102032, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=-5 +lat_2=-42 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs"},
- {102033, "+proj=aea +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs"},
- {102065, "+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {102066, "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=-17.66666666666667 +units=m +no_defs"},
- {102067, "+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {102091, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {102092, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +no_defs"},
- {102101, "+proj=tmerc +lat_0=58 +lon_0=6.05625 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102102, "+proj=tmerc +lat_0=58 +lon_0=8.389583333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102103, "+proj=tmerc +lat_0=58 +lon_0=10.72291666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102104, "+proj=tmerc +lat_0=58 +lon_0=13.22291666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102105, "+proj=tmerc +lat_0=58 +lon_0=16.88958333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102106, "+proj=tmerc +lat_0=58 +lon_0=20.88958333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102107, "+proj=tmerc +lat_0=58 +lon_0=24.88958333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102108, "+proj=tmerc +lat_0=58 +lon_0=29.05625 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102110, "+proj=lcc +lat_1=44 +lat_2=49 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +units=m +no_defs"},
- {102114, "+proj=utm +zone=4 +ellps=clrk66 +units=m +no_defs"},
- {102115, "+proj=utm +zone=5 +ellps=clrk66 +units=m +no_defs"},
- {102120, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs"},
- {102121, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102122, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=clrk66 +datum=NAD27 +units=m +no_defs"},
- {102123, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"},
- {102132, "+proj=utm +zone=32 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102133, "+proj=utm +zone=33 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102134, "+proj=utm +zone=34 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102135, "+proj=utm +zone=35 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs"},
- {102140, "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +units=m +no_defs"},
- {102141, "+proj=utm +zone=49 +ellps=intl +units=m +no_defs"},
- {102142, "+proj=utm +zone=50 +ellps=intl +units=m +no_defs"},
- {102151, "+proj=utm +zone=51 +ellps=bessel +units=m +no_defs"},
- {102152, "+proj=utm +zone=52 +ellps=bessel +units=m +no_defs"},
- {102153, "+proj=utm +zone=53 +ellps=bessel +units=m +no_defs"},
- {102154, "+proj=utm +zone=54 +ellps=bessel +units=m +no_defs"},
- {102155, "+proj=utm +zone=55 +ellps=bessel +units=m +no_defs"},
- {102156, "+proj=utm +zone=56 +ellps=bessel +units=m +no_defs"},
- {102160, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=200180.598 +y_0=299913.01 +ellps=intl +units=m +no_defs"},
- {102161, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs"},
- {102162, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs"},
- {102163, "+proj=bonne +lon_0=-8.131906111111112 +lat_1=39.66666666666666 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs"},
- {102164, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs"},
- {102165, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"},
- {102166, "+proj=utm +zone=25 +ellps=intl +units=m +no_defs"},
- {102167, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs"},
- {102168, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs"},
- {102169, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs"},
- {102191, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102192, "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102193, "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102229, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102230, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.9999333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102241, "+proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102242, "+proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102243, "+proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102244, "+proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102245, "+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102246, "+proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102248, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102249, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102250, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.9999333333333333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102251, "+proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102252, "+proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs"},
- {102253, "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs"},
- {102254, "+proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs"},
- {102255, "+proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs"},
- {102256, "+proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m +no_defs"},
- {102257, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102258, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102259, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102260, "+proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102261, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.9999666666666667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102262, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.9999666666666667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102263, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102264, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102265, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102266, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102267, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102268, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473684210526 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102269, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473684210526 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102270, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.9999333333333333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102271, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102272, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.9999411764705882 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102273, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9999666666666667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +no_defs"},
- {102274, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9999666666666667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +no_defs"},
- {102277, "+proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102278, "+proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs"},
- {102279, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102280, "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs"},
- {102281, "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102282, "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102283, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102284, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.9999666666666667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102285, "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102286, "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs"},
- {102287, "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102288, "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102289, "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102290, "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102291, "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {102292, "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {102293, "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {102294, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102295, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102296, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9999333333333333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102297, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9999333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102298, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9999411764705882 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102300, "+proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102304, "+proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102307, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_defs"},
- {102308, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs"},
- {102309, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs"},
- {102310, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9999666666666667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102311, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102312, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.9999090909090909 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102313, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102314, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.9999166666666667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102315, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102316, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102317, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102318, "+proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102320, "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102321, "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102322, "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102323, "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102324, "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102325, "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102326, "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102327, "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102330, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102334, "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102335, "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102336, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102337, "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {102338, "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"},
- {102339, "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs"},
- {102340, "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs"},
- {102341, "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs"},
- {102342, "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {102343, "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"},
- {102344, "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs"},
- {102345, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.9999642857142857 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102346, "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"},
- {102347, "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs"},
- {102348, "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102349, "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102350, "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102351, "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102352, "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102353, "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102354, "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102355, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102356, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {102357, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs"},
- {102358, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs"},
- {102361, "+proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs"},
- {102491, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102492, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102581, "+proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=2.337229166666667 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102582, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102583, "+proj=lcc +lat_1=44.1 +lat_0=44.1 +lon_0=2.337229166666667 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102584, "+proj=lcc +lat_1=42.165 +lat_0=42.165 +lon_0=2.337229166666667 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs"},
- {102591, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs"},
- {102592, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs"},
- {102629, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102630, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.9999333333333333 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102631, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=-36.86989764583333 +k=0.9999 +x_0=4999999.999999999 +y_0=-4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102632, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102633, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102634, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102635, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102636, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102637, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102638, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102639, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102640, "+proj=lcc +lat_1=51.83333333333334 +lat_2=53.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102641, "+proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102642, "+proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102643, "+proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102644, "+proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102645, "+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102646, "+proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102648, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102649, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102650, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.9999333333333333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102651, "+proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102652, "+proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102653, "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102654, "+proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102655, "+proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102656, "+proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102657, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102658, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102659, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102660, "+proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102661, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.9999666666666667 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102662, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.9999666666666667 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102663, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102664, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102665, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102666, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102667, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102668, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473684210526 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102669, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473684210526 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102670, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.9999333333333333 +x_0=799999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102671, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102672, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.9999411764705882 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102673, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9999666666666667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102674, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9999666666666667 +x_0=900000.0000000001 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102675, "+proj=lcc +lat_1=42.06666666666667 +lat_2=43.26666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102676, "+proj=lcc +lat_1=40.61666666666667 +lat_2=41.78333333333333 +lat_0=40 +lon_0=-93.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102677, "+proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102678, "+proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102679, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102680, "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0000000002 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102681, "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102682, "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102683, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102684, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.9999666666666667 +x_0=900000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102685, "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102686, "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102687, "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102688, "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102689, "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000.000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102690, "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102691, "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102692, "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102693, "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102694, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102695, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102696, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9999333333333333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102697, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9999333333333333 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102698, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9999411764705882 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102700, "+proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102704, "+proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102707, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=7999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102708, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.0000000002 +y_0=6000000.000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102709, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=799999.9999999999 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102710, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9999666666666667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102711, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102712, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.9999090909090909 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102713, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102714, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.9999166666666667 +x_0=829999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102715, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102716, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102717, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102718, "+proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102719, "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2199999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102720, "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102721, "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102722, "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102723, "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102724, "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102725, "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102726, "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102727, "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102728, "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102729, "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.96666666666667 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102730, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102733, "+proj=lcc +lat_1=32.5 +lat_2=34.83333333333334 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102734, "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102735, "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102736, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102737, "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102738, "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000.0000000001 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102739, "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102740, "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000.0000000001 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102741, "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102742, "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102743, "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102744, "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102745, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.9999642857142857 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102746, "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102747, "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102748, "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102749, "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102750, "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102751, "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102752, "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102753, "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102754, "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102755, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102756, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102757, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102758, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102761, "+proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {102766, "+proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=49999.99999999999 +y_0=49999.99999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs"},
- {103300, "+proj=lcc +lat_1=49.8333339 +lat_2=51.16666733333333 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +units=m +no_defs"},
- {104000, "+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs"},
- {104101, "+proj=longlat +ellps=bessel +no_defs"},
- {104102, "+proj=longlat +ellps=bessel +no_defs"},
- {104103, "+proj=longlat +ellps=clrk80 +no_defs"},
- {104104, "+proj=longlat +ellps=intl +no_defs"},
- {104105, "+proj=longlat +ellps=bessel +no_defs"},
- {104106, "+proj=longlat +ellps=intl +no_defs"},
- {104107, "+proj=longlat +ellps=GRS80 +no_defs"},
- {104108, "+proj=longlat +ellps=GRS80 +no_defs"},
- {104261, "+proj=longlat +a=6378249.2 +b=6356514.999904194 +no_defs"},
- {104304, "+proj=longlat +a=6378249.2 +b=6356514.999904194 +no_defs"},
- {104305, "+proj=longlat +ellps=clrk80 +no_defs"}
+ {37001, srs::dpar::parameters<>(proj_longlat)(ellps_wgs66)(no_defs)},
+ {37002, srs::dpar::parameters<>(proj_longlat)(a,6378166)(b,6356784.283607107)(no_defs)},
+ {37003, srs::dpar::parameters<>(proj_longlat)(a,6378150)(b,6356768.337244385)(no_defs)},
+ {37004, srs::dpar::parameters<>(proj_longlat)(ellps_fschr60m)(no_defs)},
+ {37005, srs::dpar::parameters<>(proj_longlat)(a,6378270)(b,6356794.343434343)(no_defs)},
+ {37006, srs::dpar::parameters<>(proj_longlat)(a,6377295.664)(b,6356094.667915204)(no_defs)},
+ {37007, srs::dpar::parameters<>(proj_longlat)(a,6376896)(b,6355834.846687363)(no_defs)},
+ {37008, srs::dpar::parameters<>(proj_longlat)(r,6370997)(no_defs)},
+ {37201, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37202, srs::dpar::parameters<>(proj_longlat)(a,6377276.345)(b,6356075.41314024)(no_defs)},
+ {37203, srs::dpar::parameters<>(proj_longlat)(a,6377301.243)(b,6356100.230165384)(no_defs)},
+ {37204, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37205, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37206, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {37207, srs::dpar::parameters<>(proj_longlat)(ellps_fschr60m)(no_defs)},
+ {37208, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {37211, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {37212, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37213, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37214, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37215, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37216, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37217, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37218, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37219, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37220, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {37221, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37222, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37223, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356514.999904194)(no_defs)},
+ {37224, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37226, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37227, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37228, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {37229, srs::dpar::parameters<>(proj_longlat)(a,6378270)(b,6356794.343434343)(no_defs)},
+ {37230, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37231, srs::dpar::parameters<>(proj_longlat)(ellps_aust_sa)(no_defs)},
+ {37232, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37233, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37234, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37235, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37237, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37238, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37239, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {37240, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {37241, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37242, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37243, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {37245, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37246, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37247, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37249, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37250, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37251, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37252, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ {37253, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37254, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {37255, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {37257, srs::dpar::parameters<>(proj_longlat)(ellps_krass)(no_defs)},
+ {37259, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {37260, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(no_defs)},
+ //{53001},
+ {53002, srs::dpar::parameters<>(proj_eqc)(lat_ts,60)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53003, srs::dpar::parameters<>(proj_mill)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r_au)(r,6371000)(units_m)(no_defs)},
+ {53004, srs::dpar::parameters<>(proj_merc)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53008, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53009, srs::dpar::parameters<>(proj_moll)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53010, srs::dpar::parameters<>(proj_eck6)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ //{53011},
+ {53012, srs::dpar::parameters<>(proj_eck4)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ //{53013},
+ //{53014},
+ //{53015},
+ {53016, srs::dpar::parameters<>(proj_gall)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ //{53017},
+ //{53018},
+ //{53019},
+ {53021, srs::dpar::parameters<>(proj_poly)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ //{53022},
+ //{53023},
+ {53024, srs::dpar::parameters<>(proj_bonne)(lon_0,0)(lat_1,60)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53025, srs::dpar::parameters<>(proj_omerc)(lat_0,40)(lon_1,0)(lat_1,0)(lon_2,0)(lat_2,0)(k,1)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53026, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53027, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,60)(lat_2,60)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53028, srs::dpar::parameters<>(proj_cass)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53029, srs::dpar::parameters<>(proj_vandg)(lon_0,0)(x_0,0)(y_0,0)(r_au)(r,6371000)(units_m)(no_defs)},
+ {53030, srs::dpar::parameters<>(proj_robin)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53031, srs::dpar::parameters<>(proj_tpeqd)(lat_1,0)(lon_1,0)(lat_2,60)(lon_2,60)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ {53032, srs::dpar::parameters<>(proj_aeqd)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r,6371000)(units_m)(no_defs)},
+ //{54001},
+ {54002, srs::dpar::parameters<>(proj_eqc)(lat_ts,60)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54003, srs::dpar::parameters<>(proj_mill)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(r_au)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54004, srs::dpar::parameters<>(proj_merc)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54008, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54009, srs::dpar::parameters<>(proj_moll)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54010, srs::dpar::parameters<>(proj_eck6)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ //{54011},
+ {54012, srs::dpar::parameters<>(proj_eck4)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ //{54013},
+ //{54014},
+ //{54015},
+ {54016, srs::dpar::parameters<>(proj_gall)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ //{54017},
+ //{54018},
+ //{54019},
+ {54021, srs::dpar::parameters<>(proj_poly)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ //{54022},
+ //{54023},
+ {54024, srs::dpar::parameters<>(proj_bonne)(lon_0,0)(lat_1,60)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54025, srs::dpar::parameters<>(proj_omerc)(lat_0,40)(lon_1,0)(lat_1,0)(lon_2,0)(lat_2,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54026, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54027, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,60)(lat_2,60)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54028, srs::dpar::parameters<>(proj_cass)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54029, srs::dpar::parameters<>(proj_vandg)(lon_0,0)(x_0,0)(y_0,0)(r_au)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54030, srs::dpar::parameters<>(proj_robin)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54031, srs::dpar::parameters<>(proj_tpeqd)(lat_1,0)(lon_1,0)(lat_2,60)(lon_2,60)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {54032, srs::dpar::parameters<>(proj_aeqd)(lat_0,0)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {65061, srs::dpar::parameters<>(proj_poly)(lat_0,13.47246635277778)(lon_0,-144.7487507055556)(x_0,50000.00000000001)(y_0,50000.00000000001)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {65161, srs::dpar::parameters<>(proj_poly)(lat_0,13.47246635277778)(lon_0,-144.7487507055556)(x_0,50000)(y_0,50000)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102001, srs::dpar::parameters<>(proj_aea)(lat_1,50)(lat_2,70)(lat_0,40)(lon_0,-96)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102002, srs::dpar::parameters<>(proj_lcc)(lat_1,50)(lat_2,70)(lat_0,40)(lon_0,-96)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102003, srs::dpar::parameters<>(proj_aea)(lat_1,29.5)(lat_2,45.5)(lat_0,37.5)(lon_0,-96)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102004, srs::dpar::parameters<>(proj_lcc)(lat_1,33)(lat_2,45)(lat_0,39)(lon_0,-96)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102005, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,33)(lat_2,45)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102006, srs::dpar::parameters<>(proj_aea)(lat_1,55)(lat_2,65)(lat_0,50)(lon_0,-154)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102007, srs::dpar::parameters<>(proj_aea)(lat_1,8)(lat_2,18)(lat_0,13)(lon_0,-157)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102008, srs::dpar::parameters<>(proj_aea)(lat_1,20)(lat_2,60)(lat_0,40)(lon_0,-96)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102009, srs::dpar::parameters<>(proj_lcc)(lat_1,20)(lat_2,60)(lat_0,40)(lon_0,-96)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102010, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,20)(lat_2,60)(x_0,0)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102011, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102012, srs::dpar::parameters<>(proj_lcc)(lat_1,30)(lat_2,62)(lat_0,0)(lon_0,105)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102013, srs::dpar::parameters<>(proj_aea)(lat_1,43)(lat_2,62)(lat_0,30)(lon_0,10)(x_0,0)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {102014, srs::dpar::parameters<>(proj_lcc)(lat_1,43)(lat_2,62)(lat_0,30)(lon_0,10)(x_0,0)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {102015, srs::dpar::parameters<>(proj_lcc)(lat_1,-5)(lat_2,-42)(lat_0,-32)(lon_0,-60)(x_0,0)(y_0,0)(ellps_aust_sa)(units_m)(no_defs)},
+ {102016, srs::dpar::parameters<>(proj_aeqd)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102017, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102018, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102019, srs::dpar::parameters<>(proj_aeqd)(lat_0,-90)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102020, srs::dpar::parameters<>(proj_laea)(lat_0,-90)(lon_0,0)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102021, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102022, srs::dpar::parameters<>(proj_aea)(lat_1,20)(lat_2,-23)(lat_0,0)(lon_0,25)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102023, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,20)(lat_2,-23)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102024, srs::dpar::parameters<>(proj_lcc)(lat_1,20)(lat_2,-23)(lat_0,0)(lon_0,25)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102025, srs::dpar::parameters<>(proj_aea)(lat_1,15)(lat_2,65)(lat_0,30)(lon_0,95)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102026, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,15)(lat_2,65)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102027, srs::dpar::parameters<>(proj_lcc)(lat_1,15)(lat_2,65)(lat_0,30)(lon_0,95)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102028, srs::dpar::parameters<>(proj_aea)(lat_1,7)(lat_2,-32)(lat_0,-15)(lon_0,125)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102029, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,7)(lat_2,-32)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102030, srs::dpar::parameters<>(proj_lcc)(lat_1,7)(lat_2,-32)(lat_0,-15)(lon_0,125)(x_0,0)(y_0,0)(ellps_wgs84)(srs::dpar::datum_wgs84)(units_m)(no_defs)},
+ {102031, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,43)(lat_2,62)(x_0,0)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {102032, srs::dpar::parameters<>(proj_eqdc)(lat_0,0)(lon_0,0)(lat_1,-5)(lat_2,-42)(x_0,0)(y_0,0)(ellps_aust_sa)(units_m)(no_defs)},
+ {102033, srs::dpar::parameters<>(proj_aea)(lat_1,-5)(lat_2,-42)(lat_0,-32)(lon_0,-60)(x_0,0)(y_0,0)(ellps_aust_sa)(units_m)(no_defs)},
+ {102065, srs::dpar::parameters<>(proj_krovak)(lat_0,49.5)(lon_0,24.83333333333333)(alpha,30.28813975277778)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {102066, srs::dpar::parameters<>(proj_krovak)(lat_0,49.5)(lon_0,42.5)(alpha,30.28813975277778)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(pm,-17.66666666666667)(units_m)(no_defs)},
+ {102067, srs::dpar::parameters<>(proj_krovak)(lat_0,49.5)(lon_0,24.83333333333333)(alpha,30.28813975277778)(k,0.9999)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {102091, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,9)(k,0.9996)(x_0,1500000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {102092, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,15)(k,0.9996)(x_0,2520000)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {102101, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,6.05625)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102102, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,8.389583333333333)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102103, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,10.72291666666667)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102104, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,13.22291666666667)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102105, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,16.88958333333333)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102106, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,20.88958333333333)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102107, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,24.88958333333333)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102108, srs::dpar::parameters<>(proj_tmerc)(lat_0,58)(lon_0,29.05625)(k,1)(x_0,0)(y_0,0)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102110, srs::dpar::parameters<>(proj_lcc)(lat_1,44)(lat_2,49)(lat_0,46.5)(lon_0,3)(x_0,700000)(y_0,6600000)(ellps_grs80)(units_m)(no_defs)},
+ {102114, srs::dpar::parameters<>(proj_utm)(zone,4)(ellps_clrk66)(units_m)(no_defs)},
+ {102115, srs::dpar::parameters<>(proj_utm)(zone,5)(ellps_clrk66)(units_m)(no_defs)},
+ {102120, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.255555555556)(k,0.9996)(x_0,2546731.495961392)(y_0,-4354009.816002033)(ellps_clrk66)(srs::dpar::datum_nad27)(to_meter,0.3048006096012192)(no_defs)},
+ {102121, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.255555555556)(k,0.9996)(x_0,2546731.495961392)(y_0,-4354009.816002033)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102122, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.255555555556)(k,0.9996)(x_0,2546731.496)(y_0,-4354009.816)(ellps_clrk66)(srs::dpar::datum_nad27)(units_m)(no_defs)},
+ {102123, srs::dpar::parameters<>(proj_omerc)(lat_0,45.30916666666666)(lonc,-86)(alpha,337.255555555556)(k,0.9996)(x_0,2546731.496)(y_0,-4354009.816)(ellps_grs80)(srs::dpar::datum_nad83)(units_m)(no_defs)},
+ {102132, srs::dpar::parameters<>(proj_utm)(zone,32)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102133, srs::dpar::parameters<>(proj_utm)(zone,33)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102134, srs::dpar::parameters<>(proj_utm)(zone,34)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102135, srs::dpar::parameters<>(proj_utm)(zone,35)(a,6377492.018)(b,6356173.508712696)(units_m)(no_defs)},
+ {102140, srs::dpar::parameters<>(proj_tmerc)(lat_0,22.31213333333334)(lon_0,114.1785555555556)(k,1)(x_0,836694.05)(y_0,819069.8)(ellps_intl)(units_m)(no_defs)},
+ {102141, srs::dpar::parameters<>(proj_utm)(zone,49)(ellps_intl)(units_m)(no_defs)},
+ {102142, srs::dpar::parameters<>(proj_utm)(zone,50)(ellps_intl)(units_m)(no_defs)},
+ {102151, srs::dpar::parameters<>(proj_utm)(zone,51)(ellps_bessel)(units_m)(no_defs)},
+ {102152, srs::dpar::parameters<>(proj_utm)(zone,52)(ellps_bessel)(units_m)(no_defs)},
+ {102153, srs::dpar::parameters<>(proj_utm)(zone,53)(ellps_bessel)(units_m)(no_defs)},
+ {102154, srs::dpar::parameters<>(proj_utm)(zone,54)(ellps_bessel)(units_m)(no_defs)},
+ {102155, srs::dpar::parameters<>(proj_utm)(zone,55)(ellps_bessel)(units_m)(no_defs)},
+ {102156, srs::dpar::parameters<>(proj_utm)(zone,56)(ellps_bessel)(units_m)(no_defs)},
+ {102160, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,-8.131906111111112)(k,1)(x_0,200180.598)(y_0,299913.01)(ellps_intl)(units_m)(no_defs)},
+ {102161, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,-8.131906111111112)(k,1)(x_0,180.598)(y_0,-86.98999999999999)(ellps_intl)(units_m)(no_defs)},
+ {102162, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(units_m)(no_defs)},
+ {102163, srs::dpar::parameters<>(proj_bonne)(lon_0,-8.131906111111112)(lat_1,39.66666666666666)(x_0,0)(y_0,0)(ellps_bessel)(units_m)(no_defs)},
+ {102164, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,-8.131906111111112)(k,1)(x_0,200000)(y_0,300000)(ellps_intl)(units_m)(no_defs)},
+ {102165, srs::dpar::parameters<>(proj_tmerc)(lat_0,39.66666666666666)(lon_0,-8.131906111111112)(k,1)(x_0,0)(y_0,0)(ellps_intl)(units_m)(no_defs)},
+ {102166, srs::dpar::parameters<>(proj_utm)(zone,25)(ellps_intl)(units_m)(no_defs)},
+ {102167, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(units_m)(no_defs)},
+ {102168, srs::dpar::parameters<>(proj_utm)(zone,26)(ellps_intl)(units_m)(no_defs)},
+ {102169, srs::dpar::parameters<>(proj_utm)(zone,28)(ellps_intl)(units_m)(no_defs)},
+ {102191, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,-5.4)(k_0,0.999625769)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102192, srs::dpar::parameters<>(proj_lcc)(lat_1,29.7)(lat_0,29.7)(lon_0,-5.4)(k_0,0.9996155960000001)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102193, srs::dpar::parameters<>(proj_lcc)(lat_1,26.1)(lat_0,26.1)(lon_0,-5.4)(k_0,0.9996)(x_0,1200000)(y_0,400000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102229, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-85.83333333333333)(k,0.99996)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102230, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-87.5)(k,0.9999333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102241, srs::dpar::parameters<>(proj_lcc)(lat_1,40)(lat_2,41.66666666666666)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102242, srs::dpar::parameters<>(proj_lcc)(lat_1,38.33333333333334)(lat_2,39.83333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102243, srs::dpar::parameters<>(proj_lcc)(lat_1,37.06666666666667)(lat_2,38.43333333333333)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102244, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_2,37.25)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102245, srs::dpar::parameters<>(proj_lcc)(lat_1,34.03333333333333)(lat_2,35.46666666666667)(lat_0,33.5)(lon_0,-118)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102246, srs::dpar::parameters<>(proj_lcc)(lat_1,32.78333333333333)(lat_2,33.88333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102248, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102249, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102250, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.9999333333333333)(x_0,213360)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102251, srs::dpar::parameters<>(proj_lcc)(lat_1,34.93333333333333)(lat_2,36.23333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102252, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_2,34.76666666666667)(lat_0,32.66666666666666)(lon_0,-92)(x_0,400000)(y_0,400000)(ellps_grs80)(units_m)(no_defs)},
+ {102253, srs::dpar::parameters<>(proj_lcc)(lat_1,39.71666666666667)(lat_2,40.78333333333333)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(units_m)(no_defs)},
+ {102254, srs::dpar::parameters<>(proj_lcc)(lat_1,38.45)(lat_2,39.75)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(units_m)(no_defs)},
+ {102255, srs::dpar::parameters<>(proj_lcc)(lat_1,37.23333333333333)(lat_2,38.43333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(units_m)(no_defs)},
+ {102256, srs::dpar::parameters<>(proj_lcc)(lat_1,41.2)(lat_2,41.86666666666667)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096)(y_0,152400.3048)(ellps_grs80)(units_m)(no_defs)},
+ {102257, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102258, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.9999411764705882)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102259, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.9999411764705882)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102260, srs::dpar::parameters<>(proj_lcc)(lat_1,29.58333333333333)(lat_2,30.75)(lat_0,29)(lon_0,-84.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102261, srs::dpar::parameters<>(proj_tmerc)(lat_0,18.83333333333333)(lon_0,-155.5)(k,0.9999666666666667)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102262, srs::dpar::parameters<>(proj_tmerc)(lat_0,20.33333333333333)(lon_0,-156.6666666666667)(k,0.9999666666666667)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102263, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102264, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.83333333333333)(lon_0,-159.5)(k,0.99999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102265, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.66666666666667)(lon_0,-160.1666666666667)(k,1)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102266, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102267, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102268, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473684210526)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102269, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473684210526)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102270, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.9999333333333333)(x_0,800000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102271, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102272, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.9999411764705882)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102273, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.9999666666666667)(x_0,100000)(y_0,250000)(ellps_grs80)(units_m)(no_defs)},
+ {102274, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.9999666666666667)(x_0,900000)(y_0,250000)(ellps_grs80)(units_m)(no_defs)},
+ {102277, srs::dpar::parameters<>(proj_lcc)(lat_1,38.71666666666667)(lat_2,39.78333333333333)(lat_0,38.33333333333334)(lon_0,-98)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102278, srs::dpar::parameters<>(proj_lcc)(lat_1,37.26666666666667)(lat_2,38.56666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,400000)(y_0,400000)(ellps_grs80)(units_m)(no_defs)},
+ {102279, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102280, srs::dpar::parameters<>(proj_lcc)(lat_1,36.73333333333333)(lat_2,37.93333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000)(y_0,500000)(ellps_grs80)(units_m)(no_defs)},
+ {102281, srs::dpar::parameters<>(proj_lcc)(lat_1,31.16666666666667)(lat_2,32.66666666666666)(lat_0,30.5)(lon_0,-92.5)(x_0,1000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102282, srs::dpar::parameters<>(proj_lcc)(lat_1,29.3)(lat_2,30.7)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,1000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102283, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102284, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.9999666666666667)(x_0,900000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102285, srs::dpar::parameters<>(proj_lcc)(lat_1,38.3)(lat_2,39.45)(lat_0,37.66666666666666)(lon_0,-77)(x_0,400000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102286, srs::dpar::parameters<>(proj_lcc)(lat_1,41.71666666666667)(lat_2,42.68333333333333)(lat_0,41)(lon_0,-71.5)(x_0,200000)(y_0,750000)(ellps_grs80)(units_m)(no_defs)},
+ {102287, srs::dpar::parameters<>(proj_lcc)(lat_1,41.28333333333333)(lat_2,41.48333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102288, srs::dpar::parameters<>(proj_lcc)(lat_1,45.48333333333333)(lat_2,47.08333333333334)(lat_0,44.78333333333333)(lon_0,-87)(x_0,8000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102289, srs::dpar::parameters<>(proj_lcc)(lat_1,44.18333333333333)(lat_2,45.7)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,6000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102290, srs::dpar::parameters<>(proj_lcc)(lat_1,42.1)(lat_2,43.66666666666666)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,4000000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102291, srs::dpar::parameters<>(proj_lcc)(lat_1,47.03333333333333)(lat_2,48.63333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {102292, srs::dpar::parameters<>(proj_lcc)(lat_1,45.61666666666667)(lat_2,47.05)(lat_0,45)(lon_0,-94.25)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {102293, srs::dpar::parameters<>(proj_lcc)(lat_1,43.78333333333333)(lat_2,45.21666666666667)(lat_0,43)(lon_0,-94)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {102294, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102295, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,700000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102296, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-90.5)(k,0.9999333333333333)(x_0,250000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102297, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-92.5)(k,0.9999333333333333)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102298, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.16666666666666)(lon_0,-94.5)(k,0.9999411764705882)(x_0,850000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102300, srs::dpar::parameters<>(proj_lcc)(lat_1,45)(lat_2,49)(lat_0,44.25)(lon_0,-109.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102304, srs::dpar::parameters<>(proj_lcc)(lat_1,40)(lat_2,43)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102307, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000)(y_0,8000000)(ellps_grs80)(units_m)(no_defs)},
+ {102308, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000)(y_0,6000000)(ellps_grs80)(units_m)(no_defs)},
+ {102309, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,800000)(y_0,4000000)(ellps_grs80)(units_m)(no_defs)},
+ {102310, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.9999666666666667)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102311, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102312, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.9999090909090909)(x_0,165000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102313, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102314, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.9999166666666667)(x_0,830000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102315, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102316, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,250000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102317, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102318, srs::dpar::parameters<>(proj_lcc)(lat_1,40.66666666666666)(lat_2,41.03333333333333)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102320, srs::dpar::parameters<>(proj_lcc)(lat_1,47.43333333333333)(lat_2,48.73333333333333)(lat_0,47)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102321, srs::dpar::parameters<>(proj_lcc)(lat_1,46.18333333333333)(lat_2,47.48333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102322, srs::dpar::parameters<>(proj_lcc)(lat_1,40.43333333333333)(lat_2,41.7)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102323, srs::dpar::parameters<>(proj_lcc)(lat_1,38.73333333333333)(lat_2,40.03333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102324, srs::dpar::parameters<>(proj_lcc)(lat_1,35.56666666666667)(lat_2,36.76666666666667)(lat_0,35)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102325, srs::dpar::parameters<>(proj_lcc)(lat_1,33.93333333333333)(lat_2,35.23333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102326, srs::dpar::parameters<>(proj_lcc)(lat_1,44.33333333333334)(lat_2,46)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102327, srs::dpar::parameters<>(proj_lcc)(lat_1,42.33333333333334)(lat_2,44)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102330, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,100000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102334, srs::dpar::parameters<>(proj_lcc)(lat_1,44.41666666666666)(lat_2,45.68333333333333)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102335, srs::dpar::parameters<>(proj_lcc)(lat_1,42.83333333333334)(lat_2,44.4)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102336, srs::dpar::parameters<>(proj_lcc)(lat_1,35.25)(lat_2,36.41666666666666)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102337, srs::dpar::parameters<>(proj_lcc)(lat_1,34.65)(lat_2,36.18333333333333)(lat_0,34)(lon_0,-101.5)(x_0,200000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {102338, srs::dpar::parameters<>(proj_lcc)(lat_1,32.13333333333333)(lat_2,33.96666666666667)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000)(y_0,2000000)(ellps_grs80)(units_m)(no_defs)},
+ {102339, srs::dpar::parameters<>(proj_lcc)(lat_1,30.11666666666667)(lat_2,31.88333333333333)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,700000)(y_0,3000000)(ellps_grs80)(units_m)(no_defs)},
+ {102340, srs::dpar::parameters<>(proj_lcc)(lat_1,28.38333333333333)(lat_2,30.28333333333334)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000)(y_0,4000000)(ellps_grs80)(units_m)(no_defs)},
+ {102341, srs::dpar::parameters<>(proj_lcc)(lat_1,26.16666666666667)(lat_2,27.83333333333333)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000)(y_0,5000000)(ellps_grs80)(units_m)(no_defs)},
+ {102342, srs::dpar::parameters<>(proj_lcc)(lat_1,40.71666666666667)(lat_2,41.78333333333333)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {102343, srs::dpar::parameters<>(proj_lcc)(lat_1,39.01666666666667)(lat_2,40.65)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000)(y_0,2000000)(ellps_grs80)(units_m)(no_defs)},
+ {102344, srs::dpar::parameters<>(proj_lcc)(lat_1,37.21666666666667)(lat_2,38.35)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000)(y_0,3000000)(ellps_grs80)(units_m)(no_defs)},
+ {102345, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-72.5)(k,0.9999642857142857)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102346, srs::dpar::parameters<>(proj_lcc)(lat_1,38.03333333333333)(lat_2,39.2)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3500000)(y_0,2000000)(ellps_grs80)(units_m)(no_defs)},
+ {102347, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,37.96666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3500000)(y_0,1000000)(ellps_grs80)(units_m)(no_defs)},
+ {102348, srs::dpar::parameters<>(proj_lcc)(lat_1,47.5)(lat_2,48.73333333333333)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102349, srs::dpar::parameters<>(proj_lcc)(lat_1,45.83333333333334)(lat_2,47.33333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102350, srs::dpar::parameters<>(proj_lcc)(lat_1,39)(lat_2,40.25)(lat_0,38.5)(lon_0,-79.5)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102351, srs::dpar::parameters<>(proj_lcc)(lat_1,37.48333333333333)(lat_2,38.88333333333333)(lat_0,37)(lon_0,-81)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102352, srs::dpar::parameters<>(proj_lcc)(lat_1,45.56666666666667)(lat_2,46.76666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102353, srs::dpar::parameters<>(proj_lcc)(lat_1,44.25)(lat_2,45.5)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102354, srs::dpar::parameters<>(proj_lcc)(lat_1,42.73333333333333)(lat_2,44.06666666666667)(lat_0,42)(lon_0,-90)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102355, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102356, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,400000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {102357, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000)(y_0,0)(ellps_grs80)(units_m)(no_defs)},
+ {102358, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,800000)(y_0,100000)(ellps_grs80)(units_m)(no_defs)},
+ {102361, srs::dpar::parameters<>(proj_lcc)(lat_1,18.03333333333334)(lat_2,18.43333333333333)(lat_0,17.83333333333333)(lon_0,-66.43333333333334)(x_0,200000)(y_0,200000)(ellps_grs80)(units_m)(no_defs)},
+ {102491, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_0,36)(lon_0,2.7)(k_0,0.999625544)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102492, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,2.7)(k_0,0.999625769)(x_0,500000)(y_0,300000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102581, srs::dpar::parameters<>(proj_lcc)(lat_1,49.5)(lat_0,49.5)(lon_0,2.337229166666667)(k_0,0.999877341)(x_0,600000)(y_0,1200000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102582, srs::dpar::parameters<>(proj_lcc)(lat_1,46.8)(lat_0,46.8)(lon_0,2.337229166666667)(k_0,0.99987742)(x_0,600000)(y_0,2200000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102583, srs::dpar::parameters<>(proj_lcc)(lat_1,44.1)(lat_0,44.1)(lon_0,2.337229166666667)(k_0,0.999877499)(x_0,600000)(y_0,3200000)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102584, srs::dpar::parameters<>(proj_lcc)(lat_1,42.165)(lat_0,42.165)(lon_0,2.337229166666667)(k_0,0.99994471)(x_0,234.358)(y_0,4185861.369)(a,6378249.2)(b,6356514.999904194)(units_m)(no_defs)},
+ {102591, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_0,36)(lon_0,2.7)(k_0,0.999625544)(x_0,500135)(y_0,300090)(ellps_clrk80)(units_m)(no_defs)},
+ {102592, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_0,33.3)(lon_0,2.7)(k_0,0.999625769)(x_0,500135)(y_0,300090)(ellps_clrk80)(units_m)(no_defs)},
+ {102629, srs::dpar::parameters<>(proj_tmerc)(lat_0,30.5)(lon_0,-85.83333333333333)(k,0.99996)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102630, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-87.5)(k,0.9999333333333333)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102631, srs::dpar::parameters<>(proj_omerc)(lat_0,57)(lonc,-133.6666666666667)(alpha,-36.86989764583333)(k,0.9999)(x_0,4999999.999999999)(y_0,-4999999.999999999)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102632, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-142)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102633, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-146)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102634, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-150)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102635, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-154)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102636, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-158)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102637, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-162)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102638, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-166)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102639, srs::dpar::parameters<>(proj_tmerc)(lat_0,54)(lon_0,-170)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102640, srs::dpar::parameters<>(proj_lcc)(lat_1,51.83333333333334)(lat_2,53.83333333333334)(lat_0,51)(lon_0,-176)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102641, srs::dpar::parameters<>(proj_lcc)(lat_1,40)(lat_2,41.66666666666666)(lat_0,39.33333333333334)(lon_0,-122)(x_0,2000000)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102642, srs::dpar::parameters<>(proj_lcc)(lat_1,38.33333333333334)(lat_2,39.83333333333334)(lat_0,37.66666666666666)(lon_0,-122)(x_0,2000000)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102643, srs::dpar::parameters<>(proj_lcc)(lat_1,37.06666666666667)(lat_2,38.43333333333333)(lat_0,36.5)(lon_0,-120.5)(x_0,2000000)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102644, srs::dpar::parameters<>(proj_lcc)(lat_1,36)(lat_2,37.25)(lat_0,35.33333333333334)(lon_0,-119)(x_0,2000000)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102645, srs::dpar::parameters<>(proj_lcc)(lat_1,34.03333333333333)(lat_2,35.46666666666667)(lat_0,33.5)(lon_0,-118)(x_0,2000000)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102646, srs::dpar::parameters<>(proj_lcc)(lat_1,32.78333333333333)(lat_2,33.88333333333333)(lat_0,32.16666666666666)(lon_0,-116.25)(x_0,2000000)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102648, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-110.1666666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102649, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-111.9166666666667)(k,0.9999)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102650, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-113.75)(k,0.9999333333333333)(x_0,213360)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102651, srs::dpar::parameters<>(proj_lcc)(lat_1,34.93333333333333)(lat_2,36.23333333333333)(lat_0,34.33333333333334)(lon_0,-92)(x_0,399999.9999999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102652, srs::dpar::parameters<>(proj_lcc)(lat_1,33.3)(lat_2,34.76666666666667)(lat_0,32.66666666666666)(lon_0,-92)(x_0,399999.9999999999)(y_0,399999.9999999999)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102653, srs::dpar::parameters<>(proj_lcc)(lat_1,39.71666666666667)(lat_2,40.78333333333333)(lat_0,39.33333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102654, srs::dpar::parameters<>(proj_lcc)(lat_1,38.45)(lat_2,39.75)(lat_0,37.83333333333334)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102655, srs::dpar::parameters<>(proj_lcc)(lat_1,37.23333333333333)(lat_2,38.43333333333333)(lat_0,36.66666666666666)(lon_0,-105.5)(x_0,914401.8289)(y_0,304800.6096)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102656, srs::dpar::parameters<>(proj_lcc)(lat_1,41.2)(lat_2,41.86666666666667)(lat_0,40.83333333333334)(lon_0,-72.75)(x_0,304800.6096)(y_0,152400.3048)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102657, srs::dpar::parameters<>(proj_tmerc)(lat_0,38)(lon_0,-75.41666666666667)(k,0.999995)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102658, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-81)(k,0.9999411764705882)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102659, srs::dpar::parameters<>(proj_tmerc)(lat_0,24.33333333333333)(lon_0,-82)(k,0.9999411764705882)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102660, srs::dpar::parameters<>(proj_lcc)(lat_1,29.58333333333333)(lat_2,30.75)(lat_0,29)(lon_0,-84.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102661, srs::dpar::parameters<>(proj_tmerc)(lat_0,18.83333333333333)(lon_0,-155.5)(k,0.9999666666666667)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102662, srs::dpar::parameters<>(proj_tmerc)(lat_0,20.33333333333333)(lon_0,-156.6666666666667)(k,0.9999666666666667)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102663, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.16666666666667)(lon_0,-158)(k,0.99999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102664, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.83333333333333)(lon_0,-159.5)(k,0.99999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102665, srs::dpar::parameters<>(proj_tmerc)(lat_0,21.66666666666667)(lon_0,-160.1666666666667)(k,1)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102666, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-82.16666666666667)(k,0.9999)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102667, srs::dpar::parameters<>(proj_tmerc)(lat_0,30)(lon_0,-84.16666666666667)(k,0.9999)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102668, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-112.1666666666667)(k,0.9999473684210526)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102669, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-114)(k,0.9999473684210526)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102670, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.66666666666666)(lon_0,-115.75)(k,0.9999333333333333)(x_0,799999.9999999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102671, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-88.33333333333333)(k,0.9999749999999999)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102672, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.66666666666666)(lon_0,-90.16666666666667)(k,0.9999411764705882)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102673, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-85.66666666666667)(k,0.9999666666666667)(x_0,100000)(y_0,250000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102674, srs::dpar::parameters<>(proj_tmerc)(lat_0,37.5)(lon_0,-87.08333333333333)(k,0.9999666666666667)(x_0,900000.0000000001)(y_0,250000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102675, srs::dpar::parameters<>(proj_lcc)(lat_1,42.06666666666667)(lat_2,43.26666666666667)(lat_0,41.5)(lon_0,-93.5)(x_0,1500000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102676, srs::dpar::parameters<>(proj_lcc)(lat_1,40.61666666666667)(lat_2,41.78333333333333)(lat_0,40)(lon_0,-93.5)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102677, srs::dpar::parameters<>(proj_lcc)(lat_1,38.71666666666667)(lat_2,39.78333333333333)(lat_0,38.33333333333334)(lon_0,-98)(x_0,399999.9999999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102678, srs::dpar::parameters<>(proj_lcc)(lat_1,37.26666666666667)(lat_2,38.56666666666667)(lat_0,36.66666666666666)(lon_0,-98.5)(x_0,399999.9999999999)(y_0,399999.9999999999)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102679, srs::dpar::parameters<>(proj_lcc)(lat_1,37.96666666666667)(lat_2,38.96666666666667)(lat_0,37.5)(lon_0,-84.25)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102680, srs::dpar::parameters<>(proj_lcc)(lat_1,36.73333333333333)(lat_2,37.93333333333333)(lat_0,36.33333333333334)(lon_0,-85.75)(x_0,500000.0000000002)(y_0,500000.0000000002)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102681, srs::dpar::parameters<>(proj_lcc)(lat_1,31.16666666666667)(lat_2,32.66666666666666)(lat_0,30.5)(lon_0,-92.5)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102682, srs::dpar::parameters<>(proj_lcc)(lat_1,29.3)(lat_2,30.7)(lat_0,28.5)(lon_0,-91.33333333333333)(x_0,1000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102683, srs::dpar::parameters<>(proj_tmerc)(lat_0,43.66666666666666)(lon_0,-68.5)(k,0.9999)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102684, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.83333333333334)(lon_0,-70.16666666666667)(k,0.9999666666666667)(x_0,900000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102685, srs::dpar::parameters<>(proj_lcc)(lat_1,38.3)(lat_2,39.45)(lat_0,37.66666666666666)(lon_0,-77)(x_0,399999.9999999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102686, srs::dpar::parameters<>(proj_lcc)(lat_1,41.71666666666667)(lat_2,42.68333333333333)(lat_0,41)(lon_0,-71.5)(x_0,200000)(y_0,750000.0000000001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102687, srs::dpar::parameters<>(proj_lcc)(lat_1,41.28333333333333)(lat_2,41.48333333333333)(lat_0,41)(lon_0,-70.5)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102688, srs::dpar::parameters<>(proj_lcc)(lat_1,45.48333333333333)(lat_2,47.08333333333334)(lat_0,44.78333333333333)(lon_0,-87)(x_0,7999999.999999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102689, srs::dpar::parameters<>(proj_lcc)(lat_1,44.18333333333333)(lat_2,45.7)(lat_0,43.31666666666667)(lon_0,-84.36666666666666)(x_0,6000000.000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102690, srs::dpar::parameters<>(proj_lcc)(lat_1,42.1)(lat_2,43.66666666666666)(lat_0,41.5)(lon_0,-84.36666666666666)(x_0,4000000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102691, srs::dpar::parameters<>(proj_lcc)(lat_1,47.03333333333333)(lat_2,48.63333333333333)(lat_0,46.5)(lon_0,-93.09999999999999)(x_0,799999.9999999999)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102692, srs::dpar::parameters<>(proj_lcc)(lat_1,45.61666666666667)(lat_2,47.05)(lat_0,45)(lon_0,-94.25)(x_0,799999.9999999999)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102693, srs::dpar::parameters<>(proj_lcc)(lat_1,43.78333333333333)(lat_2,45.21666666666667)(lat_0,43)(lon_0,-94)(x_0,799999.9999999999)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102694, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-88.83333333333333)(k,0.99995)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102695, srs::dpar::parameters<>(proj_tmerc)(lat_0,29.5)(lon_0,-90.33333333333333)(k,0.99995)(x_0,700000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102696, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-90.5)(k,0.9999333333333333)(x_0,250000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102697, srs::dpar::parameters<>(proj_tmerc)(lat_0,35.83333333333334)(lon_0,-92.5)(k,0.9999333333333333)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102698, srs::dpar::parameters<>(proj_tmerc)(lat_0,36.16666666666666)(lon_0,-94.5)(k,0.9999411764705882)(x_0,850000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102700, srs::dpar::parameters<>(proj_lcc)(lat_1,45)(lat_2,49)(lat_0,44.25)(lon_0,-109.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102704, srs::dpar::parameters<>(proj_lcc)(lat_1,40)(lat_2,43)(lat_0,39.83333333333334)(lon_0,-100)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102707, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-115.5833333333333)(k,0.9999)(x_0,200000)(y_0,7999999.999999999)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102708, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-116.6666666666667)(k,0.9999)(x_0,500000.0000000002)(y_0,6000000.000000001)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102709, srs::dpar::parameters<>(proj_tmerc)(lat_0,34.75)(lon_0,-118.5833333333333)(k,0.9999)(x_0,799999.9999999999)(y_0,4000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102710, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-71.66666666666667)(k,0.9999666666666667)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102711, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102712, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-104.3333333333333)(k,0.9999090909090909)(x_0,165000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102713, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-106.25)(k,0.9999)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102714, srs::dpar::parameters<>(proj_tmerc)(lat_0,31)(lon_0,-107.8333333333333)(k,0.9999166666666667)(x_0,829999.9999999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102715, srs::dpar::parameters<>(proj_tmerc)(lat_0,38.83333333333334)(lon_0,-74.5)(k,0.9999)(x_0,150000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102716, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-76.58333333333333)(k,0.9999375)(x_0,250000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102717, srs::dpar::parameters<>(proj_tmerc)(lat_0,40)(lon_0,-78.58333333333333)(k,0.9999375)(x_0,350000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102718, srs::dpar::parameters<>(proj_lcc)(lat_1,40.66666666666666)(lat_2,41.03333333333333)(lat_0,40.16666666666666)(lon_0,-74)(x_0,300000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102719, srs::dpar::parameters<>(proj_lcc)(lat_1,34.33333333333334)(lat_2,36.16666666666666)(lat_0,33.75)(lon_0,-79)(x_0,609601.2199999999)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102720, srs::dpar::parameters<>(proj_lcc)(lat_1,47.43333333333333)(lat_2,48.73333333333333)(lat_0,47)(lon_0,-100.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102721, srs::dpar::parameters<>(proj_lcc)(lat_1,46.18333333333333)(lat_2,47.48333333333333)(lat_0,45.66666666666666)(lon_0,-100.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102722, srs::dpar::parameters<>(proj_lcc)(lat_1,40.43333333333333)(lat_2,41.7)(lat_0,39.66666666666666)(lon_0,-82.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102723, srs::dpar::parameters<>(proj_lcc)(lat_1,38.73333333333333)(lat_2,40.03333333333333)(lat_0,38)(lon_0,-82.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102724, srs::dpar::parameters<>(proj_lcc)(lat_1,35.56666666666667)(lat_2,36.76666666666667)(lat_0,35)(lon_0,-98)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102725, srs::dpar::parameters<>(proj_lcc)(lat_1,33.93333333333333)(lat_2,35.23333333333333)(lat_0,33.33333333333334)(lon_0,-98)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102726, srs::dpar::parameters<>(proj_lcc)(lat_1,44.33333333333334)(lat_2,46)(lat_0,43.66666666666666)(lon_0,-120.5)(x_0,2500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102727, srs::dpar::parameters<>(proj_lcc)(lat_1,42.33333333333334)(lat_2,44)(lat_0,41.66666666666666)(lon_0,-120.5)(x_0,1500000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102728, srs::dpar::parameters<>(proj_lcc)(lat_1,40.88333333333333)(lat_2,41.95)(lat_0,40.16666666666666)(lon_0,-77.75)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102729, srs::dpar::parameters<>(proj_lcc)(lat_1,39.93333333333333)(lat_2,40.96666666666667)(lat_0,39.33333333333334)(lon_0,-77.75)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102730, srs::dpar::parameters<>(proj_tmerc)(lat_0,41.08333333333334)(lon_0,-71.5)(k,0.99999375)(x_0,100000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102733, srs::dpar::parameters<>(proj_lcc)(lat_1,32.5)(lat_2,34.83333333333334)(lat_0,31.83333333333333)(lon_0,-81)(x_0,609600.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102734, srs::dpar::parameters<>(proj_lcc)(lat_1,44.41666666666666)(lat_2,45.68333333333333)(lat_0,43.83333333333334)(lon_0,-100)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102735, srs::dpar::parameters<>(proj_lcc)(lat_1,42.83333333333334)(lat_2,44.4)(lat_0,42.33333333333334)(lon_0,-100.3333333333333)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102736, srs::dpar::parameters<>(proj_lcc)(lat_1,35.25)(lat_2,36.41666666666666)(lat_0,34.33333333333334)(lon_0,-86)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102737, srs::dpar::parameters<>(proj_lcc)(lat_1,34.65)(lat_2,36.18333333333333)(lat_0,34)(lon_0,-101.5)(x_0,200000)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102738, srs::dpar::parameters<>(proj_lcc)(lat_1,32.13333333333333)(lat_2,33.96666666666667)(lat_0,31.66666666666667)(lon_0,-98.5)(x_0,600000.0000000001)(y_0,2000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102739, srs::dpar::parameters<>(proj_lcc)(lat_1,30.11666666666667)(lat_2,31.88333333333333)(lat_0,29.66666666666667)(lon_0,-100.3333333333333)(x_0,700000)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102740, srs::dpar::parameters<>(proj_lcc)(lat_1,28.38333333333333)(lat_2,30.28333333333334)(lat_0,27.83333333333333)(lon_0,-99)(x_0,600000.0000000001)(y_0,4000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102741, srs::dpar::parameters<>(proj_lcc)(lat_1,26.16666666666667)(lat_2,27.83333333333333)(lat_0,25.66666666666667)(lon_0,-98.5)(x_0,300000)(y_0,4999999.999999999)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102742, srs::dpar::parameters<>(proj_lcc)(lat_1,40.71666666666667)(lat_2,41.78333333333333)(lat_0,40.33333333333334)(lon_0,-111.5)(x_0,500000.0000000002)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102743, srs::dpar::parameters<>(proj_lcc)(lat_1,39.01666666666667)(lat_2,40.65)(lat_0,38.33333333333334)(lon_0,-111.5)(x_0,500000.0000000002)(y_0,2000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102744, srs::dpar::parameters<>(proj_lcc)(lat_1,37.21666666666667)(lat_2,38.35)(lat_0,36.66666666666666)(lon_0,-111.5)(x_0,500000.0000000002)(y_0,3000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102745, srs::dpar::parameters<>(proj_tmerc)(lat_0,42.5)(lon_0,-72.5)(k,0.9999642857142857)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102746, srs::dpar::parameters<>(proj_lcc)(lat_1,38.03333333333333)(lat_2,39.2)(lat_0,37.66666666666666)(lon_0,-78.5)(x_0,3499999.999999999)(y_0,2000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102747, srs::dpar::parameters<>(proj_lcc)(lat_1,36.76666666666667)(lat_2,37.96666666666667)(lat_0,36.33333333333334)(lon_0,-78.5)(x_0,3499999.999999999)(y_0,1000000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102748, srs::dpar::parameters<>(proj_lcc)(lat_1,47.5)(lat_2,48.73333333333333)(lat_0,47)(lon_0,-120.8333333333333)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102749, srs::dpar::parameters<>(proj_lcc)(lat_1,45.83333333333334)(lat_2,47.33333333333334)(lat_0,45.33333333333334)(lon_0,-120.5)(x_0,500000.0000000002)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102750, srs::dpar::parameters<>(proj_lcc)(lat_1,39)(lat_2,40.25)(lat_0,38.5)(lon_0,-79.5)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102751, srs::dpar::parameters<>(proj_lcc)(lat_1,37.48333333333333)(lat_2,38.88333333333333)(lat_0,37)(lon_0,-81)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102752, srs::dpar::parameters<>(proj_lcc)(lat_1,45.56666666666667)(lat_2,46.76666666666667)(lat_0,45.16666666666666)(lon_0,-90)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102753, srs::dpar::parameters<>(proj_lcc)(lat_1,44.25)(lat_2,45.5)(lat_0,43.83333333333334)(lon_0,-90)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102754, srs::dpar::parameters<>(proj_lcc)(lat_1,42.73333333333333)(lat_2,44.06666666666667)(lat_0,42)(lon_0,-90)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102755, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-105.1666666666667)(k,0.9999375)(x_0,200000)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102756, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-107.3333333333333)(k,0.9999375)(x_0,399999.9999999999)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102757, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-108.75)(k,0.9999375)(x_0,600000.0000000001)(y_0,0)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102758, srs::dpar::parameters<>(proj_tmerc)(lat_0,40.5)(lon_0,-110.0833333333333)(k,0.9999375)(x_0,799999.9999999999)(y_0,100000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102761, srs::dpar::parameters<>(proj_lcc)(lat_1,18.03333333333334)(lat_2,18.43333333333333)(lat_0,17.83333333333333)(lon_0,-66.43333333333334)(x_0,200000)(y_0,200000)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {102766, srs::dpar::parameters<>(proj_poly)(lat_0,13.47246635277778)(lon_0,-144.7487507055556)(x_0,49999.99999999999)(y_0,49999.99999999999)(ellps_grs80)(srs::dpar::datum_nad83)(to_meter,0.3048006096012192)(no_defs)},
+ {103300, srs::dpar::parameters<>(proj_lcc)(lat_1,49.8333339)(lat_2,51.16666733333333)(lat_0,90)(lon_0,4.367486666666666)(x_0,150000.01256)(y_0,5400088.4378)(ellps_intl)(units_m)(no_defs)},
+ {104000, srs::dpar::parameters<>(proj_longlat)(ellps_clrk66)(srs::dpar::datum_nad27)(no_defs)},
+ {104101, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {104102, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {104103, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)},
+ {104104, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {104105, srs::dpar::parameters<>(proj_longlat)(ellps_bessel)(no_defs)},
+ {104106, srs::dpar::parameters<>(proj_longlat)(ellps_intl)(no_defs)},
+ {104107, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {104108, srs::dpar::parameters<>(proj_longlat)(ellps_grs80)(no_defs)},
+ {104261, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356514.999904194)(no_defs)},
+ {104304, srs::dpar::parameters<>(proj_longlat)(a,6378249.2)(b,6356514.999904194)(no_defs)},
+ {104305, srs::dpar::parameters<>(proj_longlat)(ellps_clrk80)(no_defs)}
};
const code_element * first = arr;
const code_element * last = arr + sizeof(arr) / sizeof(code_element);
const code_element * el = binary_find_code_element(first, last, code);
- return el != last ? el->proj4_str : "";
+ return el != last ? el->parameters : srs::dpar::parameters<>();
}
}
diff --git a/boost/geometry/srs/projections/esri_traits.hpp b/boost/geometry/srs/projections/esri_traits.hpp
index 961bd3695f..b6ce05deff 100644
--- a/boost/geometry/srs/projections/esri_traits.hpp
+++ b/boost/geometry/srs/projections/esri_traits.hpp
@@ -15,6 +15,7 @@
#include <boost/geometry/srs/projections/factory.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
#include <boost/geometry/srs/projections/srid_traits.hpp>
@@ -33,7 +34,7 @@ namespace detail
\ingroup projection
\tparam ESRI esri code
*/
-template <size_t ESRI>
+template <int ESRI>
struct esri_traits
{
// Specializations define:
@@ -41,453 +42,453 @@ struct esri_traits
// - function par to get parameters
};
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37001, longlat, WGS66, "+proj=longlat +ellps=WGS66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37002, longlat, 6378166, 6356784.283607107, "+proj=longlat +a=6378166 +b=6356784.283607107 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37003, longlat, 6378150, 6356768.337244385, "+proj=longlat +a=6378150 +b=6356768.337244385 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37004, longlat, fschr60m, "+proj=longlat +ellps=fschr60m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37005, longlat, 6378270, 6356794.343434343, "+proj=longlat +a=6378270 +b=6356794.343434343 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37006, longlat, 6377295.664, 6356094.667915204, "+proj=longlat +a=6377295.664 +b=6356094.667915204 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37007, longlat, 6376896, 6355834.846687363, "+proj=longlat +a=6376896 +b=6355834.846687363 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 37008, longlat, 6370997, "+proj=longlat +a=6370997 +b=6370997 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37201, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37202, longlat, 6377276.345, 6356075.41314024, "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37203, longlat, 6377301.243, 6356100.230165384, "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37204, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37205, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37206, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37207, longlat, fschr60m, "+proj=longlat +ellps=fschr60m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37208, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37211, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37212, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37213, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37214, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37215, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37216, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37217, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37218, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37219, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37220, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37221, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37222, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37223, longlat, 6378249.2, 6356514.999904194, "+proj=longlat +a=6378249.2 +b=6356514.999904194 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37224, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37226, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37227, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37228, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 37229, longlat, 6378270, 6356794.343434343, "+proj=longlat +a=6378270 +b=6356794.343434343 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37230, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37231, longlat, aust_SA, "+proj=longlat +ellps=aust_SA +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37232, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37233, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37234, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37235, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37237, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37238, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37239, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37240, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37241, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37242, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37243, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37245, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37246, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37247, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37249, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37250, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37251, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37252, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37253, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37254, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37255, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37257, longlat, krass, "+proj=longlat +ellps=krass +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37259, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 37260, longlat, clrk66, "+proj=longlat +ellps=clrk66 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53001, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53002, eqc, 6371000, "+proj=eqc +lat_ts=60 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53003, mill, 6371000, "+proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53004, merc, 6371000, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53008, sinu, 6371000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53009, moll, 6371000, "+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53010, eck6, 6371000, "+proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53011, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53012, eck4, 6371000, "+proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53013, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53014, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53015, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53016, gall, 6371000, "+proj=gall +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53017, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53018, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53019, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53021, poly, 6371000, "+proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53022, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 53023, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53024, bonne, 6371000, "+proj=bonne +lon_0=0 +lat_1=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53025, omerc, 6371000, "+proj=omerc +lat_0=40 +lon_1=0 +lat_1=0 +lon_2=0 +lat_2=0 +k=1 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53026, stere, 6371000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53027, eqdc, 6371000, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53028, cass, 6371000, "+proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53029, vandg, 6371000, "+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53030, robin, 6371000, "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53031, tpeqd, 6371000, "+proj=tpeqd +lat_1=0 +lon_1=0 +lat_2=60 +lon_2=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 53032, aeqd, 6371000, "+proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54001, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54002, eqc, WGS84, WGS84, "+proj=eqc +lat_ts=60 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 54003, mill, 6371007.1810824294, "+proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54004, merc, WGS84, WGS84, "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54008, sinu, WGS84, WGS84, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54009, moll, WGS84, WGS84, "+proj=moll +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54010, eck6, WGS84, WGS84, "+proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54011, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54012, eck4, WGS84, WGS84, "+proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54013, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54014, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54015, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54016, gall, WGS84, WGS84, "+proj=gall +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54017, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54018, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54019, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54021, poly, WGS84, WGS84, "+proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54022, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (esri, 54023, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54024, bonne, WGS84, WGS84, "+proj=bonne +lon_0=0 +lat_1=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54025, omerc, WGS84, WGS84, "+proj=omerc +lat_0=40 +lon_1=0 +lat_1=0 +lon_2=0 +lat_2=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54026, stere, WGS84, WGS84, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54027, eqdc, WGS84, WGS84, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54028, cass, WGS84, WGS84, "+proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (esri, 54029, vandg, 6371007.1810824294, "+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54030, robin, WGS84, WGS84, "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54031, tpeqd, WGS84, WGS84, "+proj=tpeqd +lat_1=0 +lon_1=0 +lat_2=60 +lon_2=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 54032, aeqd, WGS84, WGS84, "+proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 65061, poly, clrk66, NAD27, "+proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000.00000000001 +y_0=50000.00000000001 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 65161, poly, GRS80, NAD83, "+proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000 +y_0=50000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102001, aea, GRS80, NAD83, "+proj=aea +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102002, lcc, GRS80, NAD83, "+proj=lcc +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102003, aea, GRS80, NAD83, "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102004, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102005, eqdc, GRS80, NAD83, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102006, aea, GRS80, NAD83, "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102007, aea, GRS80, NAD83, "+proj=aea +lat_1=8 +lat_2=18 +lat_0=13 +lon_0=-157 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102008, aea, GRS80, NAD83, "+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102009, lcc, GRS80, NAD83, "+proj=lcc +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102010, eqdc, GRS80, NAD83, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=60 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102011, sinu, WGS84, WGS84, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102012, lcc, WGS84, WGS84, "+proj=lcc +lat_1=30 +lat_2=62 +lat_0=0 +lon_0=105 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102013, aea, intl, "+proj=aea +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102014, lcc, intl, "+proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102015, lcc, aust_SA, "+proj=lcc +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102016, aeqd, WGS84, WGS84, "+proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102017, laea, WGS84, WGS84, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102018, stere, WGS84, WGS84, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102019, aeqd, WGS84, WGS84, "+proj=aeqd +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102020, laea, WGS84, WGS84, "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102021, stere, WGS84, WGS84, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102022, aea, WGS84, WGS84, "+proj=aea +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102023, eqdc, WGS84, WGS84, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=-23 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102024, lcc, WGS84, WGS84, "+proj=lcc +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102025, aea, WGS84, WGS84, "+proj=aea +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102026, eqdc, WGS84, WGS84, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=15 +lat_2=65 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102027, lcc, WGS84, WGS84, "+proj=lcc +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102028, aea, WGS84, WGS84, "+proj=aea +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102029, eqdc, WGS84, WGS84, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=7 +lat_2=-32 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102030, lcc, WGS84, WGS84, "+proj=lcc +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102031, eqdc, intl, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=43 +lat_2=62 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102032, eqdc, aust_SA, "+proj=eqdc +lat_0=0 +lon_0=0 +lat_1=-5 +lat_2=-42 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102033, aea, aust_SA, "+proj=aea +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102065, krovak, bessel, "+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102066, krovak, bessel, "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=-17.66666666666667 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102067, krovak, bessel, "+proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102091, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102092, tmerc, intl, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102101, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=6.05625 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102102, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=8.389583333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102103, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=10.72291666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102104, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=13.22291666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102105, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=16.88958333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102106, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=20.88958333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102107, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=24.88958333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102108, tmerc, 6377492.018, 6356173.508712696, "+proj=tmerc +lat_0=58 +lon_0=29.05625 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102110, lcc, GRS80, "+proj=lcc +lat_1=44 +lat_2=49 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102114, utm, clrk66, "+proj=utm +zone=4 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102115, utm, clrk66, "+proj=utm +zone=5 +ellps=clrk66 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102120, omerc, clrk66, NAD27, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102121, omerc, GRS80, NAD83, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102122, omerc, clrk66, NAD27, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=clrk66 +datum=NAD27 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102123, omerc, GRS80, NAD83, "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102132, utm, 6377492.018, 6356173.508712696, "+proj=utm +zone=32 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102133, utm, 6377492.018, 6356173.508712696, "+proj=utm +zone=33 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102134, utm, 6377492.018, 6356173.508712696, "+proj=utm +zone=34 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102135, utm, 6377492.018, 6356173.508712696, "+proj=utm +zone=35 +a=6377492.018 +b=6356173.508712696 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102140, tmerc, intl, "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102141, utm, intl, "+proj=utm +zone=49 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102142, utm, intl, "+proj=utm +zone=50 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102151, utm, bessel, "+proj=utm +zone=51 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102152, utm, bessel, "+proj=utm +zone=52 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102153, utm, bessel, "+proj=utm +zone=53 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102154, utm, bessel, "+proj=utm +zone=54 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102155, utm, bessel, "+proj=utm +zone=55 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102156, utm, bessel, "+proj=utm +zone=56 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102160, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=200180.598 +y_0=299913.01 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102161, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102162, utm, intl, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102163, bonne, bessel, "+proj=bonne +lon_0=-8.131906111111112 +lat_1=39.66666666666666 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102164, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102165, tmerc, intl, "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102166, utm, intl, "+proj=utm +zone=25 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102167, utm, intl, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102168, utm, intl, "+proj=utm +zone=26 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102169, utm, intl, "+proj=utm +zone=28 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102191, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102192, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102193, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102229, tmerc, GRS80, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102230, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.9999333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102241, lcc, GRS80, "+proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102242, lcc, GRS80, "+proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102243, lcc, GRS80, "+proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102244, lcc, GRS80, "+proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102245, lcc, GRS80, "+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102246, lcc, GRS80, "+proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102248, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102249, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102250, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.9999333333333333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102251, lcc, GRS80, "+proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102252, lcc, GRS80, "+proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102253, lcc, GRS80, "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102254, lcc, GRS80, "+proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102255, lcc, GRS80, "+proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102256, lcc, GRS80, "+proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102257, tmerc, GRS80, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102258, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102259, tmerc, GRS80, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102260, lcc, GRS80, "+proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102261, tmerc, GRS80, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.9999666666666667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102262, tmerc, GRS80, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.9999666666666667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102263, tmerc, GRS80, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102264, tmerc, GRS80, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102265, tmerc, GRS80, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102266, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102267, tmerc, GRS80, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102268, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473684210526 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102269, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473684210526 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102270, tmerc, GRS80, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.9999333333333333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102271, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102272, tmerc, GRS80, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.9999411764705882 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102273, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9999666666666667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102274, tmerc, GRS80, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9999666666666667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102277, lcc, GRS80, "+proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102278, lcc, GRS80, "+proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102279, lcc, GRS80, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102280, lcc, GRS80, "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102281, lcc, GRS80, "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102282, lcc, GRS80, "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102283, tmerc, GRS80, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102284, tmerc, GRS80, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.9999666666666667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102285, lcc, GRS80, "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102286, lcc, GRS80, "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102287, lcc, GRS80, "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102288, lcc, GRS80, "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102289, lcc, GRS80, "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102290, lcc, GRS80, "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102291, lcc, GRS80, "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102292, lcc, GRS80, "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102293, lcc, GRS80, "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102294, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102295, tmerc, GRS80, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102296, tmerc, GRS80, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9999333333333333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102297, tmerc, GRS80, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9999333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102298, tmerc, GRS80, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9999411764705882 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102300, lcc, GRS80, "+proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102304, lcc, GRS80, "+proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102307, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102308, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102309, tmerc, GRS80, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102310, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9999666666666667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102311, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102312, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.9999090909090909 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102313, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102314, tmerc, GRS80, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.9999166666666667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102315, tmerc, GRS80, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102316, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102317, tmerc, GRS80, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102318, lcc, GRS80, "+proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102320, lcc, GRS80, "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102321, lcc, GRS80, "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102322, lcc, GRS80, "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102323, lcc, GRS80, "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102324, lcc, GRS80, "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102325, lcc, GRS80, "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102326, lcc, GRS80, "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102327, lcc, GRS80, "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102330, tmerc, GRS80, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102334, lcc, GRS80, "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102335, lcc, GRS80, "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102336, lcc, GRS80, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102337, lcc, GRS80, "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102338, lcc, GRS80, "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102339, lcc, GRS80, "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102340, lcc, GRS80, "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102341, lcc, GRS80, "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102342, lcc, GRS80, "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102343, lcc, GRS80, "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102344, lcc, GRS80, "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102345, tmerc, GRS80, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.9999642857142857 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102346, lcc, GRS80, "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102347, lcc, GRS80, "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102348, lcc, GRS80, "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102349, lcc, GRS80, "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102350, lcc, GRS80, "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102351, lcc, GRS80, "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102352, lcc, GRS80, "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102353, lcc, GRS80, "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102354, lcc, GRS80, "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102355, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102356, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102357, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102358, tmerc, GRS80, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102361, lcc, GRS80, "+proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102491, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102492, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102581, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=2.337229166666667 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102582, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102583, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=44.1 +lat_0=44.1 +lon_0=2.337229166666667 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 102584, lcc, 6378249.2, 6356514.999904194, "+proj=lcc +lat_1=42.165 +lat_0=42.165 +lon_0=2.337229166666667 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356514.999904194 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102591, lcc, clrk80, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 102592, lcc, clrk80, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102629, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102630, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.9999333333333333 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102631, omerc, GRS80, NAD83, "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=-36.86989764583333 +k=0.9999 +x_0=4999999.999999999 +y_0=-4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102632, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102633, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102634, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102635, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102636, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102637, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102638, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102639, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102640, lcc, GRS80, NAD83, "+proj=lcc +lat_1=51.83333333333334 +lat_2=53.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102641, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102642, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102643, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102644, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102645, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102646, lcc, GRS80, NAD83, "+proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102648, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102649, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102650, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.9999333333333333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102651, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102652, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102653, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102654, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102655, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102656, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102657, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102658, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102659, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.9999411764705882 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102660, lcc, GRS80, NAD83, "+proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102661, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.9999666666666667 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102662, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.9999666666666667 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102663, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102664, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102665, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102666, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102667, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102668, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473684210526 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102669, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473684210526 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102670, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.9999333333333333 +x_0=799999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102671, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102672, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.9999411764705882 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102673, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.9999666666666667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102674, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.9999666666666667 +x_0=900000.0000000001 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102675, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.06666666666667 +lat_2=43.26666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102676, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.61666666666667 +lat_2=41.78333333333333 +lat_0=40 +lon_0=-93.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102677, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102678, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102679, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102680, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0000000002 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102681, lcc, GRS80, NAD83, "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102682, lcc, GRS80, NAD83, "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102683, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102684, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.9999666666666667 +x_0=900000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102685, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102686, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102687, lcc, GRS80, NAD83, "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102688, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102689, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000.000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102690, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102691, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102692, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102693, lcc, GRS80, NAD83, "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102694, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102695, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102696, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.9999333333333333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102697, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.9999333333333333 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102698, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.9999411764705882 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102700, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102704, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102707, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=7999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102708, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.0000000002 +y_0=6000000.000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102709, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=799999.9999999999 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102710, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.9999666666666667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102711, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102712, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.9999090909090909 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102713, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102714, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.9999166666666667 +x_0=829999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102715, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102716, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102717, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102718, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102719, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2199999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102720, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102721, lcc, GRS80, NAD83, "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102722, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102723, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102724, lcc, GRS80, NAD83, "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102725, lcc, GRS80, NAD83, "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102726, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102727, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102728, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102729, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.96666666666667 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102730, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102733, lcc, GRS80, NAD83, "+proj=lcc +lat_1=32.5 +lat_2=34.83333333333334 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102734, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102735, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102736, lcc, GRS80, NAD83, "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102737, lcc, GRS80, NAD83, "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102738, lcc, GRS80, NAD83, "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000.0000000001 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102739, lcc, GRS80, NAD83, "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102740, lcc, GRS80, NAD83, "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000.0000000001 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102741, lcc, GRS80, NAD83, "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102742, lcc, GRS80, NAD83, "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102743, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102744, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102745, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.9999642857142857 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102746, lcc, GRS80, NAD83, "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102747, lcc, GRS80, NAD83, "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102748, lcc, GRS80, NAD83, "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102749, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102750, lcc, GRS80, NAD83, "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102751, lcc, GRS80, NAD83, "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102752, lcc, GRS80, NAD83, "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102753, lcc, GRS80, NAD83, "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102754, lcc, GRS80, NAD83, "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102755, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102756, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102757, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102758, tmerc, GRS80, NAD83, "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102761, lcc, GRS80, NAD83, "+proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 102766, poly, GRS80, NAD83, "+proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=49999.99999999999 +y_0=49999.99999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 103300, lcc, intl, "+proj=lcc +lat_1=49.8333339 +lat_2=51.16666733333333 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(esri, 104000, longlat, clrk66, NAD27, "+proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104101, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104102, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104103, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104104, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104105, longlat, bessel, "+proj=longlat +ellps=bessel +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104106, longlat, intl, "+proj=longlat +ellps=intl +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104107, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104108, longlat, GRS80, "+proj=longlat +ellps=GRS80 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 104261, longlat, 6378249.2, 6356514.999904194, "+proj=longlat +a=6378249.2 +b=6356514.999904194 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(esri, 104304, longlat, 6378249.2, 6356514.999904194, "+proj=longlat +a=6378249.2 +b=6356514.999904194 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E (esri, 104305, longlat, clrk80, "+proj=longlat +ellps=clrk80 +no_defs")
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37001) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_wgs66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37002) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378166),srs::spar::b<>(6356784.283607107)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37003) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378150),srs::spar::b<>(6356768.337244385)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37004) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_fschr60m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37005) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378270),srs::spar::b<>(6356794.343434343)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37006) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377295.664),srs::spar::b<>(6356094.667915204)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37007) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6376896),srs::spar::b<>(6355834.846687363)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37008) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6370997)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37202) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377276.345),srs::spar::b<>(6356075.41314024)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37203) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6377301.243),srs::spar::b<>(6356100.230165384)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37204) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37205) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37206) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37207) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_fschr60m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37208) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37211) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37212) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37213) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37214) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37215) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37216) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37217) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37218) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37219) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37220) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37221) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37222) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37223) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37224) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37226) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37227) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37228) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37229) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378270),srs::spar::b<>(6356794.343434343)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37230) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37231) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_aust_sa,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37232) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37233) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37234) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37235) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37237) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37238) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37239) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37240) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37241) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37242) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37243) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37245) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37246) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37247) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37249) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37250) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37251) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37252) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37253) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37254) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37255) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37257) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_krass,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37259) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 37260) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53001)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53002) srs::spar::parameters<srs::spar::proj_eqc,srs::spar::lat_ts<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqc(),srs::spar::lat_ts<>(60),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53003) srs::spar::parameters<srs::spar::proj_mill,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r_au,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_mill(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r_au(),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53004) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53008) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53009) srs::spar::parameters<srs::spar::proj_moll,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_moll(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53010) srs::spar::parameters<srs::spar::proj_eck6,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eck6(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53011)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53012) srs::spar::parameters<srs::spar::proj_eck4,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eck4(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53013)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53014)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53015)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53016) srs::spar::parameters<srs::spar::proj_gall,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_gall(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53017)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53018)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53019)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53021) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53022)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53023)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53024) srs::spar::parameters<srs::spar::proj_bonne,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_bonne(),srs::spar::lon_0<>(0),srs::spar::lat_1<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53025) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lon_1<>,srs::spar::lat_1<>,srs::spar::lon_2<>,srs::spar::lat_2<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(40),srs::spar::lon_1<>(0),srs::spar::lat_1<>(0),srs::spar::lon_2<>(0),srs::spar::lat_2<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53026) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53027) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(60),srs::spar::lat_2<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53028) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53029) srs::spar::parameters<srs::spar::proj_vandg,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r_au,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_vandg(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r_au(),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53030) srs::spar::parameters<srs::spar::proj_robin,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_robin(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53031) srs::spar::parameters<srs::spar::proj_tpeqd,srs::spar::lat_1<>,srs::spar::lon_1<>,srs::spar::lat_2<>,srs::spar::lon_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tpeqd(),srs::spar::lat_1<>(0),srs::spar::lon_1<>(0),srs::spar::lat_2<>(60),srs::spar::lon_2<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 53032) srs::spar::parameters<srs::spar::proj_aeqd,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aeqd(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6371000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54001)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54002) srs::spar::parameters<srs::spar::proj_eqc,srs::spar::lat_ts<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqc(),srs::spar::lat_ts<>(60),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54003) srs::spar::parameters<srs::spar::proj_mill,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r_au,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_mill(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54004) srs::spar::parameters<srs::spar::proj_merc,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_merc(),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54008) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54009) srs::spar::parameters<srs::spar::proj_moll,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_moll(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54010) srs::spar::parameters<srs::spar::proj_eck6,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eck6(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54011)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54012) srs::spar::parameters<srs::spar::proj_eck4,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eck4(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54013)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54014)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54015)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54016) srs::spar::parameters<srs::spar::proj_gall,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_gall(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54017)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54018)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54019)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54021) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54022)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54023)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54024) srs::spar::parameters<srs::spar::proj_bonne,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_bonne(),srs::spar::lon_0<>(0),srs::spar::lat_1<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54025) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lon_1<>,srs::spar::lat_1<>,srs::spar::lon_2<>,srs::spar::lat_2<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(40),srs::spar::lon_1<>(0),srs::spar::lat_1<>(0),srs::spar::lon_2<>(0),srs::spar::lat_2<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54026) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54027) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(60),srs::spar::lat_2<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54028) srs::spar::parameters<srs::spar::proj_cass,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_cass(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54029) srs::spar::parameters<srs::spar::proj_vandg,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r_au,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_vandg(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54030) srs::spar::parameters<srs::spar::proj_robin,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_robin(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54031) srs::spar::parameters<srs::spar::proj_tpeqd,srs::spar::lat_1<>,srs::spar::lon_1<>,srs::spar::lat_2<>,srs::spar::lon_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tpeqd(),srs::spar::lat_1<>(0),srs::spar::lon_1<>(0),srs::spar::lat_2<>(60),srs::spar::lon_2<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 54032) srs::spar::parameters<srs::spar::proj_aeqd,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aeqd(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 65061) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(13.47246635277778),srs::spar::lon_0<>(-144.7487507055556),srs::spar::x_0<>(50000.00000000001),srs::spar::y_0<>(50000.00000000001),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 65161) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(13.47246635277778),srs::spar::lon_0<>(-144.7487507055556),srs::spar::x_0<>(50000),srs::spar::y_0<>(50000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102001) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(70),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102002) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(50),srs::spar::lat_2<>(70),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102003) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(29.5),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102004) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33),srs::spar::lat_2<>(45),srs::spar::lat_0<>(39),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102005) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(33),srs::spar::lat_2<>(45),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102006) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(55),srs::spar::lat_2<>(65),srs::spar::lat_0<>(50),srs::spar::lon_0<>(-154),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102007) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(8),srs::spar::lat_2<>(18),srs::spar::lat_0<>(13),srs::spar::lon_0<>(-157),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102008) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(20),srs::spar::lat_2<>(60),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102009) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(20),srs::spar::lat_2<>(60),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-96),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102010) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(20),srs::spar::lat_2<>(60),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102011) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102012) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30),srs::spar::lat_2<>(62),srs::spar::lat_0<>(0),srs::spar::lon_0<>(105),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102013) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(62),srs::spar::lat_0<>(30),srs::spar::lon_0<>(10),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102014) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43),srs::spar::lat_2<>(62),srs::spar::lat_0<>(30),srs::spar::lon_0<>(10),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102015) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(-5),srs::spar::lat_2<>(-42),srs::spar::lat_0<>(-32),srs::spar::lon_0<>(-60),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102016) srs::spar::parameters<srs::spar::proj_aeqd,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aeqd(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102017) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102018) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102019) srs::spar::parameters<srs::spar::proj_aeqd,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aeqd(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102020) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102021) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102022) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(20),srs::spar::lat_2<>(-23),srs::spar::lat_0<>(0),srs::spar::lon_0<>(25),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102023) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(20),srs::spar::lat_2<>(-23),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102024) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(20),srs::spar::lat_2<>(-23),srs::spar::lat_0<>(0),srs::spar::lon_0<>(25),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102025) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(15),srs::spar::lat_2<>(65),srs::spar::lat_0<>(30),srs::spar::lon_0<>(95),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102026) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(15),srs::spar::lat_2<>(65),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102027) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(15),srs::spar::lat_2<>(65),srs::spar::lat_0<>(30),srs::spar::lon_0<>(95),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102028) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(7),srs::spar::lat_2<>(-32),srs::spar::lat_0<>(-15),srs::spar::lon_0<>(125),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102029) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(7),srs::spar::lat_2<>(-32),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102030) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_wgs84,srs::spar::datum_wgs84,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(7),srs::spar::lat_2<>(-32),srs::spar::lat_0<>(-15),srs::spar::lon_0<>(125),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102031) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(43),srs::spar::lat_2<>(62),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102032) srs::spar::parameters<srs::spar::proj_eqdc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_eqdc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::lat_1<>(-5),srs::spar::lat_2<>(-42),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102033) srs::spar::parameters<srs::spar::proj_aea,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_aust_sa,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_aea(),srs::spar::lat_1<>(-5),srs::spar::lat_2<>(-42),srs::spar::lat_0<>(-32),srs::spar::lon_0<>(-60),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102065) srs::spar::parameters<srs::spar::proj_krovak,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_krovak(),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(24.83333333333333),srs::spar::alpha<>(30.28813975277778),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102066) srs::spar::parameters<srs::spar::proj_krovak,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::pm<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_krovak(),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(42.5),srs::spar::alpha<>(30.28813975277778),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::ellps_bessel(),srs::spar::pm<>(-17.66666666666667)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102067) srs::spar::parameters<srs::spar::proj_krovak,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_krovak(),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(24.83333333333333),srs::spar::alpha<>(30.28813975277778),srs::spar::k<>(0.9999),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102091) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(9),srs::spar::k<>(0.9996),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102092) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(15),srs::spar::k<>(0.9996),srs::spar::x_0<>(2520000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102101) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(6.05625),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102102) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(8.389583333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102103) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(10.72291666666667),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102104) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(13.22291666666667),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102105) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(16.88958333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102106) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(20.88958333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102107) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(24.88958333333333),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102108) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(58),srs::spar::lon_0<>(29.05625),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102110) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44),srs::spar::lat_2<>(49),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(3),srs::spar::x_0<>(700000),srs::spar::y_0<>(6600000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102114) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<4>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102115) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<5>,srs::spar::ellps_clrk66,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102120) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.255555555556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.495961392),srs::spar::y_0<>(-4354009.816002033),srs::spar::ellps_clrk66(),srs::spar::datum_nad27(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102121) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.255555555556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.495961392),srs::spar::y_0<>(-4354009.816002033),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102122) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.255555555556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.496),srs::spar::y_0<>(-4354009.816)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102123) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(45.30916666666666),srs::spar::lonc<>(-86),srs::spar::alpha<>(337.255555555556),srs::spar::k<>(0.9996),srs::spar::x_0<>(2546731.496),srs::spar::y_0<>(-4354009.816)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102132) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<32>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<32>(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102133) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<33>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<33>(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102134) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<34>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<34>(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102135) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<35>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_utm(),srs::spar::zone<35>(),srs::spar::a<>(6377492.018),srs::spar::b<>(6356173.508712696)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102140) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(22.31213333333334),srs::spar::lon_0<>(114.1785555555556),srs::spar::k<>(1),srs::spar::x_0<>(836694.05),srs::spar::y_0<>(819069.8)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102141) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<49>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102142) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<50>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102151) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<51>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102152) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<52>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102153) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<53>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102154) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<54>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102155) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<55>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102156) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<56>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102160) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-8.131906111111112),srs::spar::k<>(1),srs::spar::x_0<>(200180.598),srs::spar::y_0<>(299913.01)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102161) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-8.131906111111112),srs::spar::k<>(1),srs::spar::x_0<>(180.598),srs::spar::y_0<>(-86.98999999999999)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102162) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102163) srs::spar::parameters<srs::spar::proj_bonne,srs::spar::lon_0<>,srs::spar::lat_1<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_bessel,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_bonne(),srs::spar::lon_0<>(-8.131906111111112),srs::spar::lat_1<>(39.66666666666666),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-8.131906111111112),srs::spar::k<>(1),srs::spar::x_0<>(200000),srs::spar::y_0<>(300000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-8.131906111111112),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102166) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<25>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102167) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102168) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<26>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102169) srs::spar::parameters<srs::spar::proj_utm,srs::spar::zone<28>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102191) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102192) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.7),srs::spar::lat_0<>(29.7),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.9996155960000001),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102193) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26.1),srs::spar::lat_0<>(26.1),srs::spar::lon_0<>(-5.4),srs::spar::k_0<>(0.9996),srs::spar::x_0<>(1200000),srs::spar::y_0<>(400000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102229) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-85.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102230) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-87.5),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102241) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40),srs::spar::lat_2<>(41.66666666666666),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102242) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.33333333333334),srs::spar::lat_2<>(39.83333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102243) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.06666666666667),srs::spar::lat_2<>(38.43333333333333),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102244) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_2<>(37.25),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102245) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.03333333333333),srs::spar::lat_2<>(35.46666666666667),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102246) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.78333333333333),srs::spar::lat_2<>(33.88333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102248) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102249) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102250) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102251) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.93333333333333),srs::spar::lat_2<>(36.23333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102252) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_2<>(34.76666666666667),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102253) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.71666666666667),srs::spar::lat_2<>(40.78333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102254) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.45),srs::spar::lat_2<>(39.75),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102255) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.23333333333333),srs::spar::lat_2<>(38.43333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102256) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.2),srs::spar::lat_2<>(41.86666666666667),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096),srs::spar::y_0<>(152400.3048)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102257) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102258) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102259) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102260) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.58333333333333),srs::spar::lat_2<>(30.75),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102261) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(18.83333333333333),srs::spar::lon_0<>(-155.5),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102262) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20.33333333333333),srs::spar::lon_0<>(-156.6666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102263) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.83333333333333),srs::spar::lon_0<>(-159.5),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.66666666666667),srs::spar::lon_0<>(-160.1666666666667),srs::spar::k<>(1),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102266) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102267) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102268) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473684210526),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102269) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473684210526),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102270) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(800000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102271) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102272) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102273) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(100000),srs::spar::y_0<>(250000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102274) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(900000),srs::spar::y_0<>(250000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102277) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.71666666666667),srs::spar::lat_2<>(39.78333333333333),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102278) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.26666666666667),srs::spar::lat_2<>(38.56666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(400000),srs::spar::y_0<>(400000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102279) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102280) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.73333333333333),srs::spar::lat_2<>(37.93333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000),srs::spar::y_0<>(500000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102281) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.16666666666667),srs::spar::lat_2<>(32.66666666666666),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102282) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.3),srs::spar::lat_2<>(30.7),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102283) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102284) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(900000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102285) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.3),srs::spar::lat_2<>(39.45),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(400000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102286) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.71666666666667),srs::spar::lat_2<>(42.68333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(750000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102287) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.28333333333333),srs::spar::lat_2<>(41.48333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102288) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.48333333333333),srs::spar::lat_2<>(47.08333333333334),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(8000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102289) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.18333333333333),srs::spar::lat_2<>(45.7),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(6000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102290) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.1),srs::spar::lat_2<>(43.66666666666666),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(4000000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102291) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.03333333333333),srs::spar::lat_2<>(48.63333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102292) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.61666666666667),srs::spar::lat_2<>(47.05),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102293) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.78333333333333),srs::spar::lat_2<>(45.21666666666667),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102294) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102295) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(700000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102296) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-90.5),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102297) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-92.5),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102298) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.16666666666666),srs::spar::lon_0<>(-94.5),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(850000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102300) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45),srs::spar::lat_2<>(49),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102304) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40),srs::spar::lat_2<>(43),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102307) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(8000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102308) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(6000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102309) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(800000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102310) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102311) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102312) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.9999090909090909),srs::spar::x_0<>(165000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102313) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102314) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.9999166666666667),srs::spar::x_0<>(830000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102315) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102316) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(250000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102317) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102318) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.66666666666666),srs::spar::lat_2<>(41.03333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102320) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.43333333333333),srs::spar::lat_2<>(48.73333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102321) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.18333333333333),srs::spar::lat_2<>(47.48333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102322) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.43333333333333),srs::spar::lat_2<>(41.7),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102323) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.73333333333333),srs::spar::lat_2<>(40.03333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102324) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.56666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102325) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.93333333333333),srs::spar::lat_2<>(35.23333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102326) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.33333333333334),srs::spar::lat_2<>(46),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102327) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.33333333333334),srs::spar::lat_2<>(44),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102330) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(100000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102334) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.41666666666666),srs::spar::lat_2<>(45.68333333333333),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102335) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.83333333333334),srs::spar::lat_2<>(44.4),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102336) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.25),srs::spar::lat_2<>(36.41666666666666),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102337) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.65),srs::spar::lat_2<>(36.18333333333333),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102338) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.13333333333333),srs::spar::lat_2<>(33.96666666666667),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102339) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.11666666666667),srs::spar::lat_2<>(31.88333333333333),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(700000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102340) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(28.38333333333333),srs::spar::lat_2<>(30.28333333333334),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000),srs::spar::y_0<>(4000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102341) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26.16666666666667),srs::spar::lat_2<>(27.83333333333333),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000),srs::spar::y_0<>(5000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102342) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.71666666666667),srs::spar::lat_2<>(41.78333333333333),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102343) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.01666666666667),srs::spar::lat_2<>(40.65),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102344) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.21666666666667),srs::spar::lat_2<>(38.35),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(3000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102345) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-72.5),srs::spar::k<>(0.9999642857142857),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102346) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.03333333333333),srs::spar::lat_2<>(39.2),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(2000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102347) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(37.96666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3500000),srs::spar::y_0<>(1000000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102348) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.5),srs::spar::lat_2<>(48.73333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102349) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.83333333333334),srs::spar::lat_2<>(47.33333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102350) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39),srs::spar::lat_2<>(40.25),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102351) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.48333333333333),srs::spar::lat_2<>(38.88333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102352) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.56666666666667),srs::spar::lat_2<>(46.76666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102353) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.25),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102354) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.73333333333333),srs::spar::lat_2<>(44.06666666666667),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102355) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102356) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(400000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102357) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000),srs::spar::y_0<>(0)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102358) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(800000),srs::spar::y_0<>(100000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102361) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18.03333333333334),srs::spar::lat_2<>(18.43333333333333),srs::spar::lat_0<>(17.83333333333333),srs::spar::lon_0<>(-66.43333333333334),srs::spar::x_0<>(200000),srs::spar::y_0<>(200000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102491) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_0<>(36),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625544),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102492) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500000),srs::spar::y_0<>(300000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102581) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.5),srs::spar::lat_0<>(49.5),srs::spar::lon_0<>(2.337229166666667),srs::spar::k_0<>(0.999877341),srs::spar::x_0<>(600000),srs::spar::y_0<>(1200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102582) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.8),srs::spar::lat_0<>(46.8),srs::spar::lon_0<>(2.337229166666667),srs::spar::k_0<>(0.99987742),srs::spar::x_0<>(600000),srs::spar::y_0<>(2200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102583) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.1),srs::spar::lat_0<>(44.1),srs::spar::lon_0<>(2.337229166666667),srs::spar::k_0<>(0.999877499),srs::spar::x_0<>(600000),srs::spar::y_0<>(3200000),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102584) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.165),srs::spar::lat_0<>(42.165),srs::spar::lon_0<>(2.337229166666667),srs::spar::k_0<>(0.99994471),srs::spar::x_0<>(234.358),srs::spar::y_0<>(4185861.369),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102591) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_0<>(36),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625544),srs::spar::x_0<>(500135),srs::spar::y_0<>(300090)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102592) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_clrk80,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_0<>(33.3),srs::spar::lon_0<>(2.7),srs::spar::k_0<>(0.999625769),srs::spar::x_0<>(500135),srs::spar::y_0<>(300090)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102629) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-85.83333333333333),srs::spar::k<>(0.99996),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102630) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-87.5),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102631) srs::spar::parameters<srs::spar::proj_omerc,srs::spar::lat_0<>,srs::spar::lonc<>,srs::spar::alpha<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_omerc(),srs::spar::lat_0<>(57),srs::spar::lonc<>(-133.6666666666667),srs::spar::alpha<>(-36.86989764583333),srs::spar::k<>(0.9999),srs::spar::x_0<>(4999999.999999999),srs::spar::y_0<>(-4999999.999999999),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102632) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-142),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102633) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-146),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102634) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-150),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102635) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-154),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102636) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-158),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102637) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-162),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102638) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-166),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102639) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(54),srs::spar::lon_0<>(-170),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102640) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(51.83333333333334),srs::spar::lat_2<>(53.83333333333334),srs::spar::lat_0<>(51),srs::spar::lon_0<>(-176),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102641) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40),srs::spar::lat_2<>(41.66666666666666),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102642) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.33333333333334),srs::spar::lat_2<>(39.83333333333334),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-122),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102643) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.06666666666667),srs::spar::lat_2<>(38.43333333333333),srs::spar::lat_0<>(36.5),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102644) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36),srs::spar::lat_2<>(37.25),srs::spar::lat_0<>(35.33333333333334),srs::spar::lon_0<>(-119),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102645) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.03333333333333),srs::spar::lat_2<>(35.46666666666667),srs::spar::lat_0<>(33.5),srs::spar::lon_0<>(-118),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102646) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.78333333333333),srs::spar::lat_2<>(33.88333333333333),srs::spar::lat_0<>(32.16666666666666),srs::spar::lon_0<>(-116.25),srs::spar::x_0<>(2000000),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102648) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-110.1666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102649) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-111.9166666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102650) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-113.75),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(213360),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102651) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.93333333333333),srs::spar::lat_2<>(36.23333333333333),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.9999999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102652) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.3),srs::spar::lat_2<>(34.76666666666667),srs::spar::lat_0<>(32.66666666666666),srs::spar::lon_0<>(-92),srs::spar::x_0<>(399999.9999999999),srs::spar::y_0<>(399999.9999999999),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102653) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.71666666666667),srs::spar::lat_2<>(40.78333333333333),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102654) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.45),srs::spar::lat_2<>(39.75),srs::spar::lat_0<>(37.83333333333334),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102655) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.23333333333333),srs::spar::lat_2<>(38.43333333333333),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-105.5),srs::spar::x_0<>(914401.8289),srs::spar::y_0<>(304800.6096),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102656) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.2),srs::spar::lat_2<>(41.86666666666667),srs::spar::lat_0<>(40.83333333333334),srs::spar::lon_0<>(-72.75),srs::spar::x_0<>(304800.6096),srs::spar::y_0<>(152400.3048),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102657) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-75.41666666666667),srs::spar::k<>(0.999995),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102658) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-81),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102659) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(24.33333333333333),srs::spar::lon_0<>(-82),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102660) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.58333333333333),srs::spar::lat_2<>(30.75),srs::spar::lat_0<>(29),srs::spar::lon_0<>(-84.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102661) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(18.83333333333333),srs::spar::lon_0<>(-155.5),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102662) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(20.33333333333333),srs::spar::lon_0<>(-156.6666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102663) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.16666666666667),srs::spar::lon_0<>(-158),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.83333333333333),srs::spar::lon_0<>(-159.5),srs::spar::k<>(0.99999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(21.66666666666667),srs::spar::lon_0<>(-160.1666666666667),srs::spar::k<>(1),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102666) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-82.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102667) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(30),srs::spar::lon_0<>(-84.16666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102668) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-112.1666666666667),srs::spar::k<>(0.9999473684210526),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102669) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-114),srs::spar::k<>(0.9999473684210526),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102670) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-115.75),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(799999.9999999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102671) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-88.33333333333333),srs::spar::k<>(0.9999749999999999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102672) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-90.16666666666667),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102673) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-85.66666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(100000),srs::spar::y_0<>(250000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102674) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-87.08333333333333),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(900000.0000000001),srs::spar::y_0<>(250000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102675) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.06666666666667),srs::spar::lat_2<>(43.26666666666667),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102676) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.61666666666667),srs::spar::lat_2<>(41.78333333333333),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-93.5),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102677) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.71666666666667),srs::spar::lat_2<>(39.78333333333333),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(399999.9999999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102678) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.26666666666667),srs::spar::lat_2<>(38.56666666666667),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(399999.9999999999),srs::spar::y_0<>(399999.9999999999),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102679) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.96666666666667),srs::spar::lat_2<>(38.96666666666667),srs::spar::lat_0<>(37.5),srs::spar::lon_0<>(-84.25),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102680) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.73333333333333),srs::spar::lat_2<>(37.93333333333333),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-85.75),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(500000.0000000002),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102681) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(31.16666666666667),srs::spar::lat_2<>(32.66666666666666),srs::spar::lat_0<>(30.5),srs::spar::lon_0<>(-92.5),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102682) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(29.3),srs::spar::lat_2<>(30.7),srs::spar::lat_0<>(28.5),srs::spar::lon_0<>(-91.33333333333333),srs::spar::x_0<>(1000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102683) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-68.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102684) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.83333333333334),srs::spar::lon_0<>(-70.16666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(900000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102685) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.3),srs::spar::lat_2<>(39.45),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-77),srs::spar::x_0<>(399999.9999999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102686) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.71666666666667),srs::spar::lat_2<>(42.68333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-71.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(750000.0000000001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102687) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(41.28333333333333),srs::spar::lat_2<>(41.48333333333333),srs::spar::lat_0<>(41),srs::spar::lon_0<>(-70.5),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102688) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.48333333333333),srs::spar::lat_2<>(47.08333333333334),srs::spar::lat_0<>(44.78333333333333),srs::spar::lon_0<>(-87),srs::spar::x_0<>(7999999.999999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102689) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.18333333333333),srs::spar::lat_2<>(45.7),srs::spar::lat_0<>(43.31666666666667),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(6000000.000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102690) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.1),srs::spar::lat_2<>(43.66666666666666),srs::spar::lat_0<>(41.5),srs::spar::lon_0<>(-84.36666666666666),srs::spar::x_0<>(4000000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102691) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.03333333333333),srs::spar::lat_2<>(48.63333333333333),srs::spar::lat_0<>(46.5),srs::spar::lon_0<>(-93.09999999999999),srs::spar::x_0<>(799999.9999999999),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102692) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.61666666666667),srs::spar::lat_2<>(47.05),srs::spar::lat_0<>(45),srs::spar::lon_0<>(-94.25),srs::spar::x_0<>(799999.9999999999),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102693) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(43.78333333333333),srs::spar::lat_2<>(45.21666666666667),srs::spar::lat_0<>(43),srs::spar::lon_0<>(-94),srs::spar::x_0<>(799999.9999999999),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102694) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-88.83333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102695) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(29.5),srs::spar::lon_0<>(-90.33333333333333),srs::spar::k<>(0.99995),srs::spar::x_0<>(700000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102696) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-90.5),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(250000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102697) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(35.83333333333334),srs::spar::lon_0<>(-92.5),srs::spar::k<>(0.9999333333333333),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102698) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(36.16666666666666),srs::spar::lon_0<>(-94.5),srs::spar::k<>(0.9999411764705882),srs::spar::x_0<>(850000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102700) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45),srs::spar::lat_2<>(49),srs::spar::lat_0<>(44.25),srs::spar::lon_0<>(-109.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102704) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40),srs::spar::lat_2<>(43),srs::spar::lat_0<>(39.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102707) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-115.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(200000),srs::spar::y_0<>(7999999.999999999),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102708) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-116.6666666666667),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(6000000.000000001),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102709) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(34.75),srs::spar::lon_0<>(-118.5833333333333),srs::spar::k<>(0.9999),srs::spar::x_0<>(799999.9999999999),srs::spar::y_0<>(4000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102710) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-71.66666666666667),srs::spar::k<>(0.9999666666666667),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102711) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102712) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-104.3333333333333),srs::spar::k<>(0.9999090909090909),srs::spar::x_0<>(165000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102713) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-106.25),srs::spar::k<>(0.9999),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102714) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(31),srs::spar::lon_0<>(-107.8333333333333),srs::spar::k<>(0.9999166666666667),srs::spar::x_0<>(829999.9999999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102715) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(38.83333333333334),srs::spar::lon_0<>(-74.5),srs::spar::k<>(0.9999),srs::spar::x_0<>(150000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102716) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-76.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(250000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102717) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40),srs::spar::lon_0<>(-78.58333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(350000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102718) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.66666666666666),srs::spar::lat_2<>(41.03333333333333),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-74),srs::spar::x_0<>(300000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102719) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.33333333333334),srs::spar::lat_2<>(36.16666666666666),srs::spar::lat_0<>(33.75),srs::spar::lon_0<>(-79),srs::spar::x_0<>(609601.2199999999),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102720) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.43333333333333),srs::spar::lat_2<>(48.73333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102721) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(46.18333333333333),srs::spar::lat_2<>(47.48333333333333),srs::spar::lat_0<>(45.66666666666666),srs::spar::lon_0<>(-100.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102722) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.43333333333333),srs::spar::lat_2<>(41.7),srs::spar::lat_0<>(39.66666666666666),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102723) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.73333333333333),srs::spar::lat_2<>(40.03333333333333),srs::spar::lat_0<>(38),srs::spar::lon_0<>(-82.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102724) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.56666666666667),srs::spar::lat_2<>(36.76666666666667),srs::spar::lat_0<>(35),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102725) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(33.93333333333333),srs::spar::lat_2<>(35.23333333333333),srs::spar::lat_0<>(33.33333333333334),srs::spar::lon_0<>(-98),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102726) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.33333333333334),srs::spar::lat_2<>(46),srs::spar::lat_0<>(43.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(2500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102727) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.33333333333334),srs::spar::lat_2<>(44),srs::spar::lat_0<>(41.66666666666666),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(1500000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102728) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.88333333333333),srs::spar::lat_2<>(41.95),srs::spar::lat_0<>(40.16666666666666),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102729) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.93333333333333),srs::spar::lat_2<>(40.96666666666667),srs::spar::lat_0<>(39.33333333333334),srs::spar::lon_0<>(-77.75),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102730) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(41.08333333333334),srs::spar::lon_0<>(-71.5),srs::spar::k<>(0.99999375),srs::spar::x_0<>(100000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102733) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.5),srs::spar::lat_2<>(34.83333333333334),srs::spar::lat_0<>(31.83333333333333),srs::spar::lon_0<>(-81),srs::spar::x_0<>(609600.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102734) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.41666666666666),srs::spar::lat_2<>(45.68333333333333),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-100),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102735) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.83333333333334),srs::spar::lat_2<>(44.4),srs::spar::lat_0<>(42.33333333333334),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102736) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(35.25),srs::spar::lat_2<>(36.41666666666666),srs::spar::lat_0<>(34.33333333333334),srs::spar::lon_0<>(-86),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102737) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(34.65),srs::spar::lat_2<>(36.18333333333333),srs::spar::lat_0<>(34),srs::spar::lon_0<>(-101.5),srs::spar::x_0<>(200000),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102738) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(32.13333333333333),srs::spar::lat_2<>(33.96666666666667),srs::spar::lat_0<>(31.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102739) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(30.11666666666667),srs::spar::lat_2<>(31.88333333333333),srs::spar::lat_0<>(29.66666666666667),srs::spar::lon_0<>(-100.3333333333333),srs::spar::x_0<>(700000),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102740) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(28.38333333333333),srs::spar::lat_2<>(30.28333333333334),srs::spar::lat_0<>(27.83333333333333),srs::spar::lon_0<>(-99),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(4000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102741) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(26.16666666666667),srs::spar::lat_2<>(27.83333333333333),srs::spar::lat_0<>(25.66666666666667),srs::spar::lon_0<>(-98.5),srs::spar::x_0<>(300000),srs::spar::y_0<>(4999999.999999999),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102742) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(40.71666666666667),srs::spar::lat_2<>(41.78333333333333),srs::spar::lat_0<>(40.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102743) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39.01666666666667),srs::spar::lat_2<>(40.65),srs::spar::lat_0<>(38.33333333333334),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102744) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.21666666666667),srs::spar::lat_2<>(38.35),srs::spar::lat_0<>(36.66666666666666),srs::spar::lon_0<>(-111.5),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(3000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102745) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(42.5),srs::spar::lon_0<>(-72.5),srs::spar::k<>(0.9999642857142857),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102746) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(38.03333333333333),srs::spar::lat_2<>(39.2),srs::spar::lat_0<>(37.66666666666666),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3499999.999999999),srs::spar::y_0<>(2000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102747) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(36.76666666666667),srs::spar::lat_2<>(37.96666666666667),srs::spar::lat_0<>(36.33333333333334),srs::spar::lon_0<>(-78.5),srs::spar::x_0<>(3499999.999999999),srs::spar::y_0<>(1000000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102748) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(47.5),srs::spar::lat_2<>(48.73333333333333),srs::spar::lat_0<>(47),srs::spar::lon_0<>(-120.8333333333333),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102749) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.83333333333334),srs::spar::lat_2<>(47.33333333333334),srs::spar::lat_0<>(45.33333333333334),srs::spar::lon_0<>(-120.5),srs::spar::x_0<>(500000.0000000002),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102750) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(39),srs::spar::lat_2<>(40.25),srs::spar::lat_0<>(38.5),srs::spar::lon_0<>(-79.5),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102751) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(37.48333333333333),srs::spar::lat_2<>(38.88333333333333),srs::spar::lat_0<>(37),srs::spar::lon_0<>(-81),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102752) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(45.56666666666667),srs::spar::lat_2<>(46.76666666666667),srs::spar::lat_0<>(45.16666666666666),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102753) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(44.25),srs::spar::lat_2<>(45.5),srs::spar::lat_0<>(43.83333333333334),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102754) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(42.73333333333333),srs::spar::lat_2<>(44.06666666666667),srs::spar::lat_0<>(42),srs::spar::lon_0<>(-90),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102755) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-105.1666666666667),srs::spar::k<>(0.9999375),srs::spar::x_0<>(200000),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102756) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-107.3333333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(399999.9999999999),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102757) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-108.75),srs::spar::k<>(0.9999375),srs::spar::x_0<>(600000.0000000001),srs::spar::y_0<>(0),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102758) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(40.5),srs::spar::lon_0<>(-110.0833333333333),srs::spar::k<>(0.9999375),srs::spar::x_0<>(799999.9999999999),srs::spar::y_0<>(100000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102761) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(18.03333333333334),srs::spar::lat_2<>(18.43333333333333),srs::spar::lat_0<>(17.83333333333333),srs::spar::lon_0<>(-66.43333333333334),srs::spar::x_0<>(200000),srs::spar::y_0<>(200000),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 102766) srs::spar::parameters<srs::spar::proj_poly,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_grs80,srs::spar::datum_nad83,srs::spar::to_meter<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_poly(),srs::spar::lat_0<>(13.47246635277778),srs::spar::lon_0<>(-144.7487507055556),srs::spar::x_0<>(49999.99999999999),srs::spar::y_0<>(49999.99999999999),srs::spar::ellps_grs80(),srs::spar::datum_nad83(),srs::spar::to_meter<>(0.3048006096012192)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 103300) srs::spar::parameters<srs::spar::proj_lcc,srs::spar::lat_1<>,srs::spar::lat_2<>,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::ellps_intl,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_lcc(),srs::spar::lat_1<>(49.8333339),srs::spar::lat_2<>(51.16666733333333),srs::spar::lat_0<>(90),srs::spar::lon_0<>(4.367486666666666),srs::spar::x_0<>(150000.01256),srs::spar::y_0<>(5400088.4378)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104000) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk66,srs::spar::datum_nad27,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104102) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104103) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104104) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104105) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_bessel,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104106) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_intl,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104107) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104108) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_grs80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104261) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104304) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378249.2),srs::spar::b<>(6356514.999904194)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(esri, 104305) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::ellps_clrk80,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() () BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
} // namespace detail
#endif // DOXYGEN_NO_DETAIL
diff --git a/boost/geometry/srs/projections/exception.hpp b/boost/geometry/srs/projections/exception.hpp
index a361b98937..c96ee005a5 100644
--- a/boost/geometry/srs/projections/exception.hpp
+++ b/boost/geometry/srs/projections/exception.hpp
@@ -15,7 +15,6 @@
#include <boost/geometry/core/exception.hpp>
-#include <boost/geometry/srs/projections/impl/projects.hpp>
#include <boost/geometry/srs/projections/impl/pj_strerrno.hpp>
#include <boost/throw_exception.hpp>
@@ -68,12 +67,22 @@ struct projection_not_named_exception
struct projection_unknown_id_exception
: projection_exception
{
+ projection_unknown_id_exception()
+ : projection_exception(projections::detail::error_unknown_projection_id,
+ msg())
+ {}
+
projection_unknown_id_exception(std::string const& proj_name)
: projection_exception(projections::detail::error_unknown_projection_id,
msg(proj_name))
{}
private:
+ static std::string msg()
+ {
+ using namespace projections::detail;
+ return pj_strerrno(error_unknown_projection_id);
+ }
static std::string msg(std::string const& proj_name)
{
using namespace projections::detail;
diff --git a/boost/geometry/srs/projections/factory.hpp b/boost/geometry/srs/projections/factory.hpp
index b94d8395ac..773d2bbcb3 100644
--- a/boost/geometry/srs/projections/factory.hpp
+++ b/boost/geometry/srs/projections/factory.hpp
@@ -18,6 +18,9 @@
#include <boost/shared_ptr.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
+#include <boost/geometry/srs/projections/factory_key.hpp>
+#include <boost/geometry/srs/projections/proj4.hpp>
#include <boost/geometry/srs/projections/impl/factory_entry.hpp>
#include <boost/geometry/srs/projections/proj/aea.hpp>
#include <boost/geometry/srs/projections/proj/aeqd.hpp>
@@ -124,24 +127,23 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
-template <typename CT, typename Parameters>
-class factory : public detail::base_factory<CT, Parameters>
+template <typename Params, typename CT, typename ProjParams>
+class factory
{
private:
-
- typedef std::map
+ typedef detail::factory_entry
<
- std::string,
- boost::shared_ptr
- <
- detail::factory_entry
- <
- CT,
- Parameters
- >
- >
- > prj_registry;
- prj_registry m_registry;
+ Params,
+ CT,
+ ProjParams
+ > entry_base;
+
+ typedef typename factory_key_util<Params>::type key_type;
+ typedef boost::shared_ptr<entry_base> entry_ptr;
+
+ typedef std::map<key_type, entry_ptr> entries_map;
+
+ entries_map m_entries;
public:
@@ -247,34 +249,45 @@ public:
detail::wink2_init(*this);
}
- virtual ~factory() {}
-
- virtual void add_to_factory(std::string const& name,
- detail::factory_entry<CT, Parameters>* sub)
+ void add_to_factory(key_type const& key, entry_base* entry)
{
- m_registry[name].reset(sub);
+ // The pointer has to be owned before std::map::operator[] in case it thrown an exception.
+ entry_ptr ptr(entry);
+ m_entries[key] = ptr;
}
- inline detail::base_v<CT, Parameters>* create_new(Parameters const& parameters) const
+ detail::base_v<CT, ProjParams>* create_new(Params const& params, ProjParams const& proj_par) const
{
- typename prj_registry::const_iterator it = m_registry.find(parameters.name);
- if (it != m_registry.end())
+ typename factory_key_util<Params>::type key = factory_key_util<Params>::get(proj_par);
+ typename entries_map::const_iterator it = m_entries.find(key);
+ if (it != m_entries.end())
{
- return it->second->create_new(parameters);
+ return it->second->create_new(params, proj_par);
}
return 0;
}
};
-template <typename CT>
-inline detail::base_v<CT, projections::parameters<CT> >*
- create_new(projections::parameters<CT> const& parameters)
+template <typename T>
+inline detail::base_v<T, projections::parameters<T> >*
+ create_new(srs::detail::proj4_parameters const& params,
+ projections::parameters<T> const& parameters)
{
- static factory<CT, projections::parameters<CT> > fac;
- return fac.create_new(parameters);
+ static factory<srs::detail::proj4_parameters, T, projections::parameters<T> > const fac;
+ return fac.create_new(params, parameters);
}
+template <typename T>
+inline detail::base_v<T, projections::parameters<T> >*
+ create_new(srs::dpar::parameters<T> const& params,
+ projections::parameters<T> const& parameters)
+{
+ static factory<srs::dpar::parameters<T>, T, projections::parameters<T> > const fac;
+ return fac.create_new(params, parameters);
+}
+
+
} // namespace detail
}}} // namespace boost::geometry::projections
diff --git a/boost/geometry/srs/projections/factory_key.hpp b/boost/geometry/srs/projections/factory_key.hpp
new file mode 100644
index 0000000000..924f92415a
--- /dev/null
+++ b/boost/geometry/srs/projections/factory_key.hpp
@@ -0,0 +1,83 @@
+// Boost.Geometry
+
+// Copyright (c) 2018, Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_GEOMETRY_PROJECTIONS_FACTORY_KEY_HPP
+#define BOOST_GEOMETRY_PROJECTIONS_FACTORY_KEY_HPP
+
+#include <string>
+
+#include <boost/geometry/srs/projections/dpar.hpp>
+#include <boost/geometry/srs/projections/proj4.hpp>
+
+namespace boost { namespace geometry { namespace projections
+{
+
+namespace detail
+{
+
+template <typename Params>
+struct factory_key_util
+{
+ BOOST_MPL_ASSERT_MSG((false), INVALID_PARAMETERS_TYPE, (Params));
+};
+
+template <>
+struct factory_key_util<srs::detail::proj4_parameters>
+{
+ typedef std::string type;
+ template <typename ProjParams>
+ static type const& get(ProjParams const& par)
+ {
+ return par.id.name;
+ }
+};
+
+template <typename T>
+struct factory_key_util<srs::dpar::parameters<T> >
+{
+ typedef srs::dpar::value_proj type;
+ template <typename ProjParams>
+ static type const& get(ProjParams const& par)
+ {
+ return par.id.id;
+ }
+};
+
+struct factory_key
+{
+ factory_key(const char* name, srs::dpar::value_proj id)
+ : m_name(name), m_id(id)
+ {}
+
+ operator const char*() const
+ {
+ return m_name;
+ }
+
+ operator std::string() const
+ {
+ return std::string(m_name);
+ }
+
+ operator srs::dpar::value_proj() const
+ {
+ return m_id;
+ }
+
+private:
+ const char* m_name;
+ srs::dpar::value_proj m_id;
+};
+
+
+} // namespace detail
+
+}}} // namespace boost::geometry::projections
+
+#endif // BOOST_GEOMETRY_PROJECTIONS_FACTORY_KEY_HPP
diff --git a/boost/geometry/srs/projections/iau2000.hpp b/boost/geometry/srs/projections/iau2000.hpp
index 086ac2d708..ce58a76608 100644
--- a/boost/geometry/srs/projections/iau2000.hpp
+++ b/boost/geometry/srs/projections/iau2000.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -23,2396 +23,2398 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
- inline std::string iau2000_to_string(int code)
+ inline srs::dpar::parameters<> iau2000_to_parameters(int code)
{
+ using namespace srs::dpar;
+
static const code_element arr[] = {
- {19900, "+proj=longlat +a=2439700 +b=2439700 +no_defs"},
- {19901, "+proj=longlat +a=2439700 +b=2439700 +no_defs"},
- //{19910, ""},
- //{19911, ""},
- //{19912, ""},
- //{19913, ""},
- {19914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- //{19968, ""},
- //{19969, ""},
- //{19970, ""},
- //{19971, ""},
- {19972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- {19973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs"},
- //{19974, ""},
- //{19975, ""},
- //{19976, ""},
- //{19977, ""},
- //{19978, ""},
- //{19979, ""},
- {29900, "+proj=longlat +a=6051800 +b=6051800 +no_defs"},
- {29901, "+proj=longlat +a=6051800 +b=6051800 +no_defs"},
- //{29910, ""},
- //{29911, ""},
- //{29912, ""},
- //{29913, ""},
- {29914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- //{29968, ""},
- //{29969, ""},
- //{29970, ""},
- //{29971, ""},
- {29972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- {29973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs"},
- //{29974, ""},
- //{29975, ""},
- //{29976, ""},
- //{29977, ""},
- //{29978, ""},
- //{29979, ""},
- {30100, "+proj=longlat +a=1737400 +b=1737400 +no_defs"},
- {30101, "+proj=longlat +a=1737400 +b=1737400 +no_defs"},
- //{30110, ""},
- //{30111, ""},
- //{30112, ""},
- //{30113, ""},
- {30114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- //{30168, ""},
- //{30169, ""},
- //{30170, ""},
- //{30171, ""},
- {30172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- {30173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs"},
- //{30174, ""},
- //{30175, ""},
- //{30176, ""},
- //{30177, ""},
- //{30178, ""},
- //{30179, ""},
- {39900, "+proj=longlat +a=6378140 +b=6356750 +no_defs"},
- {39901, "+proj=longlat +a=6378140 +b=6356750 +no_defs"},
- //{39910, ""},
- //{39911, ""},
- //{39912, ""},
- //{39913, ""},
- {39914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- //{39968, ""},
- //{39969, ""},
- //{39970, ""},
- //{39971, ""},
- {39972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- {39973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs"},
- //{39974, ""},
- //{39975, ""},
- //{39976, ""},
- //{39977, ""},
- //{39978, ""},
- //{39979, ""},
- {40100, "+proj=longlat +a=13400 +b=9200 +no_defs"},
- {40101, "+proj=longlat +a=13400 +b=9200 +no_defs"},
- //{40110, ""},
- //{40111, ""},
- //{40112, ""},
- //{40113, ""},
- {40114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- //{40168, ""},
- //{40169, ""},
- //{40170, ""},
- //{40171, ""},
- {40172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- {40173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs"},
- //{40174, ""},
- //{40175, ""},
- //{40176, ""},
- //{40177, ""},
- //{40178, ""},
- //{40179, ""},
- {40200, "+proj=longlat +a=7500 +b=5200 +no_defs"},
- {40201, "+proj=longlat +a=7500 +b=5200 +no_defs"},
- //{40210, ""},
- //{40211, ""},
- //{40212, ""},
- //{40213, ""},
- {40214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- //{40268, ""},
- //{40269, ""},
- //{40270, ""},
- //{40271, ""},
- {40272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- {40273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs"},
- //{40274, ""},
- //{40275, ""},
- //{40276, ""},
- //{40277, ""},
- //{40278, ""},
- //{40279, ""},
- {49900, "+proj=longlat +a=3396190 +b=3376200 +no_defs"},
- {49901, "+proj=longlat +a=3396190 +b=3376200 +no_defs"},
- //{49910, ""},
- //{49911, ""},
- //{49912, ""},
- //{49913, ""},
- {49914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- //{49968, ""},
- //{49969, ""},
- //{49970, ""},
- //{49971, ""},
- {49972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- {49973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs"},
- //{49974, ""},
- //{49975, ""},
- //{49976, ""},
- //{49977, ""},
- //{49978, ""},
- //{49979, ""},
- {50100, "+proj=longlat +a=1829400 +b=1815700 +no_defs"},
- {50101, "+proj=longlat +a=1829400 +b=1815700 +no_defs"},
- //{50110, ""},
- //{50111, ""},
- //{50112, ""},
- //{50113, ""},
- {50114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- //{50168, ""},
- //{50169, ""},
- //{50170, ""},
- //{50171, ""},
- {50172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- {50173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs"},
- //{50174, ""},
- //{50175, ""},
- //{50176, ""},
- //{50177, ""},
- //{50178, ""},
- //{50179, ""},
- {50200, "+proj=longlat +a=1564130 +b=1560930 +no_defs"},
- {50201, "+proj=longlat +a=1564130 +b=1560930 +no_defs"},
- //{50210, ""},
- //{50211, ""},
- //{50212, ""},
- //{50213, ""},
- {50214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- //{50268, ""},
- //{50269, ""},
- //{50270, ""},
- //{50271, ""},
- {50272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- {50273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs"},
- //{50274, ""},
- //{50275, ""},
- //{50276, ""},
- //{50277, ""},
- //{50278, ""},
- //{50279, ""},
- {50300, "+proj=longlat +a=2632400 +b=2632350 +no_defs"},
- {50301, "+proj=longlat +a=2632400 +b=2632350 +no_defs"},
- //{50310, ""},
- //{50311, ""},
- //{50312, ""},
- //{50313, ""},
- {50314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- //{50368, ""},
- //{50369, ""},
- //{50370, ""},
- //{50371, ""},
- {50372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- {50373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs"},
- //{50374, ""},
- //{50375, ""},
- //{50376, ""},
- //{50377, ""},
- //{50378, ""},
- //{50379, ""},
- {50400, "+proj=longlat +a=2409400 +b=2409300 +no_defs"},
- {50401, "+proj=longlat +a=2409400 +b=2409300 +no_defs"},
- //{50410, ""},
- //{50411, ""},
- //{50412, ""},
- //{50413, ""},
- {50414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- //{50468, ""},
- //{50469, ""},
- //{50470, ""},
- //{50471, ""},
- {50472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- {50473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs"},
- //{50474, ""},
- //{50475, ""},
- //{50476, ""},
- //{50477, ""},
- //{50478, ""},
- //{50479, ""},
- {50500, "+proj=longlat +a=125000 +b=64000 +no_defs"},
- {50501, "+proj=longlat +a=125000 +b=64000 +no_defs"},
- //{50510, ""},
- //{50511, ""},
- //{50512, ""},
- //{50513, ""},
- {50514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- //{50568, ""},
- //{50569, ""},
- //{50570, ""},
- //{50571, ""},
- {50572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- {50573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs"},
- //{50574, ""},
- //{50575, ""},
- //{50576, ""},
- //{50577, ""},
- //{50578, ""},
- //{50579, ""},
- {50600, "+proj=longlat +a=85000 +b=85000 +no_defs"},
- {50601, "+proj=longlat +a=85000 +b=85000 +no_defs"},
- //{50610, ""},
- //{50611, ""},
- //{50612, ""},
- //{50613, ""},
- {50614, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50615, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50616, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50617, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50618, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50619, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50620, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50621, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50660, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50661, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50662, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50663, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50664, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50665, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50666, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50667, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- //{50668, ""},
- //{50669, ""},
- //{50670, ""},
- //{50671, ""},
- {50672, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- {50673, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs"},
- //{50674, ""},
- //{50675, ""},
- //{50676, ""},
- //{50677, ""},
- //{50678, ""},
- //{50679, ""},
- {50700, "+proj=longlat +a=40000 +b=40000 +no_defs"},
- {50701, "+proj=longlat +a=40000 +b=40000 +no_defs"},
- //{50710, ""},
- //{50711, ""},
- //{50712, ""},
- //{50713, ""},
- {50714, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50715, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50716, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50717, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50718, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50719, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50720, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50721, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50760, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50761, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50762, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50763, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50764, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50765, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50766, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50767, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- //{50768, ""},
- //{50769, ""},
- //{50770, ""},
- //{50771, ""},
- {50772, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {50773, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- //{50774, ""},
- //{50775, ""},
- //{50776, ""},
- //{50777, ""},
- //{50778, ""},
- //{50779, ""},
- {50800, "+proj=longlat +a=18000 +b=18000 +no_defs"},
- {50801, "+proj=longlat +a=18000 +b=18000 +no_defs"},
- //{50810, ""},
- //{50811, ""},
- //{50812, ""},
- //{50813, ""},
- {50814, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50815, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50816, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50817, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50818, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50819, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50820, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50821, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50860, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50861, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50862, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50863, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50864, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50865, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50866, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50867, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- //{50868, ""},
- //{50869, ""},
- //{50870, ""},
- //{50871, ""},
- {50872, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- {50873, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs"},
- //{50874, ""},
- //{50875, ""},
- //{50876, ""},
- //{50877, ""},
- //{50878, ""},
- //{50879, ""},
- {50900, "+proj=longlat +a=14000 +b=14000 +no_defs"},
- {50901, "+proj=longlat +a=14000 +b=14000 +no_defs"},
- //{50910, ""},
- //{50911, ""},
- //{50912, ""},
- //{50913, ""},
- {50914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- //{50968, ""},
- //{50969, ""},
- //{50970, ""},
- //{50971, ""},
- {50972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- {50973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs"},
- //{50974, ""},
- //{50975, ""},
- //{50976, ""},
- //{50977, ""},
- //{50978, ""},
- //{50979, ""},
- {51000, "+proj=longlat +a=12000 +b=12000 +no_defs"},
- {51001, "+proj=longlat +a=12000 +b=12000 +no_defs"},
- //{51010, ""},
- //{51011, ""},
- //{51012, ""},
- //{51013, ""},
- {51014, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51015, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51016, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51017, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51018, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51019, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51020, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51021, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51060, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51061, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51062, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51063, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51064, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51065, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51066, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51067, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- //{51068, ""},
- //{51069, ""},
- //{51070, ""},
- //{51071, ""},
- {51072, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- {51073, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs"},
- //{51074, ""},
- //{51075, ""},
- //{51076, ""},
- //{51077, ""},
- //{51078, ""},
- //{51079, ""},
- {51100, "+proj=longlat +a=15000 +b=15000 +no_defs"},
- {51101, "+proj=longlat +a=15000 +b=15000 +no_defs"},
- //{51110, ""},
- //{51111, ""},
- //{51112, ""},
- //{51113, ""},
- {51114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- //{51168, ""},
- //{51169, ""},
- //{51170, ""},
- //{51171, ""},
- {51172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {51173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- //{51174, ""},
- //{51175, ""},
- //{51176, ""},
- //{51177, ""},
- //{51178, ""},
- //{51179, ""},
- {51200, "+proj=longlat +a=10000 +b=10000 +no_defs"},
- {51201, "+proj=longlat +a=10000 +b=10000 +no_defs"},
- //{51210, ""},
- //{51211, ""},
- //{51212, ""},
- //{51213, ""},
- {51214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- //{51268, ""},
- //{51269, ""},
- //{51270, ""},
- //{51271, ""},
- {51272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {51273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- //{51274, ""},
- //{51275, ""},
- //{51276, ""},
- //{51277, ""},
- //{51278, ""},
- //{51279, ""},
- {51300, "+proj=longlat +a=5000 +b=5000 +no_defs"},
- {51301, "+proj=longlat +a=5000 +b=5000 +no_defs"},
- //{51310, ""},
- //{51311, ""},
- //{51312, ""},
- //{51313, ""},
- {51314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- //{51368, ""},
- //{51369, ""},
- //{51370, ""},
- //{51371, ""},
- {51372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- {51373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs"},
- //{51374, ""},
- //{51375, ""},
- //{51376, ""},
- //{51377, ""},
- //{51378, ""},
- //{51379, ""},
- {51400, "+proj=longlat +a=58000 +b=42000 +no_defs"},
- {51401, "+proj=longlat +a=58000 +b=42000 +no_defs"},
- //{51410, ""},
- //{51411, ""},
- //{51412, ""},
- //{51413, ""},
- {51414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- //{51468, ""},
- //{51469, ""},
- //{51470, ""},
- //{51471, ""},
- {51472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- {51473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs"},
- //{51474, ""},
- //{51475, ""},
- //{51476, ""},
- //{51477, ""},
- //{51478, ""},
- //{51479, ""},
- {51500, "+proj=longlat +a=10000 +b=7000 +no_defs"},
- {51501, "+proj=longlat +a=10000 +b=7000 +no_defs"},
- //{51510, ""},
- //{51511, ""},
- //{51512, ""},
- //{51513, ""},
- {51514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- //{51568, ""},
- //{51569, ""},
- //{51570, ""},
- //{51571, ""},
- {51572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- {51573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs"},
- //{51574, ""},
- //{51575, ""},
- //{51576, ""},
- //{51577, ""},
- //{51578, ""},
- //{51579, ""},
- {51600, "+proj=longlat +a=21500 +b=21500 +no_defs"},
- {51601, "+proj=longlat +a=21500 +b=21500 +no_defs"},
- //{51610, ""},
- //{51611, ""},
- //{51612, ""},
- //{51613, ""},
- {51614, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51615, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51616, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51617, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51618, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51619, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51620, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51621, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51660, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51661, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51662, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51663, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51664, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51665, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51666, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51667, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- //{51668, ""},
- //{51669, ""},
- //{51670, ""},
- //{51671, ""},
- {51672, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- {51673, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs"},
- //{51674, ""},
- //{51675, ""},
- //{51676, ""},
- //{51677, ""},
- //{51678, ""},
- //{51679, ""},
- {59900, "+proj=longlat +a=71492000 +b=66854000 +no_defs"},
- {59901, "+proj=longlat +a=71492000 +b=66854000 +no_defs"},
- //{59910, ""},
- //{59911, ""},
- //{59912, ""},
- //{59913, ""},
- {59914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- //{59968, ""},
- //{59969, ""},
- //{59970, ""},
- //{59971, ""},
- {59972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- {59973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs"},
- //{59974, ""},
- //{59975, ""},
- //{59976, ""},
- //{59977, ""},
- //{59978, ""},
- //{59979, ""},
- {60100, "+proj=longlat +a=209100 +b=191400 +no_defs"},
- {60101, "+proj=longlat +a=209100 +b=191400 +no_defs"},
- //{60110, ""},
- //{60111, ""},
- //{60112, ""},
- //{60113, ""},
- {60114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- //{60168, ""},
- //{60169, ""},
- //{60170, ""},
- //{60171, ""},
- {60172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- {60173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs"},
- //{60174, ""},
- //{60175, ""},
- //{60176, ""},
- //{60177, ""},
- //{60178, ""},
- //{60179, ""},
- {60200, "+proj=longlat +a=256300 +b=244600 +no_defs"},
- {60201, "+proj=longlat +a=256300 +b=244600 +no_defs"},
- //{60210, ""},
- //{60211, ""},
- //{60212, ""},
- //{60213, ""},
- {60214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- //{60268, ""},
- //{60269, ""},
- //{60270, ""},
- //{60271, ""},
- {60272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- {60273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs"},
- //{60274, ""},
- //{60275, ""},
- //{60276, ""},
- //{60277, ""},
- //{60278, ""},
- //{60279, ""},
- {60300, "+proj=longlat +a=535600 +b=525800 +no_defs"},
- {60301, "+proj=longlat +a=535600 +b=525800 +no_defs"},
- //{60310, ""},
- //{60311, ""},
- //{60312, ""},
- //{60313, ""},
- {60314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- //{60368, ""},
- //{60369, ""},
- //{60370, ""},
- //{60371, ""},
- {60372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- {60373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs"},
- //{60374, ""},
- //{60375, ""},
- //{60376, ""},
- //{60377, ""},
- //{60378, ""},
- //{60379, ""},
- {60400, "+proj=longlat +a=560000 +b=560000 +no_defs"},
- {60401, "+proj=longlat +a=560000 +b=560000 +no_defs"},
- //{60410, ""},
- //{60411, ""},
- //{60412, ""},
- //{60413, ""},
- {60414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- //{60468, ""},
- //{60469, ""},
- //{60470, ""},
- //{60471, ""},
- {60472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- {60473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs"},
- //{60474, ""},
- //{60475, ""},
- //{60476, ""},
- //{60477, ""},
- //{60478, ""},
- //{60479, ""},
- {60500, "+proj=longlat +a=764000 +b=764000 +no_defs"},
- {60501, "+proj=longlat +a=764000 +b=764000 +no_defs"},
- //{60510, ""},
- //{60511, ""},
- //{60512, ""},
- //{60513, ""},
- {60514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- //{60568, ""},
- //{60569, ""},
- //{60570, ""},
- //{60571, ""},
- {60572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- {60573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs"},
- //{60574, ""},
- //{60575, ""},
- //{60576, ""},
- //{60577, ""},
- //{60578, ""},
- //{60579, ""},
- {60600, "+proj=longlat +a=2575000 +b=2575000 +no_defs"},
- {60601, "+proj=longlat +a=2575000 +b=2575000 +no_defs"},
- //{60610, ""},
- //{60611, ""},
- //{60612, ""},
- //{60613, ""},
- {60614, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60615, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60616, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60617, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60618, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60619, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60620, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60621, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60660, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60661, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60662, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60663, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60664, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60665, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60666, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60667, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- //{60668, ""},
- //{60669, ""},
- //{60670, ""},
- //{60671, ""},
- {60672, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- {60673, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs"},
- //{60674, ""},
- //{60675, ""},
- //{60676, ""},
- //{60677, ""},
- //{60678, ""},
- //{60679, ""},
- {60700, "+proj=longlat +a=164000 +b=107000 +no_defs"},
- {60701, "+proj=longlat +a=164000 +b=107000 +no_defs"},
- //{60710, ""},
- //{60711, ""},
- //{60712, ""},
- //{60713, ""},
- {60714, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60715, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60716, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60717, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60718, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60719, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60720, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60721, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60760, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60761, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60762, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60763, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60764, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60765, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60766, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60767, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- //{60768, ""},
- //{60769, ""},
- //{60770, ""},
- //{60771, ""},
- {60772, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- {60773, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs"},
- //{60774, ""},
- //{60775, ""},
- //{60776, ""},
- //{60777, ""},
- //{60778, ""},
- //{60779, ""},
- {60800, "+proj=longlat +a=718000 +b=718000 +no_defs"},
- {60801, "+proj=longlat +a=718000 +b=718000 +no_defs"},
- //{60810, ""},
- //{60811, ""},
- //{60812, ""},
- //{60813, ""},
- {60814, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60815, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60816, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60817, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60818, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60819, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60820, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60821, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60860, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60861, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60862, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60863, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60864, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60865, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60866, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60867, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- //{60868, ""},
- //{60869, ""},
- //{60870, ""},
- //{60871, ""},
- {60872, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- {60873, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs"},
- //{60874, ""},
- //{60875, ""},
- //{60876, ""},
- //{60877, ""},
- //{60878, ""},
- //{60879, ""},
- {60900, "+proj=longlat +a=115000 +b=105000 +no_defs"},
- {60901, "+proj=longlat +a=115000 +b=105000 +no_defs"},
- //{60910, ""},
- //{60911, ""},
- //{60912, ""},
- //{60913, ""},
- {60914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- //{60968, ""},
- //{60969, ""},
- //{60970, ""},
- //{60971, ""},
- {60972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- {60973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs"},
- //{60974, ""},
- //{60975, ""},
- //{60976, ""},
- //{60977, ""},
- //{60978, ""},
- //{60979, ""},
- {61000, "+proj=longlat +a=97000 +b=77000 +no_defs"},
- {61001, "+proj=longlat +a=97000 +b=77000 +no_defs"},
- //{61010, ""},
- //{61011, ""},
- //{61012, ""},
- //{61013, ""},
- {61014, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61015, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61016, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61017, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61018, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61019, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61020, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61021, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61060, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61061, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61062, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61063, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61064, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61065, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61066, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61067, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- //{61068, ""},
- //{61069, ""},
- //{61070, ""},
- //{61071, ""},
- {61072, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- {61073, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs"},
- //{61074, ""},
- //{61075, ""},
- //{61076, ""},
- //{61077, ""},
- //{61078, ""},
- //{61079, ""},
- {61100, "+proj=longlat +a=69000 +b=55000 +no_defs"},
- {61101, "+proj=longlat +a=69000 +b=55000 +no_defs"},
- //{61110, ""},
- //{61111, ""},
- //{61112, ""},
- //{61113, ""},
- {61114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- //{61168, ""},
- //{61169, ""},
- //{61170, ""},
- //{61171, ""},
- {61172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- {61173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs"},
- //{61174, ""},
- //{61175, ""},
- //{61176, ""},
- //{61177, ""},
- //{61178, ""},
- //{61179, ""},
- {61200, "+proj=longlat +a=16000 +b=16000 +no_defs"},
- {61201, "+proj=longlat +a=16000 +b=16000 +no_defs"},
- //{61210, ""},
- //{61211, ""},
- //{61212, ""},
- //{61213, ""},
- {61214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- //{61268, ""},
- //{61269, ""},
- //{61270, ""},
- //{61271, ""},
- {61272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- {61273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs"},
- //{61274, ""},
- //{61275, ""},
- //{61276, ""},
- //{61277, ""},
- //{61278, ""},
- //{61279, ""},
- {61300, "+proj=longlat +a=15000 +b=7500 +no_defs"},
- {61301, "+proj=longlat +a=15000 +b=7500 +no_defs"},
- //{61310, ""},
- //{61311, ""},
- //{61312, ""},
- //{61313, ""},
- {61314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- //{61368, ""},
- //{61369, ""},
- //{61370, ""},
- //{61371, ""},
- {61372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- {61373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs"},
- //{61374, ""},
- //{61375, ""},
- //{61376, ""},
- //{61377, ""},
- //{61378, ""},
- //{61379, ""},
- {61400, "+proj=longlat +a=15000 +b=8000 +no_defs"},
- {61401, "+proj=longlat +a=15000 +b=8000 +no_defs"},
- //{61410, ""},
- //{61411, ""},
- //{61412, ""},
- //{61413, ""},
- {61414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- //{61468, ""},
- //{61469, ""},
- //{61470, ""},
- //{61471, ""},
- {61472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- {61473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs"},
- //{61474, ""},
- //{61475, ""},
- //{61476, ""},
- //{61477, ""},
- //{61478, ""},
- //{61479, ""},
- {61500, "+proj=longlat +a=18500 +b=13500 +no_defs"},
- {61501, "+proj=longlat +a=18500 +b=13500 +no_defs"},
- //{61510, ""},
- //{61511, ""},
- //{61512, ""},
- //{61513, ""},
- {61514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- //{61568, ""},
- //{61569, ""},
- //{61570, ""},
- //{61571, ""},
- {61572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- {61573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs"},
- //{61574, ""},
- //{61575, ""},
- //{61576, ""},
- //{61577, ""},
- //{61578, ""},
- //{61579, ""},
- {61600, "+proj=longlat +a=74000 +b=34000 +no_defs"},
- {61601, "+proj=longlat +a=74000 +b=34000 +no_defs"},
- //{61610, ""},
- //{61611, ""},
- //{61612, ""},
- //{61613, ""},
- {61614, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61615, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61616, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61617, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61618, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61619, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61620, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61621, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61660, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61661, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61662, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61663, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61664, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61665, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61666, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61667, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- //{61668, ""},
- //{61669, ""},
- //{61670, ""},
- //{61671, ""},
- {61672, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- {61673, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs"},
- //{61674, ""},
- //{61675, ""},
- //{61676, ""},
- //{61677, ""},
- //{61678, ""},
- //{61679, ""},
- {61700, "+proj=longlat +a=55000 +b=31000 +no_defs"},
- {61701, "+proj=longlat +a=55000 +b=31000 +no_defs"},
- //{61710, ""},
- //{61711, ""},
- //{61712, ""},
- //{61713, ""},
- {61714, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61715, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61716, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61717, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61718, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61719, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61720, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61721, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61760, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61761, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61762, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61763, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61764, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61765, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61766, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61767, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- //{61768, ""},
- //{61769, ""},
- //{61770, ""},
- //{61771, ""},
- {61772, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- {61773, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs"},
- //{61774, ""},
- //{61775, ""},
- //{61776, ""},
- //{61777, ""},
- //{61778, ""},
- //{61779, ""},
- {61800, "+proj=longlat +a=10000 +b=10000 +no_defs"},
- {61801, "+proj=longlat +a=10000 +b=10000 +no_defs"},
- //{61810, ""},
- //{61811, ""},
- //{61812, ""},
- //{61813, ""},
- {61814, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61815, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61816, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61817, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61818, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61819, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61820, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61821, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61860, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61861, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61862, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61863, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61864, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61865, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61866, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61867, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- //{61868, ""},
- //{61869, ""},
- //{61870, ""},
- //{61871, ""},
- {61872, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- {61873, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs"},
- //{61874, ""},
- //{61875, ""},
- //{61876, ""},
- //{61877, ""},
- //{61878, ""},
- //{61879, ""},
- {69900, "+proj=longlat +a=60268000 +b=54364000 +no_defs"},
- {69901, "+proj=longlat +a=60268000 +b=54364000 +no_defs"},
- //{69910, ""},
- //{69911, ""},
- //{69912, ""},
- //{69913, ""},
- {69914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- //{69968, ""},
- //{69969, ""},
- //{69970, ""},
- //{69971, ""},
- {69972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- {69973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs"},
- //{69974, ""},
- //{69975, ""},
- //{69976, ""},
- //{69977, ""},
- //{69978, ""},
- //{69979, ""},
- {70100, "+proj=longlat +a=581100 +b=577700 +no_defs"},
- {70101, "+proj=longlat +a=581100 +b=577700 +no_defs"},
- //{70110, ""},
- //{70111, ""},
- //{70112, ""},
- //{70113, ""},
- {70114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- //{70168, ""},
- //{70169, ""},
- //{70170, ""},
- //{70171, ""},
- {70172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- {70173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs"},
- //{70174, ""},
- //{70175, ""},
- //{70176, ""},
- //{70177, ""},
- //{70178, ""},
- //{70179, ""},
- {70200, "+proj=longlat +a=584700 +b=584700 +no_defs"},
- {70201, "+proj=longlat +a=584700 +b=584700 +no_defs"},
- //{70210, ""},
- //{70211, ""},
- //{70212, ""},
- //{70213, ""},
- {70214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- //{70268, ""},
- //{70269, ""},
- //{70270, ""},
- //{70271, ""},
- {70272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- {70273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs"},
- //{70274, ""},
- //{70275, ""},
- //{70276, ""},
- //{70277, ""},
- //{70278, ""},
- //{70279, ""},
- {70300, "+proj=longlat +a=788900 +b=788900 +no_defs"},
- {70301, "+proj=longlat +a=788900 +b=788900 +no_defs"},
- //{70310, ""},
- //{70311, ""},
- //{70312, ""},
- //{70313, ""},
- {70314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- //{70368, ""},
- //{70369, ""},
- //{70370, ""},
- //{70371, ""},
- {70372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- {70373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs"},
- //{70374, ""},
- //{70375, ""},
- //{70376, ""},
- //{70377, ""},
- //{70378, ""},
- //{70379, ""},
- {70400, "+proj=longlat +a=761400 +b=761400 +no_defs"},
- {70401, "+proj=longlat +a=761400 +b=761400 +no_defs"},
- //{70410, ""},
- //{70411, ""},
- //{70412, ""},
- //{70413, ""},
- {70414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- //{70468, ""},
- //{70469, ""},
- //{70470, ""},
- //{70471, ""},
- {70472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- {70473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs"},
- //{70474, ""},
- //{70475, ""},
- //{70476, ""},
- //{70477, ""},
- //{70478, ""},
- //{70479, ""},
- {70500, "+proj=longlat +a=240400 +b=232900 +no_defs"},
- {70501, "+proj=longlat +a=240400 +b=232900 +no_defs"},
- //{70510, ""},
- //{70511, ""},
- //{70512, ""},
- //{70513, ""},
- {70514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- //{70568, ""},
- //{70569, ""},
- //{70570, ""},
- //{70571, ""},
- {70572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- {70573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs"},
- //{70574, ""},
- //{70575, ""},
- //{70576, ""},
- //{70577, ""},
- //{70578, ""},
- //{70579, ""},
- {70600, "+proj=longlat +a=13000 +b=13000 +no_defs"},
- {70601, "+proj=longlat +a=13000 +b=13000 +no_defs"},
- //{70610, ""},
- //{70611, ""},
- //{70612, ""},
- //{70613, ""},
- {70614, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70615, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70616, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70617, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70618, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70619, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70620, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70621, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70660, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70661, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70662, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70663, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70664, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70665, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70666, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70667, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- //{70668, ""},
- //{70669, ""},
- //{70670, ""},
- //{70671, ""},
- {70672, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- {70673, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs"},
- //{70674, ""},
- //{70675, ""},
- //{70676, ""},
- //{70677, ""},
- //{70678, ""},
- //{70679, ""},
- {70700, "+proj=longlat +a=15000 +b=15000 +no_defs"},
- {70701, "+proj=longlat +a=15000 +b=15000 +no_defs"},
- //{70710, ""},
- //{70711, ""},
- //{70712, ""},
- //{70713, ""},
- {70714, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70715, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70716, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70717, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70718, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70719, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70720, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70721, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70760, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70761, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70762, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70763, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70764, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70765, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70766, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70767, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- //{70768, ""},
- //{70769, ""},
- //{70770, ""},
- //{70771, ""},
- {70772, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- {70773, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs"},
- //{70774, ""},
- //{70775, ""},
- //{70776, ""},
- //{70777, ""},
- //{70778, ""},
- //{70779, ""},
- {70800, "+proj=longlat +a=21000 +b=21000 +no_defs"},
- {70801, "+proj=longlat +a=21000 +b=21000 +no_defs"},
- //{70810, ""},
- //{70811, ""},
- //{70812, ""},
- //{70813, ""},
- {70814, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70815, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70816, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70817, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70818, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70819, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70820, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70821, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70860, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70861, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70862, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70863, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70864, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70865, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70866, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70867, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- //{70868, ""},
- //{70869, ""},
- //{70870, ""},
- //{70871, ""},
- {70872, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- {70873, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs"},
- //{70874, ""},
- //{70875, ""},
- //{70876, ""},
- //{70877, ""},
- //{70878, ""},
- //{70879, ""},
- {70900, "+proj=longlat +a=31000 +b=31000 +no_defs"},
- {70901, "+proj=longlat +a=31000 +b=31000 +no_defs"},
- //{70910, ""},
- //{70911, ""},
- //{70912, ""},
- //{70913, ""},
- {70914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- //{70968, ""},
- //{70969, ""},
- //{70970, ""},
- //{70971, ""},
- {70972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- {70973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs"},
- //{70974, ""},
- //{70975, ""},
- //{70976, ""},
- //{70977, ""},
- //{70978, ""},
- //{70979, ""},
- {71000, "+proj=longlat +a=27000 +b=27000 +no_defs"},
- {71001, "+proj=longlat +a=27000 +b=27000 +no_defs"},
- //{71010, ""},
- //{71011, ""},
- //{71012, ""},
- //{71013, ""},
- {71014, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71015, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71016, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71017, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71018, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71019, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71020, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71021, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71060, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71061, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71062, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71063, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71064, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71065, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71066, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71067, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- //{71068, ""},
- //{71069, ""},
- //{71070, ""},
- //{71071, ""},
- {71072, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71073, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- //{71074, ""},
- //{71075, ""},
- //{71076, ""},
- //{71077, ""},
- //{71078, ""},
- //{71079, ""},
- {71100, "+proj=longlat +a=42000 +b=42000 +no_defs"},
- {71101, "+proj=longlat +a=42000 +b=42000 +no_defs"},
- //{71110, ""},
- //{71111, ""},
- //{71112, ""},
- //{71113, ""},
- {71114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- //{71168, ""},
- //{71169, ""},
- //{71170, ""},
- //{71171, ""},
- {71172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- {71173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs"},
- //{71174, ""},
- //{71175, ""},
- //{71176, ""},
- //{71177, ""},
- //{71178, ""},
- //{71179, ""},
- {71200, "+proj=longlat +a=54000 +b=54000 +no_defs"},
- {71201, "+proj=longlat +a=54000 +b=54000 +no_defs"},
- //{71210, ""},
- //{71211, ""},
- //{71212, ""},
- //{71213, ""},
- {71214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- //{71268, ""},
- //{71269, ""},
- //{71270, ""},
- //{71271, ""},
- {71272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- {71273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs"},
- //{71274, ""},
- //{71275, ""},
- //{71276, ""},
- //{71277, ""},
- //{71278, ""},
- //{71279, ""},
- {71300, "+proj=longlat +a=27000 +b=27000 +no_defs"},
- {71301, "+proj=longlat +a=27000 +b=27000 +no_defs"},
- //{71310, ""},
- //{71311, ""},
- //{71312, ""},
- //{71313, ""},
- {71314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- //{71368, ""},
- //{71369, ""},
- //{71370, ""},
- //{71371, ""},
- {71372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- {71373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs"},
- //{71374, ""},
- //{71375, ""},
- //{71376, ""},
- //{71377, ""},
- //{71378, ""},
- //{71379, ""},
- {71400, "+proj=longlat +a=33000 +b=33000 +no_defs"},
- {71401, "+proj=longlat +a=33000 +b=33000 +no_defs"},
- //{71410, ""},
- //{71411, ""},
- //{71412, ""},
- //{71413, ""},
- {71414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- //{71468, ""},
- //{71469, ""},
- //{71470, ""},
- //{71471, ""},
- {71472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- {71473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs"},
- //{71474, ""},
- //{71475, ""},
- //{71476, ""},
- //{71477, ""},
- //{71478, ""},
- //{71479, ""},
- {71500, "+proj=longlat +a=77000 +b=77000 +no_defs"},
- {71501, "+proj=longlat +a=77000 +b=77000 +no_defs"},
- //{71510, ""},
- //{71511, ""},
- //{71512, ""},
- //{71513, ""},
- {71514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- //{71568, ""},
- //{71569, ""},
- //{71570, ""},
- //{71571, ""},
- {71572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- {71573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs"},
- //{71574, ""},
- //{71575, ""},
- //{71576, ""},
- //{71577, ""},
- //{71578, ""},
- //{71579, ""},
- {79900, "+proj=longlat +a=25559000 +b=24973000 +no_defs"},
- {79901, "+proj=longlat +a=25559000 +b=24973000 +no_defs"},
- //{79910, ""},
- //{79911, ""},
- //{79912, ""},
- //{79913, ""},
- {79914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- //{79968, ""},
- //{79969, ""},
- //{79970, ""},
- //{79971, ""},
- {79972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- {79973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs"},
- //{79974, ""},
- //{79975, ""},
- //{79976, ""},
- //{79977, ""},
- //{79978, ""},
- //{79979, ""},
- {80100, "+proj=longlat +a=1352600 +b=1352600 +no_defs"},
- {80101, "+proj=longlat +a=1352600 +b=1352600 +no_defs"},
- //{80110, ""},
- //{80111, ""},
- //{80112, ""},
- //{80113, ""},
- {80114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- //{80168, ""},
- //{80169, ""},
- //{80170, ""},
- //{80171, ""},
- {80172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- {80173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs"},
- //{80174, ""},
- //{80175, ""},
- //{80176, ""},
- //{80177, ""},
- //{80178, ""},
- //{80179, ""},
- {80200, "+proj=longlat +a=170000 +b=170000 +no_defs"},
- {80201, "+proj=longlat +a=170000 +b=170000 +no_defs"},
- //{80210, ""},
- //{80211, ""},
- //{80212, ""},
- //{80213, ""},
- {80214, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80215, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80216, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80217, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80218, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80219, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80220, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80221, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80260, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80261, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80262, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80263, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80264, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80265, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80266, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80267, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- //{80268, ""},
- //{80269, ""},
- //{80270, ""},
- //{80271, ""},
- {80272, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- {80273, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs"},
- //{80274, ""},
- //{80275, ""},
- //{80276, ""},
- //{80277, ""},
- //{80278, ""},
- //{80279, ""},
- {80300, "+proj=longlat +a=29000 +b=29000 +no_defs"},
- {80301, "+proj=longlat +a=29000 +b=29000 +no_defs"},
- //{80310, ""},
- //{80311, ""},
- //{80312, ""},
- //{80313, ""},
- {80314, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80315, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80316, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80317, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80318, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80319, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80320, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80321, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80360, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80361, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80362, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80363, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80364, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80365, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80366, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80367, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- //{80368, ""},
- //{80369, ""},
- //{80370, ""},
- //{80371, ""},
- {80372, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- {80373, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs"},
- //{80374, ""},
- //{80375, ""},
- //{80376, ""},
- //{80377, ""},
- //{80378, ""},
- //{80379, ""},
- {80400, "+proj=longlat +a=40000 +b=40000 +no_defs"},
- {80401, "+proj=longlat +a=40000 +b=40000 +no_defs"},
- //{80410, ""},
- //{80411, ""},
- //{80412, ""},
- //{80413, ""},
- {80414, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80415, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80416, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80417, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80418, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80419, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80420, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80421, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80460, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80461, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80462, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80463, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80464, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80465, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80466, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80467, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- //{80468, ""},
- //{80469, ""},
- //{80470, ""},
- //{80471, ""},
- {80472, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- {80473, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs"},
- //{80474, ""},
- //{80475, ""},
- //{80476, ""},
- //{80477, ""},
- //{80478, ""},
- //{80479, ""},
- {80500, "+proj=longlat +a=74000 +b=74000 +no_defs"},
- {80501, "+proj=longlat +a=74000 +b=74000 +no_defs"},
- //{80510, ""},
- //{80511, ""},
- //{80512, ""},
- //{80513, ""},
- {80514, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80515, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80516, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80517, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80518, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80519, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80520, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80521, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80560, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80561, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80562, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80563, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80564, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80565, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80566, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80567, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- //{80568, ""},
- //{80569, ""},
- //{80570, ""},
- //{80571, ""},
- {80572, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- {80573, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs"},
- //{80574, ""},
- //{80575, ""},
- //{80576, ""},
- //{80577, ""},
- //{80578, ""},
- //{80579, ""},
- {80600, "+proj=longlat +a=79000 +b=79000 +no_defs"},
- {80601, "+proj=longlat +a=79000 +b=79000 +no_defs"},
- //{80610, ""},
- //{80611, ""},
- //{80612, ""},
- //{80613, ""},
- {80614, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80615, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80616, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80617, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80618, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80619, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80620, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80621, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80660, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80661, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80662, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80663, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80664, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80665, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80666, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80667, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- //{80668, ""},
- //{80669, ""},
- //{80670, ""},
- //{80671, ""},
- {80672, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- {80673, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs"},
- //{80674, ""},
- //{80675, ""},
- //{80676, ""},
- //{80677, ""},
- //{80678, ""},
- //{80679, ""},
- {80700, "+proj=longlat +a=96000 +b=96000 +no_defs"},
- {80701, "+proj=longlat +a=96000 +b=96000 +no_defs"},
- //{80710, ""},
- //{80711, ""},
- //{80712, ""},
- //{80713, ""},
- {80714, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80715, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80716, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80717, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80718, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80719, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80720, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80721, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80760, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80761, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80762, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80763, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80764, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80765, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80766, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80767, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- //{80768, ""},
- //{80769, ""},
- //{80770, ""},
- //{80771, ""},
- {80772, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- {80773, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs"},
- //{80774, ""},
- //{80775, ""},
- //{80776, ""},
- //{80777, ""},
- //{80778, ""},
- //{80779, ""},
- {80800, "+proj=longlat +a=218000 +b=201000 +no_defs"},
- {80801, "+proj=longlat +a=218000 +b=201000 +no_defs"},
- //{80810, ""},
- //{80811, ""},
- //{80812, ""},
- //{80813, ""},
- {80814, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80815, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80816, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80817, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80818, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80819, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80820, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80821, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80860, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80861, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80862, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80863, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80864, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80865, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80866, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80867, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- //{80868, ""},
- //{80869, ""},
- //{80870, ""},
- //{80871, ""},
- {80872, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- {80873, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs"},
- //{80874, ""},
- //{80875, ""},
- //{80876, ""},
- //{80877, ""},
- //{80878, ""},
- //{80879, ""},
- {89900, "+proj=longlat +a=24764000 +b=24341000 +no_defs"},
- {89901, "+proj=longlat +a=24764000 +b=24341000 +no_defs"},
- //{89910, ""},
- //{89911, ""},
- //{89912, ""},
- //{89913, ""},
- {89914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- //{89968, ""},
- //{89969, ""},
- //{89970, ""},
- //{89971, ""},
- {89972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- {89973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs"},
- //{89974, ""},
- //{89975, ""},
- //{89976, ""},
- //{89977, ""},
- //{89978, ""},
- //{89979, ""},
- {90100, "+proj=longlat +a=593000 +b=593000 +no_defs"},
- {90101, "+proj=longlat +a=593000 +b=593000 +no_defs"},
- //{90110, ""},
- //{90111, ""},
- //{90112, ""},
- //{90113, ""},
- {90114, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90115, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90116, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90117, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90118, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90119, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90120, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90121, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90160, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90161, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90162, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90163, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90164, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90165, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90166, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90167, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- //{90168, ""},
- //{90169, ""},
- //{90170, ""},
- //{90171, ""},
- {90172, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- {90173, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs"},
- //{90174, ""},
- //{90175, ""},
- //{90176, ""},
- //{90177, ""},
- //{90178, ""},
- //{90179, ""},
- {99900, "+proj=longlat +a=1195000 +b=1195000 +no_defs"},
- {99901, "+proj=longlat +a=1195000 +b=1195000 +no_defs"},
- //{99910, ""},
- //{99911, ""},
- //{99912, ""},
- //{99913, ""},
- {99914, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99915, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99916, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99917, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99918, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99919, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99920, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99921, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99960, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99961, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99962, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99963, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99964, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99965, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99966, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99967, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- //{99968, ""},
- //{99969, ""},
- //{99970, ""},
- //{99971, ""},
- {99972, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"},
- {99973, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs"}
-//{99974, ""},
-//{99975, ""},
-//{99976, ""},
-//{99977, ""},
-//{99978, ""},
-//{99979, ""}
+ {19900, srs::dpar::parameters<>(proj_longlat)(r,2439700)(no_defs)},
+ {19901, srs::dpar::parameters<>(proj_longlat)(r,2439700)(no_defs)},
+ //{19910},
+ //{19911},
+ //{19912},
+ //{19913},
+ {19914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ //{19968},
+ //{19969},
+ //{19970},
+ //{19971},
+ {19972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ {19973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2439700)(units_m)(no_defs)},
+ //{19974},
+ //{19975},
+ //{19976},
+ //{19977},
+ //{19978},
+ //{19979},
+ {29900, srs::dpar::parameters<>(proj_longlat)(r,6051800)(no_defs)},
+ {29901, srs::dpar::parameters<>(proj_longlat)(r,6051800)(no_defs)},
+ //{29910},
+ //{29911},
+ //{29912},
+ //{29913},
+ {29914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ //{29968},
+ //{29969},
+ //{29970},
+ //{29971},
+ {29972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ {29973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,6051800)(units_m)(no_defs)},
+ //{29974},
+ //{29975},
+ //{29976},
+ //{29977},
+ //{29978},
+ //{29979},
+ {30100, srs::dpar::parameters<>(proj_longlat)(r,1737400)(no_defs)},
+ {30101, srs::dpar::parameters<>(proj_longlat)(r,1737400)(no_defs)},
+ //{30110},
+ //{30111},
+ //{30112},
+ //{30113},
+ {30114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ //{30168},
+ //{30169},
+ //{30170},
+ //{30171},
+ {30172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ {30173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1737400)(units_m)(no_defs)},
+ //{30174},
+ //{30175},
+ //{30176},
+ //{30177},
+ //{30178},
+ //{30179},
+ {39900, srs::dpar::parameters<>(proj_longlat)(a,6378140)(b,6356750)(no_defs)},
+ {39901, srs::dpar::parameters<>(proj_longlat)(a,6378140)(b,6356750)(no_defs)},
+ //{39910},
+ //{39911},
+ //{39912},
+ //{39913},
+ {39914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ //{39968},
+ //{39969},
+ //{39970},
+ //{39971},
+ {39972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ {39973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,6378140)(b,6356750)(units_m)(no_defs)},
+ //{39974},
+ //{39975},
+ //{39976},
+ //{39977},
+ //{39978},
+ //{39979},
+ {40100, srs::dpar::parameters<>(proj_longlat)(a,13400)(b,9200)(no_defs)},
+ {40101, srs::dpar::parameters<>(proj_longlat)(a,13400)(b,9200)(no_defs)},
+ //{40110},
+ //{40111},
+ //{40112},
+ //{40113},
+ {40114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ //{40168},
+ //{40169},
+ //{40170},
+ //{40171},
+ {40172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ {40173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,13400)(b,9200)(units_m)(no_defs)},
+ //{40174},
+ //{40175},
+ //{40176},
+ //{40177},
+ //{40178},
+ //{40179},
+ {40200, srs::dpar::parameters<>(proj_longlat)(a,7500)(b,5200)(no_defs)},
+ {40201, srs::dpar::parameters<>(proj_longlat)(a,7500)(b,5200)(no_defs)},
+ //{40210},
+ //{40211},
+ //{40212},
+ //{40213},
+ {40214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ //{40268},
+ //{40269},
+ //{40270},
+ //{40271},
+ {40272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ {40273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,7500)(b,5200)(units_m)(no_defs)},
+ //{40274},
+ //{40275},
+ //{40276},
+ //{40277},
+ //{40278},
+ //{40279},
+ {49900, srs::dpar::parameters<>(proj_longlat)(a,3396190)(b,3376200)(no_defs)},
+ {49901, srs::dpar::parameters<>(proj_longlat)(a,3396190)(b,3376200)(no_defs)},
+ //{49910},
+ //{49911},
+ //{49912},
+ //{49913},
+ {49914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ //{49968},
+ //{49969},
+ //{49970},
+ //{49971},
+ {49972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ {49973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,3396190)(b,3376200)(units_m)(no_defs)},
+ //{49974},
+ //{49975},
+ //{49976},
+ //{49977},
+ //{49978},
+ //{49979},
+ {50100, srs::dpar::parameters<>(proj_longlat)(a,1829400)(b,1815700)(no_defs)},
+ {50101, srs::dpar::parameters<>(proj_longlat)(a,1829400)(b,1815700)(no_defs)},
+ //{50110},
+ //{50111},
+ //{50112},
+ //{50113},
+ {50114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ //{50168},
+ //{50169},
+ //{50170},
+ //{50171},
+ {50172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ {50173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1829400)(b,1815700)(units_m)(no_defs)},
+ //{50174},
+ //{50175},
+ //{50176},
+ //{50177},
+ //{50178},
+ //{50179},
+ {50200, srs::dpar::parameters<>(proj_longlat)(a,1564130)(b,1560930)(no_defs)},
+ {50201, srs::dpar::parameters<>(proj_longlat)(a,1564130)(b,1560930)(no_defs)},
+ //{50210},
+ //{50211},
+ //{50212},
+ //{50213},
+ {50214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ //{50268},
+ //{50269},
+ //{50270},
+ //{50271},
+ {50272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ {50273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,1564130)(b,1560930)(units_m)(no_defs)},
+ //{50274},
+ //{50275},
+ //{50276},
+ //{50277},
+ //{50278},
+ //{50279},
+ {50300, srs::dpar::parameters<>(proj_longlat)(a,2632400)(b,2632350)(no_defs)},
+ {50301, srs::dpar::parameters<>(proj_longlat)(a,2632400)(b,2632350)(no_defs)},
+ //{50310},
+ //{50311},
+ //{50312},
+ //{50313},
+ {50314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ //{50368},
+ //{50369},
+ //{50370},
+ //{50371},
+ {50372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ {50373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2632400)(b,2632350)(units_m)(no_defs)},
+ //{50374},
+ //{50375},
+ //{50376},
+ //{50377},
+ //{50378},
+ //{50379},
+ {50400, srs::dpar::parameters<>(proj_longlat)(a,2409400)(b,2409300)(no_defs)},
+ {50401, srs::dpar::parameters<>(proj_longlat)(a,2409400)(b,2409300)(no_defs)},
+ //{50410},
+ //{50411},
+ //{50412},
+ //{50413},
+ {50414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ //{50468},
+ //{50469},
+ //{50470},
+ //{50471},
+ {50472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ {50473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,2409400)(b,2409300)(units_m)(no_defs)},
+ //{50474},
+ //{50475},
+ //{50476},
+ //{50477},
+ //{50478},
+ //{50479},
+ {50500, srs::dpar::parameters<>(proj_longlat)(a,125000)(b,64000)(no_defs)},
+ {50501, srs::dpar::parameters<>(proj_longlat)(a,125000)(b,64000)(no_defs)},
+ //{50510},
+ //{50511},
+ //{50512},
+ //{50513},
+ {50514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ //{50568},
+ //{50569},
+ //{50570},
+ //{50571},
+ {50572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ {50573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,125000)(b,64000)(units_m)(no_defs)},
+ //{50574},
+ //{50575},
+ //{50576},
+ //{50577},
+ //{50578},
+ //{50579},
+ {50600, srs::dpar::parameters<>(proj_longlat)(r,85000)(no_defs)},
+ {50601, srs::dpar::parameters<>(proj_longlat)(r,85000)(no_defs)},
+ //{50610},
+ //{50611},
+ //{50612},
+ //{50613},
+ {50614, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50615, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50616, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50617, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50618, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50619, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50620, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50621, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50660, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50661, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50662, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50663, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50666, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50667, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ //{50668},
+ //{50669},
+ //{50670},
+ //{50671},
+ {50672, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ {50673, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,85000)(units_m)(no_defs)},
+ //{50674},
+ //{50675},
+ //{50676},
+ //{50677},
+ //{50678},
+ //{50679},
+ {50700, srs::dpar::parameters<>(proj_longlat)(r,40000)(no_defs)},
+ {50701, srs::dpar::parameters<>(proj_longlat)(r,40000)(no_defs)},
+ //{50710},
+ //{50711},
+ //{50712},
+ //{50713},
+ {50714, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50715, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50716, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50717, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50718, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50719, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50720, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50721, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50760, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50761, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50762, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50763, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50764, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50765, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50766, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50767, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ //{50768},
+ //{50769},
+ //{50770},
+ //{50771},
+ {50772, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {50773, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ //{50774},
+ //{50775},
+ //{50776},
+ //{50777},
+ //{50778},
+ //{50779},
+ {50800, srs::dpar::parameters<>(proj_longlat)(r,18000)(no_defs)},
+ {50801, srs::dpar::parameters<>(proj_longlat)(r,18000)(no_defs)},
+ //{50810},
+ //{50811},
+ //{50812},
+ //{50813},
+ {50814, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50815, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50816, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50817, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50818, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50819, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50820, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50821, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50860, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50861, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50862, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50863, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50864, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50865, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50866, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50867, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ //{50868},
+ //{50869},
+ //{50870},
+ //{50871},
+ {50872, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ {50873, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,18000)(units_m)(no_defs)},
+ //{50874},
+ //{50875},
+ //{50876},
+ //{50877},
+ //{50878},
+ //{50879},
+ {50900, srs::dpar::parameters<>(proj_longlat)(r,14000)(no_defs)},
+ {50901, srs::dpar::parameters<>(proj_longlat)(r,14000)(no_defs)},
+ //{50910},
+ //{50911},
+ //{50912},
+ //{50913},
+ {50914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ //{50968},
+ //{50969},
+ //{50970},
+ //{50971},
+ {50972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ {50973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,14000)(units_m)(no_defs)},
+ //{50974},
+ //{50975},
+ //{50976},
+ //{50977},
+ //{50978},
+ //{50979},
+ {51000, srs::dpar::parameters<>(proj_longlat)(r,12000)(no_defs)},
+ {51001, srs::dpar::parameters<>(proj_longlat)(r,12000)(no_defs)},
+ //{51010},
+ //{51011},
+ //{51012},
+ //{51013},
+ {51014, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51015, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51016, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51017, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51018, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51019, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51020, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51021, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51060, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51061, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51062, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51063, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51064, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51065, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51066, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51067, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ //{51068},
+ //{51069},
+ //{51070},
+ //{51071},
+ {51072, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ {51073, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,12000)(units_m)(no_defs)},
+ //{51074},
+ //{51075},
+ //{51076},
+ //{51077},
+ //{51078},
+ //{51079},
+ {51100, srs::dpar::parameters<>(proj_longlat)(r,15000)(no_defs)},
+ {51101, srs::dpar::parameters<>(proj_longlat)(r,15000)(no_defs)},
+ //{51110},
+ //{51111},
+ //{51112},
+ //{51113},
+ {51114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ //{51168},
+ //{51169},
+ //{51170},
+ //{51171},
+ {51172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {51173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ //{51174},
+ //{51175},
+ //{51176},
+ //{51177},
+ //{51178},
+ //{51179},
+ {51200, srs::dpar::parameters<>(proj_longlat)(r,10000)(no_defs)},
+ {51201, srs::dpar::parameters<>(proj_longlat)(r,10000)(no_defs)},
+ //{51210},
+ //{51211},
+ //{51212},
+ //{51213},
+ {51214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ //{51268},
+ //{51269},
+ //{51270},
+ //{51271},
+ {51272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {51273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ //{51274},
+ //{51275},
+ //{51276},
+ //{51277},
+ //{51278},
+ //{51279},
+ {51300, srs::dpar::parameters<>(proj_longlat)(r,5000)(no_defs)},
+ {51301, srs::dpar::parameters<>(proj_longlat)(r,5000)(no_defs)},
+ //{51310},
+ //{51311},
+ //{51312},
+ //{51313},
+ {51314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ //{51368},
+ //{51369},
+ //{51370},
+ //{51371},
+ {51372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ {51373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,5000)(units_m)(no_defs)},
+ //{51374},
+ //{51375},
+ //{51376},
+ //{51377},
+ //{51378},
+ //{51379},
+ {51400, srs::dpar::parameters<>(proj_longlat)(a,58000)(b,42000)(no_defs)},
+ {51401, srs::dpar::parameters<>(proj_longlat)(a,58000)(b,42000)(no_defs)},
+ //{51410},
+ //{51411},
+ //{51412},
+ //{51413},
+ {51414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ //{51468},
+ //{51469},
+ //{51470},
+ //{51471},
+ {51472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ {51473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,58000)(b,42000)(units_m)(no_defs)},
+ //{51474},
+ //{51475},
+ //{51476},
+ //{51477},
+ //{51478},
+ //{51479},
+ {51500, srs::dpar::parameters<>(proj_longlat)(a,10000)(b,7000)(no_defs)},
+ {51501, srs::dpar::parameters<>(proj_longlat)(a,10000)(b,7000)(no_defs)},
+ //{51510},
+ //{51511},
+ //{51512},
+ //{51513},
+ {51514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ //{51568},
+ //{51569},
+ //{51570},
+ //{51571},
+ {51572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ {51573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,10000)(b,7000)(units_m)(no_defs)},
+ //{51574},
+ //{51575},
+ //{51576},
+ //{51577},
+ //{51578},
+ //{51579},
+ {51600, srs::dpar::parameters<>(proj_longlat)(r,21500)(no_defs)},
+ {51601, srs::dpar::parameters<>(proj_longlat)(r,21500)(no_defs)},
+ //{51610},
+ //{51611},
+ //{51612},
+ //{51613},
+ {51614, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51615, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51616, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51617, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51618, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51619, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51620, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51621, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51660, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51661, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51662, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51663, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51666, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51667, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ //{51668},
+ //{51669},
+ //{51670},
+ //{51671},
+ {51672, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ {51673, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21500)(units_m)(no_defs)},
+ //{51674},
+ //{51675},
+ //{51676},
+ //{51677},
+ //{51678},
+ //{51679},
+ {59900, srs::dpar::parameters<>(proj_longlat)(a,71492000)(b,66854000)(no_defs)},
+ {59901, srs::dpar::parameters<>(proj_longlat)(a,71492000)(b,66854000)(no_defs)},
+ //{59910},
+ //{59911},
+ //{59912},
+ //{59913},
+ {59914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ //{59968},
+ //{59969},
+ //{59970},
+ //{59971},
+ {59972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ {59973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,71492000)(b,66854000)(units_m)(no_defs)},
+ //{59974},
+ //{59975},
+ //{59976},
+ //{59977},
+ //{59978},
+ //{59979},
+ {60100, srs::dpar::parameters<>(proj_longlat)(a,209100)(b,191400)(no_defs)},
+ {60101, srs::dpar::parameters<>(proj_longlat)(a,209100)(b,191400)(no_defs)},
+ //{60110},
+ //{60111},
+ //{60112},
+ //{60113},
+ {60114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ //{60168},
+ //{60169},
+ //{60170},
+ //{60171},
+ {60172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ {60173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,209100)(b,191400)(units_m)(no_defs)},
+ //{60174},
+ //{60175},
+ //{60176},
+ //{60177},
+ //{60178},
+ //{60179},
+ {60200, srs::dpar::parameters<>(proj_longlat)(a,256300)(b,244600)(no_defs)},
+ {60201, srs::dpar::parameters<>(proj_longlat)(a,256300)(b,244600)(no_defs)},
+ //{60210},
+ //{60211},
+ //{60212},
+ //{60213},
+ {60214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ //{60268},
+ //{60269},
+ //{60270},
+ //{60271},
+ {60272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ {60273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,256300)(b,244600)(units_m)(no_defs)},
+ //{60274},
+ //{60275},
+ //{60276},
+ //{60277},
+ //{60278},
+ //{60279},
+ {60300, srs::dpar::parameters<>(proj_longlat)(a,535600)(b,525800)(no_defs)},
+ {60301, srs::dpar::parameters<>(proj_longlat)(a,535600)(b,525800)(no_defs)},
+ //{60310},
+ //{60311},
+ //{60312},
+ //{60313},
+ {60314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ //{60368},
+ //{60369},
+ //{60370},
+ //{60371},
+ {60372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ {60373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,535600)(b,525800)(units_m)(no_defs)},
+ //{60374},
+ //{60375},
+ //{60376},
+ //{60377},
+ //{60378},
+ //{60379},
+ {60400, srs::dpar::parameters<>(proj_longlat)(r,560000)(no_defs)},
+ {60401, srs::dpar::parameters<>(proj_longlat)(r,560000)(no_defs)},
+ //{60410},
+ //{60411},
+ //{60412},
+ //{60413},
+ {60414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ //{60468},
+ //{60469},
+ //{60470},
+ //{60471},
+ {60472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ {60473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,560000)(units_m)(no_defs)},
+ //{60474},
+ //{60475},
+ //{60476},
+ //{60477},
+ //{60478},
+ //{60479},
+ {60500, srs::dpar::parameters<>(proj_longlat)(r,764000)(no_defs)},
+ {60501, srs::dpar::parameters<>(proj_longlat)(r,764000)(no_defs)},
+ //{60510},
+ //{60511},
+ //{60512},
+ //{60513},
+ {60514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ //{60568},
+ //{60569},
+ //{60570},
+ //{60571},
+ {60572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ {60573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,764000)(units_m)(no_defs)},
+ //{60574},
+ //{60575},
+ //{60576},
+ //{60577},
+ //{60578},
+ //{60579},
+ {60600, srs::dpar::parameters<>(proj_longlat)(r,2575000)(no_defs)},
+ {60601, srs::dpar::parameters<>(proj_longlat)(r,2575000)(no_defs)},
+ //{60610},
+ //{60611},
+ //{60612},
+ //{60613},
+ {60614, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60615, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60616, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60617, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60618, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60619, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60620, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60621, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60660, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60661, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60662, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60663, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60666, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60667, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ //{60668},
+ //{60669},
+ //{60670},
+ //{60671},
+ {60672, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ {60673, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,2575000)(units_m)(no_defs)},
+ //{60674},
+ //{60675},
+ //{60676},
+ //{60677},
+ //{60678},
+ //{60679},
+ {60700, srs::dpar::parameters<>(proj_longlat)(a,164000)(b,107000)(no_defs)},
+ {60701, srs::dpar::parameters<>(proj_longlat)(a,164000)(b,107000)(no_defs)},
+ //{60710},
+ //{60711},
+ //{60712},
+ //{60713},
+ {60714, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60715, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60716, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60717, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60718, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60719, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60720, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60721, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60760, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60761, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60762, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60763, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60764, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60765, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60766, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60767, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ //{60768},
+ //{60769},
+ //{60770},
+ //{60771},
+ {60772, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ {60773, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,164000)(b,107000)(units_m)(no_defs)},
+ //{60774},
+ //{60775},
+ //{60776},
+ //{60777},
+ //{60778},
+ //{60779},
+ {60800, srs::dpar::parameters<>(proj_longlat)(r,718000)(no_defs)},
+ {60801, srs::dpar::parameters<>(proj_longlat)(r,718000)(no_defs)},
+ //{60810},
+ //{60811},
+ //{60812},
+ //{60813},
+ {60814, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60815, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60816, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60817, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60818, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60819, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60820, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60821, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60860, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60861, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60862, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60863, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60864, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60865, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60866, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60867, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ //{60868},
+ //{60869},
+ //{60870},
+ //{60871},
+ {60872, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ {60873, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,718000)(units_m)(no_defs)},
+ //{60874},
+ //{60875},
+ //{60876},
+ //{60877},
+ //{60878},
+ //{60879},
+ {60900, srs::dpar::parameters<>(proj_longlat)(a,115000)(b,105000)(no_defs)},
+ {60901, srs::dpar::parameters<>(proj_longlat)(a,115000)(b,105000)(no_defs)},
+ //{60910},
+ //{60911},
+ //{60912},
+ //{60913},
+ {60914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ //{60968},
+ //{60969},
+ //{60970},
+ //{60971},
+ {60972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ {60973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,115000)(b,105000)(units_m)(no_defs)},
+ //{60974},
+ //{60975},
+ //{60976},
+ //{60977},
+ //{60978},
+ //{60979},
+ {61000, srs::dpar::parameters<>(proj_longlat)(a,97000)(b,77000)(no_defs)},
+ {61001, srs::dpar::parameters<>(proj_longlat)(a,97000)(b,77000)(no_defs)},
+ //{61010},
+ //{61011},
+ //{61012},
+ //{61013},
+ {61014, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61015, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61016, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61017, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61018, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61019, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61020, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61021, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61060, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61061, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61062, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61063, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61064, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61065, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61066, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61067, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ //{61068},
+ //{61069},
+ //{61070},
+ //{61071},
+ {61072, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ {61073, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,97000)(b,77000)(units_m)(no_defs)},
+ //{61074},
+ //{61075},
+ //{61076},
+ //{61077},
+ //{61078},
+ //{61079},
+ {61100, srs::dpar::parameters<>(proj_longlat)(a,69000)(b,55000)(no_defs)},
+ {61101, srs::dpar::parameters<>(proj_longlat)(a,69000)(b,55000)(no_defs)},
+ //{61110},
+ //{61111},
+ //{61112},
+ //{61113},
+ {61114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ //{61168},
+ //{61169},
+ //{61170},
+ //{61171},
+ {61172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ {61173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,69000)(b,55000)(units_m)(no_defs)},
+ //{61174},
+ //{61175},
+ //{61176},
+ //{61177},
+ //{61178},
+ //{61179},
+ {61200, srs::dpar::parameters<>(proj_longlat)(r,16000)(no_defs)},
+ {61201, srs::dpar::parameters<>(proj_longlat)(r,16000)(no_defs)},
+ //{61210},
+ //{61211},
+ //{61212},
+ //{61213},
+ {61214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ //{61268},
+ //{61269},
+ //{61270},
+ //{61271},
+ {61272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ {61273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,16000)(units_m)(no_defs)},
+ //{61274},
+ //{61275},
+ //{61276},
+ //{61277},
+ //{61278},
+ //{61279},
+ {61300, srs::dpar::parameters<>(proj_longlat)(a,15000)(b,7500)(no_defs)},
+ {61301, srs::dpar::parameters<>(proj_longlat)(a,15000)(b,7500)(no_defs)},
+ //{61310},
+ //{61311},
+ //{61312},
+ //{61313},
+ {61314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ //{61368},
+ //{61369},
+ //{61370},
+ //{61371},
+ {61372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ {61373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,7500)(units_m)(no_defs)},
+ //{61374},
+ //{61375},
+ //{61376},
+ //{61377},
+ //{61378},
+ //{61379},
+ {61400, srs::dpar::parameters<>(proj_longlat)(a,15000)(b,8000)(no_defs)},
+ {61401, srs::dpar::parameters<>(proj_longlat)(a,15000)(b,8000)(no_defs)},
+ //{61410},
+ //{61411},
+ //{61412},
+ //{61413},
+ {61414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ //{61468},
+ //{61469},
+ //{61470},
+ //{61471},
+ {61472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ {61473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,15000)(b,8000)(units_m)(no_defs)},
+ //{61474},
+ //{61475},
+ //{61476},
+ //{61477},
+ //{61478},
+ //{61479},
+ {61500, srs::dpar::parameters<>(proj_longlat)(a,18500)(b,13500)(no_defs)},
+ {61501, srs::dpar::parameters<>(proj_longlat)(a,18500)(b,13500)(no_defs)},
+ //{61510},
+ //{61511},
+ //{61512},
+ //{61513},
+ {61514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ //{61568},
+ //{61569},
+ //{61570},
+ //{61571},
+ {61572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ {61573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,18500)(b,13500)(units_m)(no_defs)},
+ //{61574},
+ //{61575},
+ //{61576},
+ //{61577},
+ //{61578},
+ //{61579},
+ {61600, srs::dpar::parameters<>(proj_longlat)(a,74000)(b,34000)(no_defs)},
+ {61601, srs::dpar::parameters<>(proj_longlat)(a,74000)(b,34000)(no_defs)},
+ //{61610},
+ //{61611},
+ //{61612},
+ //{61613},
+ {61614, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61615, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61616, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61617, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61618, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61619, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61620, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61621, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61660, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61661, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61662, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61663, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61666, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61667, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ //{61668},
+ //{61669},
+ //{61670},
+ //{61671},
+ {61672, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ {61673, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,74000)(b,34000)(units_m)(no_defs)},
+ //{61674},
+ //{61675},
+ //{61676},
+ //{61677},
+ //{61678},
+ //{61679},
+ {61700, srs::dpar::parameters<>(proj_longlat)(a,55000)(b,31000)(no_defs)},
+ {61701, srs::dpar::parameters<>(proj_longlat)(a,55000)(b,31000)(no_defs)},
+ //{61710},
+ //{61711},
+ //{61712},
+ //{61713},
+ {61714, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61715, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61716, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61717, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61718, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61719, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61720, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61721, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61760, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61761, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61762, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61763, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61764, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61765, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61766, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61767, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ //{61768},
+ //{61769},
+ //{61770},
+ //{61771},
+ {61772, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ {61773, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,55000)(b,31000)(units_m)(no_defs)},
+ //{61774},
+ //{61775},
+ //{61776},
+ //{61777},
+ //{61778},
+ //{61779},
+ {61800, srs::dpar::parameters<>(proj_longlat)(r,10000)(no_defs)},
+ {61801, srs::dpar::parameters<>(proj_longlat)(r,10000)(no_defs)},
+ //{61810},
+ //{61811},
+ //{61812},
+ //{61813},
+ {61814, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61815, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61816, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61817, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61818, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61819, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61820, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61821, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61860, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61861, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61862, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61863, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61864, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61865, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61866, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61867, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ //{61868},
+ //{61869},
+ //{61870},
+ //{61871},
+ {61872, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ {61873, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,10000)(units_m)(no_defs)},
+ //{61874},
+ //{61875},
+ //{61876},
+ //{61877},
+ //{61878},
+ //{61879},
+ {69900, srs::dpar::parameters<>(proj_longlat)(a,60268000)(b,54364000)(no_defs)},
+ {69901, srs::dpar::parameters<>(proj_longlat)(a,60268000)(b,54364000)(no_defs)},
+ //{69910},
+ //{69911},
+ //{69912},
+ //{69913},
+ {69914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ //{69968},
+ //{69969},
+ //{69970},
+ //{69971},
+ {69972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ {69973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,60268000)(b,54364000)(units_m)(no_defs)},
+ //{69974},
+ //{69975},
+ //{69976},
+ //{69977},
+ //{69978},
+ //{69979},
+ {70100, srs::dpar::parameters<>(proj_longlat)(a,581100)(b,577700)(no_defs)},
+ {70101, srs::dpar::parameters<>(proj_longlat)(a,581100)(b,577700)(no_defs)},
+ //{70110},
+ //{70111},
+ //{70112},
+ //{70113},
+ {70114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ //{70168},
+ //{70169},
+ //{70170},
+ //{70171},
+ {70172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ {70173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,581100)(b,577700)(units_m)(no_defs)},
+ //{70174},
+ //{70175},
+ //{70176},
+ //{70177},
+ //{70178},
+ //{70179},
+ {70200, srs::dpar::parameters<>(proj_longlat)(r,584700)(no_defs)},
+ {70201, srs::dpar::parameters<>(proj_longlat)(r,584700)(no_defs)},
+ //{70210},
+ //{70211},
+ //{70212},
+ //{70213},
+ {70214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ //{70268},
+ //{70269},
+ //{70270},
+ //{70271},
+ {70272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ {70273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,584700)(units_m)(no_defs)},
+ //{70274},
+ //{70275},
+ //{70276},
+ //{70277},
+ //{70278},
+ //{70279},
+ {70300, srs::dpar::parameters<>(proj_longlat)(r,788900)(no_defs)},
+ {70301, srs::dpar::parameters<>(proj_longlat)(r,788900)(no_defs)},
+ //{70310},
+ //{70311},
+ //{70312},
+ //{70313},
+ {70314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ //{70368},
+ //{70369},
+ //{70370},
+ //{70371},
+ {70372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ {70373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,788900)(units_m)(no_defs)},
+ //{70374},
+ //{70375},
+ //{70376},
+ //{70377},
+ //{70378},
+ //{70379},
+ {70400, srs::dpar::parameters<>(proj_longlat)(r,761400)(no_defs)},
+ {70401, srs::dpar::parameters<>(proj_longlat)(r,761400)(no_defs)},
+ //{70410},
+ //{70411},
+ //{70412},
+ //{70413},
+ {70414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ //{70468},
+ //{70469},
+ //{70470},
+ //{70471},
+ {70472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ {70473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,761400)(units_m)(no_defs)},
+ //{70474},
+ //{70475},
+ //{70476},
+ //{70477},
+ //{70478},
+ //{70479},
+ {70500, srs::dpar::parameters<>(proj_longlat)(a,240400)(b,232900)(no_defs)},
+ {70501, srs::dpar::parameters<>(proj_longlat)(a,240400)(b,232900)(no_defs)},
+ //{70510},
+ //{70511},
+ //{70512},
+ //{70513},
+ {70514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ //{70568},
+ //{70569},
+ //{70570},
+ //{70571},
+ {70572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ {70573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,240400)(b,232900)(units_m)(no_defs)},
+ //{70574},
+ //{70575},
+ //{70576},
+ //{70577},
+ //{70578},
+ //{70579},
+ {70600, srs::dpar::parameters<>(proj_longlat)(r,13000)(no_defs)},
+ {70601, srs::dpar::parameters<>(proj_longlat)(r,13000)(no_defs)},
+ //{70610},
+ //{70611},
+ //{70612},
+ //{70613},
+ {70614, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70615, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70616, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70617, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70618, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70619, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70620, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70621, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70660, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70661, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70662, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70663, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70666, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70667, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ //{70668},
+ //{70669},
+ //{70670},
+ //{70671},
+ {70672, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ {70673, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,13000)(units_m)(no_defs)},
+ //{70674},
+ //{70675},
+ //{70676},
+ //{70677},
+ //{70678},
+ //{70679},
+ {70700, srs::dpar::parameters<>(proj_longlat)(r,15000)(no_defs)},
+ {70701, srs::dpar::parameters<>(proj_longlat)(r,15000)(no_defs)},
+ //{70710},
+ //{70711},
+ //{70712},
+ //{70713},
+ {70714, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70715, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70716, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70717, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70718, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70719, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70720, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70721, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70760, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70761, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70762, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70763, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70764, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70765, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70766, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70767, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ //{70768},
+ //{70769},
+ //{70770},
+ //{70771},
+ {70772, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ {70773, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,15000)(units_m)(no_defs)},
+ //{70774},
+ //{70775},
+ //{70776},
+ //{70777},
+ //{70778},
+ //{70779},
+ {70800, srs::dpar::parameters<>(proj_longlat)(r,21000)(no_defs)},
+ {70801, srs::dpar::parameters<>(proj_longlat)(r,21000)(no_defs)},
+ //{70810},
+ //{70811},
+ //{70812},
+ //{70813},
+ {70814, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70815, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70816, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70817, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70818, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70819, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70820, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70821, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70860, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70861, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70862, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70863, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70864, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70865, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70866, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70867, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ //{70868},
+ //{70869},
+ //{70870},
+ //{70871},
+ {70872, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ {70873, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,21000)(units_m)(no_defs)},
+ //{70874},
+ //{70875},
+ //{70876},
+ //{70877},
+ //{70878},
+ //{70879},
+ {70900, srs::dpar::parameters<>(proj_longlat)(r,31000)(no_defs)},
+ {70901, srs::dpar::parameters<>(proj_longlat)(r,31000)(no_defs)},
+ //{70910},
+ //{70911},
+ //{70912},
+ //{70913},
+ {70914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ //{70968},
+ //{70969},
+ //{70970},
+ //{70971},
+ {70972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ {70973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,31000)(units_m)(no_defs)},
+ //{70974},
+ //{70975},
+ //{70976},
+ //{70977},
+ //{70978},
+ //{70979},
+ {71000, srs::dpar::parameters<>(proj_longlat)(r,27000)(no_defs)},
+ {71001, srs::dpar::parameters<>(proj_longlat)(r,27000)(no_defs)},
+ //{71010},
+ //{71011},
+ //{71012},
+ //{71013},
+ {71014, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71015, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71016, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71017, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71018, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71019, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71020, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71021, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71060, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71061, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71062, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71063, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71064, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71065, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71066, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71067, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ //{71068},
+ //{71069},
+ //{71070},
+ //{71071},
+ {71072, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71073, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ //{71074},
+ //{71075},
+ //{71076},
+ //{71077},
+ //{71078},
+ //{71079},
+ {71100, srs::dpar::parameters<>(proj_longlat)(r,42000)(no_defs)},
+ {71101, srs::dpar::parameters<>(proj_longlat)(r,42000)(no_defs)},
+ //{71110},
+ //{71111},
+ //{71112},
+ //{71113},
+ {71114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ //{71168},
+ //{71169},
+ //{71170},
+ //{71171},
+ {71172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ {71173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,42000)(units_m)(no_defs)},
+ //{71174},
+ //{71175},
+ //{71176},
+ //{71177},
+ //{71178},
+ //{71179},
+ {71200, srs::dpar::parameters<>(proj_longlat)(r,54000)(no_defs)},
+ {71201, srs::dpar::parameters<>(proj_longlat)(r,54000)(no_defs)},
+ //{71210},
+ //{71211},
+ //{71212},
+ //{71213},
+ {71214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ //{71268},
+ //{71269},
+ //{71270},
+ //{71271},
+ {71272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ {71273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,54000)(units_m)(no_defs)},
+ //{71274},
+ //{71275},
+ //{71276},
+ //{71277},
+ //{71278},
+ //{71279},
+ {71300, srs::dpar::parameters<>(proj_longlat)(r,27000)(no_defs)},
+ {71301, srs::dpar::parameters<>(proj_longlat)(r,27000)(no_defs)},
+ //{71310},
+ //{71311},
+ //{71312},
+ //{71313},
+ {71314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ //{71368},
+ //{71369},
+ //{71370},
+ //{71371},
+ {71372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ {71373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,27000)(units_m)(no_defs)},
+ //{71374},
+ //{71375},
+ //{71376},
+ //{71377},
+ //{71378},
+ //{71379},
+ {71400, srs::dpar::parameters<>(proj_longlat)(r,33000)(no_defs)},
+ {71401, srs::dpar::parameters<>(proj_longlat)(r,33000)(no_defs)},
+ //{71410},
+ //{71411},
+ //{71412},
+ //{71413},
+ {71414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ //{71468},
+ //{71469},
+ //{71470},
+ //{71471},
+ {71472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ {71473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,33000)(units_m)(no_defs)},
+ //{71474},
+ //{71475},
+ //{71476},
+ //{71477},
+ //{71478},
+ //{71479},
+ {71500, srs::dpar::parameters<>(proj_longlat)(r,77000)(no_defs)},
+ {71501, srs::dpar::parameters<>(proj_longlat)(r,77000)(no_defs)},
+ //{71510},
+ //{71511},
+ //{71512},
+ //{71513},
+ {71514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ //{71568},
+ //{71569},
+ //{71570},
+ //{71571},
+ {71572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ {71573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,77000)(units_m)(no_defs)},
+ //{71574},
+ //{71575},
+ //{71576},
+ //{71577},
+ //{71578},
+ //{71579},
+ {79900, srs::dpar::parameters<>(proj_longlat)(a,25559000)(b,24973000)(no_defs)},
+ {79901, srs::dpar::parameters<>(proj_longlat)(a,25559000)(b,24973000)(no_defs)},
+ //{79910},
+ //{79911},
+ //{79912},
+ //{79913},
+ {79914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ //{79968},
+ //{79969},
+ //{79970},
+ //{79971},
+ {79972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ {79973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,25559000)(b,24973000)(units_m)(no_defs)},
+ //{79974},
+ //{79975},
+ //{79976},
+ //{79977},
+ //{79978},
+ //{79979},
+ {80100, srs::dpar::parameters<>(proj_longlat)(r,1352600)(no_defs)},
+ {80101, srs::dpar::parameters<>(proj_longlat)(r,1352600)(no_defs)},
+ //{80110},
+ //{80111},
+ //{80112},
+ //{80113},
+ {80114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ //{80168},
+ //{80169},
+ //{80170},
+ //{80171},
+ {80172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ {80173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1352600)(units_m)(no_defs)},
+ //{80174},
+ //{80175},
+ //{80176},
+ //{80177},
+ //{80178},
+ //{80179},
+ {80200, srs::dpar::parameters<>(proj_longlat)(r,170000)(no_defs)},
+ {80201, srs::dpar::parameters<>(proj_longlat)(r,170000)(no_defs)},
+ //{80210},
+ //{80211},
+ //{80212},
+ //{80213},
+ {80214, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80215, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80216, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80217, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80218, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80219, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80220, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80221, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80260, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80261, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80262, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80263, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80264, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80265, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80266, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80267, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ //{80268},
+ //{80269},
+ //{80270},
+ //{80271},
+ {80272, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ {80273, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,170000)(units_m)(no_defs)},
+ //{80274},
+ //{80275},
+ //{80276},
+ //{80277},
+ //{80278},
+ //{80279},
+ {80300, srs::dpar::parameters<>(proj_longlat)(r,29000)(no_defs)},
+ {80301, srs::dpar::parameters<>(proj_longlat)(r,29000)(no_defs)},
+ //{80310},
+ //{80311},
+ //{80312},
+ //{80313},
+ {80314, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80315, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80316, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80317, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80318, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80319, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80320, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80321, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80360, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80361, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80362, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80363, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80364, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80365, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80366, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80367, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ //{80368},
+ //{80369},
+ //{80370},
+ //{80371},
+ {80372, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ {80373, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,29000)(units_m)(no_defs)},
+ //{80374},
+ //{80375},
+ //{80376},
+ //{80377},
+ //{80378},
+ //{80379},
+ {80400, srs::dpar::parameters<>(proj_longlat)(r,40000)(no_defs)},
+ {80401, srs::dpar::parameters<>(proj_longlat)(r,40000)(no_defs)},
+ //{80410},
+ //{80411},
+ //{80412},
+ //{80413},
+ {80414, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80415, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80416, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80417, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80418, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80419, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80420, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80421, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80460, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80461, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80462, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80463, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80464, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80465, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80466, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80467, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ //{80468},
+ //{80469},
+ //{80470},
+ //{80471},
+ {80472, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ {80473, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,40000)(units_m)(no_defs)},
+ //{80474},
+ //{80475},
+ //{80476},
+ //{80477},
+ //{80478},
+ //{80479},
+ {80500, srs::dpar::parameters<>(proj_longlat)(r,74000)(no_defs)},
+ {80501, srs::dpar::parameters<>(proj_longlat)(r,74000)(no_defs)},
+ //{80510},
+ //{80511},
+ //{80512},
+ //{80513},
+ {80514, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80515, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80516, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80517, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80518, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80519, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80520, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80521, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80560, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80561, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80562, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80563, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80564, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80565, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80566, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80567, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ //{80568},
+ //{80569},
+ //{80570},
+ //{80571},
+ {80572, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ {80573, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,74000)(units_m)(no_defs)},
+ //{80574},
+ //{80575},
+ //{80576},
+ //{80577},
+ //{80578},
+ //{80579},
+ {80600, srs::dpar::parameters<>(proj_longlat)(r,79000)(no_defs)},
+ {80601, srs::dpar::parameters<>(proj_longlat)(r,79000)(no_defs)},
+ //{80610},
+ //{80611},
+ //{80612},
+ //{80613},
+ {80614, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80615, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80616, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80617, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80618, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80619, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80620, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80621, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80660, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80661, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80662, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80663, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80664, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80665, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80666, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80667, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ //{80668},
+ //{80669},
+ //{80670},
+ //{80671},
+ {80672, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ {80673, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,79000)(units_m)(no_defs)},
+ //{80674},
+ //{80675},
+ //{80676},
+ //{80677},
+ //{80678},
+ //{80679},
+ {80700, srs::dpar::parameters<>(proj_longlat)(r,96000)(no_defs)},
+ {80701, srs::dpar::parameters<>(proj_longlat)(r,96000)(no_defs)},
+ //{80710},
+ //{80711},
+ //{80712},
+ //{80713},
+ {80714, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80715, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80716, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80717, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80718, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80719, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80720, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80721, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80760, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80761, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80762, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80763, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80764, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80765, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80766, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80767, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ //{80768},
+ //{80769},
+ //{80770},
+ //{80771},
+ {80772, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ {80773, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,96000)(units_m)(no_defs)},
+ //{80774},
+ //{80775},
+ //{80776},
+ //{80777},
+ //{80778},
+ //{80779},
+ {80800, srs::dpar::parameters<>(proj_longlat)(a,218000)(b,201000)(no_defs)},
+ {80801, srs::dpar::parameters<>(proj_longlat)(a,218000)(b,201000)(no_defs)},
+ //{80810},
+ //{80811},
+ //{80812},
+ //{80813},
+ {80814, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80815, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80816, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80817, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80818, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80819, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80820, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80821, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80860, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80861, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80862, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80863, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80864, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80865, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80866, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80867, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ //{80868},
+ //{80869},
+ //{80870},
+ //{80871},
+ {80872, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ {80873, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,218000)(b,201000)(units_m)(no_defs)},
+ //{80874},
+ //{80875},
+ //{80876},
+ //{80877},
+ //{80878},
+ //{80879},
+ {89900, srs::dpar::parameters<>(proj_longlat)(a,24764000)(b,24341000)(no_defs)},
+ {89901, srs::dpar::parameters<>(proj_longlat)(a,24764000)(b,24341000)(no_defs)},
+ //{89910},
+ //{89911},
+ //{89912},
+ //{89913},
+ {89914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ //{89968},
+ //{89969},
+ //{89970},
+ //{89971},
+ {89972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ {89973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(a,24764000)(b,24341000)(units_m)(no_defs)},
+ //{89974},
+ //{89975},
+ //{89976},
+ //{89977},
+ //{89978},
+ //{89979},
+ {90100, srs::dpar::parameters<>(proj_longlat)(r,593000)(no_defs)},
+ {90101, srs::dpar::parameters<>(proj_longlat)(r,593000)(no_defs)},
+ //{90110},
+ //{90111},
+ //{90112},
+ //{90113},
+ {90114, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90115, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90116, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90117, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90118, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90119, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90120, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90121, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90160, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90161, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90162, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90163, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90164, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90165, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90166, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90167, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ //{90168},
+ //{90169},
+ //{90170},
+ //{90171},
+ {90172, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ {90173, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,593000)(units_m)(no_defs)},
+ //{90174},
+ //{90175},
+ //{90176},
+ //{90177},
+ //{90178},
+ //{90179},
+ {99900, srs::dpar::parameters<>(proj_longlat)(r,1195000)(no_defs)},
+ {99901, srs::dpar::parameters<>(proj_longlat)(r,1195000)(no_defs)},
+ //{99910},
+ //{99911},
+ //{99912},
+ //{99913},
+ {99914, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99915, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99916, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99917, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99918, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99919, srs::dpar::parameters<>(proj_stere)(lat_0,90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99920, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99921, srs::dpar::parameters<>(proj_stere)(lat_0,-90)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99960, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99961, srs::dpar::parameters<>(proj_sinu)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99962, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99963, srs::dpar::parameters<>(proj_stere)(lat_0,0)(lon_0,0)(k,1)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99964, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99965, srs::dpar::parameters<>(proj_tmerc)(lat_0,0)(lon_0,0)(k,0.9996)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99966, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99967, srs::dpar::parameters<>(proj_ortho)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ //{99968},
+ //{99969},
+ //{99970},
+ //{99971},
+ {99972, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ {99973, srs::dpar::parameters<>(proj_laea)(lat_0,90)(lon_0,0)(x_0,0)(y_0,0)(r,1195000)(units_m)(no_defs)},
+ //{99974},
+ //{99975},
+ //{99976},
+ //{99977},
+ //{99978},
+ //{99979}
};
const code_element * first = arr;
const code_element * last = arr + sizeof(arr) / sizeof(code_element);
const code_element * el = binary_find_code_element(first, last, code);
- return el != last ? el->proj4_str : "";
+ return el != last ? el->parameters : srs::dpar::parameters<>();
}
}
diff --git a/boost/geometry/srs/projections/iau2000_traits.hpp b/boost/geometry/srs/projections/iau2000_traits.hpp
index 2c329db631..55599c65db 100644
--- a/boost/geometry/srs/projections/iau2000_traits.hpp
+++ b/boost/geometry/srs/projections/iau2000_traits.hpp
@@ -15,6 +15,7 @@
#include <boost/geometry/srs/projections/factory.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
#include <boost/geometry/srs/projections/srid_traits.hpp>
@@ -33,7 +34,7 @@ namespace detail
\ingroup projection
\tparam IAU2000 iau2000 code
*/
-template <size_t IAU2000>
+template <int IAU2000>
struct iau2000_traits
{
// Specializations define:
@@ -41,2386 +42,2386 @@ struct iau2000_traits
// - function par to get parameters
};
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19900, longlat, 2439700, "+proj=longlat +a=2439700 +b=2439700 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19901, longlat, 2439700, "+proj=longlat +a=2439700 +b=2439700 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19914, sinu, 2439700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19915, sinu, 2439700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19916, sinu, 2439700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19917, sinu, 2439700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19918, stere, 2439700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19919, stere, 2439700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19920, stere, 2439700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19921, stere, 2439700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19960, sinu, 2439700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19961, sinu, 2439700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19962, stere, 2439700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19963, stere, 2439700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19964, tmerc, 2439700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19965, tmerc, 2439700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19966, ortho, 2439700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19967, ortho, 2439700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19972, laea, 2439700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 19973, laea, 2439700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 19979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29900, longlat, 6051800, "+proj=longlat +a=6051800 +b=6051800 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29901, longlat, 6051800, "+proj=longlat +a=6051800 +b=6051800 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29914, sinu, 6051800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29915, sinu, 6051800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29916, sinu, 6051800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29917, sinu, 6051800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29918, stere, 6051800, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29919, stere, 6051800, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29920, stere, 6051800, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29921, stere, 6051800, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29960, sinu, 6051800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29961, sinu, 6051800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29962, stere, 6051800, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29963, stere, 6051800, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29964, tmerc, 6051800, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29965, tmerc, 6051800, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29966, ortho, 6051800, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29967, ortho, 6051800, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29972, laea, 6051800, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 29973, laea, 6051800, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 29979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30100, longlat, 1737400, "+proj=longlat +a=1737400 +b=1737400 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30101, longlat, 1737400, "+proj=longlat +a=1737400 +b=1737400 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30114, sinu, 1737400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30115, sinu, 1737400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30116, sinu, 1737400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30117, sinu, 1737400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30118, stere, 1737400, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30119, stere, 1737400, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30120, stere, 1737400, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30121, stere, 1737400, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30160, sinu, 1737400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30161, sinu, 1737400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30162, stere, 1737400, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30163, stere, 1737400, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30164, tmerc, 1737400, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30165, tmerc, 1737400, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30166, ortho, 1737400, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30167, ortho, 1737400, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30172, laea, 1737400, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 30173, laea, 1737400, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 30179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39900, longlat, 6378140, 6356750, "+proj=longlat +a=6378140 +b=6356750 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39901, longlat, 6378140, 6356750, "+proj=longlat +a=6378140 +b=6356750 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39914, sinu, 6378140, 6356750, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39915, sinu, 6378140, 6356750, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39916, sinu, 6378140, 6356750, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39917, sinu, 6378140, 6356750, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39918, stere, 6378140, 6356750, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39919, stere, 6378140, 6356750, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39920, stere, 6378140, 6356750, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39921, stere, 6378140, 6356750, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39960, sinu, 6378140, 6356750, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39961, sinu, 6378140, 6356750, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39962, stere, 6378140, 6356750, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39963, stere, 6378140, 6356750, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39964, tmerc, 6378140, 6356750, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39965, tmerc, 6378140, 6356750, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39966, ortho, 6378140, 6356750, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39967, ortho, 6378140, 6356750, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39972, laea, 6378140, 6356750, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 39973, laea, 6378140, 6356750, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=6356750 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 39979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40100, longlat, 13400, 9200, "+proj=longlat +a=13400 +b=9200 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40101, longlat, 13400, 9200, "+proj=longlat +a=13400 +b=9200 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40114, sinu, 13400, 9200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40115, sinu, 13400, 9200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40116, sinu, 13400, 9200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40117, sinu, 13400, 9200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40118, stere, 13400, 9200, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40119, stere, 13400, 9200, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40120, stere, 13400, 9200, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40121, stere, 13400, 9200, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40160, sinu, 13400, 9200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40161, sinu, 13400, 9200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40162, stere, 13400, 9200, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40163, stere, 13400, 9200, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40164, tmerc, 13400, 9200, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40165, tmerc, 13400, 9200, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40166, ortho, 13400, 9200, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40167, ortho, 13400, 9200, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40172, laea, 13400, 9200, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40173, laea, 13400, 9200, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13400 +b=9200 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40200, longlat, 7500, 5200, "+proj=longlat +a=7500 +b=5200 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40201, longlat, 7500, 5200, "+proj=longlat +a=7500 +b=5200 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40214, sinu, 7500, 5200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40215, sinu, 7500, 5200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40216, sinu, 7500, 5200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40217, sinu, 7500, 5200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40218, stere, 7500, 5200, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40219, stere, 7500, 5200, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40220, stere, 7500, 5200, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40221, stere, 7500, 5200, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40260, sinu, 7500, 5200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40261, sinu, 7500, 5200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40262, stere, 7500, 5200, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40263, stere, 7500, 5200, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40264, tmerc, 7500, 5200, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40265, tmerc, 7500, 5200, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40266, ortho, 7500, 5200, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40267, ortho, 7500, 5200, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40272, laea, 7500, 5200, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 40273, laea, 7500, 5200, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7500 +b=5200 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 40279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49900, longlat, 3396190, 3376200, "+proj=longlat +a=3396190 +b=3376200 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49901, longlat, 3396190, 3376200, "+proj=longlat +a=3396190 +b=3376200 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49914, sinu, 3396190, 3376200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49915, sinu, 3396190, 3376200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49916, sinu, 3396190, 3376200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49917, sinu, 3396190, 3376200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49918, stere, 3396190, 3376200, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49919, stere, 3396190, 3376200, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49920, stere, 3396190, 3376200, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49921, stere, 3396190, 3376200, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49960, sinu, 3396190, 3376200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49961, sinu, 3396190, 3376200, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49962, stere, 3396190, 3376200, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49963, stere, 3396190, 3376200, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49964, tmerc, 3396190, 3376200, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49965, tmerc, 3396190, 3376200, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49966, ortho, 3396190, 3376200, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49967, ortho, 3396190, 3376200, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49972, laea, 3396190, 3376200, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 49973, laea, 3396190, 3376200, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=3376200 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 49979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50100, longlat, 1829400, 1815700, "+proj=longlat +a=1829400 +b=1815700 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50101, longlat, 1829400, 1815700, "+proj=longlat +a=1829400 +b=1815700 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50114, sinu, 1829400, 1815700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50115, sinu, 1829400, 1815700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50116, sinu, 1829400, 1815700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50117, sinu, 1829400, 1815700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50118, stere, 1829400, 1815700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50119, stere, 1829400, 1815700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50120, stere, 1829400, 1815700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50121, stere, 1829400, 1815700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50160, sinu, 1829400, 1815700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50161, sinu, 1829400, 1815700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50162, stere, 1829400, 1815700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50163, stere, 1829400, 1815700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50164, tmerc, 1829400, 1815700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50165, tmerc, 1829400, 1815700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50166, ortho, 1829400, 1815700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50167, ortho, 1829400, 1815700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50172, laea, 1829400, 1815700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50173, laea, 1829400, 1815700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1829400 +b=1815700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50200, longlat, 1564130, 1560930, "+proj=longlat +a=1564130 +b=1560930 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50201, longlat, 1564130, 1560930, "+proj=longlat +a=1564130 +b=1560930 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50214, sinu, 1564130, 1560930, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50215, sinu, 1564130, 1560930, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50216, sinu, 1564130, 1560930, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50217, sinu, 1564130, 1560930, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50218, stere, 1564130, 1560930, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50219, stere, 1564130, 1560930, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50220, stere, 1564130, 1560930, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50221, stere, 1564130, 1560930, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50260, sinu, 1564130, 1560930, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50261, sinu, 1564130, 1560930, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50262, stere, 1564130, 1560930, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50263, stere, 1564130, 1560930, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50264, tmerc, 1564130, 1560930, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50265, tmerc, 1564130, 1560930, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50266, ortho, 1564130, 1560930, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50267, ortho, 1564130, 1560930, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50272, laea, 1564130, 1560930, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50273, laea, 1564130, 1560930, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1564130 +b=1560930 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50300, longlat, 2632400, 2632350, "+proj=longlat +a=2632400 +b=2632350 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50301, longlat, 2632400, 2632350, "+proj=longlat +a=2632400 +b=2632350 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50314, sinu, 2632400, 2632350, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50315, sinu, 2632400, 2632350, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50316, sinu, 2632400, 2632350, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50317, sinu, 2632400, 2632350, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50318, stere, 2632400, 2632350, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50319, stere, 2632400, 2632350, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50320, stere, 2632400, 2632350, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50321, stere, 2632400, 2632350, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50360, sinu, 2632400, 2632350, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50361, sinu, 2632400, 2632350, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50362, stere, 2632400, 2632350, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50363, stere, 2632400, 2632350, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50364, tmerc, 2632400, 2632350, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50365, tmerc, 2632400, 2632350, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50366, ortho, 2632400, 2632350, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50367, ortho, 2632400, 2632350, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50372, laea, 2632400, 2632350, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50373, laea, 2632400, 2632350, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632400 +b=2632350 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50400, longlat, 2409400, 2409300, "+proj=longlat +a=2409400 +b=2409300 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50401, longlat, 2409400, 2409300, "+proj=longlat +a=2409400 +b=2409300 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50414, sinu, 2409400, 2409300, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50415, sinu, 2409400, 2409300, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50416, sinu, 2409400, 2409300, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50417, sinu, 2409400, 2409300, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50418, stere, 2409400, 2409300, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50419, stere, 2409400, 2409300, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50420, stere, 2409400, 2409300, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50421, stere, 2409400, 2409300, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50460, sinu, 2409400, 2409300, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50461, sinu, 2409400, 2409300, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50462, stere, 2409400, 2409300, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50463, stere, 2409400, 2409300, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50464, tmerc, 2409400, 2409300, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50465, tmerc, 2409400, 2409300, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50466, ortho, 2409400, 2409300, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50467, ortho, 2409400, 2409300, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50472, laea, 2409400, 2409300, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50473, laea, 2409400, 2409300, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409400 +b=2409300 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50500, longlat, 125000, 64000, "+proj=longlat +a=125000 +b=64000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50501, longlat, 125000, 64000, "+proj=longlat +a=125000 +b=64000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50514, sinu, 125000, 64000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50515, sinu, 125000, 64000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50516, sinu, 125000, 64000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50517, sinu, 125000, 64000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50518, stere, 125000, 64000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50519, stere, 125000, 64000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50520, stere, 125000, 64000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50521, stere, 125000, 64000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50560, sinu, 125000, 64000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50561, sinu, 125000, 64000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50562, stere, 125000, 64000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50563, stere, 125000, 64000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50564, tmerc, 125000, 64000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50565, tmerc, 125000, 64000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50566, ortho, 125000, 64000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50567, ortho, 125000, 64000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50572, laea, 125000, 64000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 50573, laea, 125000, 64000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=125000 +b=64000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50600, longlat, 85000, "+proj=longlat +a=85000 +b=85000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50601, longlat, 85000, "+proj=longlat +a=85000 +b=85000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50613, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50614, sinu, 85000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50615, sinu, 85000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50616, sinu, 85000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50617, sinu, 85000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50618, stere, 85000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50619, stere, 85000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50620, stere, 85000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50621, stere, 85000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50660, sinu, 85000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50661, sinu, 85000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50662, stere, 85000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50663, stere, 85000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50664, tmerc, 85000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50665, tmerc, 85000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50666, ortho, 85000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50667, ortho, 85000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50668, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50669, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50670, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50671, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50672, laea, 85000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50673, laea, 85000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50674, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50675, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50676, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50677, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50678, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50679, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50700, longlat, 40000, "+proj=longlat +a=40000 +b=40000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50701, longlat, 40000, "+proj=longlat +a=40000 +b=40000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50710, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50711, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50712, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50713, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50714, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50715, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50716, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50717, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50718, stere, 40000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50719, stere, 40000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50720, stere, 40000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50721, stere, 40000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50760, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50761, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50762, stere, 40000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50763, stere, 40000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50764, tmerc, 40000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50765, tmerc, 40000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50766, ortho, 40000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50767, ortho, 40000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50768, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50769, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50770, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50771, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50772, laea, 40000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50773, laea, 40000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50774, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50775, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50776, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50777, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50778, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50779, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50800, longlat, 18000, "+proj=longlat +a=18000 +b=18000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50801, longlat, 18000, "+proj=longlat +a=18000 +b=18000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50810, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50811, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50813, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50814, sinu, 18000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50815, sinu, 18000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50816, sinu, 18000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50817, sinu, 18000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50818, stere, 18000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50819, stere, 18000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50820, stere, 18000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50821, stere, 18000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50860, sinu, 18000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50861, sinu, 18000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50862, stere, 18000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50863, stere, 18000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50864, tmerc, 18000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50865, tmerc, 18000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50866, ortho, 18000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50867, ortho, 18000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50868, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50869, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50870, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50871, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50872, laea, 18000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50873, laea, 18000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50874, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50875, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50876, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50877, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50878, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50879, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50900, longlat, 14000, "+proj=longlat +a=14000 +b=14000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50901, longlat, 14000, "+proj=longlat +a=14000 +b=14000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50914, sinu, 14000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50915, sinu, 14000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50916, sinu, 14000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50917, sinu, 14000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50918, stere, 14000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50919, stere, 14000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50920, stere, 14000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50921, stere, 14000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50960, sinu, 14000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50961, sinu, 14000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50962, stere, 14000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50963, stere, 14000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50964, tmerc, 14000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50965, tmerc, 14000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50966, ortho, 14000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50967, ortho, 14000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50972, laea, 14000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 50973, laea, 14000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 50979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51000, longlat, 12000, "+proj=longlat +a=12000 +b=12000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51001, longlat, 12000, "+proj=longlat +a=12000 +b=12000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51010, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51011, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51012, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51013, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51014, sinu, 12000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51015, sinu, 12000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51016, sinu, 12000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51017, sinu, 12000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51018, stere, 12000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51019, stere, 12000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51020, stere, 12000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51021, stere, 12000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51060, sinu, 12000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51061, sinu, 12000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51062, stere, 12000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51063, stere, 12000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51064, tmerc, 12000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51065, tmerc, 12000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51066, ortho, 12000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51067, ortho, 12000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51068, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51069, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51070, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51071, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51072, laea, 12000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51073, laea, 12000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51074, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51075, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51076, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51077, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51078, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51079, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51100, longlat, 15000, "+proj=longlat +a=15000 +b=15000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51101, longlat, 15000, "+proj=longlat +a=15000 +b=15000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51114, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51115, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51116, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51117, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51118, stere, 15000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51119, stere, 15000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51120, stere, 15000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51121, stere, 15000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51160, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51161, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51162, stere, 15000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51163, stere, 15000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51164, tmerc, 15000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51165, tmerc, 15000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51166, ortho, 15000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51167, ortho, 15000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51172, laea, 15000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51173, laea, 15000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51200, longlat, 10000, "+proj=longlat +a=10000 +b=10000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51201, longlat, 10000, "+proj=longlat +a=10000 +b=10000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51214, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51215, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51216, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51217, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51218, stere, 10000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51219, stere, 10000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51220, stere, 10000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51221, stere, 10000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51260, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51261, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51262, stere, 10000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51263, stere, 10000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51264, tmerc, 10000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51265, tmerc, 10000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51266, ortho, 10000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51267, ortho, 10000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51272, laea, 10000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51273, laea, 10000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51300, longlat, 5000, "+proj=longlat +a=5000 +b=5000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51301, longlat, 5000, "+proj=longlat +a=5000 +b=5000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51314, sinu, 5000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51315, sinu, 5000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51316, sinu, 5000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51317, sinu, 5000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51318, stere, 5000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51319, stere, 5000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51320, stere, 5000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51321, stere, 5000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51360, sinu, 5000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51361, sinu, 5000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51362, stere, 5000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51363, stere, 5000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51364, tmerc, 5000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51365, tmerc, 5000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51366, ortho, 5000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51367, ortho, 5000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51372, laea, 5000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51373, laea, 5000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51400, longlat, 58000, 42000, "+proj=longlat +a=58000 +b=42000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51401, longlat, 58000, 42000, "+proj=longlat +a=58000 +b=42000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51414, sinu, 58000, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51415, sinu, 58000, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51416, sinu, 58000, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51417, sinu, 58000, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51418, stere, 58000, 42000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51419, stere, 58000, 42000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51420, stere, 58000, 42000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51421, stere, 58000, 42000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51460, sinu, 58000, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51461, sinu, 58000, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51462, stere, 58000, 42000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51463, stere, 58000, 42000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51464, tmerc, 58000, 42000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51465, tmerc, 58000, 42000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51466, ortho, 58000, 42000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51467, ortho, 58000, 42000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51472, laea, 58000, 42000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51473, laea, 58000, 42000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58000 +b=42000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51500, longlat, 10000, 7000, "+proj=longlat +a=10000 +b=7000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51501, longlat, 10000, 7000, "+proj=longlat +a=10000 +b=7000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51514, sinu, 10000, 7000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51515, sinu, 10000, 7000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51516, sinu, 10000, 7000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51517, sinu, 10000, 7000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51518, stere, 10000, 7000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51519, stere, 10000, 7000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51520, stere, 10000, 7000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51521, stere, 10000, 7000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51560, sinu, 10000, 7000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51561, sinu, 10000, 7000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51562, stere, 10000, 7000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51563, stere, 10000, 7000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51564, tmerc, 10000, 7000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51565, tmerc, 10000, 7000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51566, ortho, 10000, 7000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51567, ortho, 10000, 7000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51572, laea, 10000, 7000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 51573, laea, 10000, 7000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=7000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51600, longlat, 21500, "+proj=longlat +a=21500 +b=21500 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51601, longlat, 21500, "+proj=longlat +a=21500 +b=21500 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51613, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51614, sinu, 21500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51615, sinu, 21500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51616, sinu, 21500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51617, sinu, 21500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51618, stere, 21500, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51619, stere, 21500, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51620, stere, 21500, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51621, stere, 21500, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51660, sinu, 21500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51661, sinu, 21500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51662, stere, 21500, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51663, stere, 21500, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51664, tmerc, 21500, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51665, tmerc, 21500, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51666, ortho, 21500, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51667, ortho, 21500, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51668, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51669, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51670, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51671, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51672, laea, 21500, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 51673, laea, 21500, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51674, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51675, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51676, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51677, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51678, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 51679, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59900, longlat, 71492000, 66854000, "+proj=longlat +a=71492000 +b=66854000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59901, longlat, 71492000, 66854000, "+proj=longlat +a=71492000 +b=66854000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59914, sinu, 71492000, 66854000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59915, sinu, 71492000, 66854000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59916, sinu, 71492000, 66854000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59917, sinu, 71492000, 66854000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59918, stere, 71492000, 66854000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59919, stere, 71492000, 66854000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59920, stere, 71492000, 66854000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59921, stere, 71492000, 66854000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59960, sinu, 71492000, 66854000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59961, sinu, 71492000, 66854000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59962, stere, 71492000, 66854000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59963, stere, 71492000, 66854000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59964, tmerc, 71492000, 66854000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59965, tmerc, 71492000, 66854000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59966, ortho, 71492000, 66854000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59967, ortho, 71492000, 66854000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59972, laea, 71492000, 66854000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 59973, laea, 71492000, 66854000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=66854000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 59979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60100, longlat, 209100, 191400, "+proj=longlat +a=209100 +b=191400 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60101, longlat, 209100, 191400, "+proj=longlat +a=209100 +b=191400 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60114, sinu, 209100, 191400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60115, sinu, 209100, 191400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60116, sinu, 209100, 191400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60117, sinu, 209100, 191400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60118, stere, 209100, 191400, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60119, stere, 209100, 191400, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60120, stere, 209100, 191400, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60121, stere, 209100, 191400, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60160, sinu, 209100, 191400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60161, sinu, 209100, 191400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60162, stere, 209100, 191400, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60163, stere, 209100, 191400, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60164, tmerc, 209100, 191400, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60165, tmerc, 209100, 191400, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60166, ortho, 209100, 191400, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60167, ortho, 209100, 191400, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60172, laea, 209100, 191400, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60173, laea, 209100, 191400, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=209100 +b=191400 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60200, longlat, 256300, 244600, "+proj=longlat +a=256300 +b=244600 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60201, longlat, 256300, 244600, "+proj=longlat +a=256300 +b=244600 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60214, sinu, 256300, 244600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60215, sinu, 256300, 244600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60216, sinu, 256300, 244600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60217, sinu, 256300, 244600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60218, stere, 256300, 244600, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60219, stere, 256300, 244600, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60220, stere, 256300, 244600, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60221, stere, 256300, 244600, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60260, sinu, 256300, 244600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60261, sinu, 256300, 244600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60262, stere, 256300, 244600, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60263, stere, 256300, 244600, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60264, tmerc, 256300, 244600, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60265, tmerc, 256300, 244600, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60266, ortho, 256300, 244600, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60267, ortho, 256300, 244600, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60272, laea, 256300, 244600, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60273, laea, 256300, 244600, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=256300 +b=244600 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60300, longlat, 535600, 525800, "+proj=longlat +a=535600 +b=525800 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60301, longlat, 535600, 525800, "+proj=longlat +a=535600 +b=525800 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60314, sinu, 535600, 525800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60315, sinu, 535600, 525800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60316, sinu, 535600, 525800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60317, sinu, 535600, 525800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60318, stere, 535600, 525800, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60319, stere, 535600, 525800, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60320, stere, 535600, 525800, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60321, stere, 535600, 525800, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60360, sinu, 535600, 525800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60361, sinu, 535600, 525800, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60362, stere, 535600, 525800, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60363, stere, 535600, 525800, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60364, tmerc, 535600, 525800, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60365, tmerc, 535600, 525800, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60366, ortho, 535600, 525800, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60367, ortho, 535600, 525800, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60372, laea, 535600, 525800, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60373, laea, 535600, 525800, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=535600 +b=525800 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60400, longlat, 560000, "+proj=longlat +a=560000 +b=560000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60401, longlat, 560000, "+proj=longlat +a=560000 +b=560000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60414, sinu, 560000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60415, sinu, 560000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60416, sinu, 560000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60417, sinu, 560000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60418, stere, 560000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60419, stere, 560000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60420, stere, 560000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60421, stere, 560000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60460, sinu, 560000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60461, sinu, 560000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60462, stere, 560000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60463, stere, 560000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60464, tmerc, 560000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60465, tmerc, 560000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60466, ortho, 560000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60467, ortho, 560000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60472, laea, 560000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60473, laea, 560000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60500, longlat, 764000, "+proj=longlat +a=764000 +b=764000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60501, longlat, 764000, "+proj=longlat +a=764000 +b=764000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60514, sinu, 764000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60515, sinu, 764000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60516, sinu, 764000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60517, sinu, 764000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60518, stere, 764000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60519, stere, 764000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60520, stere, 764000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60521, stere, 764000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60560, sinu, 764000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60561, sinu, 764000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60562, stere, 764000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60563, stere, 764000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60564, tmerc, 764000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60565, tmerc, 764000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60566, ortho, 764000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60567, ortho, 764000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60572, laea, 764000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60573, laea, 764000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60600, longlat, 2575000, "+proj=longlat +a=2575000 +b=2575000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60601, longlat, 2575000, "+proj=longlat +a=2575000 +b=2575000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60613, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60614, sinu, 2575000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60615, sinu, 2575000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60616, sinu, 2575000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60617, sinu, 2575000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60618, stere, 2575000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60619, stere, 2575000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60620, stere, 2575000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60621, stere, 2575000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60660, sinu, 2575000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60661, sinu, 2575000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60662, stere, 2575000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60663, stere, 2575000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60664, tmerc, 2575000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60665, tmerc, 2575000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60666, ortho, 2575000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60667, ortho, 2575000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60668, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60669, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60670, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60671, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60672, laea, 2575000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60673, laea, 2575000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60674, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60675, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60676, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60677, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60678, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60679, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60700, longlat, 164000, 107000, "+proj=longlat +a=164000 +b=107000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60701, longlat, 164000, 107000, "+proj=longlat +a=164000 +b=107000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60710, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60711, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60712, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60713, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60714, sinu, 164000, 107000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60715, sinu, 164000, 107000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60716, sinu, 164000, 107000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60717, sinu, 164000, 107000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60718, stere, 164000, 107000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60719, stere, 164000, 107000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60720, stere, 164000, 107000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60721, stere, 164000, 107000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60760, sinu, 164000, 107000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60761, sinu, 164000, 107000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60762, stere, 164000, 107000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60763, stere, 164000, 107000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60764, tmerc, 164000, 107000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60765, tmerc, 164000, 107000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60766, ortho, 164000, 107000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60767, ortho, 164000, 107000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60768, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60769, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60770, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60771, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60772, laea, 164000, 107000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60773, laea, 164000, 107000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=164000 +b=107000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60774, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60775, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60776, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60777, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60778, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60779, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60800, longlat, 718000, "+proj=longlat +a=718000 +b=718000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60801, longlat, 718000, "+proj=longlat +a=718000 +b=718000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60810, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60811, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60813, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60814, sinu, 718000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60815, sinu, 718000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60816, sinu, 718000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60817, sinu, 718000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60818, stere, 718000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60819, stere, 718000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60820, stere, 718000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60821, stere, 718000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60860, sinu, 718000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60861, sinu, 718000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60862, stere, 718000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60863, stere, 718000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60864, tmerc, 718000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60865, tmerc, 718000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60866, ortho, 718000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60867, ortho, 718000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60868, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60869, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60870, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60871, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60872, laea, 718000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 60873, laea, 718000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60874, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60875, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60876, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60877, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60878, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60879, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60900, longlat, 115000, 105000, "+proj=longlat +a=115000 +b=105000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60901, longlat, 115000, 105000, "+proj=longlat +a=115000 +b=105000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60914, sinu, 115000, 105000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60915, sinu, 115000, 105000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60916, sinu, 115000, 105000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60917, sinu, 115000, 105000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60918, stere, 115000, 105000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60919, stere, 115000, 105000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60920, stere, 115000, 105000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60921, stere, 115000, 105000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60960, sinu, 115000, 105000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60961, sinu, 115000, 105000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60962, stere, 115000, 105000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60963, stere, 115000, 105000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60964, tmerc, 115000, 105000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60965, tmerc, 115000, 105000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60966, ortho, 115000, 105000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60967, ortho, 115000, 105000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60972, laea, 115000, 105000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 60973, laea, 115000, 105000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=115000 +b=105000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 60979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61000, longlat, 97000, 77000, "+proj=longlat +a=97000 +b=77000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61001, longlat, 97000, 77000, "+proj=longlat +a=97000 +b=77000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61010, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61011, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61012, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61013, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61014, sinu, 97000, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61015, sinu, 97000, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61016, sinu, 97000, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61017, sinu, 97000, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61018, stere, 97000, 77000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61019, stere, 97000, 77000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61020, stere, 97000, 77000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61021, stere, 97000, 77000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61060, sinu, 97000, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61061, sinu, 97000, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61062, stere, 97000, 77000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61063, stere, 97000, 77000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61064, tmerc, 97000, 77000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61065, tmerc, 97000, 77000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61066, ortho, 97000, 77000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61067, ortho, 97000, 77000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61068, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61069, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61070, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61071, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61072, laea, 97000, 77000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61073, laea, 97000, 77000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=97000 +b=77000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61074, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61075, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61076, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61077, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61078, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61079, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61100, longlat, 69000, 55000, "+proj=longlat +a=69000 +b=55000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61101, longlat, 69000, 55000, "+proj=longlat +a=69000 +b=55000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61114, sinu, 69000, 55000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61115, sinu, 69000, 55000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61116, sinu, 69000, 55000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61117, sinu, 69000, 55000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61118, stere, 69000, 55000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61119, stere, 69000, 55000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61120, stere, 69000, 55000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61121, stere, 69000, 55000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61160, sinu, 69000, 55000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61161, sinu, 69000, 55000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61162, stere, 69000, 55000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61163, stere, 69000, 55000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61164, tmerc, 69000, 55000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61165, tmerc, 69000, 55000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61166, ortho, 69000, 55000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61167, ortho, 69000, 55000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61172, laea, 69000, 55000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61173, laea, 69000, 55000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=69000 +b=55000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61200, longlat, 16000, "+proj=longlat +a=16000 +b=16000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61201, longlat, 16000, "+proj=longlat +a=16000 +b=16000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61214, sinu, 16000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61215, sinu, 16000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61216, sinu, 16000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61217, sinu, 16000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61218, stere, 16000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61219, stere, 16000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61220, stere, 16000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61221, stere, 16000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61260, sinu, 16000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61261, sinu, 16000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61262, stere, 16000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61263, stere, 16000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61264, tmerc, 16000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61265, tmerc, 16000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61266, ortho, 16000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61267, ortho, 16000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61272, laea, 16000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61273, laea, 16000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61300, longlat, 15000, 7500, "+proj=longlat +a=15000 +b=7500 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61301, longlat, 15000, 7500, "+proj=longlat +a=15000 +b=7500 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61314, sinu, 15000, 7500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61315, sinu, 15000, 7500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61316, sinu, 15000, 7500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61317, sinu, 15000, 7500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61318, stere, 15000, 7500, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61319, stere, 15000, 7500, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61320, stere, 15000, 7500, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61321, stere, 15000, 7500, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61360, sinu, 15000, 7500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61361, sinu, 15000, 7500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61362, stere, 15000, 7500, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61363, stere, 15000, 7500, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61364, tmerc, 15000, 7500, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61365, tmerc, 15000, 7500, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61366, ortho, 15000, 7500, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61367, ortho, 15000, 7500, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61372, laea, 15000, 7500, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61373, laea, 15000, 7500, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=7500 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61400, longlat, 15000, 8000, "+proj=longlat +a=15000 +b=8000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61401, longlat, 15000, 8000, "+proj=longlat +a=15000 +b=8000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61414, sinu, 15000, 8000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61415, sinu, 15000, 8000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61416, sinu, 15000, 8000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61417, sinu, 15000, 8000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61418, stere, 15000, 8000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61419, stere, 15000, 8000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61420, stere, 15000, 8000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61421, stere, 15000, 8000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61460, sinu, 15000, 8000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61461, sinu, 15000, 8000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61462, stere, 15000, 8000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61463, stere, 15000, 8000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61464, tmerc, 15000, 8000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61465, tmerc, 15000, 8000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61466, ortho, 15000, 8000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61467, ortho, 15000, 8000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61472, laea, 15000, 8000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61473, laea, 15000, 8000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=8000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61500, longlat, 18500, 13500, "+proj=longlat +a=18500 +b=13500 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61501, longlat, 18500, 13500, "+proj=longlat +a=18500 +b=13500 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61514, sinu, 18500, 13500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61515, sinu, 18500, 13500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61516, sinu, 18500, 13500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61517, sinu, 18500, 13500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61518, stere, 18500, 13500, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61519, stere, 18500, 13500, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61520, stere, 18500, 13500, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61521, stere, 18500, 13500, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61560, sinu, 18500, 13500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61561, sinu, 18500, 13500, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61562, stere, 18500, 13500, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61563, stere, 18500, 13500, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61564, tmerc, 18500, 13500, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61565, tmerc, 18500, 13500, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61566, ortho, 18500, 13500, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61567, ortho, 18500, 13500, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61572, laea, 18500, 13500, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61573, laea, 18500, 13500, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18500 +b=13500 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61600, longlat, 74000, 34000, "+proj=longlat +a=74000 +b=34000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61601, longlat, 74000, 34000, "+proj=longlat +a=74000 +b=34000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61613, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61614, sinu, 74000, 34000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61615, sinu, 74000, 34000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61616, sinu, 74000, 34000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61617, sinu, 74000, 34000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61618, stere, 74000, 34000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61619, stere, 74000, 34000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61620, stere, 74000, 34000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61621, stere, 74000, 34000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61660, sinu, 74000, 34000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61661, sinu, 74000, 34000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61662, stere, 74000, 34000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61663, stere, 74000, 34000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61664, tmerc, 74000, 34000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61665, tmerc, 74000, 34000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61666, ortho, 74000, 34000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61667, ortho, 74000, 34000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61668, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61669, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61670, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61671, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61672, laea, 74000, 34000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61673, laea, 74000, 34000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=34000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61674, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61675, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61676, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61677, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61678, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61679, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61700, longlat, 55000, 31000, "+proj=longlat +a=55000 +b=31000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61701, longlat, 55000, 31000, "+proj=longlat +a=55000 +b=31000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61710, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61711, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61712, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61713, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61714, sinu, 55000, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61715, sinu, 55000, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61716, sinu, 55000, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61717, sinu, 55000, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61718, stere, 55000, 31000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61719, stere, 55000, 31000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61720, stere, 55000, 31000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61721, stere, 55000, 31000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61760, sinu, 55000, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61761, sinu, 55000, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61762, stere, 55000, 31000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61763, stere, 55000, 31000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61764, tmerc, 55000, 31000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61765, tmerc, 55000, 31000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61766, ortho, 55000, 31000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61767, ortho, 55000, 31000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61768, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61769, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61770, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61771, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61772, laea, 55000, 31000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 61773, laea, 55000, 31000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=55000 +b=31000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61774, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61775, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61776, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61777, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61778, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61779, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61800, longlat, 10000, "+proj=longlat +a=10000 +b=10000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61801, longlat, 10000, "+proj=longlat +a=10000 +b=10000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61810, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61811, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61813, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61814, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61815, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61816, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61817, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61818, stere, 10000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61819, stere, 10000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61820, stere, 10000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61821, stere, 10000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61860, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61861, sinu, 10000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61862, stere, 10000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61863, stere, 10000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61864, tmerc, 10000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61865, tmerc, 10000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61866, ortho, 10000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61867, ortho, 10000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61868, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61869, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61870, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61871, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61872, laea, 10000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 61873, laea, 10000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61874, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61875, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61876, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61877, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61878, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 61879, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69900, longlat, 60268000, 54364000, "+proj=longlat +a=60268000 +b=54364000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69901, longlat, 60268000, 54364000, "+proj=longlat +a=60268000 +b=54364000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69914, sinu, 60268000, 54364000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69915, sinu, 60268000, 54364000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69916, sinu, 60268000, 54364000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69917, sinu, 60268000, 54364000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69918, stere, 60268000, 54364000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69919, stere, 60268000, 54364000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69920, stere, 60268000, 54364000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69921, stere, 60268000, 54364000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69960, sinu, 60268000, 54364000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69961, sinu, 60268000, 54364000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69962, stere, 60268000, 54364000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69963, stere, 60268000, 54364000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69964, tmerc, 60268000, 54364000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69965, tmerc, 60268000, 54364000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69966, ortho, 60268000, 54364000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69967, ortho, 60268000, 54364000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69972, laea, 60268000, 54364000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 69973, laea, 60268000, 54364000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=54364000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 69979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70100, longlat, 581100, 577700, "+proj=longlat +a=581100 +b=577700 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70101, longlat, 581100, 577700, "+proj=longlat +a=581100 +b=577700 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70114, sinu, 581100, 577700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70115, sinu, 581100, 577700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70116, sinu, 581100, 577700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70117, sinu, 581100, 577700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70118, stere, 581100, 577700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70119, stere, 581100, 577700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70120, stere, 581100, 577700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70121, stere, 581100, 577700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70160, sinu, 581100, 577700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70161, sinu, 581100, 577700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70162, stere, 581100, 577700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70163, stere, 581100, 577700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70164, tmerc, 581100, 577700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70165, tmerc, 581100, 577700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70166, ortho, 581100, 577700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70167, ortho, 581100, 577700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70172, laea, 581100, 577700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70173, laea, 581100, 577700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=581100 +b=577700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70200, longlat, 584700, "+proj=longlat +a=584700 +b=584700 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70201, longlat, 584700, "+proj=longlat +a=584700 +b=584700 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70214, sinu, 584700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70215, sinu, 584700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70216, sinu, 584700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70217, sinu, 584700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70218, stere, 584700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70219, stere, 584700, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70220, stere, 584700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70221, stere, 584700, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70260, sinu, 584700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70261, sinu, 584700, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70262, stere, 584700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70263, stere, 584700, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70264, tmerc, 584700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70265, tmerc, 584700, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70266, ortho, 584700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70267, ortho, 584700, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70272, laea, 584700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70273, laea, 584700, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70300, longlat, 788900, "+proj=longlat +a=788900 +b=788900 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70301, longlat, 788900, "+proj=longlat +a=788900 +b=788900 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70314, sinu, 788900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70315, sinu, 788900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70316, sinu, 788900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70317, sinu, 788900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70318, stere, 788900, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70319, stere, 788900, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70320, stere, 788900, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70321, stere, 788900, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70360, sinu, 788900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70361, sinu, 788900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70362, stere, 788900, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70363, stere, 788900, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70364, tmerc, 788900, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70365, tmerc, 788900, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70366, ortho, 788900, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70367, ortho, 788900, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70372, laea, 788900, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70373, laea, 788900, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70400, longlat, 761400, "+proj=longlat +a=761400 +b=761400 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70401, longlat, 761400, "+proj=longlat +a=761400 +b=761400 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70414, sinu, 761400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70415, sinu, 761400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70416, sinu, 761400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70417, sinu, 761400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70418, stere, 761400, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70419, stere, 761400, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70420, stere, 761400, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70421, stere, 761400, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70460, sinu, 761400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70461, sinu, 761400, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70462, stere, 761400, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70463, stere, 761400, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70464, tmerc, 761400, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70465, tmerc, 761400, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70466, ortho, 761400, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70467, ortho, 761400, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70472, laea, 761400, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70473, laea, 761400, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70500, longlat, 240400, 232900, "+proj=longlat +a=240400 +b=232900 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70501, longlat, 240400, 232900, "+proj=longlat +a=240400 +b=232900 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70514, sinu, 240400, 232900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70515, sinu, 240400, 232900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70516, sinu, 240400, 232900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70517, sinu, 240400, 232900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70518, stere, 240400, 232900, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70519, stere, 240400, 232900, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70520, stere, 240400, 232900, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70521, stere, 240400, 232900, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70560, sinu, 240400, 232900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70561, sinu, 240400, 232900, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70562, stere, 240400, 232900, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70563, stere, 240400, 232900, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70564, tmerc, 240400, 232900, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70565, tmerc, 240400, 232900, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70566, ortho, 240400, 232900, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70567, ortho, 240400, 232900, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70572, laea, 240400, 232900, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 70573, laea, 240400, 232900, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=240400 +b=232900 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70600, longlat, 13000, "+proj=longlat +a=13000 +b=13000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70601, longlat, 13000, "+proj=longlat +a=13000 +b=13000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70613, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70614, sinu, 13000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70615, sinu, 13000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70616, sinu, 13000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70617, sinu, 13000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70618, stere, 13000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70619, stere, 13000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70620, stere, 13000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70621, stere, 13000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70660, sinu, 13000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70661, sinu, 13000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70662, stere, 13000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70663, stere, 13000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70664, tmerc, 13000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70665, tmerc, 13000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70666, ortho, 13000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70667, ortho, 13000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70668, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70669, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70670, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70671, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70672, laea, 13000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70673, laea, 13000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70674, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70675, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70676, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70677, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70678, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70679, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70700, longlat, 15000, "+proj=longlat +a=15000 +b=15000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70701, longlat, 15000, "+proj=longlat +a=15000 +b=15000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70710, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70711, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70712, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70713, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70714, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70715, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70716, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70717, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70718, stere, 15000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70719, stere, 15000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70720, stere, 15000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70721, stere, 15000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70760, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70761, sinu, 15000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70762, stere, 15000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70763, stere, 15000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70764, tmerc, 15000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70765, tmerc, 15000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70766, ortho, 15000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70767, ortho, 15000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70768, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70769, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70770, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70771, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70772, laea, 15000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70773, laea, 15000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70774, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70775, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70776, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70777, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70778, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70779, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70800, longlat, 21000, "+proj=longlat +a=21000 +b=21000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70801, longlat, 21000, "+proj=longlat +a=21000 +b=21000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70810, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70811, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70813, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70814, sinu, 21000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70815, sinu, 21000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70816, sinu, 21000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70817, sinu, 21000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70818, stere, 21000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70819, stere, 21000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70820, stere, 21000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70821, stere, 21000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70860, sinu, 21000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70861, sinu, 21000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70862, stere, 21000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70863, stere, 21000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70864, tmerc, 21000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70865, tmerc, 21000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70866, ortho, 21000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70867, ortho, 21000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70868, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70869, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70870, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70871, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70872, laea, 21000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70873, laea, 21000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70874, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70875, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70876, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70877, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70878, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70879, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70900, longlat, 31000, "+proj=longlat +a=31000 +b=31000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70901, longlat, 31000, "+proj=longlat +a=31000 +b=31000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70914, sinu, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70915, sinu, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70916, sinu, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70917, sinu, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70918, stere, 31000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70919, stere, 31000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70920, stere, 31000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70921, stere, 31000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70960, sinu, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70961, sinu, 31000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70962, stere, 31000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70963, stere, 31000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70964, tmerc, 31000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70965, tmerc, 31000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70966, ortho, 31000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70967, ortho, 31000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70972, laea, 31000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 70973, laea, 31000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 70979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71000, longlat, 27000, "+proj=longlat +a=27000 +b=27000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71001, longlat, 27000, "+proj=longlat +a=27000 +b=27000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71010, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71011, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71012, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71013, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71014, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71015, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71016, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71017, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71018, stere, 27000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71019, stere, 27000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71020, stere, 27000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71021, stere, 27000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71060, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71061, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71062, stere, 27000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71063, stere, 27000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71064, tmerc, 27000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71065, tmerc, 27000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71066, ortho, 27000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71067, ortho, 27000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71068, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71069, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71070, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71071, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71072, laea, 27000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71073, laea, 27000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71074, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71075, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71076, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71077, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71078, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71079, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71100, longlat, 42000, "+proj=longlat +a=42000 +b=42000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71101, longlat, 42000, "+proj=longlat +a=42000 +b=42000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71114, sinu, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71115, sinu, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71116, sinu, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71117, sinu, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71118, stere, 42000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71119, stere, 42000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71120, stere, 42000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71121, stere, 42000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71160, sinu, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71161, sinu, 42000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71162, stere, 42000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71163, stere, 42000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71164, tmerc, 42000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71165, tmerc, 42000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71166, ortho, 42000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71167, ortho, 42000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71172, laea, 42000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71173, laea, 42000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71200, longlat, 54000, "+proj=longlat +a=54000 +b=54000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71201, longlat, 54000, "+proj=longlat +a=54000 +b=54000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71214, sinu, 54000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71215, sinu, 54000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71216, sinu, 54000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71217, sinu, 54000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71218, stere, 54000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71219, stere, 54000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71220, stere, 54000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71221, stere, 54000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71260, sinu, 54000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71261, sinu, 54000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71262, stere, 54000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71263, stere, 54000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71264, tmerc, 54000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71265, tmerc, 54000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71266, ortho, 54000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71267, ortho, 54000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71272, laea, 54000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71273, laea, 54000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71300, longlat, 27000, "+proj=longlat +a=27000 +b=27000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71301, longlat, 27000, "+proj=longlat +a=27000 +b=27000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71314, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71315, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71316, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71317, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71318, stere, 27000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71319, stere, 27000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71320, stere, 27000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71321, stere, 27000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71360, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71361, sinu, 27000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71362, stere, 27000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71363, stere, 27000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71364, tmerc, 27000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71365, tmerc, 27000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71366, ortho, 27000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71367, ortho, 27000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71372, laea, 27000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71373, laea, 27000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71400, longlat, 33000, "+proj=longlat +a=33000 +b=33000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71401, longlat, 33000, "+proj=longlat +a=33000 +b=33000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71414, sinu, 33000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71415, sinu, 33000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71416, sinu, 33000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71417, sinu, 33000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71418, stere, 33000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71419, stere, 33000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71420, stere, 33000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71421, stere, 33000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71460, sinu, 33000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71461, sinu, 33000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71462, stere, 33000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71463, stere, 33000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71464, tmerc, 33000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71465, tmerc, 33000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71466, ortho, 33000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71467, ortho, 33000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71472, laea, 33000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71473, laea, 33000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71500, longlat, 77000, "+proj=longlat +a=77000 +b=77000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71501, longlat, 77000, "+proj=longlat +a=77000 +b=77000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71514, sinu, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71515, sinu, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71516, sinu, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71517, sinu, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71518, stere, 77000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71519, stere, 77000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71520, stere, 77000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71521, stere, 77000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71560, sinu, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71561, sinu, 77000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71562, stere, 77000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71563, stere, 77000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71564, tmerc, 77000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71565, tmerc, 77000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71566, ortho, 77000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71567, ortho, 77000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71572, laea, 77000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 71573, laea, 77000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 71579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79900, longlat, 25559000, 24973000, "+proj=longlat +a=25559000 +b=24973000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79901, longlat, 25559000, 24973000, "+proj=longlat +a=25559000 +b=24973000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79914, sinu, 25559000, 24973000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79915, sinu, 25559000, 24973000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79916, sinu, 25559000, 24973000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79917, sinu, 25559000, 24973000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79918, stere, 25559000, 24973000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79919, stere, 25559000, 24973000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79920, stere, 25559000, 24973000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79921, stere, 25559000, 24973000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79960, sinu, 25559000, 24973000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79961, sinu, 25559000, 24973000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79962, stere, 25559000, 24973000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79963, stere, 25559000, 24973000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79964, tmerc, 25559000, 24973000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79965, tmerc, 25559000, 24973000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79966, ortho, 25559000, 24973000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79967, ortho, 25559000, 24973000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79972, laea, 25559000, 24973000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 79973, laea, 25559000, 24973000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=24973000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 79979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80100, longlat, 1352600, "+proj=longlat +a=1352600 +b=1352600 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80101, longlat, 1352600, "+proj=longlat +a=1352600 +b=1352600 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80114, sinu, 1352600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80115, sinu, 1352600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80116, sinu, 1352600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80117, sinu, 1352600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80118, stere, 1352600, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80119, stere, 1352600, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80120, stere, 1352600, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80121, stere, 1352600, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80160, sinu, 1352600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80161, sinu, 1352600, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80162, stere, 1352600, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80163, stere, 1352600, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80164, tmerc, 1352600, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80165, tmerc, 1352600, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80166, ortho, 1352600, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80167, ortho, 1352600, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80172, laea, 1352600, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80173, laea, 1352600, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80200, longlat, 170000, "+proj=longlat +a=170000 +b=170000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80201, longlat, 170000, "+proj=longlat +a=170000 +b=170000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80210, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80211, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80212, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80213, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80214, sinu, 170000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80215, sinu, 170000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80216, sinu, 170000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80217, sinu, 170000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80218, stere, 170000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80219, stere, 170000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80220, stere, 170000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80221, stere, 170000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80260, sinu, 170000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80261, sinu, 170000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80262, stere, 170000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80263, stere, 170000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80264, tmerc, 170000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80265, tmerc, 170000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80266, ortho, 170000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80267, ortho, 170000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80268, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80269, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80270, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80271, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80272, laea, 170000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80273, laea, 170000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80274, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80275, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80276, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80277, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80278, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80279, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80300, longlat, 29000, "+proj=longlat +a=29000 +b=29000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80301, longlat, 29000, "+proj=longlat +a=29000 +b=29000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80310, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80311, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80312, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80313, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80314, sinu, 29000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80315, sinu, 29000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80316, sinu, 29000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80317, sinu, 29000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80318, stere, 29000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80319, stere, 29000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80320, stere, 29000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80321, stere, 29000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80360, sinu, 29000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80361, sinu, 29000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80362, stere, 29000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80363, stere, 29000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80364, tmerc, 29000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80365, tmerc, 29000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80366, ortho, 29000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80367, ortho, 29000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80368, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80369, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80370, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80371, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80372, laea, 29000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80373, laea, 29000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80374, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80375, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80376, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80377, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80378, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80379, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80400, longlat, 40000, "+proj=longlat +a=40000 +b=40000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80401, longlat, 40000, "+proj=longlat +a=40000 +b=40000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80410, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80411, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80412, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80413, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80414, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80415, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80416, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80417, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80418, stere, 40000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80419, stere, 40000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80420, stere, 40000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80421, stere, 40000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80460, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80461, sinu, 40000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80462, stere, 40000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80463, stere, 40000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80464, tmerc, 40000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80465, tmerc, 40000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80466, ortho, 40000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80467, ortho, 40000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80468, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80469, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80470, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80471, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80472, laea, 40000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80473, laea, 40000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80474, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80475, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80476, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80477, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80478, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80479, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80500, longlat, 74000, "+proj=longlat +a=74000 +b=74000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80501, longlat, 74000, "+proj=longlat +a=74000 +b=74000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80510, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80511, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80512, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80513, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80514, sinu, 74000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80515, sinu, 74000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80516, sinu, 74000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80517, sinu, 74000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80518, stere, 74000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80519, stere, 74000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80520, stere, 74000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80521, stere, 74000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80560, sinu, 74000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80561, sinu, 74000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80562, stere, 74000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80563, stere, 74000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80564, tmerc, 74000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80565, tmerc, 74000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80566, ortho, 74000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80567, ortho, 74000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80568, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80569, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80570, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80571, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80572, laea, 74000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80573, laea, 74000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80574, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80575, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80576, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80577, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80578, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80579, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80600, longlat, 79000, "+proj=longlat +a=79000 +b=79000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80601, longlat, 79000, "+proj=longlat +a=79000 +b=79000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80610, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80611, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80612, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80613, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80614, sinu, 79000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80615, sinu, 79000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80616, sinu, 79000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80617, sinu, 79000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80618, stere, 79000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80619, stere, 79000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80620, stere, 79000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80621, stere, 79000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80660, sinu, 79000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80661, sinu, 79000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80662, stere, 79000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80663, stere, 79000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80664, tmerc, 79000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80665, tmerc, 79000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80666, ortho, 79000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80667, ortho, 79000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80668, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80669, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80670, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80671, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80672, laea, 79000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80673, laea, 79000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80674, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80675, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80676, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80677, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80678, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80679, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80700, longlat, 96000, "+proj=longlat +a=96000 +b=96000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80701, longlat, 96000, "+proj=longlat +a=96000 +b=96000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80710, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80711, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80712, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80713, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80714, sinu, 96000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80715, sinu, 96000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80716, sinu, 96000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80717, sinu, 96000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80718, stere, 96000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80719, stere, 96000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80720, stere, 96000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80721, stere, 96000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80760, sinu, 96000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80761, sinu, 96000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80762, stere, 96000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80763, stere, 96000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80764, tmerc, 96000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80765, tmerc, 96000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80766, ortho, 96000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80767, ortho, 96000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80768, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80769, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80770, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80771, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80772, laea, 96000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 80773, laea, 96000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=96000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80774, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80775, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80776, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80777, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80778, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80779, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80800, longlat, 218000, 201000, "+proj=longlat +a=218000 +b=201000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80801, longlat, 218000, 201000, "+proj=longlat +a=218000 +b=201000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80810, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80811, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80812, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80813, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80814, sinu, 218000, 201000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80815, sinu, 218000, 201000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80816, sinu, 218000, 201000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80817, sinu, 218000, 201000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80818, stere, 218000, 201000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80819, stere, 218000, 201000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80820, stere, 218000, 201000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80821, stere, 218000, 201000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80860, sinu, 218000, 201000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80861, sinu, 218000, 201000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80862, stere, 218000, 201000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80863, stere, 218000, 201000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80864, tmerc, 218000, 201000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80865, tmerc, 218000, 201000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80866, ortho, 218000, 201000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80867, ortho, 218000, 201000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80868, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80869, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80870, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80871, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80872, laea, 218000, 201000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 80873, laea, 218000, 201000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=218000 +b=201000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80874, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80875, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80876, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80877, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80878, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 80879, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89900, longlat, 24764000, 24341000, "+proj=longlat +a=24764000 +b=24341000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89901, longlat, 24764000, 24341000, "+proj=longlat +a=24764000 +b=24341000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89914, sinu, 24764000, 24341000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89915, sinu, 24764000, 24341000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89916, sinu, 24764000, 24341000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89917, sinu, 24764000, 24341000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89918, stere, 24764000, 24341000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89919, stere, 24764000, 24341000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89920, stere, 24764000, 24341000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89921, stere, 24764000, 24341000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89960, sinu, 24764000, 24341000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89961, sinu, 24764000, 24341000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89962, stere, 24764000, 24341000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89963, stere, 24764000, 24341000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89964, tmerc, 24764000, 24341000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89965, tmerc, 24764000, 24341000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89966, ortho, 24764000, 24341000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89967, ortho, 24764000, 24341000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89972, laea, 24764000, 24341000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(iau2000, 89973, laea, 24764000, 24341000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=24341000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 89979, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90100, longlat, 593000, "+proj=longlat +a=593000 +b=593000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90101, longlat, 593000, "+proj=longlat +a=593000 +b=593000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90110, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90111, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90112, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90113, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90114, sinu, 593000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90115, sinu, 593000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90116, sinu, 593000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90117, sinu, 593000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90118, stere, 593000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90119, stere, 593000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90120, stere, 593000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90121, stere, 593000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90160, sinu, 593000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90161, sinu, 593000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90162, stere, 593000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90163, stere, 593000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90164, tmerc, 593000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90165, tmerc, 593000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90166, ortho, 593000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90167, ortho, 593000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90168, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90169, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90170, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90171, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90172, laea, 593000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 90173, laea, 593000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90174, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90175, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90176, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90177, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90178, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 90179, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99900, longlat, 1195000, "+proj=longlat +a=1195000 +b=1195000 +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99901, longlat, 1195000, "+proj=longlat +a=1195000 +b=1195000 +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99910, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99911, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99912, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99913, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99914, sinu, 1195000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99915, sinu, 1195000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99916, sinu, 1195000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99917, sinu, 1195000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99918, stere, 1195000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99919, stere, 1195000, "+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99920, stere, 1195000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99921, stere, 1195000, "+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99960, sinu, 1195000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99961, sinu, 1195000, "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99962, stere, 1195000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99963, stere, 1195000, "+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99964, tmerc, 1195000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99965, tmerc, 1195000, "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99966, ortho, 1195000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99967, ortho, 1195000, "+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99968, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99969, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99970, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99971, "")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99972, laea, 1195000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S (iau2000, 99973, laea, 1195000, "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99974, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99975, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99976, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99977, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99978, "")
-//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS (iau2000, 99979, "")
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2439700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 19979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(6051800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 29979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1737400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 30179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(6378140),srs::spar::b<>(6356750)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 39979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(13400),srs::spar::b<>(9200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(7500),srs::spar::b<>(5200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 40279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(3396190),srs::spar::b<>(3376200)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 49979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1829400),srs::spar::b<>(1815700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(1564130),srs::spar::b<>(1560930)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2632400),srs::spar::b<>(2632350)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(2409400),srs::spar::b<>(2409300)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(125000),srs::spar::b<>(64000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50613)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50614) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50615) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50616) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50617) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50618) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50619) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50620) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50621) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50660) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50661) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50662) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50663) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50666) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50667) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50668)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50669)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50670)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50671)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50672) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50673) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(85000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50674)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50675)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50676)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50677)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50678)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50679)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50700) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50701) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50710)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50711)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50712)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50713)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50714) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50715) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50716) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50717) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50718) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50719) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50720) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50721) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50760) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50761) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50762) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50763) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50764) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50765) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50766) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50767) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50768)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50769)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50770)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50771)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50772) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50773) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50774)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50775)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50776)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50777)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50778)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50779)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50800) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50801) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50810)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50811)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50813)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50814) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50815) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50816) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50817) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50818) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50819) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50820) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50821) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50860) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50861) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50862) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50863) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50865) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50866) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50867) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50868)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50869)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50870)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50871)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50872) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50873) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(18000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50874)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50875)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50876)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50877)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50878)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50879)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(14000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 50979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51000) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51001) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51010)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51011)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51012)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51013)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51014) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51015) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51016) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51017) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51018) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51019) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51020) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51021) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51060) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51061) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51062) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51063) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51064) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51065) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51066) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51067) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51068)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51069)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51070)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51071)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51072) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51073) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(12000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51074)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51075)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51076)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51077)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51078)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51079)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(5000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(58000),srs::spar::b<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(10000),srs::spar::b<>(7000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51613)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51614) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51615) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51616) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51617) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51618) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51619) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51620) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51621) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51660) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51661) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51662) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51663) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51666) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51667) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51668)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51669)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51670)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51671)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51672) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51673) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51674)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51675)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51676)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51677)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51678)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 51679)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(71492000),srs::spar::b<>(66854000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 59979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(209100),srs::spar::b<>(191400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(256300),srs::spar::b<>(244600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(535600),srs::spar::b<>(525800)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(560000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(764000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60613)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60614) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60615) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60616) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60617) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60618) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60619) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60620) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60621) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60660) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60661) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60662) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60663) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60666) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60667) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60668)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60669)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60670)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60671)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60672) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60673) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(2575000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60674)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60675)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60676)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60677)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60678)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60679)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60700) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60701) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60710)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60711)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60712)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60713)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60714) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60715) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60716) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60717) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60718) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60719) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60720) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60721) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60760) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60761) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60762) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60763) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60764) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60765) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60766) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60767) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60768)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60769)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60770)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60771)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60772) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60773) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(164000),srs::spar::b<>(107000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60774)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60775)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60776)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60777)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60778)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60779)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60800) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60801) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60810)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60811)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60813)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60814) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60815) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60816) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60817) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60818) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60819) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60820) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60821) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60860) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60861) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60862) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60863) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60865) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60866) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60867) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60868)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60869)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60870)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60871)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60872) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60873) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(718000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60874)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60875)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60876)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60877)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60878)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60879)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(115000),srs::spar::b<>(105000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 60979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61000) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61001) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61010)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61011)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61012)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61013)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61014) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61015) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61016) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61017) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61018) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61019) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61020) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61021) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61060) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61061) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61062) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61063) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61064) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61065) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61066) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61067) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61068)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61069)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61070)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61071)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61072) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61073) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(97000),srs::spar::b<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61074)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61075)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61076)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61077)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61078)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61079)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(69000),srs::spar::b<>(55000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(16000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(7500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(15000),srs::spar::b<>(8000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(18500),srs::spar::b<>(13500)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61613)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61614) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61615) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61616) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61617) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61618) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61619) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61620) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61621) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61660) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61661) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61662) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61663) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61666) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61667) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61668)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61669)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61670)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61671)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61672) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61673) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(74000),srs::spar::b<>(34000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61674)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61675)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61676)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61677)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61678)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61679)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61700) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61701) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61710)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61711)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61712)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61713)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61714) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61715) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61716) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61717) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61718) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61719) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61720) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61721) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61760) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61761) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61762) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61763) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61764) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61765) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61766) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61767) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61768)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61769)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61770)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61771)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61772) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61773) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(55000),srs::spar::b<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61774)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61775)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61776)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61777)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61778)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61779)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61800) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61801) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61810)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61811)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61813)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61814) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61815) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61816) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61817) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61818) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61819) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61820) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61821) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61860) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61861) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61862) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61863) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61865) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61866) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61867) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61868)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61869)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61870)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61871)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61872) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61873) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(10000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61874)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61875)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61876)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61877)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61878)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 61879)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(60268000),srs::spar::b<>(54364000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 69979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(581100),srs::spar::b<>(577700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(584700)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(788900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(761400)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(240400),srs::spar::b<>(232900)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70613)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70614) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70615) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70616) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70617) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70618) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70619) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70620) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70621) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70660) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70661) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70662) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70663) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70666) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70667) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70668)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70669)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70670)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70671)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70672) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70673) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(13000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70674)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70675)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70676)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70677)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70678)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70679)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70700) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70701) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70710)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70711)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70712)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70713)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70714) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70715) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70716) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70717) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70718) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70719) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70720) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70721) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70760) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70761) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70762) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70763) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70764) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70765) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70766) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70767) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70768)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70769)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70770)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70771)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70772) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70773) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(15000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70774)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70775)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70776)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70777)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70778)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70779)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70800) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70801) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70810)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70811)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70813)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70814) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70815) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70816) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70817) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70818) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70819) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70820) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70821) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70860) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70861) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70862) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70863) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70865) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70866) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70867) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70868)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70869)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70870)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70871)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70872) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70873) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(21000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70874)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70875)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70876)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70877)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70878)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70879)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(31000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 70979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71000) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71001) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71010)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71011)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71012)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71013)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71014) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71015) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71016) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71017) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71018) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71019) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71020) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71021) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71060) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71061) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71062) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71063) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71064) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71065) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71066) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71067) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71068)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71069)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71070)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71071)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71072) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71073) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71074)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71075)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71076)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71077)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71078)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71079)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(42000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(54000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(27000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(33000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(77000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 71579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(25559000),srs::spar::b<>(24973000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 79979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1352600)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80200) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80201) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80210)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80211)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80212)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80213)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80214) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80215) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80216) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80217) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80218) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80219) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80220) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80221) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80260) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80261) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80262) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80263) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80264) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80265) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80266) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80267) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80268)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80269)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80270)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80271)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80272) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80273) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(170000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80274)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80275)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80276)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80277)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80278)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80279)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80300) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80301) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80310)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80311)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80312)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80313)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80314) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80315) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80316) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80317) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80318) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80319) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80320) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80321) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80360) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80361) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80362) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80363) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80364) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80365) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80366) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80367) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80368)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80369)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80370)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80371)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80372) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80373) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(29000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80374)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80375)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80376)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80377)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80378)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80379)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80400) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80401) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80410)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80411)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80412)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80413)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80414) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80415) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80416) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80417) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80418) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80419) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80420) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80421) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80460) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80461) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80462) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80463) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80464) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80465) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80466) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80467) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80468)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80469)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80470)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80471)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80472) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80473) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(40000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80474)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80475)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80476)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80477)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80478)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80479)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80500) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80501) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80510)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80511)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80512)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80513)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80514) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80515) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80516) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80517) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80518) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80519) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80520) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80521) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80560) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80561) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80562) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80563) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80564) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80565) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80566) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80567) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80568)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80569)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80570)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80571)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80572) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80573) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(74000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80574)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80575)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80576)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80577)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80578)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80579)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80600) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80601) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80610)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80611)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80612)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80613)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80614) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80615) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80616) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80617) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80618) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80619) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80620) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80621) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80660) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80661) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80662) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80663) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80664) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80665) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80666) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80667) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80668)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80669)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80670)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80671)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80672) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80673) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(79000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80674)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80675)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80676)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80677)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80678)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80679)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80700) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80701) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80710)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80711)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80712)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80713)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80714) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80715) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80716) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80717) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80718) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80719) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80720) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80721) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80760) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80761) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80762) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80763) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80764) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80765) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80766) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80767) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80768)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80769)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80770)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80771)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80772) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80773) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(96000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80774)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80775)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80776)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80777)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80778)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80779)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80800) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80801) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80810)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80811)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80812)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80813)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80814) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80815) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80816) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80817) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80818) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80819) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80820) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80821) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80860) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80861) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80862) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80863) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80864) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80865) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80866) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80867) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80868)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80869)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80870)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80871)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80872) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80873) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(218000),srs::spar::b<>(201000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80874)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80875)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80876)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80877)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80878)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 80879)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::a<>,srs::spar::b<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::a<>,srs::spar::b<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::a<>(24764000),srs::spar::b<>(24341000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 89979)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90100) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90101) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90110)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90111)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90112)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90113)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90114) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90115) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90116) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90117) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90118) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90119) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90120) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90121) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90160) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90161) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90162) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90163) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90164) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90165) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90166) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90167) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90168)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90169)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90170)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90171)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90172) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90173) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(593000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90174)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90175)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90176)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90177)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90178)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 90179)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99900) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99901) srs::spar::parameters<srs::spar::proj_longlat,srs::spar::r<>,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_longlat(),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99910)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99911)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99912)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99913)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99914) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99915) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99916) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99917) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99918) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99919) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99920) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99921) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(-90),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99960) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99961) srs::spar::parameters<srs::spar::proj_sinu,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_sinu(),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99962) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99963) srs::spar::parameters<srs::spar::proj_stere,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_stere(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(1),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99964) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99965) srs::spar::parameters<srs::spar::proj_tmerc,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::k<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_tmerc(),srs::spar::lat_0<>(0),srs::spar::lon_0<>(0),srs::spar::k<>(0.9996),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99966) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99967) srs::spar::parameters<srs::spar::proj_ortho,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_ortho(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99968)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99969)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99970)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99971)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99972) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99973) srs::spar::parameters<srs::spar::proj_laea,srs::spar::lat_0<>,srs::spar::lon_0<>,srs::spar::x_0<>,srs::spar::y_0<>,srs::spar::r<>,srs::spar::units_m,srs::spar::no_defs> BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() (srs::spar::proj_laea(),srs::spar::lat_0<>(90),srs::spar::lon_0<>(0),srs::spar::x_0<>(0),srs::spar::y_0<>(0),srs::spar::r<>(1195000)) BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END()
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99974)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99975)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99976)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99977)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99978)
+//BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(iau2000, 99979)
} // namespace detail
#endif // DOXYGEN_NO_DETAIL
diff --git a/boost/geometry/srs/projections/impl/base_dynamic.hpp b/boost/geometry/srs/projections/impl/base_dynamic.hpp
index 5eafbe5bea..5eeba47ba1 100644
--- a/boost/geometry/srs/projections/impl/base_dynamic.hpp
+++ b/boost/geometry/srs/projections/impl/base_dynamic.hpp
@@ -71,10 +71,10 @@ public :
}
/// Forward projection using lon / lat and x / y separately
- virtual void fwd(CT& lp_lon, CT& lp_lat, CT& xy_x, CT& xy_y) const = 0;
+ virtual void fwd(CT const& lp_lon, CT const& lp_lat, CT& xy_x, CT& xy_y) const = 0;
/// Inverse projection using x / y and lon / lat
- virtual void inv(CT& xy_x, CT& xy_y, CT& lp_lon, CT& lp_lat) const = 0;
+ virtual void inv(CT const& xy_x, CT const& xy_y, CT& lp_lon, CT& lp_lat) const = 0;
/// Returns name of projection
virtual std::string name() const = 0;
@@ -93,23 +93,28 @@ template <typename Prj, typename CT, typename P>
class base_v_f : public base_v<CT, P>
{
public:
- base_v_f(P const& params)
- : m_proj(params)
+ explicit base_v_f(P const& p)
+ : m_proj(p)
{}
- template <typename ProjP>
- base_v_f(P const& params, ProjP const& proj_params)
- : m_proj(params, proj_params)
+ template <typename P1, typename P2>
+ base_v_f(P1 const& p1, P2 const& p2)
+ : m_proj(p1, p2)
{}
- virtual void fwd(CT& lp_lon, CT& lp_lat, CT& xy_x, CT& xy_y) const
+ template <typename P1, typename P2, typename P3>
+ base_v_f(P1 const& p1, P2 const& p2, P3 const& p3)
+ : m_proj(p1, p2, p3)
+ {}
+
+ virtual void fwd(CT const& lp_lon, CT const& lp_lat, CT& xy_x, CT& xy_y) const
{
m_proj.fwd(lp_lon, lp_lat, xy_x, xy_y);
}
- virtual void inv(CT& , CT& , CT& , CT& ) const
+ virtual void inv(CT const& , CT const& , CT& , CT& ) const
{
- BOOST_THROW_EXCEPTION(projection_not_invertible_exception(params().name));
+ BOOST_THROW_EXCEPTION(projection_not_invertible_exception(params().id.name));
}
virtual std::string name() const { return m_proj.name(); }
@@ -129,16 +134,21 @@ class base_v_fi : public base_v_f<Prj, CT, P>
typedef base_v_f<Prj, CT, P> base_t;
public:
- base_v_fi(P const& params)
- : base_t(params)
+ explicit base_v_fi(P const& p)
+ : base_t(p)
+ {}
+
+ template <typename P1, typename P2>
+ base_v_fi(P1 const& p1, P2 const& p2)
+ : base_t(p1, p2)
{}
- template <typename ProjP>
- base_v_fi(P const& params, ProjP const& proj_params)
- : base_t(params, proj_params)
+ template <typename P1, typename P2, typename P3>
+ base_v_fi(P1 const& p1, P2 const& p2, P3 const& p3)
+ : base_t(p1, p2, p3)
{}
- virtual void inv(CT& xy_x, CT& xy_y, CT& lp_lon, CT& lp_lat) const
+ virtual void inv(CT const& xy_x, CT const& xy_y, CT& lp_lon, CT& lp_lat) const
{
this->m_proj.inv(xy_x, xy_y, lp_lon, lp_lat);
}
diff --git a/boost/geometry/srs/projections/impl/base_static.hpp b/boost/geometry/srs/projections/impl/base_static.hpp
index aa205bcee5..9aba3dcb3f 100644
--- a/boost/geometry/srs/projections/impl/base_static.hpp
+++ b/boost/geometry/srs/projections/impl/base_static.hpp
@@ -2,8 +2,8 @@
// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
-// This file was modified by Oracle on 2017.
-// Modifications copyright (c) 2017, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2017, 2018.
+// Modifications copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -37,7 +37,7 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
-template <typename Prj, typename CSTag, typename BGP, typename CT, typename P>
+template <typename Prj, typename CSTag, typename SP, typename CT, typename P>
struct static_projection_type
{
BOOST_MPL_ASSERT_MSG((false),
@@ -46,13 +46,13 @@ struct static_projection_type
};
#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(PROJ, P_SPHERE, P_SPHEROID) \
-template <typename BGP, typename CT, typename P> \
-struct static_projection_type<PROJ, srs_sphere_tag, BGP, CT, P> \
+template <typename SP, typename CT, typename P> \
+struct static_projection_type<PROJ, srs_sphere_tag, SP, CT, P> \
{ \
typedef P_SPHERE<CT, P> type; \
}; \
-template <typename BGP, typename CT, typename P> \
-struct static_projection_type<PROJ, srs_spheroid_tag, BGP, CT, P> \
+template <typename SP, typename CT, typename P> \
+struct static_projection_type<PROJ, srs_spheroid_tag, SP, CT, P> \
{ \
typedef P_SPHEROID<CT, P> type; \
}; \
@@ -96,7 +96,7 @@ public:
inline std::string name() const
{
- return this->m_par.name;
+ return this->m_par.id.name;
}
protected:
diff --git a/boost/geometry/srs/projections/impl/dms_parser.hpp b/boost/geometry/srs/projections/impl/dms_parser.hpp
index 21e87d1f67..fabc558f61 100644
--- a/boost/geometry/srs/projections/impl/dms_parser.hpp
+++ b/boost/geometry/srs/projections/impl/dms_parser.hpp
@@ -156,12 +156,12 @@ struct dms_parser
}
}
- dms_result<T> apply(std::string const& is) const
+ static inline dms_result<T> apply(std::string const& is)
{
return apply(is.c_str());
}
- dms_result<T> apply(const char* is) const
+ static inline dms_result<T> apply(const char* is)
{
dms_value dms;
bool has_value = false;
diff --git a/boost/geometry/srs/projections/impl/factory_entry.hpp b/boost/geometry/srs/projections/impl/factory_entry.hpp
index 7c587af5b6..7a21bbbef3 100644
--- a/boost/geometry/srs/projections/impl/factory_entry.hpp
+++ b/boost/geometry/srs/projections/impl/factory_entry.hpp
@@ -2,8 +2,8 @@
// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
-// This file was modified by Oracle on 2017.
-// Modifications copyright (c) 2017, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2017, 2018.
+// Modifications copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -15,6 +15,7 @@
#include <string>
+#include <boost/geometry/srs/projections/factory_key.hpp>
#include <boost/geometry/srs/projections/impl/base_dynamic.hpp>
namespace boost { namespace geometry { namespace projections
@@ -24,26 +25,60 @@ namespace detail
{
// forward declaration needed by some projections
-template <typename CT, typename Parameters>
+template <typename Params, typename CT, typename Parameters>
class factory;
-template <typename CT, typename P>
-class factory_entry
+template <typename Params, typename CT, typename Parameters>
+struct factory_entry
{
-public:
-
virtual ~factory_entry() {}
- virtual base_v<CT, P>* create_new(P const& par) const = 0;
+ virtual base_v<CT, Parameters>* create_new(Params const& , Parameters const& ) const = 0;
};
-template <typename CT, typename P>
-class base_factory
-{
-public:
+// Macros for entries definition
- virtual ~base_factory() {}
- virtual void add_to_factory(std::string const& name, factory_entry<CT, P>* sub) = 0;
-};
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_BEGIN(ENTRY) \
+template <typename Params, typename T, typename Parameters> \
+struct ENTRY : projections::detail::factory_entry<Params, T, Parameters> \
+{ \
+ projections::detail::base_v<T, Parameters>* create_new(Params const& params, \
+ Parameters const& parameters) const
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_END };
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(ENTRY, PROJ) \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_BEGIN(ENTRY) \
+{ \
+ return new projections::detail::base_v_f<PROJ<T, Parameters>, T, Parameters>(params, parameters); \
+} \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_END
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(ENTRY, PROJ) \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_BEGIN(ENTRY) \
+{ \
+ return new projections::detail::base_v_fi<PROJ<T, Parameters>, T, Parameters>(params, parameters); \
+} \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_END
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(ENTRY, PROJ_S, PROJ_E) \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_BEGIN(ENTRY) \
+{ \
+ if (parameters.es != 0.0) \
+ return new projections::detail::base_v_fi<PROJ_E<T, Parameters>, T, Parameters>(params, parameters); \
+ else \
+ return new projections::detail::base_v_fi<PROJ_S<T, Parameters>, T, Parameters>(params, parameters); \
+} \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_END
+
+// Macros for factory initialization
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(FUN_NAME) \
+template <typename Params, typename T, typename Parameters> \
+inline void FUN_NAME(projections::detail::factory<Params, T, Parameters>& factory)
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(PROJ_NAME, ENTRY) \
+ factory.add_to_factory(projections::detail::factory_key(#PROJ_NAME, \
+ srs::dpar::proj_##PROJ_NAME), \
+ new ENTRY<Params, T, Parameters>);
} // namespace detail
}}} // namespace boost::geometry::projections
diff --git a/boost/geometry/srs/projections/impl/pj_datum_set.hpp b/boost/geometry/srs/projections/impl/pj_datum_set.hpp
index 622efe3403..fee5eca906 100644
--- a/boost/geometry/srs/projections/impl/pj_datum_set.hpp
+++ b/boost/geometry/srs/projections/impl/pj_datum_set.hpp
@@ -45,12 +45,13 @@
#include <boost/algorithm/string.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
#include <boost/geometry/srs/projections/exception.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
#include <boost/geometry/srs/projections/impl/pj_datums.hpp>
#include <boost/geometry/srs/projections/impl/pj_param.hpp>
-#include <boost/geometry/srs/projections/par4.hpp>
#include <boost/geometry/srs/projections/proj4.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
namespace boost { namespace geometry { namespace projections {
@@ -60,26 +61,21 @@ namespace detail {
/* SEC_TO_RAD = Pi/180/3600 */
template <typename T>
-inline T SEC_TO_RAD() { return 4.84813681109535993589914102357e-6; }
-
-template <typename BGParams, typename T>
-inline void pj_datum_add_defn(BGParams const& , std::vector<pvalue<T> >& pvalues)
-{
- /* -------------------------------------------------------------------- */
- /* Is there a datum definition in the parameter list? If so, */
- /* add the defining values to the parameter list. Note that */
- /* this will append the ellipse definition as well as the */
- /* towgs84= and related parameters. It should also be pointed */
- /* out that the addition is permanent rather than temporary */
- /* like most other keyword expansion so that the ellipse */
- /* definition will last into the pj_ell_set() function called */
- /* after this one. */
- /* -------------------------------------------------------------------- */
- std::string name = pj_get_param_s(pvalues, "datum");
+inline T sec_to_rad() { return 4.84813681109535993589914102357e-6; }
+
+/************************************************************************/
+/* pj_datum_find_datum() */
+/************************************************************************/
+
+template <typename T>
+inline const pj_datums_type<T>* pj_datum_find_datum(srs::detail::proj4_parameters const& params)
+{
+ std::string name = pj_get_param_s(params, "datum");
if(! name.empty())
{
/* find the datum definition */
- const int n = sizeof(pj_datums) / sizeof(pj_datums[0]);
+ const pj_datums_type<T>* pj_datums = pj_get_datums<T>().first;
+ const int n = pj_get_datums<T>().second;
int index = -1;
for (int i = 0; i < n && index == -1; i++)
{
@@ -89,114 +85,334 @@ inline void pj_datum_add_defn(BGParams const& , std::vector<pvalue<T> >& pvalues
}
}
- if (index == -1)
+ if (index != -1)
+ {
+ return pj_datums + index;
+ }
+ else
{
BOOST_THROW_EXCEPTION( projection_exception(error_unknown_ellp_param) );
}
+ }
- pj_datums_type const& datum = pj_datums[index];
+ return NULL;
+}
- if(! datum.ellipse_id.empty())
+template <typename T>
+inline const pj_datums_type<T>* pj_datum_find_datum(srs::dpar::parameters<T> const& params)
+{
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::datum);
+
+ if (it != params.end())
+ {
+ const pj_datums_type<T>* pj_datums = pj_get_datums<T>().first;
+ const int n = pj_get_datums<T>().second;
+ int i = it->template get_value<int>();
+ if (i >= 0 && i < n)
{
- pvalues.push_back(pj_mkparam<T>("ellps", datum.ellipse_id));
+ return pj_datums + i;
}
-
- if(! datum.defn_n.empty() && ! datum.defn_v.empty())
+ else
{
- pvalues.push_back(pj_mkparam<T>(datum.defn_n, datum.defn_v));
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_ellp_param) );
}
}
+
+ return NULL;
}
-template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
-inline void pj_datum_add_defn(srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& /*bg_params*/,
- std::vector<pvalue<T> >& pvalues)
-{
- typedef srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> bg_parameters_type;
- typedef typename srs::par4::detail::tuples_find_if
+template
+<
+ typename Params,
+ typename Param = typename srs::spar::detail::tuples_find_if
<
- bg_parameters_type,
- //srs::par4::detail::is_datum
- srs::par4::detail::is_param_t<srs::par4::datum>::pred
- >::type datum_type;
- typedef typename srs::par4::detail::datum_traits
+ Params,
+ srs::spar::detail::is_param_tr<srs::spar::detail::datum_traits>::pred
+ >::type,
+ bool IsFound = srs::spar::detail::tuples_is_found<Param>::value
+>
+struct pj_datum_find_datum_static
+{
+ template <typename T>
+ static const pj_datums_type<T>* apply(Params const& params)
+ {
+ const pj_datums_type<T>* pj_datums = pj_get_datums<T>().first;
+ const int n = pj_get_datums<T>().second;
+ const int i = srs::spar::detail::datum_traits<Param>::id;
+ if (i >= 0 && i < n)
+ {
+ return pj_datums + i;
+ }
+ else
+ {
+ // TODO: Implemnt as MPL_ASSERT instead
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_ellp_param) );
+ }
+ }
+};
+template <typename Params, typename Param>
+struct pj_datum_find_datum_static<Params, Param, false>
+{
+ template <typename T>
+ static const pj_datums_type<T>* apply(Params const& )
+ {
+ return NULL;
+ }
+};
+
+template <typename T, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline const pj_datums_type<T>* pj_datum_find_datum(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params)
+{
+ return pj_datum_find_datum_static
<
- datum_type
- > datum_traits;
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
+ >::template apply<T>(params);
+}
+
+/************************************************************************/
+/* pj_datum_find_nadgrids() */
+/************************************************************************/
- // is unknown if datum parameter found but traits are not specialized
- static const bool not_set_or_known = boost::is_same<datum_type, void>::value
- || ! boost::is_same<typename datum_traits::ellps_type, void>::value;
- BOOST_MPL_ASSERT_MSG((not_set_or_known), UNKNOWN_DATUM, (bg_parameters_type));
+inline bool pj_datum_find_nadgrids(srs::detail::proj4_parameters const& params,
+ srs::detail::nadgrids & out)
+{
+ std::string snadgrids = pj_get_param_s(params, "nadgrids");
+ if (! snadgrids.empty())
+ {
+ for (std::string::size_type i = 0 ; i < snadgrids.size() ; )
+ {
+ std::string::size_type end = snadgrids.find(',', i);
+ std::string name = snadgrids.substr(i, end - i);
+
+ i = end;
+ if (end != std::string::npos)
+ ++i;
+
+ if (! name.empty())
+ out.push_back(name);
+ }
+ }
- std::string def_n = datum_traits::def_n();
- std::string def_v = datum_traits::def_v();
+ return ! out.empty();
+}
- if (! def_n.empty() && ! def_v.empty())
+template <typename T>
+inline bool pj_datum_find_nadgrids(srs::dpar::parameters<T> const& params,
+ srs::detail::nadgrids & out)
+{
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::nadgrids);
+ if (it != params.end())
{
- pvalues.push_back(pj_mkparam<T>(def_n, def_v));
+ out = it->template get_value<srs::detail::nadgrids>();
}
+
+ return ! out.empty();
+}
+
+template
+<
+ typename Params,
+ int I = srs::spar::detail::tuples_find_index_if
+ <
+ Params,
+ srs::spar::detail::is_param<srs::spar::nadgrids>::pred
+ >::value,
+ int N = boost::tuples::length<Params>::value
+>
+struct pj_datum_find_nadgrids_static
+{
+ static void apply(Params const& params, srs::detail::nadgrids & out)
+ {
+ out = boost::tuples::get<I>();
+ }
+};
+template <typename Params, int N>
+struct pj_datum_find_nadgrids_static<Params, N, N>
+{
+ static void apply(Params const& , srs::detail::nadgrids & )
+ {}
+};
+
+template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_datum_find_nadgrids(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params,
+ srs::detail::nadgrids & out)
+{
+ pj_datum_find_nadgrids_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
+ >::apply(params, out);
+
+ return ! out.empty();
}
/************************************************************************/
-/* pj_datum_set() */
+/* pj_datum_find_towgs84() */
/************************************************************************/
-template <typename BGParams, typename T>
-inline void pj_datum_set(BGParams const& bg_params, std::vector<pvalue<T> >& pvalues, parameters<T>& projdef)
+template <typename T>
+inline bool pj_datum_find_towgs84(srs::detail::proj4_parameters const& params,
+ srs::detail::towgs84<T> & out)
{
- static const T SEC_TO_RAD = detail::SEC_TO_RAD<T>();
+ std::string towgs84 = pj_get_param_s(params, "towgs84");
+ if(! towgs84.empty())
+ {
+ std::vector<std::string> parm;
+ boost::split(parm, towgs84, boost::is_any_of(" ,"));
- projdef.datum_type = datum_unknown;
+ std::size_t n = (std::min<std::size_t>)(parm.size(), 7);
+ std::size_t z = n <= 3 ? 3 : 7;
- pj_datum_add_defn(bg_params, pvalues);
+ /* parse out the pvalues */
+ for (std::size_t i = 0 ; i < n; ++i)
+ {
+ out.push_back(geometry::str_cast<T>(parm[i]));
+ }
+ for (std::size_t i = out.size() ; i < z; ++i)
+ {
+ out.push_back(T(0));
+ }
+ }
+
+ return ! out.empty();
+}
-/* -------------------------------------------------------------------- */
-/* Check for nadgrids parameter. */
-/* -------------------------------------------------------------------- */
- std::string nadgrids = pj_get_param_s(pvalues, "nadgrids");
- std::string towgs84 = pj_get_param_s(pvalues, "towgs84");
- if(! nadgrids.empty())
+template <typename T>
+inline bool pj_datum_find_towgs84(srs::dpar::parameters<T> const& params,
+ srs::detail::towgs84<T> & out)
+{
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::towgs84);
+
+ if (it != params.end())
{
- /* We don't actually save the value separately. It will continue
- to exist int he param list for use in pj_apply_gridshift.c */
+ srs::detail::towgs84<T> const&
+ towgs84 = it->template get_value<srs::detail::towgs84<T> >();
- projdef.datum_type = datum_gridshift;
+ std::size_t n = (std::min<std::size_t>)(towgs84.size(), 7u);
+ std::size_t z = n <= 3 ? 3 : 7;
+
+ for (std::size_t i = 0 ; i < n; ++i)
+ {
+ out.push_back(towgs84[i]);
+ }
+ for (std::size_t i = out.size() ; i < z; ++i)
+ {
+ out.push_back(T(0));
+ }
}
-/* -------------------------------------------------------------------- */
-/* Check for towgs84 parameter. */
-/* -------------------------------------------------------------------- */
- else if(! towgs84.empty())
+ return ! out.empty();
+}
+
+template
+<
+ typename Params,
+ int I = srs::spar::detail::tuples_find_index_if
+ <
+ Params,
+ srs::spar::detail::is_param_t<srs::spar::towgs84>::pred
+ >::value,
+ int N = boost::tuples::length<Params>::value
+>
+struct pj_datum_find_towgs84_static
+{
+ template <typename T>
+ static void apply(Params const& params, srs::detail::towgs84<T> & out)
{
- int parm_count = 0;
+ typename boost::tuples::element<I, Params>::type const&
+ towgs84 = boost::tuples::get<I>();
- int n = sizeof(projdef.datum_params) / sizeof(projdef.datum_params[0]);
+ std::size_t n = (std::min<std::size_t>)(towgs84.size(), 7u);
+ std::size_t z = n <= 3 ? 3 : 7;
- /* parse out the pvalues */
- std::vector<std::string> parm;
- boost::split(parm, towgs84, boost::is_any_of(" ,"));
- for (std::vector<std::string>::const_iterator it = parm.begin();
- it != parm.end() && parm_count < n;
- ++it)
+ for (std::size_t i = 0 ; i < n; ++i)
+ {
+ out.push_back(towgs84[i]);
+ }
+ for (std::size_t i = out.size() ; i < z; ++i)
{
- projdef.datum_params[parm_count++] = atof(it->c_str());
+ out.push_back(T(0));
}
+ }
+};
+template <typename Params, int N>
+struct pj_datum_find_towgs84_static<Params, N, N>
+{
+ template <typename T>
+ static void apply(Params const& , srs::detail::towgs84<T> & )
+ {}
+};
+
+template <typename T, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_datum_find_towgs84(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params,
+ srs::detail::towgs84<T> & out)
+{
+ pj_datum_find_towgs84_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
+ >::apply(params, out);
- if( projdef.datum_params[3] != 0.0
- || projdef.datum_params[4] != 0.0
- || projdef.datum_params[5] != 0.0
- || projdef.datum_params[6] != 0.0 )
+ return ! out.empty();
+}
+
+/************************************************************************/
+/* pj_datum_prepare_towgs84() */
+/************************************************************************/
+
+template <typename T>
+inline bool pj_datum_prepare_towgs84(srs::detail::towgs84<T> & towgs84)
+{
+ if( towgs84.size() == 7
+ && (towgs84[3] != 0.0
+ || towgs84[4] != 0.0
+ || towgs84[5] != 0.0
+ || towgs84[6] != 0.0) )
+ {
+ static const T sec_to_rad = detail::sec_to_rad<T>();
+
+ /* transform from arc seconds to radians */
+ towgs84[3] *= sec_to_rad;
+ towgs84[4] *= sec_to_rad;
+ towgs84[5] *= sec_to_rad;
+ /* transform from parts per million to scaling factor */
+ towgs84[6] = (towgs84[6]/1000000.0) + 1;
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+/************************************************************************/
+/* pj_datum_init() */
+/************************************************************************/
+
+// This function works differently than the original pj_datum_set().
+// It doesn't push parameters defined in datum into params list.
+// Instead it tries to use nadgrids and towgs84 and only then
+// falls back to nadgrid or towgs84 defiend in datum parameter.
+template <typename Params, typename T>
+inline void pj_datum_init(Params const& params, parameters<T> & projdef)
+{
+ projdef.datum_type = datum_unknown;
+
+ // Check for nadgrids parameter.
+ if(pj_datum_find_nadgrids(params, projdef.nadgrids))
+ {
+ // NOTE: It's different than in the original proj4.
+ // Nadgrids names are stored in projection definition.
+
+ projdef.datum_type = datum_gridshift;
+ }
+ // Check for towgs84 parameter.
+ else if(pj_datum_find_towgs84(params, projdef.datum_params))
+ {
+ if (pj_datum_prepare_towgs84(projdef.datum_params))
{
projdef.datum_type = datum_7param;
-
- /* transform from arc seconds to radians */
- projdef.datum_params[3] *= SEC_TO_RAD;
- projdef.datum_params[4] *= SEC_TO_RAD;
- projdef.datum_params[5] *= SEC_TO_RAD;
- /* transform from parts per million to scaling factor */
- projdef.datum_params[6] =
- (projdef.datum_params[6]/1000000.0) + 1;
}
else
{
@@ -206,6 +422,31 @@ inline void pj_datum_set(BGParams const& bg_params, std::vector<pvalue<T> >& pva
/* Note that pj_init() will later switch datum_type to
PJD_WGS84 if shifts are all zero, and ellipsoid is WGS84 or GRS80 */
}
+ // Check for datum parameter.
+ else
+ {
+ const pj_datums_type<T>* datum = pj_datum_find_datum<T>(params);
+ if (datum != NULL)
+ {
+ if (! datum->nadgrids.empty())
+ {
+ projdef.nadgrids = datum->nadgrids;
+ projdef.datum_type = datum_gridshift;
+ }
+ else if ( ! datum->towgs84.empty() )
+ {
+ projdef.datum_params = datum->towgs84;
+ if (pj_datum_prepare_towgs84(projdef.datum_params))
+ {
+ projdef.datum_type = datum_7param;
+ }
+ else
+ {
+ projdef.datum_type = datum_3param;
+ }
+ }
+ }
+ }
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/impl/pj_datums.hpp b/boost/geometry/srs/projections/impl/pj_datums.hpp
index ab2fcb2357..5c156bf350 100644
--- a/boost/geometry/srs/projections/impl/pj_datums.hpp
+++ b/boost/geometry/srs/projections/impl/pj_datums.hpp
@@ -39,7 +39,8 @@
#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUMS_HPP
#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUMS_HPP
-#include <boost/geometry/srs/projections/impl/projects.hpp>
+#include <boost/geometry/srs/projections/par_data.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
#include <string>
@@ -48,79 +49,124 @@ namespace boost { namespace geometry { namespace projections {
namespace detail {
// Originally defined in projects.h
+template <typename T>
struct pj_datums_type
{
std::string id; /* datum keyword */
- std::string defn_n; /* e.g. "to_wgs84" */
- std::string defn_v; /* e.g. "0,0,0" */
- std::string ellipse_id; /* ie from ellipse table */
- std::string comments; /* EPSG code, etc */
+ //std::string defn_n; /* e.g. "to_wgs84" */
+ //std::string defn_v; /* e.g. "0,0,0" */
+ //std::string ellipse_id; /* ie from ellipse table */
+ //std::string comments; /* EPSG code, etc */
+ srs::detail::nadgrids nadgrids;
+ srs::detail::towgs84<T> towgs84;
+ srs::dpar::value_ellps ellps;
};
// Originally defined in projects.h
struct pj_prime_meridians_type
{
std::string id; /* prime meridian keyword */
- std::string defn; /* offset from greenwich in DMS format. */
+ //std::string defn; /* offset from greenwich in DMS format. */
+ double deg;
};
+inline double dms2d(double d, double m, double s, bool east)
+{
+ return (east ? 1 : -1) * (d + m / 60.0 + s / 3600.0);
+}
+
/*
* The ellipse code must match one from pj_ellps.c. The datum id should
* be kept to 12 characters or less if possible. Use the official OGC
* datum name for the comments if available.
*/
-static const pj_datums_type pj_datums[] =
+template <typename T>
+inline std::pair<const pj_datums_type<T>*, int> pj_get_datums()
{
- {"WGS84", "towgs84", "0,0,0",
- "WGS84", ""},
-
- {"GGRS87", "towgs84", "-199.87,74.79,246.62",
- "GRS80", "Greek_Geodetic_Reference_System_1987"},
-
- {"NAD83", "towgs84", "0,0,0",
- "GRS80", "North_American_Datum_1983"},
-
- {"NAD27", "nadgrids", "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",
- "clrk66", "North_American_Datum_1927"},
-
- {"potsdam", "towgs84", "598.1,73.7,418.2,0.202,0.045,-2.455,6.7",
- "bessel", "Potsdam Rauenberg 1950 DHDN"},
-
- {"carthage", "towgs84", "-263.0,6.0,431.0",
- "clrk80ign", "Carthage 1934 Tunisia"},
-
- {"hermannskogel", "towgs84", "577.326,90.129,463.919,5.137,1.474,5.297,2.4232",
- "bessel", "Hermannskogel"},
-
- {"ire65", "towgs84", "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",
- "mod_airy", "Ireland 1965"},
-
- {"nzgd49", "towgs84", "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",
- "intl", "New Zealand Geodetic Datum 1949"},
-
- {"OSGB36", "towgs84", "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",
- "airy", "Airy 1830"}
-};
-
+ static const pj_datums_type<T> pj_datums[] =
+ {
+ {"WGS84", //"towgs84", "0,0,0",
+ //"WGS84", "",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(0,0,0),
+ srs::dpar::ellps_wgs84},
+
+ {"GGRS87", //"towgs84", "-199.87,74.79,246.62",
+ //"GRS80", "Greek_Geodetic_Reference_System_1987",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(-199.87,74.79,246.62),
+ srs::dpar::ellps_grs80},
+
+ {"NAD83", //"towgs84", "0,0,0",
+ //"GRS80", "North_American_Datum_1983",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(0,0,0),
+ srs::dpar::ellps_grs80},
+
+ {"NAD27", //"nadgrids", "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",
+ //"clrk66", "North_American_Datum_1927",
+ srs::detail::nadgrids("@conus","@alaska","@ntv2_0.gsb","@ntv1_can.dat"),
+ srs::detail::towgs84<T>(),
+ srs::dpar::ellps_clrk66},
+
+ {"potsdam", //"towgs84", "598.1,73.7,418.2,0.202,0.045,-2.455,6.7",
+ //"bessel", "Potsdam Rauenberg 1950 DHDN",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(598.1,73.7,418.2,0.202,0.045,-2.455,6.7),
+ srs::dpar::ellps_bessel},
+
+ {"carthage", //"towgs84", "-263.0,6.0,431.0",
+ //"clrk80ign", "Carthage 1934 Tunisia",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(-263.0,6.0,431.0),
+ srs::dpar::ellps_clrk80ign},
+
+ {"hermannskogel", //"towgs84", "577.326,90.129,463.919,5.137,1.474,5.297,2.4232",
+ //"bessel", "Hermannskogel",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(577.326,90.129,463.919,5.137,1.474,5.297,2.4232),
+ srs::dpar::ellps_bessel},
+
+ {"ire65", //"towgs84", "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",
+ //"mod_airy", "Ireland 1965",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15),
+ srs::dpar::ellps_mod_airy},
+
+ {"nzgd49", //"towgs84", "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",
+ //"intl", "New Zealand Geodetic Datum 1949",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993),
+ srs::dpar::ellps_intl},
+
+ {"OSGB36", //"towgs84", "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",
+ //"airy", "Airy 1830",
+ srs::detail::nadgrids(),
+ srs::detail::towgs84<T>(446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894),
+ srs::dpar::ellps_airy}
+ };
+
+ return std::make_pair(pj_datums, sizeof(pj_datums) / sizeof(pj_datums[0]));
+}
static const pj_prime_meridians_type pj_prime_meridians[] =
{
/* id definition */
/* -- ---------- */
- { "greenwich", "0dE" },
- { "lisbon", "9d07'54.862\"W" },
- { "paris", "2d20'14.025\"E" },
- { "bogota", "74d04'51.3\"W" },
- { "madrid", "3d41'16.58\"W" },
- { "rome", "12d27'8.4\"E" },
- { "bern", "7d26'22.5\"E" },
- { "jakarta", "106d48'27.79\"E" },
- { "ferro", "17d40'W" },
- { "brussels", "4d22'4.71\"E" },
- { "stockholm", "18d3'29.8\"E" },
- { "athens", "23d42'58.815\"E" },
- { "oslo", "10d43'22.5\"E" }
+ { "greenwich", /*"0dE",*/ 0 },
+ { "lisbon", /*"9d07'54.862\"W",*/ dms2d( 9, 7,54.862,false) },
+ { "paris", /*"2d20'14.025\"E",*/ dms2d( 2,20,14.025,true) },
+ { "bogota", /*"74d04'51.3\"W",*/ dms2d( 74, 4,51.3, false) },
+ { "madrid", /*"3d41'16.58\"W",*/ dms2d( 3,41,16.58, false) },
+ { "rome", /*"12d27'8.4\"E",*/ dms2d( 12,27, 8.4, true) },
+ { "bern", /*"7d26'22.5\"E",*/ dms2d( 7,26,22.5, true) },
+ { "jakarta", /*"106d48'27.79\"E",*/ dms2d(106,48,27.79, true) },
+ { "ferro", /*"17d40'W",*/ dms2d( 17,40, 0, false) },
+ { "brussels", /*"4d22'4.71\"E",*/ dms2d( 4,22,4.71, true) },
+ { "stockholm", /*"18d3'29.8\"E",*/ dms2d( 18, 3,29.8, true) },
+ { "athens", /*"23d42'58.815\"E",*/ dms2d( 23,42,58.815,true) },
+ { "oslo", /*"10d43'22.5\"E",*/ dms2d( 10,43,22.5, true) }
};
} // namespace detail
diff --git a/boost/geometry/srs/projections/impl/pj_ell_set.hpp b/boost/geometry/srs/projections/impl/pj_ell_set.hpp
index 6e0b817adb..2dac28b927 100644
--- a/boost/geometry/srs/projections/impl/pj_ell_set.hpp
+++ b/boost/geometry/srs/projections/impl/pj_ell_set.hpp
@@ -47,9 +47,12 @@
#include <boost/geometry/formulas/eccentricity_sqr.hpp>
#include <boost/geometry/util/math.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
+#include <boost/geometry/srs/projections/impl/pj_datum_set.hpp>
#include <boost/geometry/srs/projections/impl/pj_ellps.hpp>
#include <boost/geometry/srs/projections/impl/pj_param.hpp>
#include <boost/geometry/srs/projections/proj4.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
namespace boost { namespace geometry { namespace projections {
@@ -68,83 +71,271 @@ inline T RV4() { return .06944444444444444444; } /* 5/72 */
template <typename T>
inline T RV6() { return .04243827160493827160; } /* 55/1296 */
-/* initialize geographic shape parameters */
-template <typename BGParams, typename T>
-inline void pj_ell_set(BGParams const& /*bg_params*/, std::vector<pvalue<T> >& parameters, T &a, T &es)
+template <typename T>
+inline T pj_ell_b_to_es(T const& a, T const& b)
{
- T b = 0.0;
- T e = 0.0;
- std::string name;
+ return 1. - (b * b) / (a * a);
+}
- /* check for varying forms of ellipsoid input */
- a = es = 0.;
+/************************************************************************/
+/* pj_ell_init_ellps() */
+/************************************************************************/
- /* R takes precedence */
- if (pj_param_f(parameters, "R", a)) {
- /* empty */
- } else { /* probable elliptical figure */
-
- /* check if ellps present and temporarily append its values to pl */
- name = pj_get_param_s(parameters, "ellps");
- if (! name.empty())
+// Originally a part of pj_ell_set()
+template <typename T>
+inline bool pj_ell_init_ellps(srs::detail::proj4_parameters const& params, T &a, T &b)
+{
+ /* check if ellps present and temporarily append its values to pl */
+ std::string name = pj_get_param_s(params, "ellps");
+ if (! name.empty())
+ {
+ const pj_ellps_type<T>* pj_ellps = pj_get_ellps<T>().first;
+ const int n = pj_get_ellps<T>().second;
+ int index = -1;
+ for (int i = 0; i < n && index == -1; i++)
{
- const int n = sizeof(pj_ellps) / sizeof(pj_ellps[0]);
- int index = -1;
- for (int i = 0; i < n && index == -1; i++)
+ if(pj_ellps[i].id == name)
{
- if(pj_ellps[i].id == name)
- {
- index = i;
- }
+ index = i;
}
+ }
+
+ if (index == -1) {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_ellp_param) );
+ }
+
+ pj_ellps_type<T> const& pj_ellp = pj_ellps[index];
+ a = pj_ellp.a;
+ b = pj_ellp.b;
+
+ return true;
+ }
- if (index == -1) {
+ return false;
+}
+
+template <typename T>
+inline bool pj_ell_init_ellps(srs::dpar::parameters<T> const& params, T &a, T &b)
+{
+ /* check if ellps present and temporarily append its values to pl */
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::ellps);
+ if (it != params.end())
+ {
+ if (it->template is_value_set<int>())
+ {
+ const pj_ellps_type<T>* pj_ellps = pj_get_ellps<T>().first;
+ const int n = pj_get_ellps<T>().second;
+ int i = it->template get_value<int>();
+
+ if (i < 0 || i >= n) {
BOOST_THROW_EXCEPTION( projection_exception(error_unknown_ellp_param) );
}
- pj_ellps_type const& pj_ellp = pj_ellps[index];
- parameters.push_back(pj_mkparam<T>("a", pj_ellp.major_v));
- parameters.push_back(pj_mkparam<T>(pj_ellp.ell_n, pj_ellp.ell_v));
+ pj_ellps_type<T> const& pj_ellp = pj_ellps[i];
+ a = pj_ellp.a;
+ b = pj_ellp.b;
}
- a = pj_get_param_f(parameters, "a");
- if (pj_param_f(parameters, "es", es)) {/* eccentricity squared */
+ else if (it->template is_value_set<T>())
+ {
+ a = it->template get_value<T>();
+ b = a;
+ }
+ else if (it->template is_value_set<srs::spheroid<T> >())
+ {
+ srs::spheroid<T> const& s = it->template get_value<srs::spheroid<T> >();
+ a = geometry::get_radius<0>(s);
+ b = geometry::get_radius<2>(s);
+ }
+ else
+ {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_ellp_param) );
+ }
+
+ return true;
+ }
+
+ return false;
+}
+
+template
+<
+ typename Params,
+ int I = srs::spar::detail::tuples_find_index_if
+ <
+ Params,
+ srs::spar::detail::is_param_tr<srs::spar::detail::ellps_traits>::pred
+ >::value,
+ int N = boost::tuples::length<Params>::value
+>
+struct pj_ell_init_ellps_static
+{
+ template <typename T>
+ static bool apply(Params const& params, T &a, T &b)
+ {
+ typedef typename boost::tuples::element<I, Params>::type param_type;
+ typedef srs::spar::detail::ellps_traits<param_type> traits_type;
+ typedef typename traits_type::template model_type<T>::type model_type;
+
+ param_type const& param = boost::tuples::get<I>(params);
+ model_type const& model = traits_type::template model<T>(param);
+
+ a = geometry::get_radius<0>(model);
+ b = geometry::get_radius<2>(model);
+
+ return true;
+ }
+};
+template <typename Params, int N>
+struct pj_ell_init_ellps_static<Params, N, N>
+{
+ template <typename T>
+ static bool apply(Params const& , T & , T & )
+ {
+ return false;
+ }
+};
+
+template <typename T, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_ell_init_ellps(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params,
+ T &a, T &b)
+{
+ return pj_ell_init_ellps_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
+ >::apply(params, a, b);
+}
+
+/************************************************************************/
+/* pj_ell_init() */
+/************************************************************************/
+
+/* initialize geographic shape parameters */
+// This function works differently than the original pj_ell_set().
+// It doesn't push parameters defined in ellps into params list.
+// Instead it tries to use size (a, R) and shape (es, e, rf, f, b) parameters
+// and then if needed falls back to ellps, then to datum and then to the default WGS84
+template <typename Params, typename T>
+inline void pj_ell_init(Params const& params, T &a, T &es)
+{
+ /* check for varying forms of ellipsoid input */
+ a = es = 0.;
+
+ /* R takes precedence */
+ if (pj_param_f<srs::spar::r>(params, "R", srs::dpar::r, a)) {
+ /* empty */
+ } else { /* probable elliptical figure */
+
+ // Set ellipsoid's size parameter
+ a = pj_get_param_f<T, srs::spar::a>(params, "a", srs::dpar::a);
+ bool is_a_set = a != 0.0;
+
+ // Set ellipsoid's shape parameter
+ T b = 0.0;
+ bool is_ell_set = false;
+ if (pj_param_f<srs::spar::es>(params, "es", srs::dpar::es, es)) {/* eccentricity squared */
/* empty */
- } else if (pj_param_f(parameters, "e", e)) { /* eccentricity */
- es = e * e;
- } else if (pj_param_f(parameters, "rf", es)) { /* recip flattening */
- if (!es) {
+ is_ell_set = true;
+ } else if (pj_param_f<srs::spar::e>(params, "e", srs::dpar::e, es)) { /* eccentricity */
+ es = es * es;
+ is_ell_set = true;
+ } else if (pj_param_f<srs::spar::rf>(params, "rf", srs::dpar::rf, es)) { /* recip flattening */
+ if (es == 0.0) {
BOOST_THROW_EXCEPTION( projection_exception(error_rev_flattening_is_zero) );
- }
+ }
es = 1./ es;
es = es * (2. - es);
- } else if (pj_param_f(parameters, "f", es)) { /* flattening */
+ is_ell_set = true;
+ } else if (pj_param_f<srs::spar::f>(params, "f", srs::dpar::f, es)) { /* flattening */
es = es * (2. - es);
- } else if (pj_param_f(parameters, "b", b)) { /* minor axis */
- es = 1. - (b * b) / (a * a);
- } /* else es == 0. and sphere of radius a */
- if (!b)
+ is_ell_set = true;
+ } else if (pj_param_f<srs::spar::b>(params, "b", srs::dpar::b, b)) { /* minor axis */
+ es = pj_ell_b_to_es(a, b);
+ is_ell_set = true;
+ } /* else es == 0. and sphere of radius a */
+
+ // NOTE: Below when ellps is used to initialize a and es
+ // b is not set because it only has sense together with a
+ // but a could have been set separately before, e.g. consider passing:
+ // a=1 ellps=airy (a=6377563.396 b=6356256.910)
+ // after setting size parameter a and shape parameter from ellps
+ // b has to be recalculated
+
+ // If ellipsoid's parameters are not set directly
+ // use ellps parameter
+ if (! is_a_set || ! is_ell_set) {
+ T ellps_a = 0, ellps_b = 0;
+ if (pj_ell_init_ellps(params, ellps_a, ellps_b)) {
+ if (! is_a_set) {
+ a = ellps_a;
+ is_a_set = true;
+ }
+ if (! is_ell_set) {
+ es = pj_ell_b_to_es(ellps_a, ellps_b);
+ is_ell_set = true;
+ }
+ }
+ }
+
+ // If ellipsoid's parameters are not set
+ // use ellps defined by datum parameter
+ if (! is_a_set || ! is_ell_set)
+ {
+ const pj_datums_type<T>* datum = pj_datum_find_datum<T>(params);
+ if (datum != NULL)
+ {
+ pj_ellps_type<T> const& pj_ellp = pj_get_ellps<T>().first[datum->ellps];
+ if (! is_a_set) {
+ a = pj_ellp.a;
+ is_a_set = true;
+ }
+ if (! is_ell_set) {
+ es = pj_ell_b_to_es(pj_ellp.a, pj_ellp.b);
+ is_ell_set = true;
+ }
+ }
+ }
+
+ // If ellipsoid's parameters are still not set
+ // use default WGS84
+ if ((! is_a_set || ! is_ell_set)
+ && ! pj_get_param_b<srs::spar::no_defs>(params, "no_defs", srs::dpar::no_defs))
+ {
+ pj_ellps_type<T> const& pj_ellp = pj_get_ellps<T>().first[srs::dpar::ellps_wgs84];
+ if (! is_a_set) {
+ a = pj_ellp.a;
+ is_a_set = true;
+ }
+ if (! is_ell_set) {
+ es = pj_ell_b_to_es(pj_ellp.a, pj_ellp.b);
+ is_ell_set = true;
+ }
+ }
+
+ if (b == 0.0)
b = a * sqrt(1. - es);
+
/* following options turn ellipsoid into equivalent sphere */
- if (pj_get_param_b(parameters, "R_A")) { /* sphere--area of ellipsoid */
+ if (pj_get_param_b<srs::spar::r_au>(params, "R_A", srs::dpar::r_au)) { /* sphere--area of ellipsoid */
a *= 1. - es * (SIXTH<T>() + es * (RA4<T>() + es * RA6<T>()));
es = 0.;
- } else if (pj_get_param_b(parameters, "R_V")) { /* sphere--vol. of ellipsoid */
+ } else if (pj_get_param_b<srs::spar::r_v>(params, "R_V", srs::dpar::r_v)) { /* sphere--vol. of ellipsoid */
a *= 1. - es * (SIXTH<T>() + es * (RV4<T>() + es * RV6<T>()));
es = 0.;
- } else if (pj_get_param_b(parameters, "R_a")) { /* sphere--arithmetic mean */
+ } else if (pj_get_param_b<srs::spar::r_a>(params, "R_a", srs::dpar::r_a)) { /* sphere--arithmetic mean */
a = .5 * (a + b);
es = 0.;
- } else if (pj_get_param_b(parameters, "R_g")) { /* sphere--geometric mean */
+ } else if (pj_get_param_b<srs::spar::r_g>(params, "R_g", srs::dpar::r_g)) { /* sphere--geometric mean */
a = sqrt(a * b);
es = 0.;
- } else if (pj_get_param_b(parameters, "R_h")) { /* sphere--harmonic mean */
+ } else if (pj_get_param_b<srs::spar::r_h>(params, "R_h", srs::dpar::r_h)) { /* sphere--harmonic mean */
a = 2. * a * b / (a + b);
es = 0.;
} else {
T tmp;
- int i = pj_param_r(parameters, "R_lat_a", tmp);
+ bool i = pj_param_r<srs::spar::r_lat_a>(params, "R_lat_a", srs::dpar::r_lat_a, tmp);
if (i || /* sphere--arith. */
- pj_param_r(parameters, "R_lat_g", tmp)) { /* or geom. mean at latitude */
+ pj_param_r<srs::spar::r_lat_g>(params, "R_lat_g", srs::dpar::r_lat_g, tmp)) { /* or geom. mean at latitude */
tmp = sin(tmp);
if (geometry::math::abs(tmp) > geometry::math::half_pi<T>()) {
@@ -167,36 +358,166 @@ inline void pj_ell_set(BGParams const& /*bg_params*/, std::vector<pvalue<T> >& p
}
}
-template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
-inline void pj_ell_set(srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& bg_params,
- std::vector<pvalue<T> >& /*parameters*/, T &a, T &es)
+template <typename Params>
+struct static_srs_tag_check_nonexpanded
{
- typedef srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> static_parameters_type;
- typedef typename srs::par4::detail::pick_ellps
+ typedef typename boost::mpl::if_c
<
- static_parameters_type
- > pick_ellps;
+ srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::r>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param<srs::spar::r_au>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param<srs::spar::r_v>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param<srs::spar::r_a>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param<srs::spar::r_g>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param<srs::spar::r_h>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::r_lat_a>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::r_lat_g>::pred
+ >::value,
+ srs_sphere_tag,
+ // NOTE: The assumption here is that if the user defines either one of:
+ // b, es, e, f, rf parameters then he wants to define spheroid, not sphere
+ typename boost::mpl::if_c
+ <
+ srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::b>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::es>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::e>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::rf>::pred
+ >::value
+ || srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param_t<srs::spar::f>::pred
+ >::value,
+ srs_spheroid_tag,
+ void
+ >::type
+ >::type type;
+};
+
+template <typename Params>
+struct static_srs_tag_check_ellps
+{
+ typedef typename geometry::tag
+ <
+ typename srs::spar::detail::ellps_traits
+ <
+ typename srs::spar::detail::tuples_find_if
+ <
+ Params,
+ srs::spar::detail::is_param_tr<srs::spar::detail::ellps_traits>::pred
+ >::type
+ >::template model_type<double>::type // dummy type
+ >::type type;
+};
+
+template <typename Params>
+struct static_srs_tag_check_datum
+{
+ typedef typename geometry::tag
+ <
+ typename srs::spar::detail::ellps_traits
+ <
+ typename srs::spar::detail::datum_traits
+ <
+ typename srs::spar::detail::tuples_find_if
+ <
+ Params,
+ srs::spar::detail::is_param_tr<srs::spar::detail::datum_traits>::pred
+ >::type
+ >::ellps_type
+ >::template model_type<double>::type // dummy type
+ >::type type;
+};
+
+template
+<
+ typename Params,
+ typename NonExpandedTag = typename static_srs_tag_check_nonexpanded
+ <
+ Params
+ >::type,
+ typename EllpsTag = typename static_srs_tag_check_ellps
+ <
+ Params
+ >::type,
+ typename DatumTag = typename static_srs_tag_check_datum
+ <
+ Params
+ >::type
+>
+struct static_srs_tag
+{
+ // User passed one of the non-ellps, non-datum parameters
+ typedef NonExpandedTag type;
+};
- typename pick_ellps::model_type model = pick_ellps::model(bg_params);
+template <typename Params, typename EllpsTag, typename DatumTag>
+struct static_srs_tag<Params, void, EllpsTag, DatumTag>
+{
+ // User didn't pass neither one of the non-ellps, non-datum parameters
+ // but passed ellps
+ typedef EllpsTag type;
+};
- a = geometry::get_radius<0>(model);
- T b = geometry::get_radius<2>(model);
- es = 0.;
- if (a != b)
- {
- es = formula::eccentricity_sqr<T>(model);
+template <typename Params, typename DatumTag>
+struct static_srs_tag<Params, void, void, DatumTag>
+{
+ // User didn't pass neither one of the non-ellps, non-datum parameters
+ // nor ellps parameter but passed datum parameter
+ typedef DatumTag type;
+};
- // Ignore all other parameters passed in string, at least for now
- }
+template <typename Params>
+struct static_srs_tag<Params, void, void, void>
+{
+ // User didn't pass any parameter defining model
+ // so use default or generate error
+ typedef typename boost::mpl::if_c
+ <
+ srs::spar::detail::tuples_exists_if
+ <
+ Params, srs::spar::detail::is_param<srs::spar::no_defs>::pred
+ >::value,
+ void,
+ srs_spheroid_tag // WGS84
+ >::type type;
+
+ static const bool is_found = ! boost::is_same<type, void>::value;
+ BOOST_MPL_ASSERT_MSG((is_found), UNKNOWN_ELLP_PARAM, (Params));
+};
- /* some remaining checks */
- if (es < 0.) {
- BOOST_THROW_EXCEPTION( projection_exception(error_es_less_than_zero) );
- }
- if (a <= 0.) {
- BOOST_THROW_EXCEPTION( projection_exception(error_major_axis_not_given) );
- }
-}
template <typename T>
inline void pj_calc_ellipsoid_params(parameters<T> & p, T const& a, T const& es) {
diff --git a/boost/geometry/srs/projections/impl/pj_ellps.hpp b/boost/geometry/srs/projections/impl/pj_ellps.hpp
index 7a10b7de67..ae6c55457d 100644
--- a/boost/geometry/srs/projections/impl/pj_ellps.hpp
+++ b/boost/geometry/srs/projections/impl/pj_ellps.hpp
@@ -48,61 +48,83 @@ namespace boost { namespace geometry { namespace projections {
namespace detail {
// Originally defined in projects.h
+template <typename T>
struct pj_ellps_type
{
std::string id; /* ellipse keyword name */
- std::string major_v; /* a's value */
- std::string ell_n; /* elliptical parameter name */
- std::string ell_v; /* elliptical parameter value */
- std::string name; /* comments */
+ //std::string major; /* a's value */
+ //std::string ell; /* elliptical parameter value */
+ //bool is_rf; /* rf or b? */
+ T a;
+ T b;
+ //std::string name; /* comments */
};
-static const pj_ellps_type pj_ellps[] =
+inline double b_from_a_rf(double a, double rf)
{
- {"MERIT", "6378137.0", "rf", "298.257", "MERIT 1983"},
- {"SGS85", "6378136.0", "rf", "298.257", "Soviet Geodetic System 85"},
- {"GRS80", "6378137.0", "rf", "298.257222101", "GRS 1980(IUGG, 1980)"},
- {"IAU76", "6378140.0", "rf", "298.257", "IAU 1976"},
- {"airy", "6377563.396", "b", "6356256.910", "Airy 1830"},
- {"APL4.9", "6378137.0.", "rf", "298.25", "Appl. Physics. 1965"},
- {"NWL9D", "6378145.0.", "rf", "298.25", "Naval Weapons Lab., 1965"},
- {"mod_airy", "6377340.189", "b", "6356034.446", "Modified Airy"},
- {"andrae", "6377104.43", "rf", "300.0", "Andrae 1876 (Den., Iclnd.)"},
- {"aust_SA", "6378160.0", "rf", "298.25", "Australian Natl & S. Amer. 1969"},
- {"GRS67", "6378160.0", "rf", "298.2471674270", "GRS 67(IUGG 1967)"},
- {"bessel", "6377397.155", "rf", "299.1528128", "Bessel 1841"},
- {"bess_nam", "6377483.865", "rf", "299.1528128", "Bessel 1841 (Namibia)"},
- {"clrk66", "6378206.4", "b", "6356583.8", "Clarke 1866"},
- {"clrk80", "6378249.145", "rf", "293.4663", "Clarke 1880 mod."},
- {"clrk80ign", "6378249.2", "rf", "293.4660212936269", "Clarke 1880 (IGN)."},
- {"CPM", "6375738.7", "rf", "334.29", "Comm. des Poids et Mesures 1799"},
- {"delmbr", "6376428.", "rf", "311.5", "Delambre 1810 (Belgium)"},
- {"engelis", "6378136.05", "rf", "298.2566", "Engelis 1985"},
- {"evrst30", "6377276.345", "rf", "300.8017", "Everest 1830"},
- {"evrst48", "6377304.063", "rf", "300.8017", "Everest 1948"},
- {"evrst56", "6377301.243", "rf", "300.8017", "Everest 1956"},
- {"evrst69", "6377295.664", "rf", "300.8017", "Everest 1969"},
- {"evrstSS", "6377298.556", "rf", "300.8017", "Everest (Sabah & Sarawak)"},
- {"fschr60", "6378166.", "rf", "298.3", "Fischer (Mercury Datum) 1960"},
- {"fschr60m", "6378155.", "rf", "298.3", "Modified Fischer 1960"},
- {"fschr68", "6378150.", "rf", "298.3", "Fischer 1968"},
- {"helmert", "6378200.", "rf", "298.3", "Helmert 1906"},
- {"hough", "6378270.0", "rf", "297.", "Hough"},
- {"intl", "6378388.0", "rf", "297.", "International 1909 (Hayford)"},
- {"krass", "6378245.0", "rf", "298.3", "Krassovsky, 1942"},
- {"kaula", "6378163.", "rf", "298.24", "Kaula 1961"},
- {"lerch", "6378139.", "rf", "298.257", "Lerch 1979"},
- {"mprts", "6397300.", "rf", "191.", "Maupertius 1738"},
- {"new_intl", "6378157.5", "b", "6356772.2", "New International 1967"},
- {"plessis", "6376523.", "b", "6355863.", "Plessis 1817 (France)"},
- {"SEasia", "6378155.0", "b", "6356773.3205", "Southeast Asia"},
- {"walbeck", "6376896.0", "b", "6355834.8467", "Walbeck"},
- {"WGS60", "6378165.0", "rf", "298.3", "WGS 60"},
- {"WGS66", "6378145.0", "rf", "298.25", "WGS 66"},
- {"WGS72", "6378135.0", "rf", "298.26", "WGS 72"},
- {"WGS84", "6378137.0", "rf", "298.257223563", "WGS 84"},
- {"sphere", "6370997.0", "b", "6370997.0", "Normal Sphere (r=6370997)"}
-};
+ return a * (1.0 - 1.0 / rf);
+}
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF(ID, A, RF, NAME) \
+ {ID, /*#A, #RF, true,*/ A, b_from_a_rf(A, RF), /*NAME*/}
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B(ID, A, B, NAME) \
+ {ID, /*#A, #B, false,*/ A, B, /*NAME*/}
+
+template <typename T>
+inline std::pair<const pj_ellps_type<T>*, int> pj_get_ellps()
+{
+ static const pj_ellps_type<T> pj_ellps[] =
+ {
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("MERIT", 6378137.0, 298.257, "MERIT 1983"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("SGS85", 6378136.0, 298.257, "Soviet Geodetic System 85"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("GRS80", 6378137.0, 298.257222101, "GRS 1980(IUGG, 1980)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("IAU76", 6378140.0, 298.257, "IAU 1976"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("airy", 6377563.396, 6356256.910, "Airy 1830"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("APL4.9", 6378137.0, 298.25, "Appl. Physics. 1965"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("NWL9D", 6378145.0, 298.25, "Naval Weapons Lab., 1965"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("mod_airy", 6377340.189, 6356034.446, "Modified Airy"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("andrae", 6377104.43, 300.0, "Andrae 1876 (Den., Iclnd.)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("aust_SA", 6378160.0, 298.25, "Australian Natl & S. Amer. 1969"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("GRS67", 6378160.0, 298.2471674270, "GRS 67(IUGG 1967)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("bessel", 6377397.155, 299.1528128, "Bessel 1841"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("bess_nam", 6377483.865, 299.1528128, "Bessel 1841 (Namibia)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("clrk66", 6378206.4, 6356583.8, "Clarke 1866"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("clrk80", 6378249.145, 293.4663, "Clarke 1880 mod."),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("clrk80ign", 6378249.2, 293.4660212936269, "Clarke 1880 (IGN)."),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("CPM", 6375738.7, 334.29, "Comm. des Poids et Mesures 1799"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("delmbr", 6376428.0, 311.5, "Delambre 1810 (Belgium)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("engelis", 6378136.05, 298.2566, "Engelis 1985"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("evrst30", 6377276.345, 300.8017, "Everest 1830"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("evrst48", 6377304.063, 300.8017, "Everest 1948"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("evrst56", 6377301.243, 300.8017, "Everest 1956"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("evrst69", 6377295.664, 300.8017, "Everest 1969"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("evrstSS", 6377298.556, 300.8017, "Everest (Sabah & Sarawak)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("fschr60", 6378166.0, 298.3, "Fischer (Mercury Datum) 1960"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("fschr60m", 6378155.0, 298.3, "Modified Fischer 1960"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("fschr68", 6378150.0, 298.3, "Fischer 1968"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("helmert", 6378200.0, 298.3, "Helmert 1906"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("hough", 6378270.0, 297.0, "Hough"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("intl", 6378388.0, 297.0, "International 1909 (Hayford)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("krass", 6378245.0, 298.3, "Krassovsky, 1942"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("kaula", 6378163.0, 298.24, "Kaula 1961"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("lerch", 6378139.0, 298.257, "Lerch 1979"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("mprts", 6397300.0, 191.0, "Maupertius 1738"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("new_intl", 6378157.5, 6356772.2, "New International 1967"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("plessis", 6376523.0, 6355863.0, "Plessis 1817 (France)"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("SEasia", 6378155.0, 6356773.3205, "Southeast Asia"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("walbeck", 6376896.0, 6355834.8467, "Walbeck"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("WGS60", 6378165.0, 298.3, "WGS 60"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("WGS66", 6378145.0, 298.25, "WGS 66"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_RF("WGS72", 6378135.0, 298.26, "WGS 72"),
+ // This has to be consistent with default spheroid and values in pj_datum_transform
+ // TODO: Define in one place
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("WGS84", 6378137.0, 6356752.3142451793, "WGS 84"),
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_PJ_ELLPS_B ("sphere", 6370997.0, 6370997.0, "Normal Sphere (r=6370997)")
+ };
+
+ return std::make_pair(pj_ellps, sizeof(pj_ellps) / sizeof(pj_ellps[0]));
+}
} // namespace detail
}}} // namespace boost::geometry::projections
diff --git a/boost/geometry/srs/projections/impl/pj_gridinfo.hpp b/boost/geometry/srs/projections/impl/pj_gridinfo.hpp
index af1fe471d8..8f244dc3c6 100644
--- a/boost/geometry/srs/projections/impl/pj_gridinfo.hpp
+++ b/boost/geometry/srs/projections/impl/pj_gridinfo.hpp
@@ -826,8 +826,8 @@ inline bool pj_gridinfo_init_ctable2(std::string const& gridname,
memcpy( &ct.ll, header + 96, 40 );
// do some minimal validation to ensure the structure isn't corrupt
- if ( ct.lim.lam < 1 || ct.lim.lam > 100000
- || ct.lim.phi < 1 || ct.lim.phi > 100000 )
+ if ( (ct.lim.lam < 1) || (ct.lim.lam > 100000)
+ || (ct.lim.phi < 1) || (ct.lim.phi > 100000) )
{
return false;
}
@@ -878,8 +878,8 @@ inline bool pj_gridinfo_init_ctable(std::string const& gridname,
memcpy( &ct.ll, header + 80, 40 );
// do some minimal validation to ensure the structure isn't corrupt
- if ( ct.lim.lam < 1 || ct.lim.lam > 100000
- || ct.lim.phi < 1 || ct.lim.phi > 100000 )
+ if ( (ct.lim.lam < 1) || (ct.lim.lam > 100000)
+ || (ct.lim.phi < 1) || (ct.lim.phi > 100000) )
{
return false;
}
diff --git a/boost/geometry/srs/projections/impl/pj_gridlist.hpp b/boost/geometry/srs/projections/impl/pj_gridlist.hpp
index 43fc3b70ab..18a215b507 100644
--- a/boost/geometry/srs/projections/impl/pj_gridlist.hpp
+++ b/boost/geometry/srs/projections/impl/pj_gridlist.hpp
@@ -130,29 +130,19 @@ inline bool pj_gridlist_merge_gridfile(std::string const& gridname,
/************************************************************************/
template <typename StreamPolicy, typename Grids>
-inline void pj_gridlist_from_nadgrids(std::string const& nadgrids,
+inline void pj_gridlist_from_nadgrids(srs::detail::nadgrids const& nadgrids,
StreamPolicy const& stream_policy,
Grids & grids,
std::vector<std::size_t> & gridindexes)
{
// Loop processing names out of nadgrids one at a time.
- for (std::string::size_type i = 0 ; i < nadgrids.size() ; )
+ for (srs::detail::nadgrids::const_iterator it = nadgrids.begin() ;
+ it != nadgrids.end() ; ++it)
{
- bool required = true;
+ bool required = (*it)[0] != '@';
- if( nadgrids[i] == '@' )
- {
- required = false;
- ++i;
- }
-
- std::string::size_type end = nadgrids.find(',', i);
- std::string name = nadgrids.substr(i, end - i);
-
- i = end;
- if (end != std::string::npos)
- ++i;
+ std::string name(it->begin() + (required ? 0 : 1), it->end());
if ( ! pj_gridlist_merge_gridfile(name, stream_policy, grids, gridindexes)
&& required )
@@ -167,7 +157,7 @@ inline void pj_gridlist_from_nadgrids(Par const& defn, srs::projection_grids<Gri
{
BOOST_GEOMETRY_ASSERT(grids.storage_ptr != NULL);
- pj_gridlist_from_nadgrids(pj_get_param_s(defn.params, "nadgrids"),
+ pj_gridlist_from_nadgrids(defn.nadgrids,
grids.storage_ptr->stream_policy,
grids.storage_ptr->hgrids,
grids.hindexes);
diff --git a/boost/geometry/srs/projections/impl/pj_init.hpp b/boost/geometry/srs/projections/impl/pj_init.hpp
index 1d2db1af24..28b2b5850d 100644
--- a/boost/geometry/srs/projections/impl/pj_init.hpp
+++ b/boost/geometry/srs/projections/impl/pj_init.hpp
@@ -44,12 +44,15 @@
#include <vector>
#include <boost/algorithm/string.hpp>
+#include <boost/mpl/find.hpp>
+#include <boost/mpl/if.hpp>
#include <boost/range.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/geometry/util/math.hpp>
#include <boost/geometry/util/condition.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
#include <boost/geometry/srs/projections/impl/dms_parser.hpp>
#include <boost/geometry/srs/projections/impl/pj_datum_set.hpp>
#include <boost/geometry/srs/projections/impl/pj_datums.hpp>
@@ -58,6 +61,7 @@
#include <boost/geometry/srs/projections/impl/pj_units.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
#include <boost/geometry/srs/projections/proj4.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
namespace boost { namespace geometry { namespace projections
@@ -67,70 +71,62 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
-template <typename BGParams, typename T>
-inline void pj_push_defaults(BGParams const& /*bg_params*/, parameters<T>& pin)
+/************************************************************************/
+/* pj_init_proj() */
+/************************************************************************/
+
+template <typename T>
+inline void pj_init_proj(srs::detail::proj4_parameters const& params,
+ parameters<T> & par)
{
- pin.params.push_back(pj_mkparam<T>("ellps", "WGS84"));
+ par.id = pj_get_param_s(params, "proj");
+}
- if (pin.name == "aea")
- {
- pin.params.push_back(pj_mkparam<T>("lat_1", "29.5"));
- pin.params.push_back(pj_mkparam<T>("lat_2", "45.5 "));
- }
- else if (pin.name == "lcc")
- {
- pin.params.push_back(pj_mkparam<T>("lat_1", "33"));
- pin.params.push_back(pj_mkparam<T>("lat_2", "45"));
- }
- else if (pin.name == "lagrng")
+template <typename T>
+inline void pj_init_proj(srs::dpar::parameters<T> const& params,
+ parameters<T> & par)
+{
+ typename srs::dpar::parameters<T>::const_iterator it = pj_param_find(params, srs::dpar::proj);
+ if (it != params.end())
{
- pin.params.push_back(pj_mkparam<T>("W", "2"));
+ par.id = static_cast<srs::dpar::value_proj>(it->template get_value<int>());
}
}
-template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
-inline void pj_push_defaults(srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& /*bg_params*/,
- parameters<T>& pin)
+template <typename T, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline void pj_init_proj(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& ,
+ parameters<T> & par)
{
- typedef srs::static_proj4<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> static_parameters_type;
- typedef typename srs::par4::detail::pick_proj_tag
+ typedef srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> params_type;
+ typedef typename srs::spar::detail::tuples_find_if
<
- static_parameters_type
- >::type proj_tag;
+ params_type,
+ srs::spar::detail::is_param_tr<srs::spar::detail::proj_traits>::pred
+ >::type proj_type;
- // statically defaulting to WGS84
- //pin.params.push_back(pj_mkparam("ellps", "WGS84"));
+ static const bool is_found = srs::spar::detail::tuples_is_found<proj_type>::value;
- if (BOOST_GEOMETRY_CONDITION((boost::is_same<proj_tag, srs::par4::aea>::value)))
- {
- pin.params.push_back(pj_mkparam<T>("lat_1", "29.5"));
- pin.params.push_back(pj_mkparam<T>("lat_2", "45.5 "));
- }
- else if (BOOST_GEOMETRY_CONDITION((boost::is_same<proj_tag, srs::par4::lcc>::value)))
- {
- pin.params.push_back(pj_mkparam<T>("lat_1", "33"));
- pin.params.push_back(pj_mkparam<T>("lat_2", "45"));
- }
- else if (BOOST_GEOMETRY_CONDITION((boost::is_same<proj_tag, srs::par4::lagrng>::value)))
- {
- pin.params.push_back(pj_mkparam<T>("W", "2"));
- }
+ BOOST_MPL_ASSERT_MSG((is_found), PROJECTION_NOT_NAMED, (params_type));
+
+ par.id = srs::spar::detail::proj_traits<proj_type>::id;
}
-template <typename T>
-inline void pj_init_units(std::vector<pvalue<T> > const& params,
- std::string const& sunits,
- std::string const& sto_meter,
+/************************************************************************/
+/* pj_init_units() */
+/************************************************************************/
+
+template <typename T, bool Vertical>
+inline void pj_init_units(srs::detail::proj4_parameters const& params,
T & to_meter,
T & fr_meter,
T const& default_to_meter,
T const& default_fr_meter)
{
std::string s;
- std::string units = pj_get_param_s(params, sunits);
+ std::string units = pj_get_param_s(params, Vertical ? "vunits" : "units");
if (! units.empty())
{
- const int n = sizeof(pj_units) / sizeof(pj_units[0]);
+ static const int n = sizeof(pj_units) / sizeof(pj_units[0]);
int index = -1;
for (int i = 0; i < n && index == -1; i++)
{
@@ -148,9 +144,10 @@ inline void pj_init_units(std::vector<pvalue<T> > const& params,
if (s.empty())
{
- s = pj_get_param_s(params, sto_meter);
+ s = pj_get_param_s(params, Vertical ? "vto_meter" : "to_meter");
}
+ // TODO: numerator and denominator could be taken from pj_units
if (! s.empty())
{
std::size_t const pos = s.find('/');
@@ -181,63 +178,283 @@ inline void pj_init_units(std::vector<pvalue<T> > const& params,
}
}
+template <typename T, bool Vertical>
+inline void pj_init_units(srs::dpar::parameters<T> const& params,
+ T & to_meter,
+ T & fr_meter,
+ T const& default_to_meter,
+ T const& default_fr_meter)
+{
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, Vertical ? srs::dpar::vunits : srs::dpar::units);
+ if (it != params.end())
+ {
+ static const int n = sizeof(pj_units) / sizeof(pj_units[0]);
+ const int i = it->template get_value<int>();
+ if (i >= 0 && i < n)
+ {
+ T const numerator = pj_units[i].numerator;
+ T const denominator = pj_units[i].denominator;
+ if (numerator == 0.0 || denominator == 0.0)
+ {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unit_factor_less_than_0) );
+ }
+ to_meter = numerator / denominator;
+ fr_meter = 1. / to_meter;
+ }
+ else
+ {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknow_unit_id) );
+ }
+ }
+ else
+ {
+ it = pj_param_find(params, Vertical ? srs::dpar::vto_meter : srs::dpar::to_meter);
+ if (it != params.end())
+ {
+ to_meter = it->template get_value<T>();
+ fr_meter = 1. / to_meter;
+ }
+ else
+ {
+ to_meter = default_to_meter;
+ fr_meter = default_fr_meter;
+ }
+ }
+}
+
+template
+<
+ typename Params,
+ bool Vertical,
+ int UnitsI = srs::spar::detail::tuples_find_index_if
+ <
+ Params,
+ boost::mpl::if_c
+ <
+ Vertical,
+ srs::spar::detail::is_param_t<srs::spar::vunits>,
+ srs::spar::detail::is_param_tr<srs::spar::detail::units_traits>
+ >::type::template pred
+ >::value,
+ int ToMeterI = srs::spar::detail::tuples_find_index_if
+ <
+ Params,
+ boost::mpl::if_c
+ <
+ Vertical,
+ srs::spar::detail::is_param_t<srs::spar::vto_meter>,
+ srs::spar::detail::is_param_t<srs::spar::to_meter>
+ >::type::template pred
+ >::value,
+ int N = boost::tuples::length<Params>::value
+>
+struct pj_init_units_static
+ : pj_init_units_static<Params, Vertical, UnitsI, N, N>
+{};
+
+template <typename Params, bool Vertical, int UnitsI, int N>
+struct pj_init_units_static<Params, Vertical, UnitsI, N, N>
+{
+ static const int n = sizeof(pj_units) / sizeof(pj_units[0]);
+ static const int i = srs::spar::detail::units_traits
+ <
+ typename boost::tuples::element<UnitsI, Params>::type
+ >::id;
+ static const bool is_valid = i >= 0 && i < n;
+
+ BOOST_MPL_ASSERT_MSG((is_valid), UNKNOWN_UNIT_ID, (Params));
+
+ template <typename T>
+ static void apply(Params const& ,
+ T & to_meter, T & fr_meter,
+ T const& , T const& )
+ {
+ T const numerator = pj_units[i].numerator;
+ T const denominator = pj_units[i].denominator;
+ if (numerator == 0.0 || denominator == 0.0)
+ {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unit_factor_less_than_0) );
+ }
+ to_meter = numerator / denominator;
+ fr_meter = 1. / to_meter;
+ }
+};
+
+template <typename Params, bool Vertical, int ToMeterI, int N>
+struct pj_init_units_static<Params, Vertical, N, ToMeterI, N>
+{
+ template <typename T>
+ static void apply(Params const& params,
+ T & to_meter, T & fr_meter,
+ T const& , T const& )
+ {
+ to_meter = boost::tuples::get<ToMeterI>(params).value;
+ fr_meter = 1. / to_meter;
+ }
+};
+
+template <typename Params, bool Vertical, int N>
+struct pj_init_units_static<Params, Vertical, N, N, N>
+{
+ template <typename T>
+ static void apply(Params const& ,
+ T & to_meter, T & fr_meter,
+ T const& default_to_meter, T const& default_fr_meter)
+ {
+ to_meter = default_to_meter;
+ fr_meter = default_fr_meter;
+ }
+};
+
+template <typename T, bool Vertical, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline void pj_init_units(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params,
+ T & to_meter,
+ T & fr_meter,
+ T const& default_to_meter,
+ T const& default_fr_meter)
+{
+ pj_init_units_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>,
+ Vertical
+ >::apply(params, to_meter, fr_meter, default_to_meter, default_fr_meter);
+}
+
+/************************************************************************/
+/* pj_init_pm() */
+/************************************************************************/
+
+template <typename T>
+inline void pj_init_pm(srs::detail::proj4_parameters const& params, T& val)
+{
+ std::string pm = pj_get_param_s(params, "pm");
+ if (! pm.empty())
+ {
+ int n = sizeof(pj_prime_meridians) / sizeof(pj_prime_meridians[0]);
+ for (int i = 0; i < n ; i++)
+ {
+ if(pj_prime_meridians[i].id == pm)
+ {
+ val = pj_prime_meridians[i].deg * math::d2r<T>();
+ return;
+ }
+ }
+
+ // TODO: Is this try-catch needed?
+ // In other cases the bad_str_cast exception is simply thrown
+ BOOST_TRY
+ {
+ val = dms_parser<T, true>::apply(pm).angle();
+ return;
+ }
+ BOOST_CATCH(geometry::bad_str_cast const&)
+ {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_prime_meridian) );
+ }
+ BOOST_CATCH_END
+ }
+
+ val = 0.0;
+}
+
+template <typename T>
+inline void pj_init_pm(srs::dpar::parameters<T> const& params, T& val)
+{
+ typename srs::dpar::parameters<T>::const_iterator it = pj_param_find(params, srs::dpar::pm);
+ if (it != params.end())
+ {
+ if (it->template is_value_set<int>())
+ {
+ int n = sizeof(pj_prime_meridians) / sizeof(pj_prime_meridians[0]);
+ int i = it->template get_value<int>();
+ if (i >= 0 && i < n)
+ {
+ val = pj_prime_meridians[i].deg * math::d2r<T>();
+ return;
+ }
+ else
+ {
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_prime_meridian) );
+ }
+ }
+ else if (it->template is_value_set<T>())
+ {
+ val = it->template get_value<T>() * math::d2r<T>();
+ return;
+ }
+ }
+
+ val = 0.0;
+}
+
+template
+<
+ typename Params,
+ int I = srs::spar::detail::tuples_find_index_if
+ <
+ Params,
+ srs::spar::detail::is_param_tr<srs::spar::detail::pm_traits>::pred
+ >::value,
+ int N = boost::tuples::length<Params>::value
+>
+struct pj_init_pm_static
+{
+ template <typename T>
+ static void apply(Params const& params, T & val)
+ {
+ typedef typename boost::tuples::element<I, Params>::type param_type;
+
+ val = srs::spar::detail::pm_traits<param_type>::value(boost::tuples::get<I>(params));
+ }
+};
+template <typename Params, int N>
+struct pj_init_pm_static<Params, N, N>
+{
+ template <typename T>
+ static void apply(Params const& , T & val)
+ {
+ val = 0;
+ }
+};
+
+template <typename T, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline void pj_init_pm(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params, T& val)
+{
+ pj_init_pm_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>
+ >::apply(params, val);
+}
+
/************************************************************************/
/* pj_init() */
/* */
/* Main entry point for initialing a PJ projections */
-/* definition. Note that the projection specific function is */
-/* called to do the initial allocation so it can be created */
-/* large enough to hold projection specific parameters. */
+/* definition. */
/************************************************************************/
-template <typename T, typename BGParams, typename R>
-inline parameters<T> pj_init(BGParams const& bg_params, R const& arguments, bool use_defaults = true)
+template <typename T, typename Params>
+inline parameters<T> pj_init(Params const& params)
{
parameters<T> pin;
- for (std::vector<std::string>::const_iterator it = boost::begin(arguments);
- it != boost::end(arguments); it++)
- {
- pin.params.push_back(pj_mkparam<T>(*it));
- }
-
- // maybe TODO: handle "init" parameter
- /* check if +init present */
- //std::string sinit;
- //if (pj_param_s(pin.params, "init", sinit))
- //{
- // //if (!(curr = get_init(&arguments, curr, sinit)))
- //}
// find projection -> implemented in projection factory
- pin.name = pj_get_param_s(pin.params, "proj");
+ pj_init_proj(params, pin);
// exception thrown in projection<>
// TODO: consider throwing here both projection_unknown_id_exception and
// projection_not_named_exception in order to throw before other exceptions
//if (pin.name.empty())
//{ BOOST_THROW_EXCEPTION( projection_not_named_exception() ); }
- // set defaults, unless inhibited
- // GL-Addition, if use_defaults is false then defaults are ignored
- if (use_defaults && ! pj_get_param_b(pin.params, "no_defs"))
- {
- // proj4 gets defaults from "proj_def.dat", file of 94/02/23 with a few defaults.
- // Here manually
- pj_push_defaults(bg_params, pin);
- //curr = get_defaults(&arguments, curr, name);
- }
-
- /* allocate projection structure */
- // done by BGParams constructor:
- // pin.is_latlong = 0;
- // pin.is_geocent = 0;
- // pin.long_wrap_center = 0.0;
- // pin.long_wrap_center = 0.0;
- pin.is_long_wrap_set = false;
-
+ // NOTE: proj4 gets defaults from "proj_def.dat".
+ // In Boost.Geometry this is emulated by manually setting them in
+ // pj_ell_init and projections aea, lcc and lagrng
+
/* set datum parameters */
- pj_datum_set(bg_params, pin.params, pin);
+ pj_datum_init(params, pin);
/* set ellipsoid/sphere parameters */
- pj_ell_set(bg_params, pin.params, pin.a, pin.es);
+ pj_ell_init(params, pin.a, pin.es);
pin.a_orig = pin.a;
pin.es_orig = pin.es;
@@ -262,28 +479,28 @@ inline parameters<T> pj_init(BGParams const& bg_params, R const& arguments, bool
}
/* set pin.geoc coordinate system */
- pin.geoc = (pin.es && pj_get_param_b(pin.params, "geoc"));
+ pin.geoc = (pin.es && pj_get_param_b<srs::spar::geoc>(params, "geoc", srs::dpar::geoc));
/* over-ranging flag */
- pin.over = pj_get_param_b(pin.params, "over");
+ pin.over = pj_get_param_b<srs::spar::over>(params, "over", srs::dpar::over);
/* longitude center for wrapping */
- pin.is_long_wrap_set = pj_param_r(pin.params, "lon_wrap", pin.long_wrap_center);
+ pin.is_long_wrap_set = pj_param_r<srs::spar::lon_wrap>(params, "lon_wrap", srs::dpar::lon_wrap, pin.long_wrap_center);
/* central meridian */
- pin.lam0 = pj_get_param_r(pin.params, "lon_0");
+ pin.lam0 = pj_get_param_r<T, srs::spar::lon_0>(params, "lon_0", srs::dpar::lon_0);
/* central latitude */
- pin.phi0 = pj_get_param_r(pin.params, "lat_0");
+ pin.phi0 = pj_get_param_r<T, srs::spar::lat_0>(params, "lat_0", srs::dpar::lat_0);
/* false easting and northing */
- pin.x0 = pj_get_param_f(pin.params, "x_0");
- pin.y0 = pj_get_param_f(pin.params, "y_0");
+ pin.x0 = pj_get_param_f<T, srs::spar::x_0>(params, "x_0", srs::dpar::x_0);
+ pin.y0 = pj_get_param_f<T, srs::spar::y_0>(params, "y_0", srs::dpar::y_0);
/* general scaling factor */
- if (pj_param_f(pin.params, "k_0", pin.k0)) {
+ if (pj_param_f<srs::spar::k_0>(params, "k_0", srs::dpar::k_0, pin.k0)) {
/* empty */
- } else if (pj_param_f(pin.params, "k", pin.k0)) {
+ } else if (pj_param_f<srs::spar::k>(params, "k", srs::dpar::k, pin.k0)) {
/* empty */
} else
pin.k0 = 1.;
@@ -292,100 +509,15 @@ inline parameters<T> pj_init(BGParams const& bg_params, R const& arguments, bool
}
/* set units */
- pj_init_units(pin.params, "units", "to_meter",
- pin.to_meter, pin.fr_meter, 1., 1.);
- pj_init_units(pin.params, "vunits", "vto_meter",
- pin.vto_meter, pin.vfr_meter, pin.to_meter, pin.fr_meter);
+ pj_init_units<T, false>(params, pin.to_meter, pin.fr_meter, 1., 1.);
+ pj_init_units<T, true>(params, pin.vto_meter, pin.vfr_meter, pin.to_meter, pin.fr_meter);
/* prime meridian */
- std::string pm = pj_get_param_s(pin.params, "pm");
- if (! pm.empty())
- {
- std::string value;
-
- int n = sizeof(pj_prime_meridians) / sizeof(pj_prime_meridians[0]);
- for (int i = 0; i < n ; i++)
- {
- if(pj_prime_meridians[i].id == pm)
- {
- value = pj_prime_meridians[i].defn;
- break;
- }
- }
-
- dms_parser<T, true> parser;
-
- // TODO: Is this try-catch needed?
- // In other cases the bad_str_cast exception is simply thrown
- BOOST_TRY
- {
- if (value.empty()) {
- pin.from_greenwich = parser.apply(pm).angle();
- } else {
- pin.from_greenwich = parser.apply(value).angle();
- }
- }
- BOOST_CATCH(geometry::bad_str_cast const&)
- {
- BOOST_THROW_EXCEPTION( projection_exception(error_unknown_prime_meridian) );
- }
- BOOST_CATCH_END
- }
- else
- {
- pin.from_greenwich = 0.0;
- }
+ pj_init_pm(params, pin.from_greenwich);
return pin;
}
-/************************************************************************/
-/* pj_init_plus() */
-/* */
-/* Same as pj_init() except it takes one argument string with */
-/* individual arguments preceeded by '+', such as "+proj=utm */
-/* +zone=11 +ellps=WGS84". */
-/************************************************************************/
-template <typename T, typename BGParams>
-inline parameters<T> pj_init_plus(BGParams const& bg_params, std::string const& definition, bool use_defaults = true)
-{
- const char* sep = " +";
-
- /* split into arguments based on '+' and trim white space */
-
- // boost::split splits on one character, here it should be on " +", so implementation below
- // todo: put in different routine or sort out
- std::vector<std::string> arguments;
- std::string def = boost::trim_copy(definition);
- boost::trim_left_if(def, boost::is_any_of(sep));
-
- std::string::size_type loc = def.find(sep);
- while (loc != std::string::npos)
- {
- std::string par = def.substr(0, loc);
- boost::trim(par);
- if (! par.empty())
- {
- arguments.push_back(par);
- }
-
- def.erase(0, loc);
- boost::trim_left_if(def, boost::is_any_of(sep));
- loc = def.find(sep);
- }
-
- if (! def.empty())
- {
- arguments.push_back(def);
- }
-
- /*boost::split(arguments, definition, boost::is_any_of("+"));
- for (std::vector<std::string>::iterator it = arguments.begin(); it != arguments.end(); it++)
- {
- boost::trim(*it);
- }*/
- return pj_init<T>(bg_params, arguments, use_defaults);
-}
} // namespace detail
}}} // namespace boost::geometry::projections
diff --git a/boost/geometry/srs/projections/impl/pj_param.hpp b/boost/geometry/srs/projections/impl/pj_param.hpp
index 7648055414..8ebef9566f 100644
--- a/boost/geometry/srs/projections/impl/pj_param.hpp
+++ b/boost/geometry/srs/projections/impl/pj_param.hpp
@@ -47,135 +47,201 @@
#include <boost/geometry/srs/projections/impl/dms_parser.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
+#include <boost/geometry/srs/projections/proj4.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/type_traits/is_integral.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <iterator>
namespace boost { namespace geometry { namespace projections {
-namespace detail {
+namespace detail {
-/* create pvalue list entry */
-template <typename T>
-inline pvalue<T> pj_mkparam(std::string const& name, std::string const& value)
+inline bool pj_param_pred(srs::detail::proj4_parameter const& p, std::string const& name)
{
- pvalue<T> newitem;
- newitem.param = name;
- newitem.s = value;
- //newitem.used = false;
- return newitem;
+ return p.name == name;
}
-/* create pvalue list entry */
-template <typename T>
-inline pvalue<T> pj_mkparam(std::string const& str)
+template <typename T, typename Id>
+inline bool pj_param_pred(srs::dpar::parameter<T> const& p, Id const& id,
+ typename boost::disable_if_c<boost::is_convertible<Id, std::string>::value>::type * = 0)
{
- std::string name = str;
- std::string value;
- boost::trim_left_if(name, boost::is_any_of("+"));
- std::string::size_type loc = name.find("=");
- if (loc != std::string::npos)
- {
- value = name.substr(loc + 1);
- name.erase(loc);
- }
-
- return pj_mkparam<T>(name, value);
+ return p.is_id_equal(id);
}
/* input exists */
-template <typename T>
-inline typename std::vector<pvalue<T> >::const_iterator
- pj_param_find(std::vector<pvalue<T> > const& pl, std::string const& name)
+template <typename Params, typename Name>
+inline typename Params::const_iterator
+ pj_param_find(Params const& params, Name const& name)
{
- typedef typename std::vector<pvalue<T> >::const_iterator iterator;
- for (iterator it = pl.begin(); it != pl.end(); it++)
+ typedef typename Params::const_iterator iterator;
+ for (iterator it = params.begin(); it != params.end(); it++)
{
- if (it->param == name)
+ if (pj_param_pred(*it, name))
{
//it->used = true;
return it;
}
// TODO: needed for pipeline
- /*else if (it->param == "step")
+ /*else if (it->name == "step")
{
return pl.end();
}*/
}
- return pl.end();
+ return params.end();
}
+/*
+template
+<
+ typename StaticParams,
+ typename IsParamPred,
+ int I = tuples_find_index_if<StaticParams, typename IsParamPred::pred>::value,
+ int N = boost::tuples::length<StaticParams>::value
+>
+struct pj_param_find_static
+{
+ typedef boost::tuples::element<I, StaticParams> type;
+ typedef const type* result_type;
+ static result_type get(StaticParams const& params)
+ {
+ return boost::addressof(boost::get<I>(params));
+ }
+};
+
+template <typename StaticParams, typename IsParamPred, int N>
+struct pj_param_find_static<StaticParams, IsParamPred, N>
+{
+ typedef void type;
+ typedef const type* result_type;
+ static result_type get(StaticParams const& ) { return NULL; }
+};*/
+
+
/* input exists */
+template <typename Params, typename Name>
+inline bool pj_param_exists(Params const& params, Name const& name)
+{
+ return pj_param_find(params, name) != params.end();
+}
+
+template <typename Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_param_exists(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& )
+{
+ return srs::spar::detail::tuples_is_found
+ <
+ typename srs::spar::detail::tuples_find_if
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>,
+ srs::spar::detail::is_param<Param>::template pred
+ >::type
+ >::value;
+}
+
+template <template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_param_exists(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& )
+{
+ return srs::spar::detail::tuples_is_found
+ <
+ typename srs::spar::detail::tuples_find_if
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>,
+ srs::spar::detail::is_param_t<Param>::template pred
+ >::type
+ >::value;
+}
+
+
template <typename T>
-inline bool pj_param_exists(std::vector<pvalue<T> > const& pl, std::string const& name)
+inline void set_value(T & val, srs::detail::proj4_parameter const& p)
{
- return pj_param_find(pl, name) != pl.end();
+ val = geometry::str_cast<T>(p.value);
+}
+
+template <typename T, typename T2>
+inline void set_value(T & val, srs::dpar::parameter<T2> const& p)
+{
+ val = p.template get_value<T>();
}
-/* integer input */
template <typename T>
-inline bool pj_param_i(std::vector<pvalue<T> > const& pl, std::string const& name, int & par)
+inline void set_value_r(T & val, srs::detail::proj4_parameter const& p)
{
- typename std::vector<pvalue<T> >::const_iterator it = pj_param_find(pl, name);
- if (it != pl.end())
- {
- par = geometry::str_cast<int>(it->s);
- return true;
- }
- return false;
+ val = dms_parser<T, true>::apply(p.value.c_str()).angle();
}
-/* floating point input */
template <typename T>
-inline bool pj_param_f(std::vector<pvalue<T> > const& pl, std::string const& name, T & par)
+inline void set_value_r(T & val, srs::dpar::parameter<T> const& p)
{
- typename std::vector<pvalue<T> >::const_iterator it = pj_param_find(pl, name);
- if (it != pl.end())
+ val = p.template get_value<T>() * math::d2r<T>();
+}
+
+template <typename Name>
+inline void check_name(Name const&)
+{
+ static const bool is_ok = boost::is_convertible<Name, std::string>::value
+ || boost::is_same<Name, srs::dpar::name_i>::value
+ || boost::is_same<Name, srs::dpar::name_f>::value
+ || boost::is_same<Name, srs::dpar::name_r>::value;
+ BOOST_MPL_ASSERT_MSG((is_ok), INVALID_ARGUMENT, (Name));
+}
+
+
+/* integer input */
+template <typename Params, typename Name>
+inline bool _pj_param_i(Params const& params, Name const& name, int & par)
+{
+ check_name(name);
+ typename Params::const_iterator it = pj_param_find(params, name);
+ if (it != params.end())
{
- par = geometry::str_cast<T>(it->s);
+ set_value(par, *it);
return true;
}
return false;
}
-/* radians input */
-template <typename T>
-inline bool pj_param_r(std::vector<pvalue<T> > const& pl, std::string const& name, T & par)
+/* floating point input */
+template <typename T, typename Params, typename Name>
+inline bool _pj_param_f(Params const& params, Name const& name, T & par)
{
- typename std::vector<pvalue<T> >::const_iterator it = pj_param_find(pl, name);
- if (it != pl.end())
+ check_name(name);
+ typename Params::const_iterator it = pj_param_find(params, name);
+ if (it != params.end())
{
- dms_parser<T, true> parser;
- par = parser.apply(it->s.c_str()).angle();
+ set_value(par, *it);
return true;
}
return false;
}
-/* string input */
-template <typename T>
-inline bool pj_param_s(std::vector<pvalue<T> > const& pl, std::string const& name, std::string & par)
+/* radians input */
+template <typename T, typename Params, typename Name>
+inline bool _pj_param_r(Params const& params, Name const& name, T & par)
{
- typename std::vector<pvalue<T> >::const_iterator it = pj_param_find(pl, name);
- if (it != pl.end())
+ check_name(name);
+ typename Params::const_iterator it = pj_param_find(params, name);
+ if (it != params.end())
{
- par = it->s;
+ set_value_r(par, *it);
return true;
}
return false;
}
/* bool input */
-template <typename T>
-inline bool pj_get_param_b(std::vector<pvalue<T> > const& pl, std::string const& name)
+inline bool _pj_get_param_b(srs::detail::proj4_parameters const& pl, std::string const& name)
{
- typename std::vector<pvalue<T> >::const_iterator it = pj_param_find(pl, name);
+ srs::detail::proj4_parameters::const_iterator it = pj_param_find(pl, name);
if (it != pl.end())
{
- switch (it->s[0])
+ switch (it->value[0])
{
case '\0': case 'T': case 't':
return true;
@@ -189,41 +255,398 @@ inline bool pj_get_param_b(std::vector<pvalue<T> > const& pl, std::string const&
return false;
}
+template <typename T>
+inline bool _pj_get_param_b(srs::dpar::parameters<T> const& pl, srs::dpar::name_be const& name)
+{
+ bool result = false;
+ typename srs::dpar::parameters<T>::const_iterator it = pj_param_find(pl, name);
+ if (it != pl.end())
+ set_value(result, *it);
+ return result;
+}
+
+/* string input */
+inline bool pj_param_s(srs::detail::proj4_parameters const& pl, std::string const& name, std::string & par)
+{
+ srs::detail::proj4_parameters::const_iterator it = pj_param_find(pl, name);
+ if (it != pl.end())
+ {
+ par = it->value;
+ return true;
+ }
+ return false;
+}
+
+template
+<
+ typename Params,
+ template <typename> class IsSamePred,
+ int I = srs::spar::detail::tuples_find_index_if<Params, IsSamePred>::value,
+ int N = boost::tuples::length<Params>::value
+>
+struct _pj_param_x_static
+{
+ static const bool result = true;
+ template <typename T>
+ static void apply(Params const& params, T & out)
+ {
+ // TODO: int values could be extracted directly from the type
+ out = boost::tuples::get<I>(params).value;
+ }
+};
+
+template
+<
+ typename Params,
+ template <typename> class IsSamePred,
+ int N
+>
+struct _pj_param_x_static<Params, IsSamePred, N, N>
+{
+ static const bool result = false;
+ template <typename T>
+ static void apply(Params const& , T & )
+ {}
+};
+
+template <template <int> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool _pj_param_i(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params, int & par)
+{
+ typedef _pj_param_x_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>,
+ srs::spar::detail::is_param_i<Param>::template pred
+ > impl;
+ impl::apply(params, par);
+ return impl::result;
+}
+
+template <template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
+inline bool _pj_param_f(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params, T & par)
+{
+ typedef _pj_param_x_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>,
+ srs::spar::detail::is_param_t<Param>::template pred
+ > impl;
+ impl::apply(params, par);
+ return impl::result;
+}
+
+template <template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
+inline bool _pj_param_r(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params, T & par)
+{
+ typedef _pj_param_x_static
+ <
+ srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>,
+ srs::spar::detail::is_param_t<Param>::template pred
+ > impl;
+ impl::apply(params, par);
+ if (impl::result)
+ par *= math::d2r<T>();
+ return impl::result;
+}
+
+template <typename Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool _pj_get_param_b(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params)
+{
+ return pj_param_exists<Param>(params);
+}
+
+//template <typename T, typename Name, typename Value>
+//inline bool pj_param_id(srs::dpar::parameters<T> const& pl, Name const& name, Value & par)
+//{
+// typename srs::dpar::parameters<T>::const_iterator it = pj_param_find(pl, name);
+// if (it != pl.end())
+// {
+// par = static_cast<Value>(it->template get_value<int>());
+// return true;
+// }
+// return false;
+//}
+
// NOTE: In the original code, in pl_ell_set.c there is a function pj_get_param
// which behavior is similar to pj_param but it doesn't set `user` member to TRUE
// while pj_param does in the original code. In Boost.Geometry this member is not used.
-template <typename T>
-inline int pj_get_param_i(std::vector<pvalue<T> > const& pl, std::string const& name)
+template <typename Params, typename Name>
+inline int _pj_get_param_i(Params const& pl, Name const& name)
{
int res = 0;
- pj_param_i(pl, name, res);
+ _pj_param_i(pl, name, res);
return res;
}
-template <typename T>
-inline T pj_get_param_f(std::vector<pvalue<T> > const& pl, std::string const& name)
+template <template <int> class Param, typename Params>
+inline int _pj_get_param_i(Params const& pl)
+{
+ int res = 0;
+ _pj_param_i<Param>(pl, res);
+ return res;
+}
+
+template <typename T, typename Params, typename Name>
+inline T _pj_get_param_f(Params const& pl, Name const& name)
{
T res = 0;
- pj_param_f(pl, name, res);
+ _pj_param_f(pl, name, res);
return res;
}
-template <typename T>
-inline T pj_get_param_r(std::vector<pvalue<T> > const& pl, std::string const& name)
+template <typename T, template <typename> class Param, typename Params>
+inline T _pj_get_param_f(Params const& pl)
{
T res = 0;
- pj_param_r(pl, name, res);
+ _pj_param_f<Param>(pl, res);
return res;
}
-template <typename T>
-inline std::string pj_get_param_s(std::vector<pvalue<T> > const& pl, std::string const& name)
+template <typename T, typename Params, typename Name>
+inline T _pj_get_param_r(Params const& pl, Name const& name)
+{
+ T res = 0;
+ _pj_param_r(pl, name, res);
+ return res;
+}
+
+template <typename T, template <typename> class Param, typename Params>
+inline T _pj_get_param_r(Params const& pl)
+{
+ T res = 0;
+ _pj_param_r<Param>(pl, res);
+ return res;
+}
+
+inline std::string pj_get_param_s(srs::detail::proj4_parameters const& pl, std::string const& name)
{
std::string res;
pj_param_s(pl, name, res);
return res;
}
+
+// ------------------------------------------------------------------------- //
+
+template <typename Param, typename Name>
+inline bool pj_param_exists(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ Name const& )
+{
+ return pj_param_exists(pl, sn);
+}
+template <template <typename> class Param, typename Name>
+inline bool pj_param_exists(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ Name const& )
+{
+ return pj_param_exists(pl, sn);
+}
+template <typename Param, typename T, typename Name>
+inline bool pj_param_exists(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ Name const& n)
+{
+ return pj_param_exists(pl, n);
+}
+template <template <typename> class Param, typename T, typename Name>
+inline bool pj_param_exists(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ Name const& n)
+{
+ return pj_param_exists(pl, n);
+}
+template <typename Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename Name>
+inline bool pj_param_exists(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ Name const& )
+{
+ return pj_param_exists<Param>(pl);
+}
+template <template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename Name>
+inline bool pj_param_exists(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ Name const& )
+{
+ return pj_param_exists<Param>(pl);
+}
+
+template <typename Param>
+inline bool pj_get_param_b(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_be const& )
+{
+ return _pj_get_param_b(pl, sn);
+}
+template <typename Param, typename T>
+inline bool pj_get_param_b(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_be const& n)
+{
+ return _pj_get_param_b(pl, n);
+}
+template <typename Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_get_param_b(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_be const& )
+{
+ return _pj_get_param_b<Param>(pl);
+}
+
+//#define BOOST_GEOMETRY_GET_PARAM_B(PARAMS, NAME) pj_get_param_b(PARAMS, #NAME, srs::dpar::NAME)
+
+template <template <int> class Param>
+inline bool pj_param_i(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_i const& ,
+ int & par)
+{
+ return _pj_param_i(pl, sn, par);
+}
+template <template <int> class Param, typename T>
+inline bool pj_param_i(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_i const& n,
+ int & par)
+{
+ return _pj_param_i(pl, n, par);
+}
+template <template <int> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_param_i(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_i const& ,
+ int & par)
+{
+ return _pj_param_i<Param>(pl, par);
+}
+
+//#define BOOST_GEOMETRY_PARAM_I(PARAMS, NAME, PAR) pj_param_i(PARAMS, #NAME, srs::dpar::NAME, PAR)
+
+template <template <int> class Param>
+inline int pj_get_param_i(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_i const& )
+{
+ return _pj_get_param_i(pl, sn);
+}
+template <template <int> class Param, typename T>
+inline int pj_get_param_i(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_i const& n)
+{
+ return _pj_get_param_i(pl, n);
+}
+template <template <int> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline bool pj_get_param_i(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_i const& )
+{
+ return _pj_get_param_i<Param>(pl);
+}
+
+//#define BOOST_GEOMETRY_GET_PARAM_I(PARAMS, NAME) pj_get_param_i(PARAMS, #NAME, srs::dpar::NAME)
+
+template <template <typename> class Param, typename T>
+inline bool pj_param_f(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_f const& ,
+ T & par)
+{
+ return _pj_param_f(pl, sn, par);
+}
+template <template <typename> class Param, typename T>
+inline bool pj_param_f(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_f const& n,
+ T & par)
+{
+ return _pj_param_f(pl, n, par);
+}
+template <template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
+inline bool pj_param_f(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_f const& ,
+ T & par)
+{
+ return _pj_param_f<Param>(pl, par);
+}
+
+//#define BOOST_GEOMETRY_PARAM_F(PARAMS, NAME, PAR) pj_param_f(PARAMS, #NAME, srs::dpar::NAME, PAR)
+
+template <typename T, template <typename> class Param>
+inline T pj_get_param_f(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_f const& )
+{
+ return _pj_get_param_f<T>(pl, sn);
+}
+template <typename T, template <typename> class Param>
+inline T pj_get_param_f(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_f const& n)
+{
+ return _pj_get_param_f<T>(pl, n);
+}
+template <typename T, template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline T pj_get_param_f(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_f const& )
+{
+ return _pj_get_param_f<T, Param>(pl);
+}
+
+
+//#define BOOST_GEOMETRY_GET_PARAM_F(PARAMS, NAME) pj_get_param_f<T>(PARAMS, #NAME, srs::dpar::NAME)
+
+template <template <typename> class Param, typename T>
+inline bool pj_param_r(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_r const& ,
+ T & par)
+{
+ return _pj_param_r(pl, sn, par);
+}
+template <template <typename> class Param, typename T>
+inline bool pj_param_r(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_r const& n,
+ T & par)
+{
+ return _pj_param_r(pl, n, par);
+}
+template <template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename T>
+inline bool pj_param_r(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_r const& ,
+ T & par)
+{
+ return _pj_param_r<Param>(pl, par);
+}
+
+//#define BOOST_GEOMETRY_PARAM_R(PARAMS, NAME, PAR) pj_param_r(PARAMS, #NAME, srs::dpar::NAME, PAR)
+
+template <typename T, template <typename> class Param>
+inline T pj_get_param_r(srs::detail::proj4_parameters const& pl,
+ std::string const& sn,
+ srs::dpar::name_r const& )
+{
+ return _pj_get_param_r<T>(pl, sn);
+}
+template <typename T, template <typename> class Param>
+inline T pj_get_param_r(srs::dpar::parameters<T> const& pl,
+ std::string const& ,
+ srs::dpar::name_r const& n)
+{
+ return _pj_get_param_r<T>(pl, n);
+}
+template <typename T, template <typename> class Param, BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+inline T pj_get_param_r(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& pl,
+ std::string const& ,
+ srs::dpar::name_r const& )
+{
+ return _pj_get_param_r<T, Param>(pl);
+}
+
+//#define BOOST_GEOMETRY_GET_PARAM_R(PARAMS, NAME) pj_get_param_r<T>(PARAMS, #NAME, srs::dpar::NAME)
+
} // namespace detail
}}} // namespace boost::geometry::projections
diff --git a/boost/geometry/srs/projections/impl/pj_strerrno.hpp b/boost/geometry/srs/projections/impl/pj_strerrno.hpp
index 418bea9266..6886da906e 100644
--- a/boost/geometry/srs/projections/impl/pj_strerrno.hpp
+++ b/boost/geometry/srs/projections/impl/pj_strerrno.hpp
@@ -34,6 +34,70 @@ namespace boost { namespace geometry { namespace projections
namespace detail
{
+// Originally defined in projects.hpp
+/* library errors */
+enum error_type
+{
+ error_no_args = -1,
+ error_no_option_in_init_file = -2,
+ error_no_colon_in_init_string = -3,
+ error_proj_not_named = -4,
+ error_unknown_projection_id = -5,
+ error_eccentricity_is_one = -6,
+ error_unknow_unit_id = -7,
+ error_invalid_boolean_param = -8,
+ error_unknown_ellp_param = -9,
+ error_rev_flattening_is_zero = -10,
+ error_ref_rad_larger_than_90 = -11,
+ error_es_less_than_zero = -12,
+ error_major_axis_not_given = -13,
+ error_lat_or_lon_exceed_limit = -14,
+ error_invalid_x_or_y = -15,
+ error_wrong_format_dms_value = -16,
+ error_non_conv_inv_meri_dist = -17,
+ error_non_con_inv_phi2 = -18,
+ error_acos_asin_arg_too_large = -19,
+ error_tolerance_condition = -20,
+ error_conic_lat_equal = -21,
+ error_lat_larger_than_90 = -22,
+ error_lat1_is_zero = -23,
+ error_lat_ts_larger_than_90 = -24,
+ error_control_point_no_dist = -25,
+ error_no_rotation_proj = -26,
+ error_w_or_m_zero_or_less = -27,
+ error_lsat_not_in_range = -28,
+ error_path_not_in_range = -29,
+ error_h_less_than_zero = -30,
+ error_k_less_than_zero = -31,
+ error_lat_1_or_2_zero_or_90 = -32,
+ error_lat_0_or_alpha_eq_90 = -33,
+ error_ellipsoid_use_required = -34,
+ error_invalid_utm_zone = -35,
+ error_tcheby_val_out_of_range = -36,
+ error_failed_to_find_proj = -37,
+ error_failed_to_load_grid = -38,
+ error_invalid_m_or_n = -39,
+ error_n_out_of_range = -40,
+ error_lat_1_2_unspecified = -41,
+ error_abs_lat1_eq_abs_lat2 = -42,
+ error_lat_0_half_pi_from_mean = -43,
+ error_unparseable_cs_def = -44,
+ error_geocentric = -45,
+ error_unknown_prime_meridian = -46,
+ error_axis = -47,
+ error_grid_area = -48,
+ error_invalid_sweep_axis = -49,
+ error_malformed_pipeline = -50,
+ error_unit_factor_less_than_0 = -51,
+ error_invalid_scale = -52,
+ error_non_convergent = -53,
+ error_missing_args = -54,
+ error_lat_0_is_zero = -55,
+ error_ellipsoidal_unsupported = -56,
+ error_too_many_inits = -57,
+ error_invalid_arg = -58
+};
+
static const char *
pj_err_list[] = {
"no arguments in initialization list", /* -1 */
diff --git a/boost/geometry/srs/projections/impl/pj_transform.hpp b/boost/geometry/srs/projections/impl/pj_transform.hpp
index bccf150db0..1be984556b 100644
--- a/boost/geometry/srs/projections/impl/pj_transform.hpp
+++ b/boost/geometry/srs/projections/impl/pj_transform.hpp
@@ -743,8 +743,7 @@ inline bool pj_compare_datums( Par & srcdefn, Par & dstdefn )
}
else if( srcdefn.datum_type == datum_gridshift )
{
- return pj_get_param_s(srcdefn.params,"nadgrids")
- == pj_get_param_s(dstdefn.params,"nadgrids");
+ return srcdefn.nadgrids == dstdefn.nadgrids;
}
else
return true;
@@ -888,10 +887,14 @@ inline bool pj_datum_transform(Par const& srcdefn,
Grids const& dstgrids)
{
- static const double wgs84_a = 6378137.0;
- static const double wgs84_es = 0.0066943799901413165;
-
typedef typename Par::type calc_t;
+
+ // This has to be consistent with default spheroid and pj_ellps
+ // TODO: Define in one place
+ static const calc_t wgs84_a = 6378137.0;
+ static const calc_t wgs84_b = 6356752.3142451793;
+ static const calc_t wgs84_es = 1. - (wgs84_b * wgs84_b) / (wgs84_a * wgs84_a);
+
bool result = true;
calc_t src_a, src_es, dst_a, dst_es;
diff --git a/boost/geometry/srs/projections/impl/pj_units.hpp b/boost/geometry/srs/projections/impl/pj_units.hpp
index 98e1fa4c9f..9be92977cf 100644
--- a/boost/geometry/srs/projections/impl/pj_units.hpp
+++ b/boost/geometry/srs/projections/impl/pj_units.hpp
@@ -49,6 +49,8 @@ struct pj_units_type
{
std::string id; /* units keyword */
std::string to_meter; /* multiply by value to get meters */
+ double numerator;
+ double denominator;
std::string name; /* comments */
};
@@ -58,27 +60,27 @@ struct pj_units_type
static const pj_units_type pj_units[] =
{
- { "km", "1000.", "Kilometer" },
- { "m", "1.", "Meter" },
- { "dm", "1/10", "Decimeter" },
- { "cm", "1/100", "Centimeter" },
- { "mm", "1/1000", "Millimeter" },
- { "kmi", "1852.0", "International Nautical Mile" },
- { "in", "0.0254", "International Inch" },
- { "ft", "0.3048", "International Foot" },
- { "yd", "0.9144", "International Yard" },
- { "mi", "1609.344", "International Statute Mile" },
- { "fath", "1.8288", "International Fathom" },
- { "ch", "20.1168", "International Chain" },
- { "link", "0.201168", "International Link" },
- { "us-in", "1./39.37", "U.S. Surveyor's Inch" },
- { "us-ft", "0.304800609601219", "U.S. Surveyor's Foot" },
- { "us-yd", "0.914401828803658", "U.S. Surveyor's Yard" },
- { "us-ch", "20.11684023368047", "U.S. Surveyor's Chain" },
- { "us-mi", "1609.347218694437", "U.S. Surveyor's Statute Mile" },
- { "ind-yd", "0.91439523", "Indian Yard" },
- { "ind-ft", "0.30479841", "Indian Foot" },
- { "ind-ch", "20.11669506", "Indian Chain" }
+ { "km", "1000.", 1000.0, 1.0, "Kilometer" },
+ { "m", "1.", 1.0, 1.0, "Meter" },
+ { "dm", "1/10", 1.0, 10.0, "Decimeter" },
+ { "cm", "1/100", 1.0, 100.0, "Centimeter" },
+ { "mm", "1/1000", 1.0, 1000.0, "Millimeter" },
+ { "kmi", "1852.", 1852.0, 1.0, "International Nautical Mile" },
+ { "in", "0.0254", 0.0254, 1.0, "International Inch" },
+ { "ft", "0.3048", 0.3048, 1.0, "International Foot" },
+ { "yd", "0.9144", 0.9144, 1.0, "International Yard" },
+ { "mi", "1609.344", 1609.344, 1.0, "International Statute Mile" },
+ { "fath", "1.8288", 1.8288, 1.0, "International Fathom" },
+ { "ch", "20.1168", 20.1168, 1.0, "International Chain" },
+ { "link", "0.201168", 0.201168, 1.0, "International Link" },
+ { "us-in", "1./39.37", 1.0, 39.37, "U.S. Surveyor's Inch" },
+ { "us-ft", "0.304800609601219", 0.304800609601219, 1.0, "U.S. Surveyor's Foot" },
+ { "us-yd", "0.914401828803658", 0.914401828803658, 1.0, "U.S. Surveyor's Yard" },
+ { "us-ch", "20.11684023368047", 20.11684023368047, 1.0, "U.S. Surveyor's Chain" },
+ { "us-mi", "1609.347218694437", 1609.347218694437, 1.0, "U.S. Surveyor's Statute Mile" },
+ { "ind-yd", "0.91439523", 0.91439523, 1.0, "Indian Yard" },
+ { "ind-ft", "0.30479841", 0.30479841, 1.0, "Indian Foot" },
+ { "ind-ch", "20.11669506", 20.11669506, 1.0, "Indian Chain" }
};
} // detail
diff --git a/boost/geometry/srs/projections/impl/projects.hpp b/boost/geometry/srs/projections/impl/projects.hpp
index 2f94ffd021..ecb1eeea82 100644
--- a/boost/geometry/srs/projections/impl/projects.hpp
+++ b/boost/geometry/srs/projections/impl/projects.hpp
@@ -46,6 +46,8 @@
#include <boost/config.hpp>
#include <boost/geometry/srs/projections/constants.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
+#include <boost/geometry/srs/projections/spar.hpp>
#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_pod.hpp>
@@ -67,77 +69,6 @@ enum datum_type
datum_wgs84 = 4 /* WGS84 (or anything considered equivelent) */
};
-/* library errors */
-enum error_type
-{
- error_no_args = -1,
- error_no_option_in_init_file = -2,
- error_no_colon_in_init_string = -3,
- error_proj_not_named = -4,
- error_unknown_projection_id = -5,
- error_eccentricity_is_one = -6,
- error_unknow_unit_id = -7,
- error_invalid_boolean_param = -8,
- error_unknown_ellp_param = -9,
- error_rev_flattening_is_zero = -10,
- error_ref_rad_larger_than_90 = -11,
- error_es_less_than_zero = -12,
- error_major_axis_not_given = -13,
- error_lat_or_lon_exceed_limit = -14,
- error_invalid_x_or_y = -15,
- error_wrong_format_dms_value = -16,
- error_non_conv_inv_meri_dist = -17,
- error_non_con_inv_phi2 = -18,
- error_acos_asin_arg_too_large = -19,
- error_tolerance_condition = -20,
- error_conic_lat_equal = -21,
- error_lat_larger_than_90 = -22,
- error_lat1_is_zero = -23,
- error_lat_ts_larger_than_90 = -24,
- error_control_point_no_dist = -25,
- error_no_rotation_proj = -26,
- error_w_or_m_zero_or_less = -27,
- error_lsat_not_in_range = -28,
- error_path_not_in_range = -29,
- error_h_less_than_zero = -30,
- error_k_less_than_zero = -31,
- error_lat_1_or_2_zero_or_90 = -32,
- error_lat_0_or_alpha_eq_90 = -33,
- error_ellipsoid_use_required = -34,
- error_invalid_utm_zone = -35,
- error_tcheby_val_out_of_range = -36,
- error_failed_to_find_proj = -37,
- error_failed_to_load_grid = -38,
- error_invalid_m_or_n = -39,
- error_n_out_of_range = -40,
- error_lat_1_2_unspecified = -41,
- error_abs_lat1_eq_abs_lat2 = -42,
- error_lat_0_half_pi_from_mean = -43,
- error_unparseable_cs_def = -44,
- error_geocentric = -45,
- error_unknown_prime_meridian = -46,
- error_axis = -47,
- error_grid_area = -48,
- error_invalid_sweep_axis = -49,
- error_malformed_pipeline = -50,
- error_unit_factor_less_than_0 = -51,
- error_invalid_scale = -52,
- error_non_convergent = -53,
- error_missing_args = -54,
- error_lat_0_is_zero = -55,
- error_ellipsoidal_unsupported = -56,
- error_too_many_inits = -57,
- error_invalid_arg = -58
-};
-
-template <typename T>
-struct pvalue
-{
- std::string param;
- std::string s;
- //int used;
-};
-
// Originally defined in proj_internal.h
//enum pj_io_units {
// pj_io_units_whatever = 0, /* Doesn't matter (or depends on pipeline neighbours) */
@@ -190,8 +121,9 @@ struct pj_consts
// D A T U M S A N D H E I G H T S Y S T E M S
- detail::datum_type datum_type; /* PJD_UNKNOWN/3PARAM/7PARAM/GRIDSHIFT/WGS84 */
- T datum_params[7]; /* Parameters for 3PARAM and 7PARAM */
+ detail::datum_type datum_type; /* PJD_UNKNOWN/3PARAM/7PARAM/GRIDSHIFT/WGS84 */
+ srs::detail::towgs84<T> datum_params; /* Parameters for 3PARAM and 7PARAM */
+ srs::detail::nadgrids nadgrids; /* Names of horozontal grid files. */
T from_greenwich; /* prime meridian offset (in radians) */
T long_wrap_center; /* 0.0 for -180 to 180, actually in radians*/
@@ -209,15 +141,8 @@ struct pj_consts
, x0(0), y0(0)/*, z0(0), t0(0)*/
, k0(0) , to_meter(0), fr_meter(0), vto_meter(0), vfr_meter(0)
, datum_type(datum_unknown)
-#if !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && (!defined(_MSC_VER) || (_MSC_VER >= 1900)) // workaround for VC++ 12 (aka 2013)
- , datum_params{0, 0, 0, 0, 0, 0, 0}
-#endif
, from_greenwich(0), long_wrap_center(0), is_long_wrap_set(false)
- {
-#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) || (defined(_MSC_VER) && (_MSC_VER < 1900)) // workaround for VC++ 12 (aka 2013)
- std::fill(datum_params, datum_params + 7, T(0));
-#endif
- }
+ {}
};
// PROJ4 complex. Might be replaced with std::complex
@@ -237,8 +162,32 @@ struct parameters : public detail::pj_consts<T>
{
typedef T type;
- std::string name;
- std::vector<detail::pvalue<T> > params;
+ struct proj_id
+ {
+ proj_id()
+ : id(srs::dpar::proj_unknown)
+ {}
+
+ proj_id(srs::dpar::value_proj i)
+ : id(i)
+ {}
+
+ proj_id(std::string const& s)
+ : id(srs::dpar::proj_unknown)
+ , name(s)
+ {}
+
+ bool is_unknown() const
+ {
+ return id == srs::dpar::proj_unknown && name.empty();
+ }
+
+ // Either one of these is set:
+ srs::dpar::value_proj id; // id of projection
+ std::string name; // name of projection
+ };
+
+ proj_id id;
};
}}} // namespace boost::geometry::projections
diff --git a/boost/geometry/srs/projections/par4.hpp b/boost/geometry/srs/projections/par4.hpp
deleted file mode 100644
index 616939afc1..0000000000
--- a/boost/geometry/srs/projections/par4.hpp
+++ /dev/null
@@ -1,503 +0,0 @@
-// Boost.Geometry
-
-// Copyright (c) 2017-2018, Oracle and/or its affiliates.
-// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
-
-// Use, modification and distribution is subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_GEOMETRY_SRS_PROJECTIONS_PAR4_HPP
-#define BOOST_GEOMETRY_SRS_PROJECTIONS_PAR4_HPP
-
-
-#include <boost/geometry/core/tag.hpp>
-#include <boost/geometry/core/tags.hpp>
-
-#include <boost/geometry/srs/sphere.hpp>
-#include <boost/geometry/srs/spheroid.hpp>
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-
-
-namespace boost { namespace geometry { namespace srs { namespace par4
-{
-
-// proj
-// defined in projections' implementation files
-
-// ellps
-struct MERIT {};
-struct SGS85 {};
-struct GRS80 {};
-struct IAU76 {};
-struct airy {};
-struct APL4_9 {};
-struct NWL9D {};
-struct mod_airy {};
-struct andrae {};
-struct aust_SA {};
-struct GRS67 {};
-struct bessel {};
-struct bess_nam {};
-struct clrk66 {};
-struct clrk80 {};
-struct clrk80ign {};
-struct CPM {};
-struct delmbr {};
-struct engelis {};
-struct evrst30 {};
-struct evrst48 {};
-struct evrst56 {};
-struct evrst69 {};
-struct evrstSS {};
-struct fschr60 {};
-struct fschr60m {};
-struct fschr68 {};
-struct helmert {};
-struct hough {};
-struct intl {};
-struct krass {};
-struct kaula {};
-struct lerch {};
-struct mprts {};
-struct new_intl {};
-struct plessis {};
-struct SEasia {};
-struct walbeck {};
-struct WGS60 {};
-struct WGS66 {};
-struct WGS72 {};
-struct WGS84 {};
-struct sphere {};
-
-// datum
-//struct WGS84 {}; // already defined above
-struct GGRS87 {};
-struct NAD83 {};
-struct NAD27 {};
-struct potsdam {};
-struct carthage {};
-struct hermannskogel {};
-struct ire65 {};
-struct nzgd49 {};
-struct OSGB36 {};
-
-template <typename P>
-struct proj
-{
- typedef P type;
-};
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail
-{
-
-template
-<
- typename E,
- typename Tag = typename geometry::tag<E>::type
->
-struct ellps_impl
- : private E // empty base optimization
-{
- typedef E type;
-
- ellps_impl() : E() {}
- explicit ellps_impl(E const& e) : E(e) {}
-
- E const& model() const { return *this; }
-};
-
-template <typename E>
-struct ellps_impl<E, void>
-{
- typedef E type;
-};
-
-} // namespace detail
-#endif // DOXYGEN_NO_DETAIL
-
-template<typename E>
-struct ellps
- : par4::detail::ellps_impl<E>
-{
- ellps() {}
- explicit ellps(E const& e)
- : par4::detail::ellps_impl<E>(e)
- {}
-};
-
-template <typename D>
-struct datum
-{
- typedef D type;
-};
-
-template <typename P>
-struct o_proj
-{
- typedef P type;
-};
-
-struct guam {};
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail
-{
-
-inline double b_from_a_rf(double a, double rf)
-{
- return a * (1.0 - 1.0 / rf);
-}
-
-template
-<
- typename Ellps,
- typename Tag = typename geometry::tag<typename Ellps::type>::type
->
-struct ellps_traits
-{
- typedef typename Ellps::type model_type;
- static model_type model(Ellps const& e) { return e.model(); }
-};
-
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B(NAME, A, B) \
-template <> \
-struct ellps_traits<ellps<par4::NAME>, void> \
-{ \
- typedef srs::spheroid<double> model_type; \
- static model_type model(ellps<par4::NAME> const&) { return model_type(A, B); } \
-};
-
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(NAME, A, RF) \
-template <> \
-struct ellps_traits<ellps<par4::NAME>, void> \
-{ \
- typedef srs::spheroid<double> model_type; \
- static model_type model(ellps<par4::NAME> const&) { return model_type(A, b_from_a_rf(A, RF)); } \
-};
-
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SPHERE(NAME, R) \
-template <> \
-struct ellps_traits<ellps<par4::NAME>, void> \
-{ \
- typedef srs::sphere<double> model_type; \
- static model_type model(ellps<par4::NAME> const&) { return model_type(R); } \
-};
-
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(MERIT, 6378137.0, 298.257)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(SGS85, 6378136.0, 298.257)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(GRS80, 6378137.0, 298.257222101)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(IAU76, 6378140.0, 298.257)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (airy, 6377563.396, 6356256.910)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(APL4_9, 6378137.0, 298.25)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(NWL9D, 6378145.0, 298.25)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (mod_airy, 6377340.189, 6356034.446)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(andrae, 6377104.43, 300.0)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(aust_SA, 6378160.0, 298.25)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(GRS67, 6378160.0, 298.2471674270)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(bessel, 6377397.155, 299.1528128)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(bess_nam, 6377483.865, 299.1528128)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (clrk66, 6378206.4, 6356583.8)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(clrk80, 6378249.145, 293.4663)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(clrk80ign, 6378249.2, 293.4660212936269)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(CPM, 6375738.7, 334.29)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(delmbr, 6376428.0, 311.5)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(engelis, 6378136.05, 298.2566)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(evrst30, 6377276.345, 300.8017)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(evrst48, 6377304.063, 300.8017)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(evrst56, 6377301.243, 300.8017)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(evrst69, 6377295.664, 300.8017)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(evrstSS, 6377298.556, 300.8017)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(fschr60, 6378166.0, 298.3)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(fschr60m, 6378155.0, 298.3)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(fschr68, 6378150.0, 298.3)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(helmert, 6378200.0, 298.3)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(hough, 6378270.0, 297.0)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(intl, 6378388.0, 297.0)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(krass, 6378245.0, 298.3)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(kaula, 6378163.0, 298.24)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(lerch, 6378139.0, 298.257)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(mprts, 6397300.0, 191.0)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (new_intl, 6378157.5, 6356772.2)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (plessis, 6376523.0, 6355863.0)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (SEasia, 6378155.0, 6356773.3205)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_B (walbeck, 6376896.0, 6355834.8467)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(WGS60, 6378165.0, 298.3)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(WGS66, 6378145.0, 298.25)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(WGS72, 6378135.0, 298.26)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS_A_RF(WGS84, 6378137.0, 298.257223563)
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SPHERE (sphere, 6370997.0)
-
-
-template <typename D>
-struct datum_traits
-{
- typedef void ellps_type;
- static std::string id() { return ""; }
- static std::string def_n() { return ""; }
- static std::string def_v() { return ""; }
-};
-
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(NAME, ID, ELLPS, DEF_N, DEF_V) \
-template <> \
-struct datum_traits< datum<par4::NAME> > \
-{ \
- typedef par4::ellps<par4::ELLPS> ellps_type; \
- static std::string id() { return ID; } \
- static std::string def_n() { return DEF_N; } \
- static std::string def_v() { return DEF_V; } \
-};
-
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(WGS84, "WGS84", WGS84, "towgs84", "0,0,0")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(GGRS87, "GGRS87", GRS80, "towgs84", "-199.87,74.79,246.62")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(NAD83, "NAD83", GRS80, "towgs84", "0,0,0")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(NAD27, "NAD27", clrk66, "nadgrids", "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(potsdam, "potsdam", bessel, "towgs84", "598.1,73.7,418.2,0.202,0.045,-2.455,6.7")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(carthage, "carthage", clrk80ign, "towgs84", "-263.0,6.0,431.0")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(hermannskogel, "hermannskogel", bessel, "towgs84", "577.326,90.129,463.919,5.137,1.474,5.297,2.4232")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(ire65, "ire65", mod_airy, "towgs84", "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(nzgd49, "nzgd49", intl, "towgs84", "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993")
-BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(OSGB36, "OSGB36", airy, "towgs84", "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894")
-
-
-template
-<
- typename Tuple,
- template <typename> class IsSamePred,
- int I = 0,
- int N = boost::tuples::length<Tuple>::value
->
-struct tuples_find_index_if
- : boost::mpl::if_c
- <
- IsSamePred<typename boost::tuples::element<I, Tuple>::type>::value,
- boost::integral_constant<int, I>,
- typename tuples_find_index_if<Tuple, IsSamePred, I+1, N>::type
- >::type
-{};
-
-template
-<
- typename Tuple,
- template <typename> class IsSamePred,
- int N
->
-struct tuples_find_index_if<Tuple, IsSamePred, N, N>
- : boost::integral_constant<int, N>
-{};
-
-template
-<
- typename Tuple,
- template <typename> class IsSamePred,
- int I = tuples_find_index_if<Tuple, IsSamePred>::value,
- int N = boost::tuples::length<Tuple>::value
->
-struct tuples_find_if
- : boost::tuples::element<I, Tuple>
-{};
-
-template
-<
- typename Tuple,
- template <typename> class IsSamePred,
- int N
->
-struct tuples_find_if<Tuple, IsSamePred, N, N>
-{
- typedef void type;
-};
-
-/*template <typename Param>
-struct is_param
-{
- template <typename T, int D = 0>
- struct is_same_impl : boost::false_type {};
- template <int D>
- struct is_same_impl<Param, D> : boost::true_type {};
-
- template <typename T>
- struct is_same : is_same_impl<T> {};
-};
-
-template <template <typename> class Param>
-struct is_param_t
-{
- template <typename T>
- struct is_same : boost::false_type {};
- template <typename T>
- struct is_same<Param<T> > : boost::true_type {};
-};*/
-
-// NOTE: The following metafunctions are implemented one for each parameter
-// because mingw-gcc-4.1.2 is unable to compile a solution based on template
-// template parameter and member struct template partial specialization
-// (see above).
-
-/*template <typename T>
-struct is_proj : boost::false_type {};
-template <typename T>
-struct is_proj<proj<T> > : boost::true_type {};
-
-template <typename T>
-struct is_ellps : boost::false_type {};
-template <typename T>
-struct is_ellps<ellps<T> > : boost::true_type {};
-
-template <typename T>
-struct is_datum : boost::false_type {};
-template <typename T>
-struct is_datum<datum<T> > : boost::true_type {};
-
-template <typename T>
-struct is_o_proj : boost::false_type {};
-template <typename T>
-struct is_o_proj<o_proj<T> > : boost::true_type {};
-
-template <typename T>
-struct is_guam : boost::false_type {};
-template <>
-struct is_guam<guam> : boost::true_type {};*/
-
-// NOTE: The following implementation seems to work as well.
-
-// TEST
-
-template <typename T, template <typename> class Param>
-struct is_same_t : boost::false_type {};
-template <typename T, template <typename> class Param>
-struct is_same_t<Param<T>, Param> : boost::true_type {};
-
-template <typename Param>
-struct is_param
-{
- template <typename T>
- struct pred : boost::is_same<T, Param> {};
-};
-
-template <template <typename> class Param>
-struct is_param_t
-{
- template <typename T>
- struct pred : is_same_t<T, Param> {};
-};
-
-// pick proj static name
-
-template <typename Tuple>
-struct pick_proj_tag
-{
- typedef typename tuples_find_if
- <
- Tuple,
- // is_proj
- is_param_t<proj>::pred
- >::type proj_type;
-
- static const bool is_non_void = ! boost::is_void<proj_type>::value;
-
- BOOST_MPL_ASSERT_MSG((is_non_void), PROJECTION_NOT_NAMED, (Tuple));
-
- typedef typename proj_type::type type;
-};
-
-
-template <typename Ellps, typename Datum, int EllpsIndex>
-struct pick_ellps_impl
-{
- typedef Ellps type;
- typedef typename ellps_traits<Ellps>::model_type model_type;
- template <typename Tuple>
- static model_type model(Tuple const& tup)
- {
- return ellps_traits<Ellps>::model(boost::get<EllpsIndex>(tup));
- }
-};
-
-template <typename Ellps, int EllpsIndex>
-struct pick_ellps_impl<Ellps, void, EllpsIndex>
-{
- typedef Ellps type;
- typedef typename ellps_traits<Ellps>::model_type model_type;
- template <typename Tuple>
- static model_type model(Tuple const& tup)
- {
- return ellps_traits<Ellps>::model(boost::get<EllpsIndex>(tup));
- }
-};
-
-template <typename Datum, int EllpsIndex>
-struct pick_ellps_impl<void, Datum, EllpsIndex>
-{
- typedef typename datum_traits<Datum>::ellps_type type;
-
- static const bool is_datum_known = ! boost::is_void<type>::value;
- BOOST_MPL_ASSERT_MSG((is_datum_known), UNKNOWN_DATUM, (types<Datum>));
-
- typedef typename ellps_traits<type>::model_type model_type;
- template <typename Tuple>
- static model_type model(Tuple const& )
- {
- return ellps_traits<type>::model(type());
- }
-};
-
-template <int EllpsIndex>
-struct pick_ellps_impl<void, void, EllpsIndex>
-{
- // default ellipsoid
- typedef ellps<WGS84> type;
- typedef typename ellps_traits<type>::model_type model_type;
- template <typename Tuple>
- static model_type model(Tuple const& )
- {
- return ellps_traits<type>::model(type());
- }
-};
-
-// Pick spheroid/sphere model from ellps or datum
-// mimic pj_init() calling pj_datum_set() and pj_ell_set()
-template <typename Tuple>
-struct pick_ellps
- : pick_ellps_impl
- <
- typename tuples_find_if<Tuple, /*is_ellps*/is_param_t<ellps>::pred>::type,
- typename tuples_find_if<Tuple, /*is_datum*/is_param_t<datum>::pred>::type,
- tuples_find_index_if<Tuple, /*is_ellps*/is_param_t<ellps>::pred>::value
- >
-{};
-
-
-template <typename Tuple>
-struct pick_o_proj_tag
-{
- typedef typename tuples_find_if
- <
- Tuple,
- //is_o_proj
- is_param_t<o_proj>::pred
- >::type proj_type;
-
- static const bool is_non_void = ! boost::is_void<proj_type>::value;
-
- BOOST_MPL_ASSERT_MSG((is_non_void), NO_O_PROJ_PARAMETER, (Tuple));
-
- typedef typename proj_type::type type;
-};
-
-
-} // namespace detail
-#endif // DOXYGEN_NO_DETAIL
-
-
-}}}} // namespace boost::geometry::srs::par4
-
-
-#endif // BOOST_GEOMETRY_SRS_PROJECTIONS_PAR4_HPP
diff --git a/boost/geometry/srs/projections/par_data.hpp b/boost/geometry/srs/projections/par_data.hpp
new file mode 100644
index 0000000000..17644e2157
--- /dev/null
+++ b/boost/geometry/srs/projections/par_data.hpp
@@ -0,0 +1,195 @@
+// Boost.Geometry
+
+// Copyright (c) 2018, Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_GEOMETRY_SRS_PROJECTIONS_PAR_DATA_HPP
+#define BOOST_GEOMETRY_SRS_PROJECTIONS_PAR_DATA_HPP
+
+#include <boost/config.hpp>
+#include <string>
+#include <vector>
+
+namespace boost { namespace geometry { namespace srs
+{
+
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail
+{
+
+struct nadgrids
+ : std::vector<std::string>
+{
+ typedef std::vector<std::string> base_t;
+
+ nadgrids()
+ {}
+
+ template <typename It>
+ nadgrids(It first, It last)
+ : base_t(first, last)
+ {}
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ nadgrids(std::initializer_list<std::string> l)
+ : base_t(l)
+ {}
+#endif
+
+ nadgrids(std::string const& g0)
+ : base_t(1)
+ {
+ base_t& d = *this;
+ d[0] = g0;
+ }
+ nadgrids(std::string const& g0, std::string const& g1)
+ : base_t(2)
+ {
+ base_t& d = *this;
+ d[0] = g0; d[1] = g1;
+ }
+ nadgrids(std::string const& g0, std::string const& g1, std::string const& g2)
+ : base_t(3)
+ {
+ base_t& d = *this;
+ d[0] = g0; d[1] = g1; d[2] = g2;
+ }
+ nadgrids(std::string const& g0, std::string const& g1, std::string const& g2, std::string const& g3)
+ : base_t(4)
+ {
+ base_t& d = *this;
+ d[0] = g0; d[1] = g1; d[2] = g2; d[3] = g3;
+ }
+ nadgrids(std::string const& g0, std::string const& g1, std::string const& g2, std::string const& g3, std::string const& g4)
+ : base_t(5)
+ {
+ base_t& d = *this;
+ d[0] = g0; d[1] = g1; d[2] = g2; d[3] = g3; d[4] = g4;
+ }
+};
+
+template <typename T = double>
+struct towgs84
+{
+ static const std::size_t static_capacity = 7;
+
+ typedef std::size_t size_type;
+ typedef T value_type;
+ typedef T* iterator;
+ typedef const T* const_iterator;
+ typedef T& reference;
+ typedef const T& const_reference;
+
+ towgs84()
+ : m_size(0)
+#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+ , m_data{0, 0, 0, 0, 0, 0, 0}
+#endif
+ {
+#ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+ std::fill(m_data, m_data + 7, T(0));
+#endif
+ }
+
+ template <typename It>
+ towgs84(It first, It last)
+ {
+ assign(first, last);
+ }
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ towgs84(std::initializer_list<T> l)
+ {
+ assign(l.begin(), l.end());
+ }
+#endif
+
+ towgs84(T const& v0, T const& v1, T const& v2)
+ : m_size(3)
+ {
+ m_data[0] = v0;
+ m_data[1] = v1;
+ m_data[2] = v2;
+ }
+
+ towgs84(T const& v0, T const& v1, T const& v2, T const& v3, T const& v4, T const& v5, T const& v6)
+ : m_size(7)
+ {
+ m_data[0] = v0;
+ m_data[1] = v1;
+ m_data[2] = v2;
+ m_data[3] = v3;
+ m_data[4] = v4;
+ m_data[5] = v5;
+ m_data[6] = v6;
+ }
+
+ void push_back(T const& v)
+ {
+ BOOST_GEOMETRY_ASSERT(m_size < static_capacity);
+ m_data[m_size] = v;
+ ++m_size;
+ }
+
+ template <typename It>
+ void assign(It first, It last)
+ {
+ for (m_size = 0 ; first != last && m_size < 7 ; ++first, ++m_size)
+ m_data[m_size] = *first;
+ }
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ void assign(std::initializer_list<T> l)
+ {
+ assign(l.begin(), l.end());
+ }
+#endif
+
+ const_reference operator[](size_type i) const
+ {
+ BOOST_GEOMETRY_ASSERT(i < m_size);
+ return m_data[i];
+ }
+
+ reference operator[](size_type i)
+ {
+ BOOST_GEOMETRY_ASSERT(i < m_size);
+ return m_data[i];
+ }
+
+ size_type size() const
+ {
+ return m_size;
+ }
+
+ bool empty() const
+ {
+ return m_size == 0;
+ }
+
+ void clear()
+ {
+ m_size = 0;
+ }
+
+ iterator begin() { return m_data; }
+ iterator end() { return m_data + m_size; }
+ const_iterator begin() const { return m_data; }
+ const_iterator end() const { return m_data + m_size; }
+
+private:
+ size_type m_size;
+ T m_data[7];
+};
+
+} // namespace detail
+#endif // DOXYGEN_NO_DETAIL
+
+}}} // namespace boost::geometry::srs
+
+
+#endif // BOOST_GEOMETRY_SRS_PROJECTIONS_SPAR_HPP
diff --git a/boost/geometry/srs/projections/proj/aea.hpp b/boost/geometry/srs/projections/proj/aea.hpp
index 6deb9a8163..42c2cc9aff 100644
--- a/boost/geometry/srs/projections/proj/aea.hpp
+++ b/boost/geometry/srs/projections/proj/aea.hpp
@@ -57,19 +57,13 @@
#include <boost/geometry/srs/projections/impl/factory_entry.hpp>
#include <boost/geometry/srs/projections/impl/pj_mlfn.hpp>
#include <boost/geometry/srs/projections/impl/pj_msfn.hpp>
+#include <boost/geometry/srs/projections/impl/pj_param.hpp>
#include <boost/geometry/srs/projections/impl/pj_qsfn.hpp>
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct aea {};
- struct leac {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -134,7 +128,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid & spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T rho = this->m_proj_parm.c - (this->m_proj_parm.ellips
? this->m_proj_parm.n * pj_qsfn(sin(lp_lat), this->m_par.e, this->m_par.one_es)
@@ -148,7 +142,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid & spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -186,7 +180,7 @@ namespace projections
};
template <typename Parameters, typename T>
- inline void setup(Parameters& par, par_aea<T>& proj_parm)
+ inline void setup(Parameters const& par, par_aea<T>& proj_parm)
{
T cosphi, sinphi;
int secant;
@@ -231,22 +225,36 @@ namespace projections
// Albers Equal Area
- template <typename Parameters, typename T>
- inline void setup_aea(Parameters& par, par_aea<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_aea(Params const& params, Parameters const& par, par_aea<T>& proj_parm)
{
- proj_parm.phi1 = pj_get_param_r(par.params, "lat_1");
- proj_parm.phi2 = pj_get_param_r(par.params, "lat_2");
+ proj_parm.phi1 = 0.0;
+ proj_parm.phi2 = 0.0;
+ bool is_phi1_set = pj_param_r<srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1, proj_parm.phi1);
+ bool is_phi2_set = pj_param_r<srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2, proj_parm.phi2);
+
+ // Boost.Geometry specific, set default parameters manually
+ if (! is_phi1_set || ! is_phi2_set) {
+ bool const use_defaults = ! pj_get_param_b<srs::spar::no_defs>(params, "no_defs", srs::dpar::no_defs);
+ if (use_defaults) {
+ if (!is_phi1_set)
+ proj_parm.phi1 = 29.5;
+ if (!is_phi2_set)
+ proj_parm.phi2 = 45.5;
+ }
+ }
+
setup(par, proj_parm);
}
// Lambert Equal Area Conic
- template <typename Parameters, typename T>
- inline void setup_leac(Parameters& par, par_aea<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_leac(Params const& params, Parameters const& par, par_aea<T>& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
- proj_parm.phi2 = pj_get_param_r(par.params, "lat_1");
- proj_parm.phi1 = pj_get_param_b(par.params, "south") ? -half_pi : half_pi;
+ proj_parm.phi2 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
+ proj_parm.phi1 = pj_get_param_b<srs::spar::south>(params, "south", srs::dpar::south) ? -half_pi : half_pi;
setup(par, proj_parm);
}
@@ -272,9 +280,11 @@ namespace projections
template <typename T, typename Parameters>
struct aea_ellipsoid : public detail::aea::base_aea_ellipsoid<T, Parameters>
{
- inline aea_ellipsoid(const Parameters& par) : detail::aea::base_aea_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline aea_ellipsoid(Params const& params, Parameters const& par)
+ : detail::aea::base_aea_ellipsoid<T, Parameters>(par)
{
- detail::aea::setup_aea(this->m_par, this->m_proj_parm);
+ detail::aea::setup_aea(params, this->m_par, this->m_proj_parm);
}
};
@@ -297,9 +307,11 @@ namespace projections
template <typename T, typename Parameters>
struct leac_ellipsoid : public detail::aea::base_aea_ellipsoid<T, Parameters>
{
- inline leac_ellipsoid(const Parameters& par) : detail::aea::base_aea_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline leac_ellipsoid(Params const& params, Parameters const& par)
+ : detail::aea::base_aea_ellipsoid<T, Parameters>(par)
{
- detail::aea::setup_leac(this->m_par, this->m_proj_parm);
+ detail::aea::setup_leac(params, this->m_par, this->m_proj_parm);
}
};
@@ -308,35 +320,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::aea, aea_ellipsoid, aea_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::leac, leac_ellipsoid, leac_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_aea, aea_ellipsoid, aea_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_leac, leac_ellipsoid, leac_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class aea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<aea_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class leac_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<leac_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(aea_entry, aea_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(leac_entry, leac_ellipsoid)
- template <typename T, typename Parameters>
- inline void aea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(aea_init)
{
- factory.add_to_factory("aea", new aea_entry<T, Parameters>);
- factory.add_to_factory("leac", new leac_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(aea, aea_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(leac, leac_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/aeqd.hpp b/boost/geometry/srs/projections/proj/aeqd.hpp
index cfc6860797..b45146eac4 100644
--- a/boost/geometry/srs/projections/proj/aeqd.hpp
+++ b/boost/geometry/srs/projections/proj/aeqd.hpp
@@ -57,20 +57,11 @@
#include <boost/geometry/srs/projections/impl/aasincos.hpp>
#include <boost/geometry/srs/projections/impl/pj_mlfn.hpp>
-#include <boost/geometry/srs/projections/par4.hpp>
-
#include <boost/type_traits/is_same.hpp>
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct aeqd {};
- //struct aeqd_guam {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -102,7 +93,7 @@ namespace projections
};
template <typename T, typename Par, typename ProjParm>
- inline void e_forward(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y, Par const& par, ProjParm const& proj_parm)
+ inline void e_forward(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y, Par const& par, ProjParm const& proj_parm)
{
T coslam, cosphi, sinphi, rho;
//T azi1, s12;
@@ -143,7 +134,7 @@ namespace projections
}
template <typename T, typename Par, typename ProjParm>
- inline void e_inverse(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat, Par const& par, ProjParm const& proj_parm)
+ inline void e_inverse(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat, Par const& par, ProjParm const& proj_parm)
{
T c;
@@ -175,7 +166,7 @@ namespace projections
}
template <typename T, typename Par, typename ProjParm>
- inline void e_guam_fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y, Par const& par, ProjParm const& proj_parm)
+ inline void e_guam_fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y, Par const& par, ProjParm const& proj_parm)
{
T cosphi, sinphi, t;
@@ -188,7 +179,7 @@ namespace projections
}
template <typename T, typename Par, typename ProjParm>
- inline void e_guam_inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat, Par const& par, ProjParm const& proj_parm)
+ inline void e_guam_inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat, Par const& par, ProjParm const& proj_parm)
{
T x2, t = 0.0;
int i;
@@ -204,7 +195,7 @@ namespace projections
}
template <typename T, typename Par, typename ProjParm>
- inline void s_forward(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y, Par const& /*par*/, ProjParm const& proj_parm)
+ inline void s_forward(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y, Par const& /*par*/, ProjParm const& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
@@ -247,7 +238,7 @@ namespace projections
}
template <typename T, typename Par, typename ProjParm>
- inline void s_inverse(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat, Par const& par, ProjParm const& proj_parm)
+ inline void s_inverse(T xy_x, T xy_y, T& lp_lon, T& lp_lat, Par const& par, ProjParm const& proj_parm)
{
static const T pi = detail::pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -287,12 +278,12 @@ namespace projections
}
// Azimuthal Equidistant
- template <typename Parameters, typename T>
- inline void setup_aeqd(Parameters& par, par_aeqd<T>& proj_parm, bool is_sphere, bool is_guam)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_aeqd(Params const& params, Parameters& par, par_aeqd<T>& proj_parm, bool is_sphere, bool is_guam)
{
static const T half_pi = detail::half_pi<T>();
- par.phi0 = pj_get_param_r(par.params, "lat_0");
+ par.phi0 = pj_get_param_r<T, srs::spar::lat_0>(params, "lat_0", srs::dpar::lat_0);
if (fabs(fabs(par.phi0) - half_pi) < epsilon10) {
proj_parm.mode = par.phi0 < 0. ? s_pole : n_pole;
proj_parm.sinph0 = par.phi0 < 0. ? -1. : 1.;
@@ -347,14 +338,14 @@ namespace projections
// FORWARD(e_forward) elliptical
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
e_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_par, this->m_proj_parm);
}
// INVERSE(e_inverse) elliptical
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
e_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_par, this->m_proj_parm);
}
@@ -379,14 +370,14 @@ namespace projections
// FORWARD(e_guam_fwd) Guam elliptical
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
e_guam_fwd(lp_lon, lp_lat, xy_x, xy_y, this->m_par, this->m_proj_parm);
}
// INVERSE(e_guam_inv) Guam elliptical
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
e_guam_inv(xy_x, xy_y, lp_lon, lp_lat, this->m_par, this->m_proj_parm);
}
@@ -407,11 +398,11 @@ namespace projections
static const bool is_guam = ! boost::is_same
<
- typename srs::par4::detail::tuples_find_if
+ typename srs::spar::detail::tuples_find_if
<
BGParameters,
//srs::par4::detail::is_guam
- srs::par4::detail::is_param<srs::par4::guam>::pred
+ srs::spar::detail::is_param<srs::spar::guam>::pred
>::type,
void
>::value;
@@ -422,7 +413,7 @@ namespace projections
// FORWARD(e_forward or e_guam_fwd) elliptical
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
if (is_guam)
e_guam_fwd(lp_lon, lp_lat, xy_x, xy_y, this->m_par, this->m_proj_parm);
@@ -432,7 +423,7 @@ namespace projections
// INVERSE(e_inverse or e_guam_inv) elliptical
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
if (is_guam)
e_guam_inv(xy_x, xy_y, lp_lon, lp_lat, this->m_par, this->m_proj_parm);
@@ -460,14 +451,14 @@ namespace projections
// FORWARD(s_forward) spherical
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
s_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_par, this->m_proj_parm);
}
// INVERSE(s_inverse) spherical
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
s_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_par, this->m_proj_parm);
}
@@ -501,9 +492,11 @@ namespace projections
template <typename T, typename Parameters>
struct aeqd_e : public detail::aeqd::base_aeqd_e<T, Parameters>
{
- inline aeqd_e(const Parameters& par) : detail::aeqd::base_aeqd_e<T, Parameters>(par)
+ template <typename Params>
+ inline aeqd_e(Params const& params, Parameters const& par)
+ : detail::aeqd::base_aeqd_e<T, Parameters>(par)
{
- detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm, false, false);
+ detail::aeqd::setup_aeqd(params, this->m_par, this->m_proj_parm, false, false);
}
};
@@ -526,9 +519,11 @@ namespace projections
template <typename T, typename Parameters>
struct aeqd_e_guam : public detail::aeqd::base_aeqd_e_guam<T, Parameters>
{
- inline aeqd_e_guam(const Parameters& par) : detail::aeqd::base_aeqd_e_guam<T, Parameters>(par)
+ template <typename Params>
+ inline aeqd_e_guam(Params const& params, Parameters const& par)
+ : detail::aeqd::base_aeqd_e_guam<T, Parameters>(par)
{
- detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm, false, true);
+ detail::aeqd::setup_aeqd(params, this->m_par, this->m_proj_parm, false, true);
}
};
@@ -548,14 +543,15 @@ namespace projections
\par Example
\image html ex_aeqd.gif
*/
- template <typename BGParameters, typename T, typename Parameters>
- struct aeqd_e_static : public detail::aeqd::base_aeqd_e_static<BGParameters, T, Parameters>
+ template <typename SParams, typename T, typename Parameters>
+ struct aeqd_e_static : public detail::aeqd::base_aeqd_e_static<SParams, T, Parameters>
{
- inline aeqd_e_static(const Parameters& par) : detail::aeqd::base_aeqd_e_static<BGParameters, T, Parameters>(par)
+ inline aeqd_e_static(SParams const& params, Parameters const& par)
+ : detail::aeqd::base_aeqd_e_static<SParams, T, Parameters>(par)
{
- detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm,
+ detail::aeqd::setup_aeqd(params, this->m_par, this->m_proj_parm,
false,
- detail::aeqd::base_aeqd_e_static<BGParameters, T, Parameters>::is_guam);
+ detail::aeqd::base_aeqd_e_static<SParams, T, Parameters>::is_guam);
}
};
@@ -578,9 +574,11 @@ namespace projections
template <typename T, typename Parameters>
struct aeqd_s : public detail::aeqd::base_aeqd_s<T, Parameters>
{
- inline aeqd_s(const Parameters& par) : detail::aeqd::base_aeqd_s<T, Parameters>(par)
+ template <typename Params>
+ inline aeqd_s(Params const& params, Parameters const& par)
+ : detail::aeqd::base_aeqd_s<T, Parameters>(par)
{
- detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm, true, false);
+ detail::aeqd::setup_aeqd(params, this->m_par, this->m_proj_parm, true, false);
}
};
@@ -590,40 +588,32 @@ namespace projections
// Static projection
template <typename BGP, typename CT, typename P>
- struct static_projection_type<srs::par4::aeqd, srs_sphere_tag, BGP, CT, P>
+ struct static_projection_type<srs::spar::proj_aeqd, srs_sphere_tag, BGP, CT, P>
{
typedef aeqd_s<CT, P> type;
};
template <typename BGP, typename CT, typename P>
- struct static_projection_type<srs::par4::aeqd, srs_spheroid_tag, BGP, CT, P>
+ struct static_projection_type<srs::spar::proj_aeqd, srs_spheroid_tag, BGP, CT, P>
{
typedef aeqd_e_static<BGP, CT, P> type;
};
- //BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::aeqd, aeqd_s, aeqd_e_static)
- //BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::aeqd_guam, aeqd_guam, aeqd_guam)
- // Factory entry(s)
- template <typename T, typename Parameters>
- class aeqd_entry : public detail::factory_entry<T, Parameters>
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_BEGIN(aeqd_entry)
{
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- bool const guam = pj_get_param_b(par.params, "guam");
-
- if (par.es && ! guam)
- return new base_v_fi<aeqd_e<T, Parameters>, T, Parameters>(par);
- else if (par.es && guam)
- return new base_v_fi<aeqd_e_guam<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<aeqd_s<T, Parameters>, T, Parameters>(par);
- }
- };
+ bool const guam = pj_get_param_b<srs::spar::guam>(params, "guam", srs::dpar::guam);
+
+ if (parameters.es && ! guam)
+ return new base_v_fi<aeqd_e<T, Parameters>, T, Parameters>(params, parameters);
+ else if (parameters.es && guam)
+ return new base_v_fi<aeqd_e_guam<T, Parameters>, T, Parameters>(params, parameters);
+ else
+ return new base_v_fi<aeqd_s<T, Parameters>, T, Parameters>(params, parameters);
+ }
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_END
- template <typename T, typename Parameters>
- inline void aeqd_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(aeqd_init)
{
- factory.add_to_factory("aeqd", new aeqd_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(aeqd, aeqd_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/airy.hpp b/boost/geometry/srs/projections/proj/airy.hpp
index 1762dec800..235a120d0e 100644
--- a/boost/geometry/srs/projections/proj/airy.hpp
+++ b/boost/geometry/srs/projections/proj/airy.hpp
@@ -52,18 +52,9 @@
#include <boost/geometry/srs/projections/impl/projects.hpp>
#include <boost/geometry/srs/projections/impl/factory_entry.hpp>
-#include <boost/geometry/srs/projections/par4.hpp> // airy tag
-
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- // already defined in par4.hpp as ellps name
- //struct airy {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -102,7 +93,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -158,15 +149,15 @@ namespace projections
};
// Airy
- template <typename Parameters, typename T>
- inline void setup_airy(Parameters& par, par_airy<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_airy(Params const& params, Parameters& par, par_airy<T>& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
T beta;
- proj_parm.no_cut = pj_get_param_b(par.params, "no_cut");
- beta = 0.5 * (half_pi - pj_get_param_r(par.params, "lat_b"));
+ proj_parm.no_cut = pj_get_param_b<srs::spar::no_cut>(params, "no_cut", srs::dpar::no_cut);
+ beta = 0.5 * (half_pi - pj_get_param_r<T, srs::spar::lat_b>(params, "lat_b", srs::dpar::lat_b));
if (fabs(beta) < epsilon)
proj_parm.Cb = -0.5;
else {
@@ -216,9 +207,11 @@ namespace projections
template <typename T, typename Parameters>
struct airy_spheroid : public detail::airy::base_airy_spheroid<T, Parameters>
{
- inline airy_spheroid(const Parameters& par) : detail::airy::base_airy_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline airy_spheroid(Params const& params, Parameters const& par)
+ : detail::airy::base_airy_spheroid<T, Parameters>(par)
{
- detail::airy::setup_airy(this->m_par, this->m_proj_parm);
+ detail::airy::setup_airy(params, this->m_par, this->m_proj_parm);
}
};
@@ -227,23 +220,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::airy, airy_spheroid, airy_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_airy, airy_spheroid, airy_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class airy_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<airy_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void airy_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(airy_entry, airy_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(airy_init)
{
- factory.add_to_factory("airy", new airy_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(airy, airy_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/aitoff.hpp b/boost/geometry/srs/projections/proj/aitoff.hpp
index c09618d45e..6d64ea3588 100644
--- a/boost/geometry/srs/projections/proj/aitoff.hpp
+++ b/boost/geometry/srs/projections/proj/aitoff.hpp
@@ -59,13 +59,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct aitoff {};
- struct wintri {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -96,7 +89,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T c, d;
@@ -133,7 +126,7 @@ namespace projections
// INVERSE(s_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T pi = detail::pi<T>();
static const T two_pi = detail::two_pi<T>();
@@ -224,15 +217,15 @@ namespace projections
}
// Winkel Tripel
- template <typename Parameters, typename T>
- inline void setup_wintri(Parameters& par, par_aitoff<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_wintri(Params& params, Parameters& par, par_aitoff<T>& proj_parm)
{
static const T two_div_pi = detail::two_div_pi<T>();
T phi1;
proj_parm.mode = mode_winkel_tripel;
- if (pj_param_r(par.params, "lat_1", phi1)) {
+ if (pj_param_r<srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1, phi1)) {
if ((proj_parm.cosphi1 = cos(phi1)) == 0.)
BOOST_THROW_EXCEPTION( projection_exception(error_lat_larger_than_90) );
} else /* 50d28' or phi1=acos(2/pi) */
@@ -258,7 +251,9 @@ namespace projections
template <typename T, typename Parameters>
struct aitoff_spheroid : public detail::aitoff::base_aitoff_spheroid<T, Parameters>
{
- inline aitoff_spheroid(const Parameters& par) : detail::aitoff::base_aitoff_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline aitoff_spheroid(Params const& , Parameters const& par)
+ : detail::aitoff::base_aitoff_spheroid<T, Parameters>(par)
{
detail::aitoff::setup_aitoff(this->m_par, this->m_proj_parm);
}
@@ -281,9 +276,11 @@ namespace projections
template <typename T, typename Parameters>
struct wintri_spheroid : public detail::aitoff::base_aitoff_spheroid<T, Parameters>
{
- inline wintri_spheroid(const Parameters& par) : detail::aitoff::base_aitoff_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wintri_spheroid(Params const& params, Parameters const& par)
+ : detail::aitoff::base_aitoff_spheroid<T, Parameters>(par)
{
- detail::aitoff::setup_wintri(this->m_par, this->m_proj_parm);
+ detail::aitoff::setup_wintri(params, this->m_par, this->m_proj_parm);
}
};
@@ -292,35 +289,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::aitoff, aitoff_spheroid, aitoff_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wintri, wintri_spheroid, wintri_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_aitoff, aitoff_spheroid, aitoff_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wintri, wintri_spheroid, wintri_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class aitoff_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<aitoff_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class wintri_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wintri_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(aitoff_entry, aitoff_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wintri_entry, wintri_spheroid)
- template <typename T, typename Parameters>
- inline void aitoff_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(aitoff_init)
{
- factory.add_to_factory("aitoff", new aitoff_entry<T, Parameters>);
- factory.add_to_factory("wintri", new wintri_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(aitoff, aitoff_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wintri, wintri_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/august.hpp b/boost/geometry/srs/projections/proj/august.hpp
index a52edc7806..fb55dcb9eb 100644
--- a/boost/geometry/srs/projections/proj/august.hpp
+++ b/boost/geometry/srs/projections/proj/august.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct august {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -73,7 +67,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T M = 1.333333333333333333333333333333333333;
@@ -121,7 +115,9 @@ namespace projections
template <typename T, typename Parameters>
struct august_spheroid : public detail::august::base_august_spheroid<T, Parameters>
{
- inline august_spheroid(const Parameters& par) : detail::august::base_august_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline august_spheroid(Params const& , Parameters const& par)
+ : detail::august::base_august_spheroid<T, Parameters>(par)
{
detail::august::setup_august(this->m_par);
}
@@ -132,23 +128,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::august, august_spheroid, august_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_august, august_spheroid, august_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class august_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<august_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void august_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(august_entry, august_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(august_init)
{
- factory.add_to_factory("august", new august_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(august, august_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/bacon.hpp b/boost/geometry/srs/projections/proj/bacon.hpp
index d82e30aa1f..17b3c36e0c 100644
--- a/boost/geometry/srs/projections/proj/bacon.hpp
+++ b/boost/geometry/srs/projections/proj/bacon.hpp
@@ -50,14 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct apian {};
- struct ortel {};
- struct bacon {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -86,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T half_pi_sqr = detail::half_pi_sqr<T>();
@@ -158,7 +150,9 @@ namespace projections
template <typename T, typename Parameters>
struct apian_spheroid : public detail::bacon::base_bacon_spheroid<T, Parameters>
{
- inline apian_spheroid(const Parameters& par) : detail::bacon::base_bacon_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline apian_spheroid(Params const& , Parameters const& par)
+ : detail::bacon::base_bacon_spheroid<T, Parameters>(par)
{
detail::bacon::setup_apian(this->m_par, this->m_proj_parm);
}
@@ -180,7 +174,9 @@ namespace projections
template <typename T, typename Parameters>
struct ortel_spheroid : public detail::bacon::base_bacon_spheroid<T, Parameters>
{
- inline ortel_spheroid(const Parameters& par) : detail::bacon::base_bacon_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline ortel_spheroid(Params const& , Parameters const& par)
+ : detail::bacon::base_bacon_spheroid<T, Parameters>(par)
{
detail::bacon::setup_ortel(this->m_par, this->m_proj_parm);
}
@@ -202,7 +198,9 @@ namespace projections
template <typename T, typename Parameters>
struct bacon_spheroid : public detail::bacon::base_bacon_spheroid<T, Parameters>
{
- inline bacon_spheroid(const Parameters& par) : detail::bacon::base_bacon_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline bacon_spheroid(Params const& , Parameters const& par)
+ : detail::bacon::base_bacon_spheroid<T, Parameters>(par)
{
detail::bacon::setup_bacon(this->m_par, this->m_proj_parm);
}
@@ -213,47 +211,20 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::apian, apian_spheroid, apian_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::bacon, bacon_spheroid, bacon_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::ortel, ortel_spheroid, ortel_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_apian, apian_spheroid, apian_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_bacon, bacon_spheroid, bacon_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_ortel, ortel_spheroid, ortel_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class apian_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<apian_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class ortel_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<ortel_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class bacon_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<bacon_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(apian_entry, apian_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(ortel_entry, ortel_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(bacon_entry, bacon_spheroid)
- template <typename T, typename Parameters>
- inline void bacon_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(bacon_init)
{
- factory.add_to_factory("apian", new apian_entry<T, Parameters>);
- factory.add_to_factory("ortel", new ortel_entry<T, Parameters>);
- factory.add_to_factory("bacon", new bacon_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(apian, apian_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(ortel, ortel_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(bacon, bacon_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/bipc.hpp b/boost/geometry/srs/projections/proj/bipc.hpp
index 02af27ff62..647a07ad3f 100644
--- a/boost/geometry/srs/projections/proj/bipc.hpp
+++ b/boost/geometry/srs/projections/proj/bipc.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct bipc {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -101,7 +95,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T pi = detail::pi<T>();
@@ -175,7 +169,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T t, r, rp, rl, al, z, fAz, Az, s, c, Av;
int neg, i;
@@ -227,10 +221,10 @@ namespace projections
};
// Bipolar conic of western hemisphere
- template <typename Parameters>
- inline void setup_bipc(Parameters& par, par_bipc& proj_parm)
+ template <typename Params, typename Parameters>
+ inline void setup_bipc(Params const& params, Parameters& par, par_bipc& proj_parm)
{
- proj_parm.noskew = pj_get_param_b(par.params, "ns");
+ proj_parm.noskew = pj_get_param_b<srs::spar::ns>(params, "ns", srs::dpar::ns);
par.es = 0.;
}
@@ -254,9 +248,11 @@ namespace projections
template <typename T, typename Parameters>
struct bipc_spheroid : public detail::bipc::base_bipc_spheroid<T, Parameters>
{
- inline bipc_spheroid(const Parameters& par) : detail::bipc::base_bipc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline bipc_spheroid(Params const& params, Parameters const& par)
+ : detail::bipc::base_bipc_spheroid<T, Parameters>(par)
{
- detail::bipc::setup_bipc(this->m_par, this->m_proj_parm);
+ detail::bipc::setup_bipc(params, this->m_par, this->m_proj_parm);
}
};
@@ -265,23 +261,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::bipc, bipc_spheroid, bipc_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_bipc, bipc_spheroid, bipc_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class bipc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<bipc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void bipc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(bipc_entry, bipc_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(bipc_init)
{
- factory.add_to_factory("bipc", new bipc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(bipc, bipc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/boggs.hpp b/boost/geometry/srs/projections/proj/boggs.hpp
index c3c043faab..a9bf51716f 100644
--- a/boost/geometry/srs/projections/proj/boggs.hpp
+++ b/boost/geometry/srs/projections/proj/boggs.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct boggs {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -79,7 +73,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T pi = detail::pi<T>();
@@ -137,7 +131,9 @@ namespace projections
template <typename T, typename Parameters>
struct boggs_spheroid : public detail::boggs::base_boggs_spheroid<T, Parameters>
{
- inline boggs_spheroid(const Parameters& par) : detail::boggs::base_boggs_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline boggs_spheroid(Params const& , Parameters const& par)
+ : detail::boggs::base_boggs_spheroid<T, Parameters>(par)
{
detail::boggs::setup_boggs(this->m_par);
}
@@ -148,23 +144,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::boggs, boggs_spheroid, boggs_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_boggs, boggs_spheroid, boggs_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class boggs_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<boggs_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(boggs_entry, boggs_spheroid)
- template <typename T, typename Parameters>
- inline void boggs_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(boggs_init)
{
- factory.add_to_factory("boggs", new boggs_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(boggs, boggs_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/bonne.hpp b/boost/geometry/srs/projections/proj/bonne.hpp
index 3699537721..4016d03229 100644
--- a/boost/geometry/srs/projections/proj/bonne.hpp
+++ b/boost/geometry/srs/projections/proj/bonne.hpp
@@ -52,12 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct bonne {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -89,7 +83,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T rh, E, c;
@@ -101,7 +95,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -139,7 +133,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T E, rh;
@@ -153,7 +147,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -178,14 +172,14 @@ namespace projections
};
// Bonne (Werner lat_1=90)
- template <typename Parameters, typename T>
- inline void setup_bonne(Parameters& par, par_bonne<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_bonne(Params const& params, Parameters& par, par_bonne<T>& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
T c;
- proj_parm.phi1 = pj_get_param_r(par.params, "lat_1");
+ proj_parm.phi1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
if (fabs(proj_parm.phi1) < epsilon10)
BOOST_THROW_EXCEPTION( projection_exception(error_lat1_is_zero) );
@@ -223,9 +217,11 @@ namespace projections
template <typename T, typename Parameters>
struct bonne_ellipsoid : public detail::bonne::base_bonne_ellipsoid<T, Parameters>
{
- inline bonne_ellipsoid(const Parameters& par) : detail::bonne::base_bonne_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline bonne_ellipsoid(Params const& params, Parameters const& par)
+ : detail::bonne::base_bonne_ellipsoid<T, Parameters>(par)
{
- detail::bonne::setup_bonne(this->m_par, this->m_proj_parm);
+ detail::bonne::setup_bonne(params, this->m_par, this->m_proj_parm);
}
};
@@ -247,9 +243,11 @@ namespace projections
template <typename T, typename Parameters>
struct bonne_spheroid : public detail::bonne::base_bonne_spheroid<T, Parameters>
{
- inline bonne_spheroid(const Parameters& par) : detail::bonne::base_bonne_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline bonne_spheroid(Params const& params, Parameters const& par)
+ : detail::bonne::base_bonne_spheroid<T, Parameters>(par)
{
- detail::bonne::setup_bonne(this->m_par, this->m_proj_parm);
+ detail::bonne::setup_bonne(params, this->m_par, this->m_proj_parm);
}
};
@@ -258,26 +256,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::bonne, bonne_spheroid, bonne_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_bonne, bonne_spheroid, bonne_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class bonne_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<bonne_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<bonne_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(bonne_entry, bonne_spheroid, bonne_ellipsoid)
- template <typename T, typename Parameters>
- inline void bonne_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(bonne_init)
{
- factory.add_to_factory("bonne", new bonne_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(bonne, bonne_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/cass.hpp b/boost/geometry/srs/projections/proj/cass.hpp
index e46750cb6f..4f68cd01bb 100644
--- a/boost/geometry/srs/projections/proj/cass.hpp
+++ b/boost/geometry/srs/projections/proj/cass.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct cass {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -100,7 +94,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T C1 = cass::C1<T>();
static const T C2 = cass::C2<T>();
@@ -123,7 +117,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T C3 = cass::C3<T>();
static const T C4 = cass::C4<T>();
@@ -165,7 +159,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = asin(cos(lp_lat) * sin(lp_lon));
xy_y = atan2(tan(lp_lat) , cos(lp_lon)) - this->m_par.phi0;
@@ -173,7 +167,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T dd = xy_y + this->m_par.phi0;
lp_lat = asin(sin(dd) * cos(xy_x));
@@ -217,7 +211,9 @@ namespace projections
template <typename T, typename Parameters>
struct cass_ellipsoid : public detail::cass::base_cass_ellipsoid<T, Parameters>
{
- inline cass_ellipsoid(const Parameters& par) : detail::cass::base_cass_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline cass_ellipsoid(Params const& , Parameters const& par)
+ : detail::cass::base_cass_ellipsoid<T, Parameters>(par)
{
detail::cass::setup_cass(this->m_par, this->m_proj_parm);
}
@@ -239,7 +235,9 @@ namespace projections
template <typename T, typename Parameters>
struct cass_spheroid : public detail::cass::base_cass_spheroid<T, Parameters>
{
- inline cass_spheroid(const Parameters& par) : detail::cass::base_cass_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline cass_spheroid(Params const& , Parameters const& par)
+ : detail::cass::base_cass_spheroid<T, Parameters>(par)
{
detail::cass::setup_cass(this->m_par, this->m_proj_parm);
}
@@ -250,26 +248,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::cass, cass_spheroid, cass_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_cass, cass_spheroid, cass_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class cass_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<cass_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<cass_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(cass_entry, cass_spheroid, cass_ellipsoid)
- template <typename T, typename Parameters>
- inline void cass_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(cass_init)
{
- factory.add_to_factory("cass", new cass_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(cass, cass_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/cc.hpp b/boost/geometry/srs/projections/proj/cc.hpp
index 78c3ede008..fbc97c7bdb 100644
--- a/boost/geometry/srs/projections/proj/cc.hpp
+++ b/boost/geometry/srs/projections/proj/cc.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct cc {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -75,7 +69,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -88,7 +82,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = atan(xy_y);
lp_lon = xy_x;
@@ -126,7 +120,9 @@ namespace projections
template <typename T, typename Parameters>
struct cc_spheroid : public detail::cc::base_cc_spheroid<T, Parameters>
{
- inline cc_spheroid(const Parameters& par) : detail::cc::base_cc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline cc_spheroid(Params const& , Parameters const& par)
+ : detail::cc::base_cc_spheroid<T, Parameters>(par)
{
detail::cc::setup_cc(this->m_par);
}
@@ -137,23 +133,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::cc, cc_spheroid, cc_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_cc, cc_spheroid, cc_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class cc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<cc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void cc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(cc_entry, cc_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(cc_init)
{
- factory.add_to_factory("cc", new cc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(cc, cc_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/cea.hpp b/boost/geometry/srs/projections/proj/cea.hpp
index 2d7ba20d3d..a440ec3f8a 100644
--- a/boost/geometry/srs/projections/proj/cea.hpp
+++ b/boost/geometry/srs/projections/proj/cea.hpp
@@ -52,12 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct cea {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -86,7 +80,7 @@ namespace projections
// FORWARD(e_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = this->m_par.k0 * lp_lon;
xy_y = .5 * pj_qsfn(sin(lp_lat), this->m_par.e, this->m_par.one_es) / this->m_par.k0;
@@ -94,7 +88,7 @@ namespace projections
// INVERSE(e_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = pj_authlat(asin( 2. * xy_y * this->m_par.k0 / this->m_proj_parm.qp), this->m_proj_parm.apa);
lp_lon = xy_x / this->m_par.k0;
@@ -120,7 +114,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = this->m_par.k0 * lp_lon;
xy_y = sin(lp_lat) / this->m_par.k0;
@@ -128,7 +122,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -152,12 +146,12 @@ namespace projections
};
// Equal Area Cylindrical
- template <typename Parameters, typename T>
- inline void setup_cea(Parameters& par, par_cea<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_cea(Params const& params, Parameters& par, par_cea<T>& proj_parm)
{
T t = 0;
- if (pj_param_r(par.params, "lat_ts", t)) {
+ if (pj_param_r<srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts, t)) {
par.k0 = cos(t);
if (par.k0 < 0.) {
BOOST_THROW_EXCEPTION( projection_exception(error_lat_ts_larger_than_90) );
@@ -194,9 +188,11 @@ namespace projections
template <typename T, typename Parameters>
struct cea_ellipsoid : public detail::cea::base_cea_ellipsoid<T, Parameters>
{
- inline cea_ellipsoid(const Parameters& par) : detail::cea::base_cea_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline cea_ellipsoid(Params const& params, Parameters const& par)
+ : detail::cea::base_cea_ellipsoid<T, Parameters>(par)
{
- detail::cea::setup_cea(this->m_par, this->m_proj_parm);
+ detail::cea::setup_cea(params, this->m_par, this->m_proj_parm);
}
};
@@ -218,9 +214,11 @@ namespace projections
template <typename T, typename Parameters>
struct cea_spheroid : public detail::cea::base_cea_spheroid<T, Parameters>
{
- inline cea_spheroid(const Parameters& par) : detail::cea::base_cea_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline cea_spheroid(Params const& params, Parameters const& par)
+ : detail::cea::base_cea_spheroid<T, Parameters>(par)
{
- detail::cea::setup_cea(this->m_par, this->m_proj_parm);
+ detail::cea::setup_cea(params, this->m_par, this->m_proj_parm);
}
};
@@ -229,26 +227,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::cea, cea_spheroid, cea_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_cea, cea_spheroid, cea_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class cea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<cea_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<cea_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void cea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(cea_entry, cea_spheroid, cea_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(cea_init)
{
- factory.add_to_factory("cea", new cea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(cea, cea_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/chamb.hpp b/boost/geometry/srs/projections/proj/chamb.hpp
index a2bed492c1..1f397b33c4 100644
--- a/boost/geometry/srs/projections/proj/chamb.hpp
+++ b/boost/geometry/srs/projections/proj/chamb.hpp
@@ -52,12 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct chamb {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -129,7 +123,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T third = detail::third<T>();
@@ -180,20 +174,43 @@ namespace projections
};
- // Chamberlin Trimetric
- template <typename Parameters, typename T>
- inline void setup_chamb(Parameters& par, par_chamb<T>& proj_parm)
+ template <typename T>
+ inline T chamb_init_lat(srs::detail::proj4_parameters const& params, int i)
{
- static const T pi = detail::pi<T>();
-
static const std::string lat[3] = {"lat_1", "lat_2", "lat_3"};
+ return _pj_get_param_r<T>(params, lat[i]);
+ }
+ template <typename T>
+ inline T chamb_init_lat(srs::dpar::parameters<T> const& params, int i)
+ {
+ static const srs::dpar::name_r lat[3] = {srs::dpar::lat_1, srs::dpar::lat_2, srs::dpar::lat_3};
+ return _pj_get_param_r<T>(params, lat[i]);
+ }
+
+ template <typename T>
+ inline T chamb_init_lon(srs::detail::proj4_parameters const& params, int i)
+ {
static const std::string lon[3] = {"lon_1", "lon_2", "lon_3"};
+ return _pj_get_param_r<T>(params, lon[i]);
+ }
+ template <typename T>
+ inline T chamb_init_lon(srs::dpar::parameters<T> const& params, int i)
+ {
+ static const srs::dpar::name_r lon[3] = {srs::dpar::lon_1, srs::dpar::lon_2, srs::dpar::lon_3};
+ return _pj_get_param_r<T>(params, lon[i]);
+ }
+
+ // Chamberlin Trimetric
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_chamb(Params const& params, Parameters& par, par_chamb<T>& proj_parm)
+ {
+ static const T pi = detail::pi<T>();
int i, j;
for (i = 0; i < 3; ++i) { /* get control point locations */
- proj_parm.c[i].phi = pj_get_param_r(par.params, lat[i]);
- proj_parm.c[i].lam = pj_get_param_r(par.params, lon[i]);
+ proj_parm.c[i].phi = chamb_init_lat<T>(params, i);
+ proj_parm.c[i].lam = chamb_init_lon<T>(params, i);
proj_parm.c[i].lam = adjlon(proj_parm.c[i].lam - par.lam0);
proj_parm.c[i].cosphi = cos(proj_parm.c[i].phi);
proj_parm.c[i].sinphi = sin(proj_parm.c[i].phi);
@@ -243,9 +260,11 @@ namespace projections
template <typename T, typename Parameters>
struct chamb_spheroid : public detail::chamb::base_chamb_spheroid<T, Parameters>
{
- inline chamb_spheroid(const Parameters& par) : detail::chamb::base_chamb_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline chamb_spheroid(Params const& params, Parameters const& par)
+ : detail::chamb::base_chamb_spheroid<T, Parameters>(par)
{
- detail::chamb::setup_chamb(this->m_par, this->m_proj_parm);
+ detail::chamb::setup_chamb(params, this->m_par, this->m_proj_parm);
}
};
@@ -254,23 +273,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::chamb, chamb_spheroid, chamb_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_chamb, chamb_spheroid, chamb_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class chamb_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<chamb_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void chamb_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(chamb_entry, chamb_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(chamb_init)
{
- factory.add_to_factory("chamb", new chamb_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(chamb, chamb_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/collg.hpp b/boost/geometry/srs/projections/proj/collg.hpp
index 1dc5b3ce48..8cddbf803a 100644
--- a/boost/geometry/srs/projections/proj/collg.hpp
+++ b/boost/geometry/srs/projections/proj/collg.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct collg {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -77,7 +71,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
if ((xy_y = 1. - sin(lp_lat)) <= 0.)
xy_y = 0.;
@@ -89,7 +83,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static T const half_pi = detail::half_pi<T>();
@@ -140,7 +134,9 @@ namespace projections
template <typename T, typename Parameters>
struct collg_spheroid : public detail::collg::base_collg_spheroid<T, Parameters>
{
- inline collg_spheroid(const Parameters& par) : detail::collg::base_collg_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline collg_spheroid(Params const& , Parameters const& par)
+ : detail::collg::base_collg_spheroid<T, Parameters>(par)
{
detail::collg::setup_collg(this->m_par);
}
@@ -151,23 +147,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::collg, collg_spheroid, collg_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_collg, collg_spheroid, collg_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class collg_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<collg_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void collg_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(collg_entry, collg_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(collg_init)
{
- factory.add_to_factory("collg", new collg_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(collg, collg_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/crast.hpp b/boost/geometry/srs/projections/proj/crast.hpp
index 5f781f8776..fa6fb98a7d 100644
--- a/boost/geometry/srs/projections/proj/crast.hpp
+++ b/boost/geometry/srs/projections/proj/crast.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct crast {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -77,7 +71,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T third = detail::third<T>();
@@ -88,7 +82,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T third = detail::third<T>();
@@ -128,7 +122,9 @@ namespace projections
template <typename T, typename Parameters>
struct crast_spheroid : public detail::crast::base_crast_spheroid<T, Parameters>
{
- inline crast_spheroid(const Parameters& par) : detail::crast::base_crast_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline crast_spheroid(Params const& , Parameters const& par)
+ : detail::crast::base_crast_spheroid<T, Parameters>(par)
{
detail::crast::setup_crast(this->m_par);
}
@@ -139,23 +135,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::crast, crast_spheroid, crast_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_crast, crast_spheroid, crast_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class crast_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<crast_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void crast_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(crast_entry, crast_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(crast_init)
{
- factory.add_to_factory("crast", new crast_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(crast, crast_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/denoy.hpp b/boost/geometry/srs/projections/proj/denoy.hpp
index 9d54487f6f..0f344751d4 100644
--- a/boost/geometry/srs/projections/proj/denoy.hpp
+++ b/boost/geometry/srs/projections/proj/denoy.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct denoy {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -82,7 +76,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T C1 = denoy::C1<T>();
static const T C3 = denoy::C3<T>();
@@ -127,7 +121,9 @@ namespace projections
template <typename T, typename Parameters>
struct denoy_spheroid : public detail::denoy::base_denoy_spheroid<T, Parameters>
{
- inline denoy_spheroid(const Parameters& par) : detail::denoy::base_denoy_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline denoy_spheroid(Params const& , Parameters const& par)
+ : detail::denoy::base_denoy_spheroid<T, Parameters>(par)
{
detail::denoy::setup_denoy(this->m_par);
}
@@ -138,23 +134,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::denoy, denoy_spheroid, denoy_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_denoy, denoy_spheroid, denoy_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class denoy_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<denoy_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void denoy_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(denoy_entry, denoy_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(denoy_init)
{
- factory.add_to_factory("denoy", new denoy_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(denoy, denoy_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eck1.hpp b/boost/geometry/srs/projections/proj/eck1.hpp
index e5ab6e2449..a551c04211 100644
--- a/boost/geometry/srs/projections/proj/eck1.hpp
+++ b/boost/geometry/srs/projections/proj/eck1.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eck1 {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -74,7 +68,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = FC * lp_lon * (1. - RP * fabs(lp_lat));
xy_y = FC * lp_lat;
@@ -82,7 +76,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = xy_y / FC;
lp_lon = xy_x / (FC * (1. - RP * fabs(lp_lat)));
@@ -120,7 +114,9 @@ namespace projections
template <typename T, typename Parameters>
struct eck1_spheroid : public detail::eck1::base_eck1_spheroid<T, Parameters>
{
- inline eck1_spheroid(const Parameters& par) : detail::eck1::base_eck1_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eck1_spheroid(Params const& , Parameters const& par)
+ : detail::eck1::base_eck1_spheroid<T, Parameters>(par)
{
detail::eck1::setup_eck1(this->m_par);
}
@@ -131,23 +127,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eck1, eck1_spheroid, eck1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eck1, eck1_spheroid, eck1_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eck1_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eck1_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eck1_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eck1_entry, eck1_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eck1_init)
{
- factory.add_to_factory("eck1", new eck1_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eck1, eck1_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eck2.hpp b/boost/geometry/srs/projections/proj/eck2.hpp
index fd39735d95..c9f8f8d41c 100644
--- a/boost/geometry/srs/projections/proj/eck2.hpp
+++ b/boost/geometry/srs/projections/proj/eck2.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eck2 {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -78,7 +72,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = FXC * lp_lon * (xy_y = sqrt(4. - 3. * sin(fabs(lp_lat))));
xy_y = FYC * (2. - xy_y);
@@ -87,7 +81,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
static const T C13 = detail::third<T>();
@@ -137,7 +131,9 @@ namespace projections
template <typename T, typename Parameters>
struct eck2_spheroid : public detail::eck2::base_eck2_spheroid<T, Parameters>
{
- inline eck2_spheroid(const Parameters& par) : detail::eck2::base_eck2_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eck2_spheroid(Params const& , Parameters const& par)
+ : detail::eck2::base_eck2_spheroid<T, Parameters>(par)
{
detail::eck2::setup_eck2(this->m_par);
}
@@ -148,23 +144,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eck2, eck2_spheroid, eck2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eck2, eck2_spheroid, eck2_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eck2_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eck2_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eck2_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eck2_entry, eck2_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eck2_init)
{
- factory.add_to_factory("eck2", new eck2_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eck2, eck2_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eck3.hpp b/boost/geometry/srs/projections/proj/eck3.hpp
index 35933af3fe..65ff88429d 100644
--- a/boost/geometry/srs/projections/proj/eck3.hpp
+++ b/boost/geometry/srs/projections/proj/eck3.hpp
@@ -51,15 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eck3 {}; // Eckert III
- struct putp1 {}; // Putnins P1
- struct wag6 {}; // Wagner VI
- struct kav7 {}; // Kavraisky VII
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -85,7 +76,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_y = this->m_proj_parm.C_y * lp_lat;
xy_x = this->m_proj_parm.C_x * lp_lon * (this->m_proj_parm.A + asqrt(1. - this->m_proj_parm.B * lp_lat * lp_lat));
@@ -93,7 +84,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T denominator;
lp_lat = xy_y / this->m_proj_parm.C_y;
@@ -187,7 +178,9 @@ namespace projections
template <typename T, typename Parameters>
struct eck3_spheroid : public detail::eck3::base_eck3_spheroid<T, Parameters>
{
- inline eck3_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eck3_spheroid(Params const& , Parameters const& par)
+ : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
{
detail::eck3::setup_eck3(this->m_par, this->m_proj_parm);
}
@@ -208,7 +201,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp1_spheroid : public detail::eck3::base_eck3_spheroid<T, Parameters>
{
- inline putp1_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp1_spheroid(Params const& , Parameters const& par)
+ : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
{
detail::eck3::setup_putp1(this->m_par, this->m_proj_parm);
}
@@ -229,7 +224,9 @@ namespace projections
template <typename T, typename Parameters>
struct wag6_spheroid : public detail::eck3::base_eck3_spheroid<T, Parameters>
{
- inline wag6_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag6_spheroid(Params const& , Parameters const& par)
+ : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
{
detail::eck3::setup_wag6(this->m_par, this->m_proj_parm);
}
@@ -250,7 +247,9 @@ namespace projections
template <typename T, typename Parameters>
struct kav7_spheroid : public detail::eck3::base_eck3_spheroid<T, Parameters>
{
- inline kav7_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline kav7_spheroid(Params const& , Parameters const& par)
+ : detail::eck3::base_eck3_spheroid<T, Parameters>(par)
{
detail::eck3::setup_kav7(this->m_par, this->m_proj_parm);
}
@@ -261,59 +260,23 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eck3, eck3_spheroid, eck3_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp1, putp1_spheroid, putp1_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag6, wag6_spheroid, wag6_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::kav7, kav7_spheroid, kav7_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eck3, eck3_spheroid, eck3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp1, putp1_spheroid, putp1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag6, wag6_spheroid, wag6_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_kav7, kav7_spheroid, kav7_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eck3_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eck3_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class putp1_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp1_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class wag6_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wag6_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class kav7_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<kav7_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eck3_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eck3_entry, eck3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp1_entry, putp1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wag6_entry, wag6_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(kav7_entry, kav7_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eck3_init)
{
- factory.add_to_factory("eck3", new eck3_entry<T, Parameters>);
- factory.add_to_factory("putp1", new putp1_entry<T, Parameters>);
- factory.add_to_factory("wag6", new wag6_entry<T, Parameters>);
- factory.add_to_factory("kav7", new kav7_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eck3, eck3_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp1, putp1_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag6, wag6_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(kav7, kav7_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eck4.hpp b/boost/geometry/srs/projections/proj/eck4.hpp
index 7c1fc6178d..0a8a2bcd96 100644
--- a/boost/geometry/srs/projections/proj/eck4.hpp
+++ b/boost/geometry/srs/projections/proj/eck4.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eck4 {}; // Eckert IV
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -80,7 +74,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T p, V, s, c;
int i;
@@ -107,7 +101,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T c;
@@ -148,7 +142,9 @@ namespace projections
template <typename T, typename Parameters>
struct eck4_spheroid : public detail::eck4::base_eck4_spheroid<T, Parameters>
{
- inline eck4_spheroid(const Parameters& par) : detail::eck4::base_eck4_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eck4_spheroid(Params const& , Parameters const& par)
+ : detail::eck4::base_eck4_spheroid<T, Parameters>(par)
{
detail::eck4::setup_eck4(this->m_par);
}
@@ -159,23 +155,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eck4, eck4_spheroid, eck4_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eck4, eck4_spheroid, eck4_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eck4_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eck4_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eck4_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eck4_entry, eck4_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eck4_init)
{
- factory.add_to_factory("eck4", new eck4_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eck4, eck4_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eck5.hpp b/boost/geometry/srs/projections/proj/eck5.hpp
index 823de91040..23901b71a3 100644
--- a/boost/geometry/srs/projections/proj/eck5.hpp
+++ b/boost/geometry/srs/projections/proj/eck5.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eck5 {}; // Eckert V
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -76,7 +70,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = XF * (1. + cos(lp_lat)) * lp_lon;
xy_y = YF * lp_lat;
@@ -84,7 +78,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lon = RXF * xy_x / (1. + cos( lp_lat = RYF * xy_y));
}
@@ -121,7 +115,9 @@ namespace projections
template <typename T, typename Parameters>
struct eck5_spheroid : public detail::eck5::base_eck5_spheroid<T, Parameters>
{
- inline eck5_spheroid(const Parameters& par) : detail::eck5::base_eck5_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eck5_spheroid(Params const& , Parameters const& par)
+ : detail::eck5::base_eck5_spheroid<T, Parameters>(par)
{
detail::eck5::setup_eck5(this->m_par);
}
@@ -132,23 +128,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eck5, eck5_spheroid, eck5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eck5, eck5_spheroid, eck5_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eck5_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eck5_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eck5_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eck5_entry, eck5_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eck5_init)
{
- factory.add_to_factory("eck5", new eck5_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eck5, eck5_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eqc.hpp b/boost/geometry/srs/projections/proj/eqc.hpp
index 355ab90567..21b655d2db 100644
--- a/boost/geometry/srs/projections/proj/eqc.hpp
+++ b/boost/geometry/srs/projections/proj/eqc.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eqc {}; // Equidistant Cylindrical (Plate Caree)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -78,7 +72,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = this->m_proj_parm.rc * lp_lon;
xy_y = lp_lat - this->m_par.phi0;
@@ -86,7 +80,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lon = xy_x / this->m_proj_parm.rc;
lp_lat = xy_y + this->m_par.phi0;
@@ -100,10 +94,11 @@ namespace projections
};
// Equidistant Cylindrical (Plate Caree)
- template <typename Parameters, typename T>
- inline void setup_eqc(Parameters& par, par_eqc<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_eqc(Params const& params, Parameters& par, par_eqc<T>& proj_parm)
{
- if ((proj_parm.rc = cos(pj_get_param_r(par.params, "lat_ts"))) <= 0.)
+ proj_parm.rc = cos(pj_get_param_r<T, srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts));
+ if (proj_parm.rc <= 0.)
BOOST_THROW_EXCEPTION( projection_exception(error_lat_ts_larger_than_90) );
par.es = 0.;
}
@@ -129,9 +124,11 @@ namespace projections
template <typename T, typename Parameters>
struct eqc_spheroid : public detail::eqc::base_eqc_spheroid<T, Parameters>
{
- inline eqc_spheroid(const Parameters& par) : detail::eqc::base_eqc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eqc_spheroid(Params const& params, Parameters const& par)
+ : detail::eqc::base_eqc_spheroid<T, Parameters>(par)
{
- detail::eqc::setup_eqc(this->m_par, this->m_proj_parm);
+ detail::eqc::setup_eqc(params, this->m_par, this->m_proj_parm);
}
};
@@ -140,23 +137,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eqc, eqc_spheroid, eqc_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eqc, eqc_spheroid, eqc_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eqc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eqc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eqc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eqc_entry, eqc_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eqc_init)
{
- factory.add_to_factory("eqc", new eqc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eqc, eqc_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/eqdc.hpp b/boost/geometry/srs/projections/proj/eqdc.hpp
index f0c7597cbd..d5aa8f2e11 100644
--- a/boost/geometry/srs/projections/proj/eqdc.hpp
+++ b/boost/geometry/srs/projections/proj/eqdc.hpp
@@ -53,12 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct eqdc {}; // Equidistant Conic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -92,7 +86,7 @@ namespace projections
// FORWARD(e_forward) sphere & ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T rho = 0.0;
@@ -104,7 +98,7 @@ namespace projections
// INVERSE(e_inverse) sphere & ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static T const half_pi = detail::half_pi<T>();
@@ -134,14 +128,14 @@ namespace projections
};
// Equidistant Conic
- template <typename Parameters, typename T>
- inline void setup_eqdc(Parameters& par, par_eqdc<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_eqdc(Params const& params, Parameters& par, par_eqdc<T>& proj_parm)
{
T cosphi, sinphi;
int secant;
- proj_parm.phi1 = pj_get_param_r(par.params, "lat_1");
- proj_parm.phi2 = pj_get_param_r(par.params, "lat_2");
+ proj_parm.phi1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
+ proj_parm.phi2 = pj_get_param_r<T, srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2);
if (fabs(proj_parm.phi1 + proj_parm.phi2) < epsilon10)
BOOST_THROW_EXCEPTION( projection_exception(error_conic_lat_equal) );
@@ -195,9 +189,11 @@ namespace projections
template <typename T, typename Parameters>
struct eqdc_ellipsoid : public detail::eqdc::base_eqdc_ellipsoid<T, Parameters>
{
- inline eqdc_ellipsoid(const Parameters& par) : detail::eqdc::base_eqdc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline eqdc_ellipsoid(Params const& params, Parameters const& par)
+ : detail::eqdc::base_eqdc_ellipsoid<T, Parameters>(par)
{
- detail::eqdc::setup_eqdc(this->m_par, this->m_proj_parm);
+ detail::eqdc::setup_eqdc(params, this->m_par, this->m_proj_parm);
}
};
@@ -206,23 +202,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eqdc, eqdc_ellipsoid, eqdc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eqdc, eqdc_ellipsoid, eqdc_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class eqdc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eqdc_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void eqdc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eqdc_entry, eqdc_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(eqdc_init)
{
- factory.add_to_factory("eqdc", new eqdc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eqdc, eqdc_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/etmerc.hpp b/boost/geometry/srs/projections/proj/etmerc.hpp
index 050aafacca..0bedbf247d 100644
--- a/boost/geometry/srs/projections/proj/etmerc.hpp
+++ b/boost/geometry/srs/projections/proj/etmerc.hpp
@@ -65,13 +65,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct etmerc {};
- struct utm {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -182,7 +175,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T sin_Cn, cos_Cn, cos_Ce, sin_Ce, dCn, dCe;
T Cn = lp_lat, Ce = lp_lon;
@@ -211,7 +204,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T sin_Cn, cos_Cn, cos_Ce, sin_Ce, dCn, dCe;
T Cn = xy_y, Ce = xy_x;
@@ -339,8 +332,8 @@ namespace projections
}
// Universal Transverse Mercator (UTM)
- template <typename Parameters, typename T>
- inline void setup_utm(Parameters& par, par_etmerc<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_utm(Params const& params, Parameters& par, par_etmerc<T>& proj_parm)
{
static const T pi = detail::pi<T>();
@@ -350,9 +343,9 @@ namespace projections
BOOST_THROW_EXCEPTION( projection_exception(error_ellipsoid_use_required) );
}
- par.y0 = pj_get_param_b(par.params, "south") ? 10000000. : 0.;
+ par.y0 = pj_get_param_b<srs::spar::south>(params, "south", srs::dpar::south) ? 10000000. : 0.;
par.x0 = 500000.;
- if (pj_param_i(par.params, "zone", zone)) /* zone input ? */
+ if (pj_param_i<srs::spar::zone>(params, "zone", srs::dpar::zone, zone)) /* zone input ? */
{
if (zone > 0 && zone <= 60)
--zone;
@@ -396,7 +389,9 @@ namespace projections
template <typename T, typename Parameters>
struct etmerc_ellipsoid : public detail::etmerc::base_etmerc_ellipsoid<T, Parameters>
{
- inline etmerc_ellipsoid(const Parameters& par) : detail::etmerc::base_etmerc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline etmerc_ellipsoid(Params const& , Parameters const& par)
+ : detail::etmerc::base_etmerc_ellipsoid<T, Parameters>(par)
{
detail::etmerc::setup_etmerc(this->m_par, this->m_proj_parm);
}
@@ -420,9 +415,11 @@ namespace projections
template <typename T, typename Parameters>
struct utm_ellipsoid : public detail::etmerc::base_etmerc_ellipsoid<T, Parameters>
{
- inline utm_ellipsoid(const Parameters& par) : detail::etmerc::base_etmerc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline utm_ellipsoid(Params const& params, Parameters const& par)
+ : detail::etmerc::base_etmerc_ellipsoid<T, Parameters>(par)
{
- detail::etmerc::setup_utm(this->m_par, this->m_proj_parm);
+ detail::etmerc::setup_utm(params, this->m_par, this->m_proj_parm);
}
};
@@ -431,35 +428,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::etmerc, etmerc_ellipsoid, etmerc_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::utm, utm_ellipsoid, utm_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_etmerc, etmerc_ellipsoid, etmerc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_utm, utm_ellipsoid, utm_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class etmerc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<etmerc_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class utm_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<utm_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void etmerc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(etmerc_entry, etmerc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(utm_entry, utm_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(etmerc_init)
{
- factory.add_to_factory("etmerc", new etmerc_entry<T, Parameters>);
- factory.add_to_factory("utm", new utm_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(etmerc, etmerc_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(utm, utm_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/fahey.hpp b/boost/geometry/srs/projections/proj/fahey.hpp
index 8438b5dad3..85cc05c930 100644
--- a/boost/geometry/srs/projections/proj/fahey.hpp
+++ b/boost/geometry/srs/projections/proj/fahey.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct fahey {}; // Fahey
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -74,7 +68,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = tan(0.5 * lp_lat);
xy_y = 1.819152 * xy_x;
@@ -83,7 +77,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
xy_y /= 1.819152;
lp_lat = 2. * atan(xy_y);
@@ -123,7 +117,9 @@ namespace projections
template <typename T, typename Parameters>
struct fahey_spheroid : public detail::fahey::base_fahey_spheroid<T, Parameters>
{
- inline fahey_spheroid(const Parameters& par) : detail::fahey::base_fahey_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline fahey_spheroid(Params const& , Parameters const& par)
+ : detail::fahey::base_fahey_spheroid<T, Parameters>(par)
{
detail::fahey::setup_fahey(this->m_par);
}
@@ -134,23 +130,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::fahey, fahey_spheroid, fahey_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_fahey, fahey_spheroid, fahey_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class fahey_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<fahey_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void fahey_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(fahey_entry, fahey_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(fahey_init)
{
- factory.add_to_factory("fahey", new fahey_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(fahey, fahey_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/fouc_s.hpp b/boost/geometry/srs/projections/proj/fouc_s.hpp
index 580bc1804b..10a252ec27 100644
--- a/boost/geometry/srs/projections/proj/fouc_s.hpp
+++ b/boost/geometry/srs/projections/proj/fouc_s.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct fouc_s {}; // Foucaut Sinusoidal
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -85,7 +79,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T t;
@@ -96,7 +90,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static T const half_pi = detail::half_pi<T>();
@@ -127,11 +121,11 @@ namespace projections
};
// Foucaut Sinusoidal
- template <typename Parameters, typename T>
- inline void setup_fouc_s(Parameters& par, par_fouc_s<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_fouc_s(Params const& params, Parameters& par, par_fouc_s<T>& proj_parm)
{
- proj_parm.n = pj_get_param_f(par.params, "n");
- if (proj_parm.n < 0. || proj_parm.n > 1.)
+ proj_parm.n = pj_get_param_f<T, srs::spar::n>(params, "n", srs::dpar::n);
+ if ((proj_parm.n < 0.) || (proj_parm.n > 1.))
BOOST_THROW_EXCEPTION( projection_exception(error_n_out_of_range) );
proj_parm.n1 = 1. - proj_parm.n;
@@ -158,9 +152,11 @@ namespace projections
template <typename T, typename Parameters>
struct fouc_s_spheroid : public detail::fouc_s::base_fouc_s_spheroid<T, Parameters>
{
- inline fouc_s_spheroid(const Parameters& par) : detail::fouc_s::base_fouc_s_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline fouc_s_spheroid(Params const& params, Parameters const& par)
+ : detail::fouc_s::base_fouc_s_spheroid<T, Parameters>(par)
{
- detail::fouc_s::setup_fouc_s(this->m_par, this->m_proj_parm);
+ detail::fouc_s::setup_fouc_s(params, this->m_par, this->m_proj_parm);
}
};
@@ -169,23 +165,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::fouc_s, fouc_s_spheroid, fouc_s_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_fouc_s, fouc_s_spheroid, fouc_s_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class fouc_s_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<fouc_s_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void fouc_s_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(fouc_s_entry, fouc_s_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(fouc_s_init)
{
- factory.add_to_factory("fouc_s", new fouc_s_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(fouc_s, fouc_s_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/gall.hpp b/boost/geometry/srs/projections/proj/gall.hpp
index 2c35c60985..5d2779945c 100644
--- a/boost/geometry/srs/projections/proj/gall.hpp
+++ b/boost/geometry/srs/projections/proj/gall.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct gall {}; // Gall (Gall Stereographic)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -76,7 +70,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = XF * lp_lon;
xy_y = YF * tan(.5 * lp_lat);
@@ -84,7 +78,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lon = RXF * xy_x;
lp_lat = 2. * atan(xy_y * RYF);
@@ -122,7 +116,9 @@ namespace projections
template <typename T, typename Parameters>
struct gall_spheroid : public detail::gall::base_gall_spheroid<T, Parameters>
{
- inline gall_spheroid(const Parameters& par) : detail::gall::base_gall_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline gall_spheroid(Params const& , Parameters const& par)
+ : detail::gall::base_gall_spheroid<T, Parameters>(par)
{
detail::gall::setup_gall(this->m_par);
}
@@ -133,23 +129,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gall, gall_spheroid, gall_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gall, gall_spheroid, gall_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class gall_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<gall_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void gall_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(gall_entry, gall_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(gall_init)
{
- factory.add_to_factory("gall", new gall_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gall, gall_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/geocent.hpp b/boost/geometry/srs/projections/proj/geocent.hpp
index 92fd8e1070..094feca585 100644
--- a/boost/geometry/srs/projections/proj/geocent.hpp
+++ b/boost/geometry/srs/projections/proj/geocent.hpp
@@ -54,12 +54,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct geocent {}; // Geocentric
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -77,7 +71,7 @@ namespace projections
// FORWARD(forward)
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = lp_lon;
xy_y = lp_lat;
@@ -85,7 +79,7 @@ namespace projections
// INVERSE(inverse)
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = xy_y;
lp_lon = xy_x;
@@ -122,7 +116,9 @@ namespace projections
template <typename T, typename Parameters>
struct geocent_other : public detail::geocent::base_geocent_other<T, Parameters>
{
- inline geocent_other(const Parameters& par) : detail::geocent::base_geocent_other<T, Parameters>(par)
+ template <typename Params>
+ inline geocent_other(Params const& , Parameters const& par)
+ : detail::geocent::base_geocent_other<T, Parameters>(par)
{
detail::geocent::setup_geocent(this->m_par);
}
@@ -133,23 +129,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::geocent, geocent_other, geocent_other)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_geocent, geocent_other, geocent_other)
// Factory entry(s)
- template <typename T, typename Parameters>
- class geocent_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<geocent_other<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void geocent_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(geocent_entry, geocent_other)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(geocent_init)
{
- factory.add_to_factory("geocent", new geocent_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(geocent, geocent_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/geos.hpp b/boost/geometry/srs/projections/proj/geos.hpp
index 905411f766..f9f2901247 100644
--- a/boost/geometry/srs/projections/proj/geos.hpp
+++ b/boost/geometry/srs/projections/proj/geos.hpp
@@ -52,16 +52,11 @@
#include <boost/geometry/srs/projections/impl/base_dynamic.hpp>
#include <boost/geometry/srs/projections/impl/projects.hpp>
#include <boost/geometry/srs/projections/impl/factory_entry.hpp>
+#include <boost/geometry/srs/projections/impl/pj_param.hpp>
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct geos {}; // Geostationary Satellite View
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -77,7 +72,7 @@ namespace projections
T radius_g;
T radius_g_1;
T C;
- int flip_axis;
+ bool flip_axis;
};
// template class, using CRTP to implement forward/inverse
@@ -93,7 +88,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T r, Vx, Vy, Vz, tmp;
@@ -126,7 +121,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T Vx, Vy, Vz, a, b, det, k;
@@ -181,7 +176,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T Vx, Vy, Vz, tmp;
@@ -211,7 +206,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T Vx, Vy, Vz, a, b, det, k;
@@ -250,30 +245,49 @@ namespace projections
};
- // Geostationary Satellite View
- template <typename Parameters, typename T>
- inline void setup_geos(Parameters& par, par_geos<T>& proj_parm)
+ inline bool geos_flip_axis(srs::detail::proj4_parameters const& params)
{
- std::string sweep_axis;
-
- if ((proj_parm.h = pj_get_param_f(par.params, "h")) <= 0.)
- BOOST_THROW_EXCEPTION( projection_exception(error_h_less_than_zero) );
-
- if (par.phi0 != 0.0)
- BOOST_THROW_EXCEPTION( projection_exception(error_unknown_prime_meridian) );
-
- sweep_axis = pj_get_param_s(par.params, "sweep");
+ std::string sweep_axis = pj_get_param_s(params, "sweep");
if (sweep_axis.empty())
- proj_parm.flip_axis = 0;
+ return false;
else {
if (sweep_axis[1] != '\0' || (sweep_axis[0] != 'x' && sweep_axis[0] != 'y'))
BOOST_THROW_EXCEPTION( projection_exception(error_invalid_sweep_axis) );
if (sweep_axis[0] == 'x')
- proj_parm.flip_axis = 1;
+ return true;
else
- proj_parm.flip_axis = 0;
+ return false;
+ }
+ }
+
+ template <typename T>
+ inline bool geos_flip_axis(srs::dpar::parameters<T> const& params)
+ {
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::sweep);
+ if (it == params.end()) {
+ return false;
+ } else {
+ srs::dpar::value_sweep s = static_cast<srs::dpar::value_sweep>(it->template get_value<int>());
+ return s == srs::dpar::sweep_x;
}
+ }
+
+ // Geostationary Satellite View
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_geos(Params const& params, Parameters& par, par_geos<T>& proj_parm)
+ {
+ std::string sweep_axis;
+
+ if ((proj_parm.h = pj_get_param_f<T, srs::spar::h>(params, "h", srs::dpar::h)) <= 0.)
+ BOOST_THROW_EXCEPTION( projection_exception(error_h_less_than_zero) );
+
+ if (par.phi0 != 0.0)
+ BOOST_THROW_EXCEPTION( projection_exception(error_unknown_prime_meridian) );
+
+
+ proj_parm.flip_axis = geos_flip_axis(params);
proj_parm.radius_g_1 = proj_parm.h / par.a;
proj_parm.radius_g = 1. + proj_parm.radius_g_1;
@@ -309,9 +323,11 @@ namespace projections
template <typename T, typename Parameters>
struct geos_ellipsoid : public detail::geos::base_geos_ellipsoid<T, Parameters>
{
- inline geos_ellipsoid(const Parameters& par) : detail::geos::base_geos_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline geos_ellipsoid(Params const& params, Parameters const& par)
+ : detail::geos::base_geos_ellipsoid<T, Parameters>(par)
{
- detail::geos::setup_geos(this->m_par, this->m_proj_parm);
+ detail::geos::setup_geos(params, this->m_par, this->m_proj_parm);
}
};
@@ -334,9 +350,11 @@ namespace projections
template <typename T, typename Parameters>
struct geos_spheroid : public detail::geos::base_geos_spheroid<T, Parameters>
{
- inline geos_spheroid(const Parameters& par) : detail::geos::base_geos_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline geos_spheroid(Params const& params, Parameters const& par)
+ : detail::geos::base_geos_spheroid<T, Parameters>(par)
{
- detail::geos::setup_geos(this->m_par, this->m_proj_parm);
+ detail::geos::setup_geos(params, this->m_par, this->m_proj_parm);
}
};
@@ -345,26 +363,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::geos, geos_spheroid, geos_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_geos, geos_spheroid, geos_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class geos_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<geos_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<geos_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void geos_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(geos_entry, geos_spheroid, geos_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(geos_init)
{
- factory.add_to_factory("geos", new geos_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(geos, geos_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/gins8.hpp b/boost/geometry/srs/projections/proj/gins8.hpp
index 5cdc933943..2e9088a2a5 100644
--- a/boost/geometry/srs/projections/proj/gins8.hpp
+++ b/boost/geometry/srs/projections/proj/gins8.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct gins8 {}; // Ginsburg VIII (TsNIIGAiK)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -78,7 +72,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T C12 = gins8::C12<T>();
@@ -123,7 +117,9 @@ namespace projections
template <typename T, typename Parameters>
struct gins8_spheroid : public detail::gins8::base_gins8_spheroid<T, Parameters>
{
- inline gins8_spheroid(const Parameters& par) : detail::gins8::base_gins8_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline gins8_spheroid(Params const& , Parameters const& par)
+ : detail::gins8::base_gins8_spheroid<T, Parameters>(par)
{
detail::gins8::setup_gins8(this->m_par);
}
@@ -134,23 +130,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gins8, gins8_spheroid, gins8_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gins8, gins8_spheroid, gins8_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class gins8_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<gins8_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void gins8_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(gins8_entry, gins8_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(gins8_init)
{
- factory.add_to_factory("gins8", new gins8_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gins8, gins8_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/gn_sinu.hpp b/boost/geometry/srs/projections/proj/gn_sinu.hpp
index 2a8e82bdc5..b4218cc839 100644
--- a/boost/geometry/srs/projections/proj/gn_sinu.hpp
+++ b/boost/geometry/srs/projections/proj/gn_sinu.hpp
@@ -52,15 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct gn_sinu {}; // General Sinusoidal Series
- struct sinu {}; // Sinusoidal (Sanson-Flamsteed)
- struct eck6 {}; // Eckert VI
- struct mbtfps {}; // McBryde-Thomas Flat-Polar Sinusoidal
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -93,7 +84,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T s, c;
@@ -103,7 +94,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -139,7 +130,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
if (this->m_proj_parm.m == 0.0)
lp_lat = this->m_proj_parm.n != 1. ? aasin(this->m_proj_parm.n * sin(lp_lat)): lp_lat;
@@ -164,7 +155,7 @@ namespace projections
// INVERSE(s_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
xy_y /= this->m_proj_parm.C_y;
lp_lat = (this->m_proj_parm.m != 0.0) ? aasin((this->m_proj_parm.m * xy_y + sin(xy_y)) / this->m_proj_parm.n) :
@@ -189,11 +180,11 @@ namespace projections
// General Sinusoidal Series
- template <typename Parameters, typename T>
- inline void setup_gn_sinu(Parameters& par, par_gn_sinu<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_gn_sinu(Params const& params, Parameters& par, par_gn_sinu<T>& proj_parm)
{
- if (pj_param_f(par.params, "n", proj_parm.n)
- && pj_param_f(par.params, "m", proj_parm.m)) {
+ if (pj_param_f<srs::spar::n>(params, "n", srs::dpar::n, proj_parm.n)
+ && pj_param_f<srs::spar::m>(params, "m", srs::dpar::m, proj_parm.m)) {
if (proj_parm.n <= 0 || proj_parm.m < 0)
BOOST_THROW_EXCEPTION( projection_exception(error_invalid_m_or_n) );
} else
@@ -256,9 +247,11 @@ namespace projections
template <typename T, typename Parameters>
struct gn_sinu_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>
{
- inline gn_sinu_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline gn_sinu_spheroid(Params const& params, Parameters const& par)
+ : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
{
- detail::gn_sinu::setup_gn_sinu(this->m_par, this->m_proj_parm);
+ detail::gn_sinu::setup_gn_sinu(params, this->m_par, this->m_proj_parm);
}
};
@@ -278,7 +271,9 @@ namespace projections
template <typename T, typename Parameters>
struct sinu_ellipsoid : public detail::gn_sinu::base_gn_sinu_ellipsoid<T, Parameters>
{
- inline sinu_ellipsoid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline sinu_ellipsoid(Params const& , Parameters const& par)
+ : detail::gn_sinu::base_gn_sinu_ellipsoid<T, Parameters>(par)
{
detail::gn_sinu::setup_sinu(this->m_par, this->m_proj_parm);
}
@@ -300,7 +295,9 @@ namespace projections
template <typename T, typename Parameters>
struct sinu_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>
{
- inline sinu_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline sinu_spheroid(Params const& , Parameters const& par)
+ : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
{
detail::gn_sinu::setup_sinu(this->m_par, this->m_proj_parm);
}
@@ -321,7 +318,9 @@ namespace projections
template <typename T, typename Parameters>
struct eck6_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>
{
- inline eck6_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline eck6_spheroid(Params const& , Parameters const& par)
+ : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
{
detail::gn_sinu::setup_eck6(this->m_par, this->m_proj_parm);
}
@@ -342,7 +341,9 @@ namespace projections
template <typename T, typename Parameters>
struct mbtfps_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>
{
- inline mbtfps_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline mbtfps_spheroid(Params const& , Parameters const& par)
+ : detail::gn_sinu::base_gn_sinu_spheroid<T, Parameters>(par)
{
detail::gn_sinu::setup_mbtfps(this->m_par, this->m_proj_parm);
}
@@ -353,62 +354,23 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gn_sinu, gn_sinu_spheroid, gn_sinu_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::sinu, sinu_spheroid, sinu_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::eck6, eck6_spheroid, eck6_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mbtfps, mbtfps_spheroid, mbtfps_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gn_sinu, gn_sinu_spheroid, gn_sinu_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_sinu, sinu_spheroid, sinu_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_eck6, eck6_spheroid, eck6_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mbtfps, mbtfps_spheroid, mbtfps_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class gn_sinu_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<gn_sinu_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class sinu_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<sinu_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<sinu_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class eck6_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<eck6_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class mbtfps_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mbtfps_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void gn_sinu_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(gn_sinu_entry, gn_sinu_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(sinu_entry, sinu_spheroid, sinu_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(eck6_entry, eck6_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mbtfps_entry, mbtfps_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(gn_sinu_init)
{
- factory.add_to_factory("gn_sinu", new gn_sinu_entry<T, Parameters>);
- factory.add_to_factory("sinu", new sinu_entry<T, Parameters>);
- factory.add_to_factory("eck6", new eck6_entry<T, Parameters>);
- factory.add_to_factory("mbtfps", new mbtfps_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gn_sinu, gn_sinu_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(sinu, sinu_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(eck6, eck6_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mbtfps, mbtfps_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/gnom.hpp b/boost/geometry/srs/projections/proj/gnom.hpp
index 9276391a76..6c9ca3a02c 100644
--- a/boost/geometry/srs/projections/proj/gnom.hpp
+++ b/boost/geometry/srs/projections/proj/gnom.hpp
@@ -52,12 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct gnom {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -93,7 +87,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T coslam, cosphi, sinphi;
@@ -139,7 +133,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -228,7 +222,9 @@ namespace projections
template <typename T, typename Parameters>
struct gnom_spheroid : public detail::gnom::base_gnom_spheroid<T, Parameters>
{
- inline gnom_spheroid(const Parameters& par) : detail::gnom::base_gnom_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline gnom_spheroid(Params const& , Parameters const& par)
+ : detail::gnom::base_gnom_spheroid<T, Parameters>(par)
{
detail::gnom::setup_gnom(this->m_par, this->m_proj_parm);
}
@@ -239,23 +235,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gnom, gnom_spheroid, gnom_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gnom, gnom_spheroid, gnom_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class gnom_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<gnom_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void gnom_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(gnom_entry, gnom_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(gnom_init)
{
- factory.add_to_factory("gnom", new gnom_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gnom, gnom_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/goode.hpp b/boost/geometry/srs/projections/proj/goode.hpp
index 014c9328cf..b9cc034600 100644
--- a/boost/geometry/srs/projections/proj/goode.hpp
+++ b/boost/geometry/srs/projections/proj/goode.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct goode {}; // Goode Homolosine
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -72,12 +66,15 @@ namespace projections
sinu_spheroid<T, Par> sinu;
moll_spheroid<T, Par> moll;
- par_goode(Par const& par) : sinu(par), moll(par) {}
+ template <typename Params>
+ par_goode(Params const& params, Par const& par)
+ : sinu(params, par), moll(params, par)
+ {}
};
template <typename T, typename Par>
- inline void s_forward(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y,
- Par const& par, par_goode<T, Par> const& proj_par)
+ inline void s_forward(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y,
+ par_goode<T, Par> const& proj_par)
{
if (fabs(lp_lat) <= PHI_LIM)
proj_par.sinu.fwd(lp_lon, lp_lat, xy_x, xy_y);
@@ -88,8 +85,8 @@ namespace projections
}
template <typename T, typename Par>
- inline void s_inverse(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat,
- Par const& par, par_goode<T, Par> const& proj_par)
+ inline void s_inverse(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat,
+ par_goode<T, Par> const& proj_par)
{
if (fabs(xy_y) <= PHI_LIM)
proj_par.sinu.inv(xy_x, xy_y, lp_lon, lp_lat);
@@ -133,23 +130,24 @@ namespace projections
{
detail::goode::par_goode<T, Parameters> m_proj_parm;
- inline goode_spheroid(const Parameters& par)
+ template <typename Params>
+ inline goode_spheroid(Params const& params, Parameters const& par)
: detail::base_t_fi<goode_spheroid<T, Parameters>, T, Parameters>(*this, par)
- , m_proj_parm(setup(this->m_par))
+ , m_proj_parm(params, setup(this->m_par))
{}
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
- detail::goode::s_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_par, this->m_proj_parm);
+ detail::goode::s_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_proj_parm);
}
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
- detail::goode::s_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_par, this->m_proj_parm);
+ detail::goode::s_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_proj_parm);
}
static inline std::string get_name()
@@ -171,23 +169,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::goode, goode_spheroid, goode_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_goode, goode_spheroid, goode_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class goode_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<goode_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void goode_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(goode_entry, goode_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(goode_init)
{
- factory.add_to_factory("goode", new goode_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(goode, goode_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/gstmerc.hpp b/boost/geometry/srs/projections/proj/gstmerc.hpp
index 69751c503c..b53cb9d737 100644
--- a/boost/geometry/srs/projections/proj/gstmerc.hpp
+++ b/boost/geometry/srs/projections/proj/gstmerc.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct gstmerc {}; // Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -86,7 +80,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T L, Ls, sinLs1, Ls1;
@@ -100,7 +94,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T L, LC, sinC;
@@ -155,7 +149,9 @@ namespace projections
template <typename T, typename Parameters>
struct gstmerc_spheroid : public detail::gstmerc::base_gstmerc_spheroid<T, Parameters>
{
- inline gstmerc_spheroid(const Parameters& par) : detail::gstmerc::base_gstmerc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline gstmerc_spheroid(Params const& , Parameters const& par)
+ : detail::gstmerc::base_gstmerc_spheroid<T, Parameters>(par)
{
detail::gstmerc::setup_gstmerc(this->m_par, this->m_proj_parm);
}
@@ -166,23 +162,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gstmerc, gstmerc_spheroid, gstmerc_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gstmerc, gstmerc_spheroid, gstmerc_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class gstmerc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<gstmerc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void gstmerc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(gstmerc_entry, gstmerc_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(gstmerc_init)
{
- factory.add_to_factory("gstmerc", new gstmerc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gstmerc, gstmerc_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/hammer.hpp b/boost/geometry/srs/projections/proj/hammer.hpp
index 9fd5bd34b1..6518fd8245 100644
--- a/boost/geometry/srs/projections/proj/hammer.hpp
+++ b/boost/geometry/srs/projections/proj/hammer.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct hammer {}; // Hammer & Eckert-Greifendorff
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -81,7 +75,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T cosphi, d;
@@ -92,7 +86,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T z;
@@ -115,17 +109,17 @@ namespace projections
};
// Hammer & Eckert-Greifendorff
- template <typename Parameters, typename T>
- inline void setup_hammer(Parameters& par, par_hammer<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_hammer(Params const& params, Parameters& par, par_hammer<T>& proj_parm)
{
T tmp;
- if (pj_param_f(par.params, "W", tmp)) {
+ if (pj_param_f<srs::spar::w>(params, "W", srs::dpar::w, tmp)) {
if ((proj_parm.w = fabs(tmp)) <= 0.)
BOOST_THROW_EXCEPTION( projection_exception(error_w_or_m_zero_or_less) );
} else
proj_parm.w = .5;
- if (pj_param_f(par.params, "M", tmp)) {
+ if (pj_param_f<srs::spar::m>(params, "M", srs::dpar::m, tmp)) {
if ((proj_parm.m = fabs(tmp)) <= 0.)
BOOST_THROW_EXCEPTION( projection_exception(error_w_or_m_zero_or_less) );
} else
@@ -159,9 +153,11 @@ namespace projections
template <typename T, typename Parameters>
struct hammer_spheroid : public detail::hammer::base_hammer_spheroid<T, Parameters>
{
- inline hammer_spheroid(const Parameters& par) : detail::hammer::base_hammer_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline hammer_spheroid(Params const& params, Parameters const& par)
+ : detail::hammer::base_hammer_spheroid<T, Parameters>(par)
{
- detail::hammer::setup_hammer(this->m_par, this->m_proj_parm);
+ detail::hammer::setup_hammer(params, this->m_par, this->m_proj_parm);
}
};
@@ -170,23 +166,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::hammer, hammer_spheroid, hammer_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_hammer, hammer_spheroid, hammer_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class hammer_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<hammer_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void hammer_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(hammer_entry, hammer_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(hammer_init)
{
- factory.add_to_factory("hammer", new hammer_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(hammer, hammer_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/hatano.hpp b/boost/geometry/srs/projections/proj/hatano.hpp
index 8392a2a3ca..f3ae7d07dc 100644
--- a/boost/geometry/srs/projections/proj/hatano.hpp
+++ b/boost/geometry/srs/projections/proj/hatano.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct hatano {}; // Hatano Asymmetrical Equal Area
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -87,7 +81,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T th1, c;
int i;
@@ -103,7 +97,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static T const half_pi = detail::half_pi<T>();
@@ -166,7 +160,9 @@ namespace projections
template <typename T, typename Parameters>
struct hatano_spheroid : public detail::hatano::base_hatano_spheroid<T, Parameters>
{
- inline hatano_spheroid(const Parameters& par) : detail::hatano::base_hatano_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline hatano_spheroid(Params const& , Parameters const& par)
+ : detail::hatano::base_hatano_spheroid<T, Parameters>(par)
{
detail::hatano::setup_hatano(this->m_par);
}
@@ -177,23 +173,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::hatano, hatano_spheroid, hatano_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_hatano, hatano_spheroid, hatano_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class hatano_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<hatano_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void hatano_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(hatano_entry, hatano_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(hatano_init)
{
- factory.add_to_factory("hatano", new hatano_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(hatano, hatano_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/healpix.hpp b/boost/geometry/srs/projections/proj/healpix.hpp
index 4615448192..414935c040 100644
--- a/boost/geometry/srs/projections/proj/healpix.hpp
+++ b/boost/geometry/srs/projections/proj/healpix.hpp
@@ -61,13 +61,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct healpix {}; // HEALPix
- struct rhealpix {}; // rHEALPix
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -347,7 +340,7 @@ namespace projections
* @param ret holds a + b.
**/
template <typename T>
- inline void vector_add(T a[2], T b[2], T *ret)
+ inline void vector_add(const T a[2], const T b[2], T ret[2])
{
int i;
for(i = 0; i < 2; i++) {
@@ -359,7 +352,7 @@ namespace projections
* @param ret holds a - b.
**/
template <typename T>
- inline void vector_sub(T a[2], T b[2], T*ret)
+ inline void vector_sub(const T a[2], const T b[2], T ret[2])
{
int i;
for(i = 0; i < 2; i++) {
@@ -372,7 +365,7 @@ namespace projections
* @param ret holds a*b.
**/
template <typename T1, typename T2>
- inline void dot_product(T1 a[2][2], T2 b[2], T2 *ret)
+ inline void dot_product(const T1 a[2][2], const T2 b[2], T2 ret[2])
{
int i, j;
int length = 2;
@@ -565,7 +558,7 @@ namespace projections
// FORWARD(e_healpix_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
lp_lat = auth_lat(this->params(), m_proj_parm, lp_lat, 0);
return healpix_sphere(lp_lon, lp_lat, xy_x, xy_y);
@@ -573,7 +566,7 @@ namespace projections
// INVERSE(e_healpix_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
/* Check whether (x, y) lies in the HEALPix image. */
if (in_image(xy_x, xy_y, 0, 0, 0) == 0) {
@@ -605,14 +598,14 @@ namespace projections
// FORWARD(s_healpix_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
return healpix_sphere(lp_lon, lp_lat, xy_x, xy_y);
}
// INVERSE(s_healpix_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
/* Check whether (x, y) lies in the HEALPix image */
if (in_image(xy_x, xy_y, 0, 0, 0) == 0) {
@@ -643,7 +636,7 @@ namespace projections
// FORWARD(e_rhealpix_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
lp_lat = auth_lat(this->params(), m_proj_parm, lp_lat, 0);
healpix_sphere(lp_lon, lp_lat, xy_x, xy_y);
@@ -652,7 +645,7 @@ namespace projections
// INVERSE(e_rhealpix_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
/* Check whether (x, y) lies in the rHEALPix image. */
if (in_image(xy_x, xy_y, 1, this->m_proj_parm.north_square, this->m_proj_parm.south_square) == 0) {
@@ -685,7 +678,7 @@ namespace projections
// FORWARD(s_rhealpix_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
healpix_sphere(lp_lon, lp_lat, xy_x, xy_y);
combine_caps(xy_x, xy_y, this->m_proj_parm.north_square, this->m_proj_parm.south_square, 0);
@@ -693,7 +686,7 @@ namespace projections
// INVERSE(s_rhealpix_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
/* Check whether (x, y) lies in the rHEALPix image. */
if (in_image(xy_x, xy_y, 1, this->m_proj_parm.north_square, this->m_proj_parm.south_square) == 0) {
@@ -726,16 +719,16 @@ namespace projections
}
// rHEALPix
- template <typename Parameters, typename T>
- inline void setup_rhealpix(Parameters& par, par_healpix<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_rhealpix(Params const& params, Parameters& par, par_healpix<T>& proj_parm)
{
- proj_parm.north_square = pj_get_param_i(par.params, "north_square");
- proj_parm.south_square = pj_get_param_i(par.params, "south_square");
+ proj_parm.north_square = pj_get_param_i<srs::spar::north_square>(params, "north_square", srs::dpar::north_square);
+ proj_parm.south_square = pj_get_param_i<srs::spar::south_square>(params, "south_square", srs::dpar::south_square);
/* Check for valid north_square and south_square inputs. */
- if (proj_parm.north_square < 0 || proj_parm.north_square > 3) {
+ if ((proj_parm.north_square < 0) || (proj_parm.north_square > 3)) {
BOOST_THROW_EXCEPTION( projection_exception(error_axis) );
}
- if (proj_parm.south_square < 0 || proj_parm.south_square > 3) {
+ if ((proj_parm.south_square < 0) || (proj_parm.south_square > 3)) {
BOOST_THROW_EXCEPTION( projection_exception(error_axis) );
}
if (par.es != 0.0) {
@@ -767,7 +760,9 @@ namespace projections
template <typename T, typename Parameters>
struct healpix_ellipsoid : public detail::healpix::base_healpix_ellipsoid<T, Parameters>
{
- inline healpix_ellipsoid(const Parameters& par) : detail::healpix::base_healpix_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline healpix_ellipsoid(Params const& , Parameters const& par)
+ : detail::healpix::base_healpix_ellipsoid<T, Parameters>(par)
{
detail::healpix::setup_healpix(this->m_par, this->m_proj_parm);
}
@@ -788,7 +783,9 @@ namespace projections
template <typename T, typename Parameters>
struct healpix_spheroid : public detail::healpix::base_healpix_spheroid<T, Parameters>
{
- inline healpix_spheroid(const Parameters& par) : detail::healpix::base_healpix_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline healpix_spheroid(Params const& , Parameters const& par)
+ : detail::healpix::base_healpix_spheroid<T, Parameters>(par)
{
detail::healpix::setup_healpix(this->m_par, this->m_proj_parm);
}
@@ -812,9 +809,11 @@ namespace projections
template <typename T, typename Parameters>
struct rhealpix_ellipsoid : public detail::healpix::base_rhealpix_ellipsoid<T, Parameters>
{
- inline rhealpix_ellipsoid(const Parameters& par) : detail::healpix::base_rhealpix_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline rhealpix_ellipsoid(Params const& params, Parameters const& par)
+ : detail::healpix::base_rhealpix_ellipsoid<T, Parameters>(par)
{
- detail::healpix::setup_rhealpix(this->m_par, this->m_proj_parm);
+ detail::healpix::setup_rhealpix(params, this->m_par, this->m_proj_parm);
}
};
@@ -836,9 +835,11 @@ namespace projections
template <typename T, typename Parameters>
struct rhealpix_spheroid : public detail::healpix::base_rhealpix_spheroid<T, Parameters>
{
- inline rhealpix_spheroid(const Parameters& par) : detail::healpix::base_rhealpix_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline rhealpix_spheroid(Params const& params, Parameters const& par)
+ : detail::healpix::base_rhealpix_spheroid<T, Parameters>(par)
{
- detail::healpix::setup_rhealpix(this->m_par, this->m_proj_parm);
+ detail::healpix::setup_rhealpix(params, this->m_par, this->m_proj_parm);
}
};
@@ -847,41 +848,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::healpix, healpix_spheroid, healpix_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::rhealpix, rhealpix_spheroid, rhealpix_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_healpix, healpix_spheroid, healpix_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_rhealpix, rhealpix_spheroid, rhealpix_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class healpix_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<healpix_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<healpix_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class rhealpix_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<rhealpix_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<rhealpix_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void healpix_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(healpix_entry, healpix_spheroid, healpix_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(rhealpix_entry, rhealpix_spheroid, rhealpix_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(healpix_init)
{
- factory.add_to_factory("healpix", new healpix_entry<T, Parameters>);
- factory.add_to_factory("rhealpix", new rhealpix_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(healpix, healpix_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(rhealpix, rhealpix_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/igh.hpp b/boost/geometry/srs/projections/proj/igh.hpp
index 6661863c91..6403d74123 100644
--- a/boost/geometry/srs/projections/proj/igh.hpp
+++ b/boost/geometry/srs/projections/proj/igh.hpp
@@ -53,12 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct igh {}; // Interrupted Goode Homolosine
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -105,16 +99,16 @@ namespace projections
static const double epsilon = 1.e-10; // allow a little 'slack' on zone edge positions
// Converted from #define SETUP(n, proj, x_0, y_0, lon_0)
- template <template <typename, typename> class Entry, typename Parameters, typename T>
- inline void do_setup(int n, Parameters const& par, par_igh<T, Parameters>& proj_parm,
+ template <template <typename, typename, typename> class Entry, typename Params, typename Parameters, typename T>
+ inline void do_setup(int n, Params const& params, Parameters const& par, par_igh<T, Parameters>& proj_parm,
T const& x_0, T const& y_0,
T const& lon_0)
{
// NOTE: in the original proj4 these projections are initialized
// with zeroed parameters which could be done here as well instead
// of initializing with parent projection's parameters.
- Entry<T, Parameters> entry;
- proj_parm.pj[n-1].reset(entry.create_new(par));
+ Entry<Params, T, Parameters> entry;
+ proj_parm.pj[n-1].reset(entry.create_new(params, par));
proj_parm.pj[n-1]->mutable_params().x0 = x_0;
proj_parm.pj[n-1]->mutable_params().y0 = y_0;
proj_parm.pj[n-1]->mutable_params().lam0 = lon_0;
@@ -133,7 +127,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T d4044118 = igh::d4044118<T>();
static const T d20 = igh::d20<T>();
@@ -169,7 +163,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T d4044118 = igh::d4044118<T>();
static const T d10 = igh::d10<T>();
@@ -252,8 +246,8 @@ namespace projections
};
// Interrupted Goode Homolosine
- template <typename T, typename Parameters>
- inline void setup_igh(Parameters& par, par_igh<T, Parameters>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_igh(Params const& params, Parameters& par, par_igh<T, Parameters>& proj_parm)
{
static const T d0 = 0;
static const T d4044118 = igh::d4044118<T>();
@@ -296,15 +290,15 @@ namespace projections
par.es = 0.;
// sinusoidal zones
- do_setup<sinu_entry>(3, par, proj_parm, -d100, d0, -d100);
- do_setup<sinu_entry>(4, par, proj_parm, d30, d0, d30);
- do_setup<sinu_entry>(5, par, proj_parm, -d160, d0, -d160);
- do_setup<sinu_entry>(6, par, proj_parm, -d60, d0, -d60);
- do_setup<sinu_entry>(7, par, proj_parm, d20, d0, d20);
- do_setup<sinu_entry>(8, par, proj_parm, d140, d0, d140);
+ do_setup<sinu_entry>(3, params, par, proj_parm, -d100, d0, -d100);
+ do_setup<sinu_entry>(4, params, par, proj_parm, d30, d0, d30);
+ do_setup<sinu_entry>(5, params, par, proj_parm, -d160, d0, -d160);
+ do_setup<sinu_entry>(6, params, par, proj_parm, -d60, d0, -d60);
+ do_setup<sinu_entry>(7, params, par, proj_parm, d20, d0, d20);
+ do_setup<sinu_entry>(8, params, par, proj_parm, d140, d0, d140);
// mollweide zones
- do_setup<moll_entry>(1, par, proj_parm, -d100, d0, -d100);
+ do_setup<moll_entry>(1, params, par, proj_parm, -d100, d0, -d100);
// y0 ?
proj_parm.pj[0]->fwd(lp_lam, lp_phi, xy1_x, xy1_y); // zone 1
@@ -315,11 +309,11 @@ namespace projections
proj_parm.pj[0]->mutable_params().y0 = proj_parm.dy0;
// mollweide zones (cont'd)
- do_setup<moll_entry>( 2, par, proj_parm, d30, proj_parm.dy0, d30);
- do_setup<moll_entry>( 9, par, proj_parm, -d160, -proj_parm.dy0, -d160);
- do_setup<moll_entry>(10, par, proj_parm, -d60, -proj_parm.dy0, -d60);
- do_setup<moll_entry>(11, par, proj_parm, d20, -proj_parm.dy0, d20);
- do_setup<moll_entry>(12, par, proj_parm, d140, -proj_parm.dy0, d140);
+ do_setup<moll_entry>( 2, params, par, proj_parm, d30, proj_parm.dy0, d30);
+ do_setup<moll_entry>( 9, params, par, proj_parm, -d160, -proj_parm.dy0, -d160);
+ do_setup<moll_entry>(10, params, par, proj_parm, -d60, -proj_parm.dy0, -d60);
+ do_setup<moll_entry>(11, params, par, proj_parm, d20, -proj_parm.dy0, d20);
+ do_setup<moll_entry>(12, params, par, proj_parm, d140, -proj_parm.dy0, d140);
// Already done before
//par.es = 0.;
@@ -343,9 +337,11 @@ namespace projections
template <typename T, typename Parameters>
struct igh_spheroid : public detail::igh::base_igh_spheroid<T, Parameters>
{
- inline igh_spheroid(const Parameters& par) : detail::igh::base_igh_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline igh_spheroid(Params const& params, Parameters const& par)
+ : detail::igh::base_igh_spheroid<T, Parameters>(par)
{
- detail::igh::setup_igh(this->m_par, this->m_proj_parm);
+ detail::igh::setup_igh(params, this->m_par, this->m_proj_parm);
}
};
@@ -354,23 +350,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::igh, igh_spheroid, igh_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_igh, igh_spheroid, igh_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class igh_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<igh_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(igh_entry, igh_spheroid)
- template <typename T, typename Parameters>
- inline void igh_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(igh_init)
{
- factory.add_to_factory("igh", new igh_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(igh, igh_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/imw_p.hpp b/boost/geometry/srs/projections/proj/imw_p.hpp
index 78bd10d63b..f5f662406f 100644
--- a/boost/geometry/srs/projections/proj/imw_p.hpp
+++ b/boost/geometry/srs/projections/proj/imw_p.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct imw_p {}; // International Map of the World Polyconic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,14 +78,14 @@ namespace projections
mode_type mode;
};
- template <typename Parameters, typename T>
- inline int
- phi12(Parameters& par, par_imw_p<T>& proj_parm, T *del, T *sig)
+ template <typename Params, typename T>
+ inline int phi12(Params const& params,
+ par_imw_p<T> & proj_parm, T *del, T *sig)
{
int err = 0;
- if (!pj_param_r(par.params, "lat_1", proj_parm.phi_1) ||
- !pj_param_r(par.params, "lat_2", proj_parm.phi_2)) {
+ if (!pj_param_r<srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1, proj_parm.phi_1) ||
+ !pj_param_r<srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2, proj_parm.phi_2)) {
err = -41;
} else {
//proj_parm.phi_1 = pj_get_param_r(par.params, "lat_1"); // set above
@@ -103,8 +97,10 @@ namespace projections
return err;
}
template <typename Parameters, typename T>
- inline point_xy<T>
- loc_for(T const& lp_lam, T const& lp_phi, Parameters const& par, par_imw_p<T> const& proj_parm, T *yc)
+ inline point_xy<T> loc_for(T const& lp_lam, T const& lp_phi,
+ Parameters const& par,
+ par_imw_p<T> const& proj_parm,
+ T *yc)
{
point_xy<T> xy;
@@ -152,8 +148,9 @@ namespace projections
return (xy);
}
template <typename Parameters, typename T>
- inline void
- xy(Parameters const& par, par_imw_p<T> const& proj_parm, T const& phi, T *x, T *y, T *sp, T *R)
+ inline void xy(Parameters const& par, par_imw_p<T> const& proj_parm,
+ T const& phi,
+ T *x, T *y, T *sp, T *R)
{
T F;
@@ -177,7 +174,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T yc = 0;
point_xy<T> xy = loc_for(lp_lon, lp_lat, this->m_par, m_proj_parm, &yc);
@@ -186,7 +183,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
point_xy<T> t;
T yc = 0.0;
@@ -217,21 +214,21 @@ namespace projections
};
// International Map of the World Polyconic
- template <typename Parameters, typename T>
- inline void setup_imw_p(Parameters& par, par_imw_p<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_imw_p(Params const& params, Parameters const& par, par_imw_p<T>& proj_parm)
{
T del, sig, s, t, x1, x2, T2, y1, m1, m2, y2;
int err;
proj_parm.en = pj_enfn<T>(par.es);
- if( (err = phi12(par, proj_parm, &del, &sig)) != 0)
+ if( (err = phi12(params, proj_parm, &del, &sig)) != 0)
BOOST_THROW_EXCEPTION( projection_exception(err) );
if (proj_parm.phi_2 < proj_parm.phi_1) { /* make sure proj_parm.phi_1 most southerly */
del = proj_parm.phi_1;
proj_parm.phi_1 = proj_parm.phi_2;
proj_parm.phi_2 = del;
}
- if (pj_param_r(par.params, "lon_1", proj_parm.lam_1)) {
+ if (pj_param_r<srs::spar::lon_1>(params, "lon_1", srs::dpar::lon_1, proj_parm.lam_1)) {
/* empty */
} else { /* use predefined based upon latitude */
sig = fabs(sig * geometry::math::r2d<T>());
@@ -290,9 +287,11 @@ namespace projections
template <typename T, typename Parameters>
struct imw_p_ellipsoid : public detail::imw_p::base_imw_p_ellipsoid<T, Parameters>
{
- inline imw_p_ellipsoid(const Parameters& par) : detail::imw_p::base_imw_p_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline imw_p_ellipsoid(Params const& params, Parameters const& par)
+ : detail::imw_p::base_imw_p_ellipsoid<T, Parameters>(par)
{
- detail::imw_p::setup_imw_p(this->m_par, this->m_proj_parm);
+ detail::imw_p::setup_imw_p(params, this->m_par, this->m_proj_parm);
}
};
@@ -301,23 +300,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::imw_p, imw_p_ellipsoid, imw_p_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_imw_p, imw_p_ellipsoid, imw_p_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class imw_p_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<imw_p_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void imw_p_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(imw_p_entry, imw_p_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(imw_p_init)
{
- factory.add_to_factory("imw_p", new imw_p_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(imw_p, imw_p_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/isea.hpp b/boost/geometry/srs/projections/proj/isea.hpp
index 6ae803b65e..d3f53a7754 100644
--- a/boost/geometry/srs/projections/proj/isea.hpp
+++ b/boost/geometry/srs/projections/proj/isea.hpp
@@ -46,6 +46,8 @@
#include <sstream>
#include <boost/core/ignore_unused.hpp>
+
+#include <boost/geometry/core/assert.hpp>
#include <boost/geometry/util/math.hpp>
#include <boost/geometry/srs/projections/impl/base_static.hpp>
@@ -56,12 +58,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct isea {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -202,8 +198,8 @@ namespace projections
//enum isea_poly { isea_none = 0, isea_icosahedron = 20 };
//enum isea_topology { isea_hexagon=6, isea_triangle=3, isea_diamond=4 };
enum isea_address_form {
- isea_addr_geo, isea_addr_q2di, isea_addr_seqnum,
- isea_addr_interleave, isea_addr_plane, isea_addr_q2dd,
+ /*isea_addr_geo,*/ isea_addr_q2di, isea_addr_seqnum,
+ /*isea_addr_interleave,*/ isea_addr_plane, isea_addr_q2dd,
isea_addr_projtri, isea_addr_vertex2dd, isea_addr_hex
};
@@ -1074,30 +1070,34 @@ namespace projections
out.y += 2.0 * .14433756729740644112;
switch (g->output) {
- case isea_addr_projtri:
- /* nothing to do, already in projected triangle */
- break;
- case isea_addr_vertex2dd:
- g->quad = isea_ptdd(tri, &out);
- break;
- case isea_addr_q2dd:
- /* Same as above, we just don't print as much */
- g->quad = isea_ptdd(tri, &out);
- break;
- case isea_addr_q2di:
- g->quad = isea_ptdi(g, tri, &out, &coord);
- return coord;
- break;
- case isea_addr_seqnum:
- isea_ptdi(g, tri, &out, &coord);
- /* disn will set g->serial */
- isea_disn(g, g->quad, &coord);
- return coord;
- break;
- case isea_addr_hex:
- isea_hex(g, tri, &out, &coord);
- return coord;
- break;
+ case isea_addr_projtri:
+ /* nothing to do, already in projected triangle */
+ break;
+ case isea_addr_vertex2dd:
+ g->quad = isea_ptdd(tri, &out);
+ break;
+ case isea_addr_q2dd:
+ /* Same as above, we just don't print as much */
+ g->quad = isea_ptdd(tri, &out);
+ break;
+ case isea_addr_q2di:
+ g->quad = isea_ptdi(g, tri, &out, &coord);
+ return coord;
+ break;
+ case isea_addr_seqnum:
+ isea_ptdi(g, tri, &out, &coord);
+ /* disn will set g->serial */
+ isea_disn(g, g->quad, &coord);
+ return coord;
+ break;
+ case isea_addr_hex:
+ isea_hex(g, tri, &out, &coord);
+ return coord;
+ break;
+ default:
+ // isea_addr_plane handled above
+ BOOST_GEOMETRY_ASSERT(false);
+ break;
}
return out;
@@ -1125,7 +1125,7 @@ namespace projections
// FORWARD(s_forward)
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
isea_pt<T> out;
isea_geo<T> in;
@@ -1147,19 +1147,11 @@ namespace projections
};
- // Icosahedral Snyder Equal Area
- template <typename Parameters, typename T>
- inline void setup_isea(Parameters& par, par_isea<T>& proj_parm)
+ template <typename T>
+ inline void isea_orient_init(srs::detail::proj4_parameters const& params,
+ par_isea<T>& proj_parm)
{
- std::string opt;
-
- isea_grid_init(&proj_parm.dgg);
-
- proj_parm.dgg.output = isea_addr_plane;
- /* proj_parm.dgg.radius = par.a; / * otherwise defaults to 1 */
- /* calling library will scale, I think */
-
- opt = pj_get_param_s(par.params, "orient");
+ std::string opt = pj_get_param_s(params, "orient");
if (! opt.empty()) {
if (opt == std::string("isea")) {
isea_orient_isea(&proj_parm.dgg);
@@ -1169,46 +1161,104 @@ namespace projections
BOOST_THROW_EXCEPTION( projection_exception(error_ellipsoid_use_required) );
}
}
+ }
- pj_param_r(par.params, "azi", proj_parm.dgg.o_az);
- pj_param_r(par.params, "lon_0", proj_parm.dgg.o_lon);
- pj_param_r(par.params, "lat_0", proj_parm.dgg.o_lat);
- // TODO: this parameter is set below second time
- pj_param_i(par.params, "aperture", proj_parm.dgg.aperture);
- // TODO: this parameter is set below second time
- pj_param_i(par.params, "resolution", proj_parm.dgg.resolution);
-
- opt = pj_get_param_s(par.params, "mode");
+ template <typename T>
+ inline void isea_orient_init(srs::dpar::parameters<T> const& params,
+ par_isea<T>& proj_parm)
+ {
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::orient);
+ if (it != params.end()) {
+ srs::dpar::value_orient o = static_cast<srs::dpar::value_orient>(it->template get_value<int>());
+ if (o == srs::dpar::orient_isea) {
+ isea_orient_isea(&proj_parm.dgg);
+ } else if (o == srs::dpar::orient_pole) {
+ isea_orient_pole(&proj_parm.dgg);
+ } else {
+ BOOST_THROW_EXCEPTION( projection_exception(error_ellipsoid_use_required) );
+ }
+ }
+ }
+
+ template <typename T>
+ inline void isea_mode_init(srs::detail::proj4_parameters const& params,
+ par_isea<T>& proj_parm)
+ {
+ std::string opt = pj_get_param_s(params, "mode");
if (! opt.empty()) {
if (opt == std::string("plane")) {
proj_parm.dgg.output = isea_addr_plane;
} else if (opt == std::string("di")) {
proj_parm.dgg.output = isea_addr_q2di;
- }
- else if (opt == std::string("dd")) {
+ } else if (opt == std::string("dd")) {
proj_parm.dgg.output = isea_addr_q2dd;
- }
- else if (opt == std::string("hex")) {
+ } else if (opt == std::string("hex")) {
proj_parm.dgg.output = isea_addr_hex;
+ } else {
+ BOOST_THROW_EXCEPTION( projection_exception(error_ellipsoid_use_required) );
}
- else {
- /* TODO verify error code. Possibly eliminate magic */
+ }
+ }
+
+ template <typename T>
+ inline void isea_mode_init(srs::dpar::parameters<T> const& params,
+ par_isea<T>& proj_parm)
+ {
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::mode);
+ if (it != params.end()) {
+ srs::dpar::value_mode m = static_cast<srs::dpar::value_mode>(it->template get_value<int>());
+ if (m == srs::dpar::mode_plane) {
+ proj_parm.dgg.output = isea_addr_plane;
+ } else if (m == srs::dpar::mode_di) {
+ proj_parm.dgg.output = isea_addr_q2di;
+ } else if (m == srs::dpar::mode_dd) {
+ proj_parm.dgg.output = isea_addr_q2dd;
+ } else if (m == srs::dpar::mode_hex) {
+ proj_parm.dgg.output = isea_addr_hex;
+ } else {
BOOST_THROW_EXCEPTION( projection_exception(error_ellipsoid_use_required) );
}
}
+ }
+
+ // Icosahedral Snyder Equal Area
+ template <typename Params, typename T>
+ inline void setup_isea(Params const& params, par_isea<T>& proj_parm)
+ {
+ std::string opt;
+
+ isea_grid_init(&proj_parm.dgg);
+
+ proj_parm.dgg.output = isea_addr_plane;
+ /* proj_parm.dgg.radius = par.a; / * otherwise defaults to 1 */
+ /* calling library will scale, I think */
+
+ isea_orient_init(params, proj_parm);
+
+ pj_param_r<srs::spar::azi>(params, "azi", srs::dpar::azi, proj_parm.dgg.o_az);
+ pj_param_r<srs::spar::lon_0>(params, "lon_0", srs::dpar::lon_0, proj_parm.dgg.o_lon);
+ pj_param_r<srs::spar::lat_0>(params, "lat_0", srs::dpar::lat_0, proj_parm.dgg.o_lat);
+ // TODO: this parameter is set below second time
+ pj_param_i<srs::spar::aperture>(params, "aperture", srs::dpar::aperture, proj_parm.dgg.aperture);
+ // TODO: this parameter is set below second time
+ pj_param_i<srs::spar::resolution>(params, "resolution", srs::dpar::resolution, proj_parm.dgg.resolution);
+
+ isea_mode_init(params, proj_parm);
// TODO: pj_param_exists -> pj_get_param_b ?
- if (pj_param_exists(par.params, "rescale")) {
+ if (pj_param_exists<srs::spar::rescale>(params, "rescale", srs::dpar::rescale)) {
proj_parm.dgg.radius = isea_scale;
}
- if (pj_param_i(par.params, "resolution", proj_parm.dgg.resolution)) {
+ if (pj_param_i<srs::spar::resolution>(params, "resolution", srs::dpar::resolution, proj_parm.dgg.resolution)) {
/* empty */
} else {
proj_parm.dgg.resolution = 4;
}
- if (pj_param_i(par.params, "aperture", proj_parm.dgg.aperture)) {
+ if (pj_param_i<srs::spar::aperture>(params, "aperture", srs::dpar::aperture, proj_parm.dgg.aperture)) {
/* empty */
} else {
proj_parm.dgg.aperture = 3;
@@ -1241,9 +1291,11 @@ namespace projections
template <typename T, typename Parameters>
struct isea_spheroid : public detail::isea::base_isea_spheroid<T, Parameters>
{
- inline isea_spheroid(const Parameters& par) : detail::isea::base_isea_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline isea_spheroid(Params const& params, Parameters const& par)
+ : detail::isea::base_isea_spheroid<T, Parameters>(par)
{
- detail::isea::setup_isea(this->m_par, this->m_proj_parm);
+ detail::isea::setup_isea(params, this->m_proj_parm);
}
};
@@ -1252,23 +1304,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::isea, isea_spheroid, isea_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_isea, isea_spheroid, isea_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class isea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<isea_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void isea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(isea_entry, isea_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(isea_init)
{
- factory.add_to_factory("isea", new isea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(isea, isea_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/krovak.hpp b/boost/geometry/srs/projections/proj/krovak.hpp
index a008f181db..5e4d08a844 100644
--- a/boost/geometry/srs/projections/proj/krovak.hpp
+++ b/boost/geometry/srs/projections/proj/krovak.hpp
@@ -53,12 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct krovak {}; // Krovak
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -119,7 +113,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T gfi, u, deltav, s, d, eps, rho;
@@ -143,7 +137,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T u, deltav, s, d, eps, rho, fi1, xy0;
int i;
@@ -194,31 +188,32 @@ namespace projections
};
// Krovak
- template <typename Parameters, typename T>
- inline void setup_krovak(Parameters& par, par_krovak<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_krovak(Params const& params, Parameters& par, par_krovak<T>& proj_parm)
{
T u0, n0, g;
/* we want Bessel as fixed ellipsoid */
par.a = 6377397.155;
- par.e = sqrt(par.es = 0.006674372230614);
+ par.es = 0.006674372230614;
+ par.e = sqrt(par.es);
/* if latitude of projection center is not set, use 49d30'N */
- if (!pj_param_exists(par.params, "lat_0"))
+ if (!pj_param_exists<srs::spar::lat_0>(params, "lat_0", srs::dpar::lat_0))
par.phi0 = 0.863937979737193;
/* if center long is not set use 42d30'E of Ferro - 17d40' for Ferro */
/* that will correspond to using longitudes relative to greenwich */
/* as input and output, instead of lat/long relative to Ferro */
- if (!pj_param_exists(par.params, "lon_0"))
+ if (!pj_param_exists<srs::spar::lon_0>(params, "lon_0", srs::dpar::lon_0))
par.lam0 = 0.7417649320975901 - 0.308341501185665;
/* if scale not set default to 0.9999 */
- if (!pj_param_exists(par.params, "k"))
+ if (!pj_param_exists<srs::spar::k>(params, "k", srs::dpar::k))
par.k0 = 0.9999;
proj_parm.czech = 1;
- if( !pj_param_exists(par.params, "czech") )
+ if( !pj_param_exists<srs::spar::czech>(params, "czech", srs::dpar::czech) )
proj_parm.czech = -1;
/* Set up shared parameters between forward and inverse */
@@ -255,9 +250,11 @@ namespace projections
template <typename T, typename Parameters>
struct krovak_ellipsoid : public detail::krovak::base_krovak_ellipsoid<T, Parameters>
{
- inline krovak_ellipsoid(const Parameters& par) : detail::krovak::base_krovak_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline krovak_ellipsoid(Params const& params, Parameters const& par)
+ : detail::krovak::base_krovak_ellipsoid<T, Parameters>(par)
{
- detail::krovak::setup_krovak(this->m_par, this->m_proj_parm);
+ detail::krovak::setup_krovak(params, this->m_par, this->m_proj_parm);
}
};
@@ -266,23 +263,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::krovak, krovak_ellipsoid, krovak_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_krovak, krovak_ellipsoid, krovak_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class krovak_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<krovak_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void krovak_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(krovak_entry, krovak_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(krovak_init)
{
- factory.add_to_factory("krovak", new krovak_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(krovak, krovak_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/labrd.hpp b/boost/geometry/srs/projections/proj/labrd.hpp
index 32a15e2781..a66d0c63a2 100644
--- a/boost/geometry/srs/projections/proj/labrd.hpp
+++ b/boost/geometry/srs/projections/proj/labrd.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct labrd {}; // Laborde
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -81,7 +75,7 @@ namespace projections
// FORWARD(e_forward)
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
@@ -115,7 +109,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid & spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T fourth_pi = detail::fourth_pi<T>();
@@ -174,15 +168,15 @@ namespace projections
};
// Laborde
- template <typename Parameters, typename T>
- inline void setup_labrd(Parameters& par, par_labrd<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_labrd(Params const& params, Parameters& par, par_labrd<T>& proj_parm)
{
static const T fourth_pi = detail::fourth_pi<T>();
T Az, sinp, R, N, t;
- proj_parm.rot = pj_get_param_b(par.params, "no_rot");
- Az = pj_get_param_r(par.params, "azi");
+ proj_parm.rot = pj_get_param_b<srs::spar::no_rot>(params, "no_rot", srs::dpar::no_rot);
+ Az = pj_get_param_r<T, srs::spar::azi>(params, "azi", srs::dpar::azi);
sinp = sin(par.phi0);
t = 1. - par.es * sinp * sinp;
N = 1. / sqrt(t);
@@ -223,9 +217,11 @@ namespace projections
template <typename T, typename Parameters>
struct labrd_ellipsoid : public detail::labrd::base_labrd_ellipsoid<T, Parameters>
{
- inline labrd_ellipsoid(const Parameters& par) : detail::labrd::base_labrd_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline labrd_ellipsoid(Params const& params, Parameters const& par)
+ : detail::labrd::base_labrd_ellipsoid<T, Parameters>(par)
{
- detail::labrd::setup_labrd(this->m_par, this->m_proj_parm);
+ detail::labrd::setup_labrd(params, this->m_par, this->m_proj_parm);
}
};
@@ -234,23 +230,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::labrd, labrd_ellipsoid, labrd_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_labrd, labrd_ellipsoid, labrd_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class labrd_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<labrd_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void labrd_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(labrd_entry, labrd_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(labrd_init)
{
- factory.add_to_factory("labrd", new labrd_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(labrd, labrd_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/laea.hpp b/boost/geometry/srs/projections/proj/laea.hpp
index 6d5a948672..9c4560a949 100644
--- a/boost/geometry/srs/projections/proj/laea.hpp
+++ b/boost/geometry/srs/projections/proj/laea.hpp
@@ -54,12 +54,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct laea {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -102,7 +96,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -164,7 +158,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T cCe, sCe, q, rho, ab=0.0;
@@ -230,7 +224,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
@@ -271,7 +265,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -387,7 +381,9 @@ namespace projections
template <typename T, typename Parameters>
struct laea_ellipsoid : public detail::laea::base_laea_ellipsoid<T, Parameters>
{
- inline laea_ellipsoid(const Parameters& par) : detail::laea::base_laea_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline laea_ellipsoid(Params const& , Parameters const& par)
+ : detail::laea::base_laea_ellipsoid<T, Parameters>(par)
{
detail::laea::setup_laea(this->m_par, this->m_proj_parm);
}
@@ -409,7 +405,9 @@ namespace projections
template <typename T, typename Parameters>
struct laea_spheroid : public detail::laea::base_laea_spheroid<T, Parameters>
{
- inline laea_spheroid(const Parameters& par) : detail::laea::base_laea_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline laea_spheroid(Params const& , Parameters const& par)
+ : detail::laea::base_laea_spheroid<T, Parameters>(par)
{
detail::laea::setup_laea(this->m_par, this->m_proj_parm);
}
@@ -420,26 +418,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::laea, laea_spheroid, laea_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_laea, laea_spheroid, laea_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class laea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<laea_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<laea_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void laea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(laea_entry, laea_spheroid, laea_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(laea_init)
{
- factory.add_to_factory("laea", new laea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(laea, laea_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/lagrng.hpp b/boost/geometry/srs/projections/proj/lagrng.hpp
index 6cedef717f..6f40bb2804 100644
--- a/boost/geometry/srs/projections/proj/lagrng.hpp
+++ b/boost/geometry/srs/projections/proj/lagrng.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct lagrng {}; // Lagrange
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -85,7 +79,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -113,18 +107,28 @@ namespace projections
};
// Lagrange
- template <typename Parameters, typename T>
- inline void setup_lagrng(Parameters& par, par_lagrng<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_lagrng(Params const& params, Parameters& par, par_lagrng<T>& proj_parm)
{
T phi1;
- proj_parm.rw = pj_get_param_f(par.params, "W");
+ proj_parm.rw = 0.0;
+ bool is_w_set = pj_param_f<srs::spar::w>(params, "W", srs::dpar::w, proj_parm.rw);
+
+ // Boost.Geometry specific, set default parameters manually
+ if (! is_w_set) {
+ bool const use_defaults = ! pj_get_param_b<srs::spar::no_defs>(params, "no_defs", srs::dpar::no_defs);
+ if (use_defaults) {
+ proj_parm.rw = 2;
+ }
+ }
+
if (proj_parm.rw <= 0)
BOOST_THROW_EXCEPTION( projection_exception(error_w_or_m_zero_or_less) );
proj_parm.rw = 1. / proj_parm.rw;
proj_parm.hrw = 0.5 * proj_parm.rw;
- phi1 = pj_get_param_r(par.params, "lat_1");
+ phi1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
if (fabs(fabs(phi1 = sin(phi1)) - 1.) < tolerance)
BOOST_THROW_EXCEPTION( projection_exception(error_lat_larger_than_90) );
@@ -155,9 +159,11 @@ namespace projections
template <typename T, typename Parameters>
struct lagrng_spheroid : public detail::lagrng::base_lagrng_spheroid<T, Parameters>
{
- inline lagrng_spheroid(const Parameters& par) : detail::lagrng::base_lagrng_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline lagrng_spheroid(Params const& params, Parameters const& par)
+ : detail::lagrng::base_lagrng_spheroid<T, Parameters>(par)
{
- detail::lagrng::setup_lagrng(this->m_par, this->m_proj_parm);
+ detail::lagrng::setup_lagrng(params, this->m_par, this->m_proj_parm);
}
};
@@ -166,23 +172,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lagrng, lagrng_spheroid, lagrng_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lagrng, lagrng_spheroid, lagrng_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class lagrng_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<lagrng_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void lagrng_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(lagrng_entry, lagrng_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(lagrng_init)
{
- factory.add_to_factory("lagrng", new lagrng_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lagrng, lagrng_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/larr.hpp b/boost/geometry/srs/projections/proj/larr.hpp
index 84fbafac62..82025019b1 100644
--- a/boost/geometry/srs/projections/proj/larr.hpp
+++ b/boost/geometry/srs/projections/proj/larr.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct larr {}; // Larrivee
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -71,7 +65,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T sixth = detail::sixth<T>();
@@ -112,7 +106,9 @@ namespace projections
template <typename T, typename Parameters>
struct larr_spheroid : public detail::larr::base_larr_spheroid<T, Parameters>
{
- inline larr_spheroid(const Parameters& par) : detail::larr::base_larr_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline larr_spheroid(Params const& , Parameters const& par)
+ : detail::larr::base_larr_spheroid<T, Parameters>(par)
{
detail::larr::setup_larr(this->m_par);
}
@@ -123,23 +119,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::larr, larr_spheroid, larr_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_larr, larr_spheroid, larr_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class larr_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<larr_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void larr_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(larr_entry, larr_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(larr_init)
{
- factory.add_to_factory("larr", new larr_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(larr, larr_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/lask.hpp b/boost/geometry/srs/projections/proj/lask.hpp
index 3f06533bf2..ef9c5e38b5 100644
--- a/boost/geometry/srs/projections/proj/lask.hpp
+++ b/boost/geometry/srs/projections/proj/lask.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct lask {}; // Laskowski
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -82,7 +76,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T l2, p2;
@@ -126,7 +120,9 @@ namespace projections
template <typename T, typename Parameters>
struct lask_spheroid : public detail::lask::base_lask_spheroid<T, Parameters>
{
- inline lask_spheroid(const Parameters& par) : detail::lask::base_lask_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline lask_spheroid(Params const& , Parameters const& par)
+ : detail::lask::base_lask_spheroid<T, Parameters>(par)
{
detail::lask::setup_lask(this->m_par);
}
@@ -137,23 +133,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lask, lask_spheroid, lask_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lask, lask_spheroid, lask_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class lask_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<lask_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void lask_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(lask_entry, lask_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(lask_init)
{
- factory.add_to_factory("lask", new lask_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lask, lask_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/latlong.hpp b/boost/geometry/srs/projections/proj/latlong.hpp
index 4c2d00a805..a6e8dcdfdc 100644
--- a/boost/geometry/srs/projections/proj/latlong.hpp
+++ b/boost/geometry/srs/projections/proj/latlong.hpp
@@ -55,15 +55,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct lonlat {}; // Lat/long (Geodetic)
- struct latlon {}; // Lat/long (Geodetic alias)
- struct latlong {}; // Lat/long (Geodetic alias)
- struct longlat {}; // Lat/long (Geodetic alias)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +74,7 @@ namespace projections
// FORWARD(forward)
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
// TODO: in the original code a is not used
// different mechanism is probably used instead
@@ -93,7 +84,7 @@ namespace projections
// INVERSE(inverse)
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
// TODO: in the original code a is not used
// different mechanism is probably used instead
@@ -110,24 +101,6 @@ namespace projections
// Lat/long (Geodetic)
template <typename Parameters>
- inline void setup_lonlat(Parameters& par)
- {
- par.is_latlong = 1;
- par.x0 = 0.0;
- par.y0 = 0.0;
- }
-
- // Lat/long (Geodetic alias)
- template <typename Parameters>
- inline void setup_latlon(Parameters& par)
- {
- par.is_latlong = 1;
- par.x0 = 0.0;
- par.y0 = 0.0;
- }
-
- // Lat/long (Geodetic alias)
- template <typename Parameters>
inline void setup_latlong(Parameters& par)
{
par.is_latlong = 1;
@@ -135,15 +108,6 @@ namespace projections
par.y0 = 0.0;
}
- // Lat/long (Geodetic alias)
- template <typename Parameters>
- inline void setup_longlat(Parameters& par)
- {
- par.is_latlong = 1;
- par.x0 = 0.0;
- par.y0 = 0.0;
- }
-
}} // namespace detail::latlong
#endif // doxygen
@@ -154,129 +118,38 @@ namespace projections
\tparam Cartesian xy point type
\tparam Parameters parameter type
\par Example
- \image html ex_lonlat.gif
- */
- template <typename T, typename Parameters>
- struct lonlat_other : public detail::latlong::base_latlong_other<T, Parameters>
- {
- inline lonlat_other(const Parameters& par) : detail::latlong::base_latlong_other<T, Parameters>(par)
- {
- detail::latlong::setup_lonlat(this->m_par);
- }
- };
-
- /*!
- \brief Lat/long (Geodetic alias) projection
- \ingroup projections
- \tparam Geographic latlong point type
- \tparam Cartesian xy point type
- \tparam Parameters parameter type
- \par Example
- \image html ex_latlon.gif
- */
- template <typename T, typename Parameters>
- struct latlon_other : public detail::latlong::base_latlong_other<T, Parameters>
- {
- inline latlon_other(const Parameters& par) : detail::latlong::base_latlong_other<T, Parameters>(par)
- {
- detail::latlong::setup_latlon(this->m_par);
- }
- };
-
- /*!
- \brief Lat/long (Geodetic alias) projection
- \ingroup projections
- \tparam Geographic latlong point type
- \tparam Cartesian xy point type
- \tparam Parameters parameter type
- \par Example
\image html ex_latlong.gif
*/
template <typename T, typename Parameters>
struct latlong_other : public detail::latlong::base_latlong_other<T, Parameters>
{
- inline latlong_other(const Parameters& par) : detail::latlong::base_latlong_other<T, Parameters>(par)
+ template <typename Params>
+ inline latlong_other(Params const& , Parameters const& par)
+ : detail::latlong::base_latlong_other<T, Parameters>(par)
{
detail::latlong::setup_latlong(this->m_par);
}
};
- /*!
- \brief Lat/long (Geodetic alias) projection
- \ingroup projections
- \tparam Geographic latlong point type
- \tparam Cartesian xy point type
- \tparam Parameters parameter type
- \par Example
- \image html ex_longlat.gif
- */
- template <typename T, typename Parameters>
- struct longlat_other : public detail::latlong::base_latlong_other<T, Parameters>
- {
- inline longlat_other(const Parameters& par) : detail::latlong::base_latlong_other<T, Parameters>(par)
- {
- detail::latlong::setup_longlat(this->m_par);
- }
- };
-
#ifndef DOXYGEN_NO_DETAIL
namespace detail
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lonlat, lonlat_other, lonlat_other)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::latlon, latlon_other, latlon_other)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::latlong, latlong_other, latlong_other)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::longlat, longlat_other, longlat_other)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lonlat, latlong_other, latlong_other)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_latlon, latlong_other, latlong_other)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_latlong, latlong_other, latlong_other)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_longlat, latlong_other, latlong_other)
// Factory entry(s)
- template <typename T, typename Parameters>
- class lonlat_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<lonlat_other<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class latlon_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<latlon_other<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class latlong_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<latlong_other<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class longlat_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<longlat_other<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void latlong_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(latlong_entry, latlong_other)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(latlong_init)
{
- factory.add_to_factory("lonlat", new lonlat_entry<T, Parameters>);
- factory.add_to_factory("latlon", new latlon_entry<T, Parameters>);
- factory.add_to_factory("latlong", new latlong_entry<T, Parameters>);
- factory.add_to_factory("longlat", new longlat_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lonlat, latlong_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(latlon, latlong_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(latlong, latlong_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(longlat, latlong_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/lcc.hpp b/boost/geometry/srs/projections/proj/lcc.hpp
index f8fdd015ea..1b261cb70b 100644
--- a/boost/geometry/srs/projections/proj/lcc.hpp
+++ b/boost/geometry/srs/projections/proj/lcc.hpp
@@ -55,12 +55,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct lcc {}; // Lambert Conformal Conic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -92,7 +86,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid & spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -116,7 +110,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid & spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -155,8 +149,8 @@ namespace projections
};
// Lambert Conformal Conic
- template <typename Parameters, typename T>
- inline void setup_lcc(Parameters& par, par_lcc<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_lcc(Params const& params, Parameters& par, par_lcc<T>& proj_parm)
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -164,12 +158,29 @@ namespace projections
T cosphi, sinphi;
int secant;
- proj_parm.phi1 = pj_get_param_r(par.params, "lat_1");
- if (pj_param_r(par.params, "lat_2", proj_parm.phi2)) {
- /* empty */
- } else {
+ proj_parm.phi1 = 0.0;
+ proj_parm.phi2 = 0.0;
+ bool is_phi1_set = pj_param_r<srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1, proj_parm.phi1);
+ bool is_phi2_set = pj_param_r<srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2, proj_parm.phi2);
+
+ // Boost.Geometry specific, set default parameters manually
+ if (! is_phi1_set || ! is_phi2_set) {
+ bool const use_defaults = ! pj_get_param_b<srs::spar::no_defs>(params, "no_defs", srs::dpar::no_defs);
+ if (use_defaults) {
+ if (!is_phi1_set) {
+ proj_parm.phi1 = 33;
+ is_phi1_set = true;
+ }
+ if (!is_phi2_set) {
+ proj_parm.phi2 = 45;
+ is_phi2_set = true;
+ }
+ }
+ }
+
+ if (! is_phi2_set) {
proj_parm.phi2 = proj_parm.phi1;
- if (!pj_param_exists(par.params, "lat_0"))
+ if (! pj_param_exists<srs::spar::lat_0>(params, "lat_0", srs::dpar::lat_0))
par.phi0 = proj_parm.phi1;
}
if (fabs(proj_parm.phi1 + proj_parm.phi2) < epsilon10)
@@ -226,9 +237,11 @@ namespace projections
template <typename T, typename Parameters>
struct lcc_ellipsoid : public detail::lcc::base_lcc_ellipsoid<T, Parameters>
{
- inline lcc_ellipsoid(const Parameters& par) : detail::lcc::base_lcc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline lcc_ellipsoid(Params const& params, Parameters const& par)
+ : detail::lcc::base_lcc_ellipsoid<T, Parameters>(par)
{
- detail::lcc::setup_lcc(this->m_par, this->m_proj_parm);
+ detail::lcc::setup_lcc(params, this->m_par, this->m_proj_parm);
}
};
@@ -237,23 +250,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lcc, lcc_ellipsoid, lcc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lcc, lcc_ellipsoid, lcc_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class lcc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<lcc_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void lcc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(lcc_entry, lcc_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(lcc_init)
{
- factory.add_to_factory("lcc", new lcc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lcc, lcc_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/lcca.hpp b/boost/geometry/srs/projections/proj/lcca.hpp
index ddbdfdb0d1..090b7f4c2b 100644
--- a/boost/geometry/srs/projections/proj/lcca.hpp
+++ b/boost/geometry/srs/projections/proj/lcca.hpp
@@ -96,12 +96,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct lcca {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -144,7 +138,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T S, r, dr;
@@ -157,7 +151,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid & spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T theta, dr, S, dif;
int i;
@@ -228,7 +222,9 @@ namespace projections
template <typename T, typename Parameters>
struct lcca_ellipsoid : public detail::lcca::base_lcca_ellipsoid<T, Parameters>
{
- inline lcca_ellipsoid(const Parameters& par) : detail::lcca::base_lcca_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline lcca_ellipsoid(Params const& , Parameters const& par)
+ : detail::lcca::base_lcca_ellipsoid<T, Parameters>(par)
{
detail::lcca::setup_lcca(this->m_par, this->m_proj_parm);
}
@@ -239,23 +235,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lcca, lcca_ellipsoid, lcca_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lcca, lcca_ellipsoid, lcca_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class lcca_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<lcca_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void lcca_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(lcca_entry, lcca_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(lcca_init)
{
- factory.add_to_factory("lcca", new lcca_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lcca, lcca_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/loxim.hpp b/boost/geometry/srs/projections/proj/loxim.hpp
index badac3c765..3736a11cf2 100644
--- a/boost/geometry/srs/projections/proj/loxim.hpp
+++ b/boost/geometry/srs/projections/proj/loxim.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct loxim {}; // Loximuthal
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -103,7 +97,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -128,12 +122,12 @@ namespace projections
};
// Loximuthal
- template <typename Parameters, typename T>
- inline void setup_loxim(Parameters& par, par_loxim<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_loxim(Params const& params, Parameters& par, par_loxim<T>& proj_parm)
{
static const T fourth_pi = detail::fourth_pi<T>();
- proj_parm.phi1 = pj_get_param_r(par.params, "lat_1");
+ proj_parm.phi1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
proj_parm.cosphi1 = cos(proj_parm.phi1);
if (proj_parm.cosphi1 < epsilon)
BOOST_THROW_EXCEPTION( projection_exception(error_lat_larger_than_90) );
@@ -163,9 +157,11 @@ namespace projections
template <typename T, typename Parameters>
struct loxim_spheroid : public detail::loxim::base_loxim_spheroid<T, Parameters>
{
- inline loxim_spheroid(const Parameters& par) : detail::loxim::base_loxim_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline loxim_spheroid(Params const& params, Parameters const& par)
+ : detail::loxim::base_loxim_spheroid<T, Parameters>(par)
{
- detail::loxim::setup_loxim(this->m_par, this->m_proj_parm);
+ detail::loxim::setup_loxim(params, this->m_par, this->m_proj_parm);
}
};
@@ -174,23 +170,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::loxim, loxim_spheroid, loxim_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_loxim, loxim_spheroid, loxim_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class loxim_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<loxim_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void loxim_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(loxim_entry, loxim_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(loxim_init)
{
- factory.add_to_factory("loxim", new loxim_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(loxim, loxim_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/lsat.hpp b/boost/geometry/srs/projections/proj/lsat.hpp
index 6ed729f75c..65dbe97f6d 100644
--- a/boost/geometry/srs/projections/proj/lsat.hpp
+++ b/boost/geometry/srs/projections/proj/lsat.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct lsat {}; // Space oblique for LANDSAT
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -111,7 +105,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -180,7 +174,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -233,8 +227,8 @@ namespace projections
};
// Space oblique for LANDSAT
- template <typename Parameters, typename T>
- inline void setup_lsat(Parameters& par, par_lsat<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_lsat(Params const& params, Parameters& par, par_lsat<T>& proj_parm)
{
static T const d2r = geometry::math::d2r<T>();
static T const pi = detail::pi<T>();
@@ -243,11 +237,11 @@ namespace projections
int land, path;
T lam, alf, esc, ess;
- land = pj_get_param_i(par.params, "lsat");
+ land = pj_get_param_i<srs::spar::lsat>(params, "lsat", srs::dpar::lsat);
if (land <= 0 || land > 5)
BOOST_THROW_EXCEPTION( projection_exception(error_lsat_not_in_range) );
- path = pj_get_param_i(par.params, "path");
+ path = pj_get_param_i<srs::spar::path>(params, "path", srs::dpar::path);
if (path <= 0 || path > (land <= 3 ? 251 : 233))
BOOST_THROW_EXCEPTION( projection_exception(error_path_not_in_range) );
@@ -311,9 +305,11 @@ namespace projections
template <typename T, typename Parameters>
struct lsat_ellipsoid : public detail::lsat::base_lsat_ellipsoid<T, Parameters>
{
- inline lsat_ellipsoid(const Parameters& par) : detail::lsat::base_lsat_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline lsat_ellipsoid(Params const& params, Parameters const& par)
+ : detail::lsat::base_lsat_ellipsoid<T, Parameters>(par)
{
- detail::lsat::setup_lsat(this->m_par, this->m_proj_parm);
+ detail::lsat::setup_lsat(params, this->m_par, this->m_proj_parm);
}
};
@@ -322,23 +318,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lsat, lsat_ellipsoid, lsat_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lsat, lsat_ellipsoid, lsat_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class lsat_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<lsat_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void lsat_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(lsat_entry, lsat_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(lsat_init)
{
- factory.add_to_factory("lsat", new lsat_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lsat, lsat_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/mbt_fps.hpp b/boost/geometry/srs/projections/proj/mbt_fps.hpp
index 130590f8e5..25b59887e5 100644
--- a/boost/geometry/srs/projections/proj/mbt_fps.hpp
+++ b/boost/geometry/srs/projections/proj/mbt_fps.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct mbt_fps {}; // McBryde-Thomas Flat-Pole Sine (No. 2)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T C1_2 = mbt_fps::C1_2<T>();
@@ -106,7 +100,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T t;
@@ -147,7 +141,9 @@ namespace projections
template <typename T, typename Parameters>
struct mbt_fps_spheroid : public detail::mbt_fps::base_mbt_fps_spheroid<T, Parameters>
{
- inline mbt_fps_spheroid(const Parameters& par) : detail::mbt_fps::base_mbt_fps_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline mbt_fps_spheroid(Params const& , Parameters const& par)
+ : detail::mbt_fps::base_mbt_fps_spheroid<T, Parameters>(par)
{
detail::mbt_fps::setup_mbt_fps(this->m_par);
}
@@ -158,23 +154,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mbt_fps, mbt_fps_spheroid, mbt_fps_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mbt_fps, mbt_fps_spheroid, mbt_fps_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class mbt_fps_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mbt_fps_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void mbt_fps_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mbt_fps_entry, mbt_fps_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(mbt_fps_init)
{
- factory.add_to_factory("mbt_fps", new mbt_fps_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mbt_fps, mbt_fps_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/mbtfpp.hpp b/boost/geometry/srs/projections/proj/mbtfpp.hpp
index cd09fdf181..87e4d2ffad 100644
--- a/boost/geometry/srs/projections/proj/mbtfpp.hpp
+++ b/boost/geometry/srs/projections/proj/mbtfpp.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct mbtfpp {}; // McBride-Thomas Flat-Polar Parabolic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -80,7 +74,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T C23 = detail::two_thirds<T>();
static const T C13 = detail::third<T>();
@@ -92,7 +86,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
static const T C23 = detail::two_thirds<T>();
@@ -150,7 +144,9 @@ namespace projections
template <typename T, typename Parameters>
struct mbtfpp_spheroid : public detail::mbtfpp::base_mbtfpp_spheroid<T, Parameters>
{
- inline mbtfpp_spheroid(const Parameters& par) : detail::mbtfpp::base_mbtfpp_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline mbtfpp_spheroid(Params const& , Parameters const& par)
+ : detail::mbtfpp::base_mbtfpp_spheroid<T, Parameters>(par)
{
detail::mbtfpp::setup_mbtfpp(this->m_par);
}
@@ -161,23 +157,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mbtfpp, mbtfpp_spheroid, mbtfpp_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mbtfpp, mbtfpp_spheroid, mbtfpp_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class mbtfpp_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mbtfpp_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void mbtfpp_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mbtfpp_entry, mbtfpp_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(mbtfpp_init)
{
- factory.add_to_factory("mbtfpp", new mbtfpp_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mbtfpp, mbtfpp_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/mbtfpq.hpp b/boost/geometry/srs/projections/proj/mbtfpq.hpp
index 4d7858c020..d806a8b98d 100644
--- a/boost/geometry/srs/projections/proj/mbtfpq.hpp
+++ b/boost/geometry/srs/projections/proj/mbtfpq.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct mbtfpq {}; // McBryde-Thomas Flat-Polar Quartic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +77,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T th1, c;
int i;
@@ -100,7 +94,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T pi = detail::pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -161,7 +155,9 @@ namespace projections
template <typename T, typename Parameters>
struct mbtfpq_spheroid : public detail::mbtfpq::base_mbtfpq_spheroid<T, Parameters>
{
- inline mbtfpq_spheroid(const Parameters& par) : detail::mbtfpq::base_mbtfpq_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline mbtfpq_spheroid(Params const& , Parameters const& par)
+ : detail::mbtfpq::base_mbtfpq_spheroid<T, Parameters>(par)
{
detail::mbtfpq::setup_mbtfpq(this->m_par);
}
@@ -172,23 +168,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mbtfpq, mbtfpq_spheroid, mbtfpq_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mbtfpq, mbtfpq_spheroid, mbtfpq_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class mbtfpq_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mbtfpq_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void mbtfpq_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mbtfpq_entry, mbtfpq_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(mbtfpq_init)
{
- factory.add_to_factory("mbtfpq", new mbtfpq_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mbtfpq, mbtfpq_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/merc.hpp b/boost/geometry/srs/projections/proj/merc.hpp
index 74449f64c8..e2fba50720 100644
--- a/boost/geometry/srs/projections/proj/merc.hpp
+++ b/boost/geometry/srs/projections/proj/merc.hpp
@@ -53,12 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct merc {}; // Mercator
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -78,7 +72,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -91,7 +85,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
if ((lp_lat = pj_phi2(exp(- xy_y / this->m_par.k0), this->m_par.e)) == HUGE_VAL) {
BOOST_THROW_EXCEPTION( projection_exception(error_tolerance_condition) );
@@ -117,7 +111,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T fourth_pi = detail::fourth_pi<T>();
@@ -131,7 +125,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -147,8 +141,8 @@ namespace projections
};
// Mercator
- template <typename Parameters>
- inline void setup_merc(Parameters& par)
+ template <typename Params, typename Parameters>
+ inline void setup_merc(Params const& params, Parameters& par)
{
typedef typename Parameters::type calc_t;
static const calc_t half_pi = detail::half_pi<calc_t>();
@@ -156,7 +150,7 @@ namespace projections
calc_t phits=0.0;
int is_phits;
- if( (is_phits = pj_param_r(par.params, "lat_ts", phits)) ) {
+ if( (is_phits = pj_param_r<srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts, phits)) ) {
phits = fabs(phits);
if (phits >= half_pi)
BOOST_THROW_EXCEPTION( projection_exception(error_lat_ts_larger_than_90) );
@@ -191,9 +185,11 @@ namespace projections
template <typename T, typename Parameters>
struct merc_ellipsoid : public detail::merc::base_merc_ellipsoid<T, Parameters>
{
- inline merc_ellipsoid(const Parameters& par) : detail::merc::base_merc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline merc_ellipsoid(Params const& params, Parameters const& par)
+ : detail::merc::base_merc_ellipsoid<T, Parameters>(par)
{
- detail::merc::setup_merc(this->m_par);
+ detail::merc::setup_merc(params, this->m_par);
}
};
@@ -215,9 +211,11 @@ namespace projections
template <typename T, typename Parameters>
struct merc_spheroid : public detail::merc::base_merc_spheroid<T, Parameters>
{
- inline merc_spheroid(const Parameters& par) : detail::merc::base_merc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline merc_spheroid(Params const& params, Parameters const& par)
+ : detail::merc::base_merc_spheroid<T, Parameters>(par)
{
- detail::merc::setup_merc(this->m_par);
+ detail::merc::setup_merc(params, this->m_par);
}
};
@@ -226,26 +224,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::merc, merc_spheroid, merc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_merc, merc_spheroid, merc_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class merc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<merc_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<merc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void merc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(merc_entry, merc_spheroid, merc_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(merc_init)
{
- factory.add_to_factory("merc", new merc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(merc, merc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/mill.hpp b/boost/geometry/srs/projections/proj/mill.hpp
index 9c73f1b21c..6fa47eb0dd 100644
--- a/boost/geometry/srs/projections/proj/mill.hpp
+++ b/boost/geometry/srs/projections/proj/mill.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct mill {}; // Miller Cylindrical
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -70,7 +64,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
@@ -80,7 +74,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T fourth_pi = detail::fourth_pi<T>();
@@ -120,7 +114,9 @@ namespace projections
template <typename T, typename Parameters>
struct mill_spheroid : public detail::mill::base_mill_spheroid<T, Parameters>
{
- inline mill_spheroid(const Parameters& par) : detail::mill::base_mill_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline mill_spheroid(Params const& , Parameters const& par)
+ : detail::mill::base_mill_spheroid<T, Parameters>(par)
{
detail::mill::setup_mill(this->m_par);
}
@@ -131,25 +127,16 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mill, mill_spheroid, mill_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mill, mill_spheroid, mill_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class mill_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mill_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mill_entry, mill_spheroid)
- template <typename T, typename Parameters>
- inline void mill_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(mill_init)
{
- factory.add_to_factory("mill", new mill_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mill, mill_entry)
}
-
+
} // namespace detail
#endif // doxygen
diff --git a/boost/geometry/srs/projections/proj/mod_ster.hpp b/boost/geometry/srs/projections/proj/mod_ster.hpp
index ca33adcdbd..ade151dc89 100644
--- a/boost/geometry/srs/projections/proj/mod_ster.hpp
+++ b/boost/geometry/srs/projections/proj/mod_ster.hpp
@@ -53,16 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct mil_os {}; // Miller Oblated Stereographic
- struct lee_os {}; // Lee Oblated Stereographic
- struct gs48 {}; // Mod. Stereographic of 48 U.S.
- struct alsk {}; // Mod. Stereographic of Alaska
- struct gs50 {}; // Mod. Stereographic of 50 U.S.
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -94,7 +84,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -118,7 +108,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -366,7 +356,9 @@ namespace projections
template <typename T, typename Parameters>
struct mil_os_ellipsoid : public detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>
{
- inline mil_os_ellipsoid(const Parameters& par) : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline mil_os_ellipsoid(Params const& , Parameters const& par)
+ : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
{
detail::mod_ster::setup_mil_os(this->m_par, this->m_proj_parm);
}
@@ -386,7 +378,9 @@ namespace projections
template <typename T, typename Parameters>
struct lee_os_ellipsoid : public detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>
{
- inline lee_os_ellipsoid(const Parameters& par) : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline lee_os_ellipsoid(Params const& , Parameters const& par)
+ : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
{
detail::mod_ster::setup_lee_os(this->m_par, this->m_proj_parm);
}
@@ -406,7 +400,9 @@ namespace projections
template <typename T, typename Parameters>
struct gs48_ellipsoid : public detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>
{
- inline gs48_ellipsoid(const Parameters& par) : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline gs48_ellipsoid(Params const& , Parameters const& par)
+ : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
{
detail::mod_ster::setup_gs48(this->m_par, this->m_proj_parm);
}
@@ -426,7 +422,9 @@ namespace projections
template <typename T, typename Parameters>
struct alsk_ellipsoid : public detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>
{
- inline alsk_ellipsoid(const Parameters& par) : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline alsk_ellipsoid(Params const& , Parameters const& par)
+ : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
{
detail::mod_ster::setup_alsk(this->m_par, this->m_proj_parm);
}
@@ -446,7 +444,9 @@ namespace projections
template <typename T, typename Parameters>
struct gs50_ellipsoid : public detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>
{
- inline gs50_ellipsoid(const Parameters& par) : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline gs50_ellipsoid(Params const& , Parameters const& par)
+ : detail::mod_ster::base_mod_ster_ellipsoid<T, Parameters>(par)
{
detail::mod_ster::setup_gs50(this->m_par, this->m_proj_parm);
}
@@ -457,71 +457,26 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mil_os, mil_os_ellipsoid, mil_os_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::lee_os, lee_os_ellipsoid, lee_os_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gs48, gs48_ellipsoid, gs48_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::alsk, alsk_ellipsoid, alsk_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::gs50, gs50_ellipsoid, gs50_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mil_os, mil_os_ellipsoid, mil_os_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_lee_os, lee_os_ellipsoid, lee_os_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gs48, gs48_ellipsoid, gs48_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_alsk, alsk_ellipsoid, alsk_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_gs50, gs50_ellipsoid, gs50_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class mil_os_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mil_os_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class lee_os_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<lee_os_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class gs48_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<gs48_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class alsk_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<alsk_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class gs50_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<gs50_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void mod_ster_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mil_os_entry, mil_os_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(lee_os_entry, lee_os_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(gs48_entry, gs48_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(alsk_entry, alsk_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(gs50_entry, gs50_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(mod_ster_init)
{
- factory.add_to_factory("mil_os", new mil_os_entry<T, Parameters>);
- factory.add_to_factory("lee_os", new lee_os_entry<T, Parameters>);
- factory.add_to_factory("gs48", new gs48_entry<T, Parameters>);
- factory.add_to_factory("alsk", new alsk_entry<T, Parameters>);
- factory.add_to_factory("gs50", new gs50_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mil_os, mil_os_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(lee_os, lee_os_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gs48, gs48_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(alsk, alsk_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(gs50, gs50_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/moll.hpp b/boost/geometry/srs/projections/proj/moll.hpp
index deceb3401e..b62175a866 100644
--- a/boost/geometry/srs/projections/proj/moll.hpp
+++ b/boost/geometry/srs/projections/proj/moll.hpp
@@ -51,14 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct moll {}; // Mollweide
- struct wag4 {}; // Wagner IV
- struct wag5 {}; // Wagner V
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -87,7 +79,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -111,7 +103,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T pi = detail::pi<T>();
@@ -189,7 +181,9 @@ namespace projections
template <typename T, typename Parameters>
struct moll_spheroid : public detail::moll::base_moll_spheroid<T, Parameters>
{
- inline moll_spheroid(const Parameters& par) : detail::moll::base_moll_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline moll_spheroid(Params const& , Parameters const& par)
+ : detail::moll::base_moll_spheroid<T, Parameters>(par)
{
detail::moll::setup_moll(this->m_par, this->m_proj_parm);
}
@@ -210,7 +204,9 @@ namespace projections
template <typename T, typename Parameters>
struct wag4_spheroid : public detail::moll::base_moll_spheroid<T, Parameters>
{
- inline wag4_spheroid(const Parameters& par) : detail::moll::base_moll_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag4_spheroid(Params const& , Parameters const& par)
+ : detail::moll::base_moll_spheroid<T, Parameters>(par)
{
detail::moll::setup_wag4(this->m_par, this->m_proj_parm);
}
@@ -231,7 +227,9 @@ namespace projections
template <typename T, typename Parameters>
struct wag5_spheroid : public detail::moll::base_moll_spheroid<T, Parameters>
{
- inline wag5_spheroid(const Parameters& par) : detail::moll::base_moll_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag5_spheroid(Params const& , Parameters const& par)
+ : detail::moll::base_moll_spheroid<T, Parameters>(par)
{
detail::moll::setup_wag5(this->m_par, this->m_proj_parm);
}
@@ -242,47 +240,20 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::moll, moll_spheroid, moll_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag4, wag4_spheroid, wag4_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag5, wag5_spheroid, wag5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_moll, moll_spheroid, moll_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag4, wag4_spheroid, wag4_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag5, wag5_spheroid, wag5_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class moll_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<moll_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class wag4_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wag4_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class wag5_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wag5_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void moll_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(moll_entry, moll_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wag4_entry, wag4_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wag5_entry, wag5_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(moll_init)
{
- factory.add_to_factory("moll", new moll_entry<T, Parameters>);
- factory.add_to_factory("wag4", new wag4_entry<T, Parameters>);
- factory.add_to_factory("wag5", new wag5_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(moll, moll_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag4, wag4_entry);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag5, wag5_entry);
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/natearth.hpp b/boost/geometry/srs/projections/proj/natearth.hpp
index 47da25b9e2..6c9935b0ef 100644
--- a/boost/geometry/srs/projections/proj/natearth.hpp
+++ b/boost/geometry/srs/projections/proj/natearth.hpp
@@ -61,12 +61,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct natearth {}; // Natural Earth
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -107,7 +101,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T phi2, phi4;
@@ -119,7 +113,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T max_y = natearth::max_y<T>();
@@ -186,7 +180,9 @@ namespace projections
template <typename T, typename Parameters>
struct natearth_spheroid : public detail::natearth::base_natearth_spheroid<T, Parameters>
{
- inline natearth_spheroid(const Parameters& par) : detail::natearth::base_natearth_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline natearth_spheroid(Params const& , Parameters const& par)
+ : detail::natearth::base_natearth_spheroid<T, Parameters>(par)
{
detail::natearth::setup_natearth(this->m_par);
}
@@ -197,23 +193,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::natearth, natearth_spheroid, natearth_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_natearth, natearth_spheroid, natearth_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class natearth_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<natearth_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(natearth_entry, natearth_spheroid)
- template <typename T, typename Parameters>
- inline void natearth_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(natearth_init)
{
- factory.add_to_factory("natearth", new natearth_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(natearth, natearth_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/nell.hpp b/boost/geometry/srs/projections/proj/nell.hpp
index fcb0e18b17..c8a10f7beb 100644
--- a/boost/geometry/srs/projections/proj/nell.hpp
+++ b/boost/geometry/srs/projections/proj/nell.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct nell {}; // Nell
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -75,7 +69,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T k, V;
int i;
@@ -95,7 +89,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lon = 2. * xy_x / (1. + cos(xy_y));
lp_lat = aasin(0.5 * (xy_y + sin(xy_y)));
@@ -133,7 +127,9 @@ namespace projections
template <typename T, typename Parameters>
struct nell_spheroid : public detail::nell::base_nell_spheroid<T, Parameters>
{
- inline nell_spheroid(const Parameters& par) : detail::nell::base_nell_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline nell_spheroid(Params const& , Parameters const& par)
+ : detail::nell::base_nell_spheroid<T, Parameters>(par)
{
detail::nell::setup_nell(this->m_par);
}
@@ -144,23 +140,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::nell, nell_spheroid, nell_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_nell, nell_spheroid, nell_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class nell_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<nell_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(nell_entry, nell_spheroid)
- template <typename T, typename Parameters>
- inline void nell_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(nell_init)
{
- factory.add_to_factory("nell", new nell_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(nell, nell_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/nell_h.hpp b/boost/geometry/srs/projections/proj/nell_h.hpp
index 73f0018ac6..2e0e05738a 100644
--- a/boost/geometry/srs/projections/proj/nell_h.hpp
+++ b/boost/geometry/srs/projections/proj/nell_h.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct nell_h {}; // Nell-Hammer
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -76,7 +70,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = 0.5 * lp_lon * (1. + cos(lp_lat));
xy_y = 2.0 * (lp_lat - tan(0.5 *lp_lat));
@@ -84,7 +78,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -137,7 +131,9 @@ namespace projections
template <typename T, typename Parameters>
struct nell_h_spheroid : public detail::nell_h::base_nell_h_spheroid<T, Parameters>
{
- inline nell_h_spheroid(const Parameters& par) : detail::nell_h::base_nell_h_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline nell_h_spheroid(Params const& , Parameters const& par)
+ : detail::nell_h::base_nell_h_spheroid<T, Parameters>(par)
{
detail::nell_h::setup_nell_h(this->m_par);
}
@@ -148,23 +144,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::nell_h, nell_h_spheroid, nell_h_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_nell_h, nell_h_spheroid, nell_h_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class nell_h_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<nell_h_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(nell_h_entry, nell_h_spheroid)
- template <typename T, typename Parameters>
- inline void nell_h_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(nell_h_init)
{
- factory.add_to_factory("nell_h", new nell_h_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(nell_h, nell_h_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/nocol.hpp b/boost/geometry/srs/projections/proj/nocol.hpp
index 01e428c6d4..924ec86efd 100644
--- a/boost/geometry/srs/projections/proj/nocol.hpp
+++ b/boost/geometry/srs/projections/proj/nocol.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct nicol {}; // Nicolosi Globular
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -75,7 +69,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -143,7 +137,9 @@ namespace projections
template <typename T, typename Parameters>
struct nicol_spheroid : public detail::nocol::base_nocol_spheroid<T, Parameters>
{
- inline nicol_spheroid(const Parameters& par) : detail::nocol::base_nocol_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline nicol_spheroid(Params const& , Parameters const& par)
+ : detail::nocol::base_nocol_spheroid<T, Parameters>(par)
{
detail::nocol::setup_nicol(this->m_par);
}
@@ -154,23 +150,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::nicol, nicol_spheroid, nicol_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_nicol, nicol_spheroid, nicol_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class nicol_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<nicol_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(nicol_entry, nicol_spheroid)
- template <typename T, typename Parameters>
- inline void nocol_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(nocol_init)
{
- factory.add_to_factory("nicol", new nicol_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(nicol, nicol_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/nsper.hpp b/boost/geometry/srs/projections/proj/nsper.hpp
index 2910ee6203..89dc6a8a15 100644
--- a/boost/geometry/srs/projections/proj/nsper.hpp
+++ b/boost/geometry/srs/projections/proj/nsper.hpp
@@ -52,13 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct nsper {}; // Near-sided perspective
- struct tpers {}; // Tilted perspective
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -105,7 +98,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T coslam, cosphi, sinphi;
@@ -158,7 +151,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T rh, cosz, sinz;
@@ -211,10 +204,11 @@ namespace projections
};
- template <typename Parameters, typename T>
- inline void setup(Parameters& par, par_nsper<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup(Params const& params, Parameters& par, par_nsper<T>& proj_parm)
{
- if ((proj_parm.height = pj_get_param_f(par.params, "h")) <= 0.)
+ proj_parm.height = pj_get_param_f<T, srs::spar::h>(params, "h", srs::dpar::h);
+ if (proj_parm.height <= 0.)
BOOST_THROW_EXCEPTION( projection_exception(error_h_less_than_zero) );
if (fabs(fabs(par.phi0) - geometry::math::half_pi<T>()) < epsilon10)
@@ -236,27 +230,25 @@ namespace projections
// Near-sided perspective
- template <typename Parameters, typename T>
- inline void setup_nsper(Parameters& par, par_nsper<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_nsper(Params const& params, Parameters& par, par_nsper<T>& proj_parm)
{
proj_parm.tilt = 0;
- setup(par, proj_parm);
+ setup(params, par, proj_parm);
}
// Tilted perspective
- template <typename Parameters, typename T>
- inline void setup_tpers(Parameters& par, par_nsper<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_tpers(Params const& params, Parameters& par, par_nsper<T>& proj_parm)
{
- T omega, gamma;
-
- omega = pj_get_param_r(par.params, "tilt");
- gamma = pj_get_param_r(par.params, "azi");
+ T const omega = pj_get_param_r<T, srs::spar::tilt>(params, "tilt", srs::dpar::tilt);
+ T const gamma = pj_get_param_r<T, srs::spar::azi>(params, "azi", srs::dpar::azi);
proj_parm.tilt = 1;
proj_parm.cg = cos(gamma); proj_parm.sg = sin(gamma);
proj_parm.cw = cos(omega); proj_parm.sw = sin(omega);
- setup(par, proj_parm);
+ setup(params, par, proj_parm);
}
}} // namespace detail::nsper
@@ -279,9 +271,11 @@ namespace projections
template <typename T, typename Parameters>
struct nsper_spheroid : public detail::nsper::base_nsper_spheroid<T, Parameters>
{
- inline nsper_spheroid(const Parameters& par) : detail::nsper::base_nsper_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline nsper_spheroid(Params const& params, Parameters const& par)
+ : detail::nsper::base_nsper_spheroid<T, Parameters>(par)
{
- detail::nsper::setup_nsper(this->m_par, this->m_proj_parm);
+ detail::nsper::setup_nsper(params, this->m_par, this->m_proj_parm);
}
};
@@ -304,9 +298,11 @@ namespace projections
template <typename T, typename Parameters>
struct tpers_spheroid : public detail::nsper::base_nsper_spheroid<T, Parameters>
{
- inline tpers_spheroid(const Parameters& par) : detail::nsper::base_nsper_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline tpers_spheroid(Params const& params, Parameters const& par)
+ : detail::nsper::base_nsper_spheroid<T, Parameters>(par)
{
- detail::nsper::setup_tpers(this->m_par, this->m_proj_parm);
+ detail::nsper::setup_tpers(params, this->m_par, this->m_proj_parm);
}
};
@@ -315,35 +311,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::nsper, nsper_spheroid, nsper_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::tpers, tpers_spheroid, tpers_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_nsper, nsper_spheroid, nsper_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_tpers, tpers_spheroid, tpers_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class nsper_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<nsper_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class tpers_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<tpers_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(nsper_entry, nsper_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(tpers_entry, tpers_spheroid)
- template <typename T, typename Parameters>
- inline void nsper_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(nsper_init)
{
- factory.add_to_factory("nsper", new nsper_entry<T, Parameters>);
- factory.add_to_factory("tpers", new tpers_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(nsper, nsper_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(tpers, tpers_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/nzmg.hpp b/boost/geometry/srs/projections/proj/nzmg.hpp
index 2806e1a2d2..858685f74f 100644
--- a/boost/geometry/srs/projections/proj/nzmg.hpp
+++ b/boost/geometry/srs/projections/proj/nzmg.hpp
@@ -56,12 +56,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct nzmg {}; // New Zealand Map Grid
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -119,7 +113,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T rad_to_sec5 = nzmg::rad_to_sec5<T>();
@@ -139,7 +133,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T sec5_to_rad = nzmg::sec5_to_rad<T>();
@@ -184,7 +178,8 @@ namespace projections
static const calc_t d2r = geometry::math::d2r<calc_t>();
/* force to International major axis */
- par.ra = 1. / (par.a = 6378388.0);
+ par.a = 6378388.0;
+ par.ra = 1. / par.a;
par.lam0 = 173. * d2r;
par.phi0 = -41. * d2r;
par.x0 = 2510000.;
@@ -208,7 +203,9 @@ namespace projections
template <typename T, typename Parameters>
struct nzmg_ellipsoid : public detail::nzmg::base_nzmg_ellipsoid<T, Parameters>
{
- inline nzmg_ellipsoid(const Parameters& par) : detail::nzmg::base_nzmg_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline nzmg_ellipsoid(Params const& , Parameters const& par)
+ : detail::nzmg::base_nzmg_ellipsoid<T, Parameters>(par)
{
detail::nzmg::setup_nzmg(this->m_par);
}
@@ -219,23 +216,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::nzmg, nzmg_ellipsoid, nzmg_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_nzmg, nzmg_ellipsoid, nzmg_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class nzmg_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<nzmg_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(nzmg_entry, nzmg_ellipsoid)
- template <typename T, typename Parameters>
- inline void nzmg_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(nzmg_init)
{
- factory.add_to_factory("nzmg", new nzmg_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(nzmg, nzmg_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/ob_tran.hpp b/boost/geometry/srs/projections/proj/ob_tran.hpp
index dd6df24def..f5709228f5 100644
--- a/boost/geometry/srs/projections/proj/ob_tran.hpp
+++ b/boost/geometry/srs/projections/proj/ob_tran.hpp
@@ -43,23 +43,16 @@
#include <boost/geometry/util/math.hpp>
#include <boost/shared_ptr.hpp>
+#include <boost/geometry/srs/projections/impl/aasincos.hpp>
#include <boost/geometry/srs/projections/impl/base_static.hpp>
#include <boost/geometry/srs/projections/impl/base_dynamic.hpp>
-#include <boost/geometry/srs/projections/impl/projects.hpp>
#include <boost/geometry/srs/projections/impl/factory_entry.hpp>
-#include <boost/geometry/srs/projections/impl/aasincos.hpp>
+#include <boost/geometry/srs/projections/impl/pj_ell_set.hpp>
+#include <boost/geometry/srs/projections/impl/projects.hpp>
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- //struct ob_tran_oblique {};
- //struct ob_tran_transverse {};
- struct ob_tran {}; // General Oblique Transformation
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -67,8 +60,14 @@ namespace projections
// fwd declaration needed below
template <typename T>
- inline detail::base_v<T, parameters<T> >*
- create_new(parameters<T> const& parameters);
+ inline detail::base_v<T, projections::parameters<T> >*
+ create_new(srs::detail::proj4_parameters const& params,
+ projections::parameters<T> const& parameters);
+
+ template <typename T>
+ inline detail::base_v<T, projections::parameters<T> >*
+ create_new(srs::dpar::parameters<T> const& params,
+ projections::parameters<T> const& parameters);
} // namespace detail
@@ -78,23 +77,88 @@ namespace projections
static const double tolerance = 1e-10;
template <typename Parameters>
- inline Parameters o_proj_parameters(Parameters const& par)
+ inline Parameters o_proj_parameters(srs::detail::proj4_parameters const& params,
+ Parameters const& par)
+ {
+ /* copy existing header into new */
+ Parameters pj = par;
+
+ /* get name of projection to be translated */
+ pj.id = pj_get_param_s(params, "o_proj");
+ if (pj.id.is_unknown())
+ BOOST_THROW_EXCEPTION( projection_exception(error_no_rotation_proj) );
+
+ /* avoid endless recursion */
+ if( pj.id.name == "ob_tran")
+ BOOST_THROW_EXCEPTION( projection_exception(error_failed_to_find_proj) );
+
+ // Commented out for consistency with Proj4 >= 5.0.0
+ /* force spherical earth */
+ //pj.one_es = pj.rone_es = 1.;
+ //pj.es = pj.e = 0.;
+
+ return pj;
+ }
+
+ template <typename T, typename Parameters>
+ inline Parameters o_proj_parameters(srs::dpar::parameters<T> const& params,
+ Parameters const& par)
{
/* copy existing header into new */
Parameters pj = par;
/* get name of projection to be translated */
- pj.name = pj_get_param_s(par.params, "o_proj");
- if (pj.name.empty())
+ typename srs::dpar::parameters<T>::const_iterator
+ it = pj_param_find(params, srs::dpar::o_proj);
+ if (it != params.end())
+ pj.id = static_cast<srs::dpar::value_proj>(it->template get_value<int>());
+ else
BOOST_THROW_EXCEPTION( projection_exception(error_no_rotation_proj) );
/* avoid endless recursion */
- if( pj.name == "ob_tran")
+ if( pj.id.id == srs::dpar::proj_ob_tran)
BOOST_THROW_EXCEPTION( projection_exception(error_failed_to_find_proj) );
+ // Commented out for consistency with Proj4 >= 5.0.0
/* force spherical earth */
- pj.one_es = pj.rone_es = 1.;
- pj.es = pj.e = 0.;
+ //pj.one_es = pj.rone_es = 1.;
+ //pj.es = pj.e = 0.;
+
+ return pj;
+ }
+
+ template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename Parameters>
+ inline Parameters o_proj_parameters(srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> const& params,
+ Parameters const& par)
+ {
+ /* copy existing header into new */
+ Parameters pj = par;
+
+ /* get name of projection to be translated */
+ typedef srs::spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX> params_type;
+ typedef typename srs::spar::detail::tuples_find_if
+ <
+ params_type,
+ srs::spar::detail::is_param_t<srs::spar::o_proj>::pred
+ >::type o_proj_type;
+
+ static const bool is_found = srs::spar::detail::tuples_is_found<o_proj_type>::value;
+ BOOST_MPL_ASSERT_MSG((is_found), NO_ROTATION_PROJ, (params_type));
+
+ typedef typename o_proj_type::type proj_type;
+ static const bool is_specialized = srs::spar::detail::proj_traits<proj_type>::is_specialized;
+ BOOST_MPL_ASSERT_MSG((is_specialized), NO_ROTATION_PROJ, (params_type));
+
+ pj.id = srs::spar::detail::proj_traits<proj_type>::id;
+
+ /* avoid endless recursion */
+ static const bool is_non_resursive = ! boost::is_same<proj_type, srs::spar::proj_ob_tran>::value;
+ BOOST_MPL_ASSERT_MSG((is_non_resursive), INVALID_O_PROJ_PARAMETER, (params_type));
+
+ // Commented out for consistency with Proj4 >= 5.0.0
+ /* force spherical earth */
+ //pj.one_es = pj.rone_es = 1.;
+ //pj.es = pj.e = 0.;
return pj;
}
@@ -102,19 +166,20 @@ namespace projections
template <typename T, typename Parameters>
struct par_ob_tran
{
- par_ob_tran(Parameters const& par)
- : link(projections::detail::create_new(o_proj_parameters(par)))
+ template <typename Params>
+ par_ob_tran(Params const& params, Parameters const& par)
+ : link(projections::detail::create_new(params, o_proj_parameters(params, par)))
{
if (! link.get())
BOOST_THROW_EXCEPTION( projection_exception(error_unknown_projection_id) );
}
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
link->fwd(lp_lon, lp_lat, xy_x, xy_y);
}
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
link->inv(xy_x, xy_y, lp_lon, lp_lat);
}
@@ -128,34 +193,36 @@ namespace projections
struct par_ob_tran_static
{
// this metafunction handles static error handling
- typedef typename srs::par4::detail::pick_o_proj_tag
+ typedef typename srs::spar::detail::pick_o_proj_tag
<
StaticParameters
>::type o_proj_tag;
/* avoid endless recursion */
- static const bool is_o_proj_not_ob_tran = ! boost::is_same<o_proj_tag, srs::par4::ob_tran>::value;
+ static const bool is_o_proj_not_ob_tran = ! boost::is_same<o_proj_tag, srs::spar::proj_ob_tran>::value;
BOOST_MPL_ASSERT_MSG((is_o_proj_not_ob_tran), INVALID_O_PROJ_PARAMETER, (StaticParameters));
typedef typename projections::detail::static_projection_type
<
o_proj_tag,
- srs_sphere_tag, // force spherical
+ // Commented out for consistency with Proj4 >= 5.0.0
+ //srs_sphere_tag, // force spherical
+ typename projections::detail::static_srs_tag<StaticParameters>::type,
StaticParameters,
T,
Parameters
>::type projection_type;
- par_ob_tran_static(Parameters const& par)
- : link(o_proj_parameters(par))
+ par_ob_tran_static(StaticParameters const& params, Parameters const& par)
+ : link(params, o_proj_parameters(params, par))
{}
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
link.fwd(lp_lon, lp_lat, xy_x, xy_y);
}
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
link.inv(xy_x, xy_y, lp_lon, lp_lat);
}
@@ -166,7 +233,7 @@ namespace projections
};
template <typename T, typename Par>
- inline void o_forward(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y, Par const& proj_parm)
+ inline void o_forward(T lp_lon, T lp_lat, T& xy_x, T& xy_y, Par const& proj_parm)
{
T coslam, sinphi, cosphi;
@@ -181,7 +248,7 @@ namespace projections
}
template <typename T, typename Par>
- inline void o_inverse(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat, Par const& proj_parm)
+ inline void o_inverse(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat, Par const& proj_parm)
{
T coslam, sinphi, cosphi;
@@ -197,7 +264,7 @@ namespace projections
}
template <typename T, typename Par>
- inline void t_forward(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y, Par const& proj_parm)
+ inline void t_forward(T lp_lon, T lp_lat, T& xy_x, T& xy_y, Par const& proj_parm)
{
T cosphi, coslam;
@@ -210,7 +277,7 @@ namespace projections
}
template <typename T, typename Par>
- inline void t_inverse(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat, Par const& proj_parm)
+ inline void t_inverse(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat, Par const& proj_parm)
{
T cosphi, t;
@@ -224,22 +291,23 @@ namespace projections
}
// General Oblique Transformation
- template <typename T, typename Parameters, typename ProjParameters>
- inline T setup_ob_tran(Parameters & par, ProjParameters& proj_parm)
+ template <typename T, typename Params, typename Parameters, typename ProjParameters>
+ inline T setup_ob_tran(Params const& params, Parameters & par, ProjParameters& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
T phip, alpha;
- par.es = 0.; /* force to spherical */
+ // Commented out for consistency with Proj4 >= 5.0.0
+ //par.es = 0.; /* force to spherical */
// proj_parm.link should be created at this point
- if (pj_param_r(par.params, "o_alpha", alpha)) {
+ if (pj_param_r<srs::spar::o_alpha>(params, "o_alpha", srs::dpar::o_alpha, alpha)) {
T lamc, phic;
- lamc = pj_get_param_r(par.params, "o_lon_c");
- phic = pj_get_param_r(par.params, "o_lat_c");
+ lamc = pj_get_param_r<T, srs::spar::o_lon_c>(params, "o_lon_c", srs::dpar::o_lon_c);
+ phic = pj_get_param_r<T, srs::spar::o_lon_c>(params, "o_lat_c", srs::dpar::o_lat_c);
//alpha = pj_get_param_r(par.params, "o_alpha");
if (fabs(fabs(phic) - half_pi) <= tolerance)
@@ -247,16 +315,16 @@ namespace projections
proj_parm.lamp = lamc + aatan2(-cos(alpha), -sin(alpha) * sin(phic));
phip = aasin(cos(phic) * sin(alpha));
- } else if (pj_param_r(par.params, "o_lat_p", phip)) { /* specified new pole */
- proj_parm.lamp = pj_get_param_r(par.params, "o_lon_p");
+ } else if (pj_param_r<srs::spar::o_lat_p>(params, "o_lat_p", srs::dpar::o_lat_p, phip)) { /* specified new pole */
+ proj_parm.lamp = pj_get_param_r<T, srs::spar::o_lon_p>(params, "o_lon_p", srs::dpar::o_lon_p);
//phip = pj_param_r(par.params, "o_lat_p");
} else { /* specified new "equator" points */
T lam1, lam2, phi1, phi2, con;
- lam1 = pj_get_param_r(par.params, "o_lon_1");
- phi1 = pj_get_param_r(par.params, "o_lat_1");
- lam2 = pj_get_param_r(par.params, "o_lon_2");
- phi2 = pj_get_param_r(par.params, "o_lat_2");
+ lam1 = pj_get_param_r<T, srs::spar::o_lon_1>(params, "o_lon_1", srs::dpar::o_lon_1);
+ phi1 = pj_get_param_r<T, srs::spar::o_lat_1>(params, "o_lat_1", srs::dpar::o_lat_1);
+ lam2 = pj_get_param_r<T, srs::spar::o_lon_2>(params, "o_lon_2", srs::dpar::o_lon_2);
+ phi2 = pj_get_param_r<T, srs::spar::o_lat_2>(params, "o_lat_2", srs::dpar::o_lat_2);
if (fabs(phi1 - phi2) <= tolerance || (con = fabs(phi1)) <= tolerance ||
fabs(con - half_pi) <= tolerance || fabs(fabs(phi2) - half_pi) <= tolerance)
BOOST_THROW_EXCEPTION( projection_exception(error_lat_1_or_2_zero_or_90) );
@@ -302,14 +370,14 @@ namespace projections
// FORWARD(o_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
o_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_proj_parm);
}
// INVERSE(o_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
o_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_proj_parm);
}
@@ -339,14 +407,14 @@ namespace projections
// FORWARD(t_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
t_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_proj_parm);
}
// INVERSE(t_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
t_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_proj_parm);
}
@@ -366,14 +434,14 @@ namespace projections
par_ob_tran_static<StaticParameters, T, Parameters> m_proj_parm;
bool m_is_oblique;
- inline base_ob_tran_static(Parameters const& par)
+ inline base_ob_tran_static(StaticParameters const& params, Parameters const& par)
: base_t_fi<base_ob_tran_static<StaticParameters, T, Parameters>, T, Parameters>(*this, par)
- , m_proj_parm(par)
+ , m_proj_parm(params, par)
{}
// FORWARD(o_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
if (m_is_oblique) {
o_forward(lp_lon, lp_lat, xy_x, xy_y, this->m_proj_parm);
@@ -384,7 +452,7 @@ namespace projections
// INVERSE(o_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
if (m_is_oblique) {
o_inverse(xy_x, xy_y, lp_lon, lp_lat, this->m_proj_parm);
@@ -505,10 +573,10 @@ namespace projections
template <typename StaticParameters, typename T, typename Parameters>
struct ob_tran_static : public detail::ob_tran::base_ob_tran_static<StaticParameters, T, Parameters>
{
- inline ob_tran_static(const Parameters& par)
- : detail::ob_tran::base_ob_tran_static<StaticParameters, T, Parameters>(par)
+ inline ob_tran_static(StaticParameters const& params, Parameters const& par)
+ : detail::ob_tran::base_ob_tran_static<StaticParameters, T, Parameters>(params, par)
{
- T phip = detail::ob_tran::setup_ob_tran<T>(this->m_par, this->m_proj_parm);
+ T phip = detail::ob_tran::setup_ob_tran<T>(params, this->m_par, this->m_proj_parm);
this->m_is_oblique = fabs(phip) > detail::ob_tran::tolerance;
}
};
@@ -518,39 +586,34 @@ namespace projections
{
// Static projection
- template <typename BGP, typename CT, typename P>
- struct static_projection_type<srs::par4::ob_tran, srs_sphere_tag, BGP, CT, P>
+ template <typename SP, typename CT, typename P>
+ struct static_projection_type<srs::spar::proj_ob_tran, srs_sphere_tag, SP, CT, P>
{
- typedef ob_tran_static<BGP, CT, P> type;
+ typedef ob_tran_static<SP, CT, P> type;
};
- template <typename BGP, typename CT, typename P>
- struct static_projection_type<srs::par4::ob_tran, srs_spheroid_tag, BGP, CT, P>
+ template <typename SP, typename CT, typename P>
+ struct static_projection_type<srs::spar::proj_ob_tran, srs_spheroid_tag, SP, CT, P>
{
- typedef ob_tran_static<BGP, CT, P> type;
+ typedef ob_tran_static<SP, CT, P> type;
};
// Factory entry(s)
- template <typename T, typename Parameters>
- class ob_tran_entry : public detail::factory_entry<T, Parameters>
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_BEGIN(ob_tran_entry)
{
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- Parameters params = par;
- detail::ob_tran::par_ob_tran<T, Parameters> proj_parm(params);
- T phip = detail::ob_tran::setup_ob_tran<T>(params, proj_parm);
-
- if (fabs(phip) > detail::ob_tran::tolerance)
- return new base_v_fi<ob_tran_oblique<T, Parameters>, T, Parameters>(params, proj_parm);
- else
- return new base_v_fi<ob_tran_transverse<T, Parameters>, T, Parameters>(params, proj_parm);
- }
- };
+ Parameters parameters_copy = parameters;
+ detail::ob_tran::par_ob_tran<T, Parameters> proj_parm(params, parameters_copy);
+ T phip = detail::ob_tran::setup_ob_tran<T>(params, parameters_copy, proj_parm);
+
+ if (fabs(phip) > detail::ob_tran::tolerance)
+ return new base_v_fi<ob_tran_oblique<T, Parameters>, T, Parameters>(parameters_copy, proj_parm);
+ else
+ return new base_v_fi<ob_tran_transverse<T, Parameters>, T, Parameters>(parameters_copy, proj_parm);
+ }
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_END
- template <typename T, typename Parameters>
- inline void ob_tran_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(ob_tran_init)
{
- factory.add_to_factory("ob_tran", new ob_tran_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(ob_tran, ob_tran_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/ocea.hpp b/boost/geometry/srs/projections/proj/ocea.hpp
index f8dd4c4ed1..af8be1ca08 100644
--- a/boost/geometry/srs/projections/proj/ocea.hpp
+++ b/boost/geometry/srs/projections/proj/ocea.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct ocea {}; // Oblique Cylindrical Equal Area
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -85,7 +79,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T pi = detail::pi<T>();
@@ -102,7 +96,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T t, s;
@@ -122,8 +116,8 @@ namespace projections
};
// Oblique Cylindrical Equal Area
- template <typename Parameters, typename T>
- inline void setup_ocea(Parameters& par, par_ocea<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_ocea(Params const& params, Parameters& par, par_ocea<T>& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
@@ -132,10 +126,10 @@ namespace projections
proj_parm.rok = 1. / par.k0;
proj_parm.rtk = par.k0;
/*If the keyword "alpha" is found in the sentence then use 1point+1azimuth*/
- if ( pj_param_r(par.params, "alpha", alpha)) {
+ if ( pj_param_r<srs::spar::alpha>(params, "alpha", srs::dpar::alpha, alpha)) {
/*Define Pole of oblique transformation from 1 point & 1 azimuth*/
//alpha = pj_get_param_r(par.params, "alpha"); // set above
- lonz = pj_get_param_r(par.params, "lonc");
+ lonz = pj_get_param_r<T, srs::spar::lonc>(params, "lonc", srs::dpar::lonc);
/*Equation 9-8 page 80 (http://pubs.usgs.gov/pp/1395/report.pdf)*/
proj_parm.singam = atan(-cos(alpha)/(-sin(phi_0) * sin(alpha))) + lonz;
/*Equation 9-7 page 80 (http://pubs.usgs.gov/pp/1395/report.pdf)*/
@@ -143,10 +137,10 @@ namespace projections
/*If the keyword "alpha" is NOT found in the sentence then use 2points*/
} else {
/*Define Pole of oblique transformation from 2 points*/
- phi_1 = pj_get_param_r(par.params, "lat_1");
- phi_2 = pj_get_param_r(par.params, "lat_2");
- lam_1 = pj_get_param_r(par.params, "lon_1");
- lam_2 = pj_get_param_r(par.params, "lon_2");
+ phi_1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
+ phi_2 = pj_get_param_r<T, srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2);
+ lam_1 = pj_get_param_r<T, srs::spar::lon_1>(params, "lon_1", srs::dpar::lon_1);
+ lam_2 = pj_get_param_r<T, srs::spar::lon_2>(params, "lon_2", srs::dpar::lon_2);
/*Equation 9-1 page 80 (http://pubs.usgs.gov/pp/1395/report.pdf)*/
proj_parm.singam = atan2(cos(phi_1) * sin(phi_2) * cos(lam_1) -
sin(phi_1) * cos(phi_2) * cos(lam_2),
@@ -193,9 +187,11 @@ namespace projections
template <typename T, typename Parameters>
struct ocea_spheroid : public detail::ocea::base_ocea_spheroid<T, Parameters>
{
- inline ocea_spheroid(const Parameters& par) : detail::ocea::base_ocea_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline ocea_spheroid(Params const& params, Parameters const& par)
+ : detail::ocea::base_ocea_spheroid<T, Parameters>(par)
{
- detail::ocea::setup_ocea(this->m_par, this->m_proj_parm);
+ detail::ocea::setup_ocea(params, this->m_par, this->m_proj_parm);
}
};
@@ -204,23 +200,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::ocea, ocea_spheroid, ocea_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_ocea, ocea_spheroid, ocea_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class ocea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<ocea_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(ocea_entry, ocea_spheroid)
- template <typename T, typename Parameters>
- inline void ocea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(ocea_init)
{
- factory.add_to_factory("ocea", new ocea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(ocea, ocea_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/oea.hpp b/boost/geometry/srs/projections/proj/oea.hpp
index 24840ea1d6..f78037d2cb 100644
--- a/boost/geometry/srs/projections/proj/oea.hpp
+++ b/boost/geometry/srs/projections/proj/oea.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct oea {}; // Oblated Equal Area
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T Az, M, N, cp, sp, cl, shz;
@@ -101,7 +95,7 @@ namespace projections
// INVERSE(s_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T N, M, xp, yp, z, Az, cz, sz, cAz;
@@ -126,14 +120,14 @@ namespace projections
};
// Oblated Equal Area
- template <typename Parameters, typename T>
- inline void setup_oea(Parameters& par, par_oea<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_oea(Params const& params, Parameters& par, par_oea<T>& proj_parm)
{
- if (((proj_parm.n = pj_get_param_f(par.params, "n")) <= 0.) ||
- ((proj_parm.m = pj_get_param_f(par.params, "m")) <= 0.)) {
+ if (((proj_parm.n = pj_get_param_f<T, srs::spar::n>(params, "n", srs::dpar::n)) <= 0.) ||
+ ((proj_parm.m = pj_get_param_f<T, srs::spar::m>(params, "m", srs::dpar::m)) <= 0.)) {
BOOST_THROW_EXCEPTION( projection_exception(error_invalid_m_or_n) );
} else {
- proj_parm.theta = pj_get_param_r(par.params, "theta");
+ proj_parm.theta = pj_get_param_r<T, srs::spar::theta>(params, "theta", srs::dpar::theta);
proj_parm.sp0 = sin(par.phi0);
proj_parm.cp0 = cos(par.phi0);
proj_parm.rn = 1./ proj_parm.n;
@@ -168,9 +162,11 @@ namespace projections
template <typename T, typename Parameters>
struct oea_spheroid : public detail::oea::base_oea_spheroid<T, Parameters>
{
- inline oea_spheroid(const Parameters& par) : detail::oea::base_oea_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline oea_spheroid(Params const& params, Parameters const& par)
+ : detail::oea::base_oea_spheroid<T, Parameters>(par)
{
- detail::oea::setup_oea(this->m_par, this->m_proj_parm);
+ detail::oea::setup_oea(params, this->m_par, this->m_proj_parm);
}
};
@@ -179,23 +175,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::oea, oea_spheroid, oea_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_oea, oea_spheroid, oea_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class oea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<oea_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(oea_entry, oea_spheroid)
- template <typename T, typename Parameters>
- inline void oea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(oea_init)
{
- factory.add_to_factory("oea", new oea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(oea, oea_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/omerc.hpp b/boost/geometry/srs/projections/proj/omerc.hpp
index a4448d182d..1e041e2ac0 100644
--- a/boost/geometry/srs/projections/proj/omerc.hpp
+++ b/boost/geometry/srs/projections/proj/omerc.hpp
@@ -54,12 +54,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct omerc {}; // Oblique Mercator
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -89,7 +83,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -128,7 +122,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -167,8 +161,8 @@ namespace projections
};
// Oblique Mercator
- template <typename Parameters, typename T>
- inline void setup_omerc(Parameters& par, par_omerc<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_omerc(Params const& params, Parameters& par, par_omerc<T>& proj_parm)
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -179,11 +173,11 @@ namespace projections
gamma0, lamc=0, lam1=0, lam2=0, phi1=0, phi2=0, alpha_c=0;
int alp, gam, no_off = 0;
- proj_parm.no_rot = pj_get_param_b(par.params, "no_rot");
- alp = pj_param_r(par.params, "alpha", alpha_c);
- gam = pj_param_r(par.params, "gamma", gamma);
+ proj_parm.no_rot = pj_get_param_b<srs::spar::no_rot>(params, "no_rot", srs::dpar::no_rot);
+ alp = pj_param_r<srs::spar::alpha>(params, "alpha", srs::dpar::alpha, alpha_c);
+ gam = pj_param_r<srs::spar::gamma>(params, "gamma", srs::dpar::gamma, gamma);
if (alp || gam) {
- lamc = pj_get_param_r(par.params, "lonc");
+ lamc = pj_get_param_r<T, srs::spar::lonc>(params, "lonc", srs::dpar::lonc);
// NOTE: This is not needed in Boost.Geometry
//no_off =
// /* For libproj4 compatability */
@@ -197,10 +191,10 @@ namespace projections
// pj_get_param_s(par.params, "no_off");
//}
} else {
- lam1 = pj_get_param_r(par.params, "lon_1");
- phi1 = pj_get_param_r(par.params, "lat_1");
- lam2 = pj_get_param_r(par.params, "lon_2");
- phi2 = pj_get_param_r(par.params, "lat_2");
+ lam1 = pj_get_param_r<T, srs::spar::lon_1>(params, "lon_1", srs::dpar::lon_1);
+ phi1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
+ lam2 = pj_get_param_r<T, srs::spar::lon_2>(params, "lon_2", srs::dpar::lon_2);
+ phi2 = pj_get_param_r<T, srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2);
if (fabs(phi1 - phi2) <= tolerance ||
(con = fabs(phi1)) <= tolerance ||
fabs(con - half_pi) <= tolerance ||
@@ -305,9 +299,11 @@ namespace projections
template <typename T, typename Parameters>
struct omerc_ellipsoid : public detail::omerc::base_omerc_ellipsoid<T, Parameters>
{
- inline omerc_ellipsoid(const Parameters& par) : detail::omerc::base_omerc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline omerc_ellipsoid(Params const& params, Parameters const& par)
+ : detail::omerc::base_omerc_ellipsoid<T, Parameters>(par)
{
- detail::omerc::setup_omerc(this->m_par, this->m_proj_parm);
+ detail::omerc::setup_omerc(params, this->m_par, this->m_proj_parm);
}
};
@@ -316,23 +312,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::omerc, omerc_ellipsoid, omerc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_omerc, omerc_ellipsoid, omerc_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class omerc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<omerc_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(omerc_entry, omerc_ellipsoid)
- template <typename T, typename Parameters>
- inline void omerc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(omerc_init)
{
- factory.add_to_factory("omerc", new omerc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(omerc, omerc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/ortho.hpp b/boost/geometry/srs/projections/proj/ortho.hpp
index 370af50f70..3196554480 100644
--- a/boost/geometry/srs/projections/proj/ortho.hpp
+++ b/boost/geometry/srs/projections/proj/ortho.hpp
@@ -52,12 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct ortho {}; // Orthographic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -94,7 +88,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -131,7 +125,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -218,7 +212,9 @@ namespace projections
template <typename T, typename Parameters>
struct ortho_spheroid : public detail::ortho::base_ortho_spheroid<T, Parameters>
{
- inline ortho_spheroid(const Parameters& par) : detail::ortho::base_ortho_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline ortho_spheroid(Params const& , Parameters const& par)
+ : detail::ortho::base_ortho_spheroid<T, Parameters>(par)
{
detail::ortho::setup_ortho(this->m_par, this->m_proj_parm);
}
@@ -229,23 +225,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::ortho, ortho_spheroid, ortho_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_ortho, ortho_spheroid, ortho_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class ortho_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<ortho_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(ortho_entry, ortho_spheroid)
- template <typename T, typename Parameters>
- inline void ortho_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(ortho_init)
{
- factory.add_to_factory("ortho", new ortho_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(ortho, ortho_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/poly.hpp b/boost/geometry/srs/projections/proj/poly.hpp
index 95da13f0d7..d0fab653f3 100644
--- a/boost/geometry/srs/projections/proj/poly.hpp
+++ b/boost/geometry/srs/projections/proj/poly.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct poly {}; // Polyconic (American)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -88,7 +82,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T ms, sp, cp;
@@ -105,7 +99,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
xy_y += this->m_proj_parm.ml0;
if (fabs(xy_y) <= tolerance) {
@@ -161,7 +155,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T cot, E;
@@ -177,7 +171,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T B, dphi, tp;
int i;
@@ -240,7 +234,9 @@ namespace projections
template <typename T, typename Parameters>
struct poly_ellipsoid : public detail::poly::base_poly_ellipsoid<T, Parameters>
{
- inline poly_ellipsoid(const Parameters& par) : detail::poly::base_poly_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline poly_ellipsoid(Params const& , Parameters const& par)
+ : detail::poly::base_poly_ellipsoid<T, Parameters>(par)
{
detail::poly::setup_poly(this->m_par, this->m_proj_parm);
}
@@ -262,7 +258,9 @@ namespace projections
template <typename T, typename Parameters>
struct poly_spheroid : public detail::poly::base_poly_spheroid<T, Parameters>
{
- inline poly_spheroid(const Parameters& par) : detail::poly::base_poly_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline poly_spheroid(Params const& , Parameters const& par)
+ : detail::poly::base_poly_spheroid<T, Parameters>(par)
{
detail::poly::setup_poly(this->m_par, this->m_proj_parm);
}
@@ -273,26 +271,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::poly, poly_spheroid, poly_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_poly, poly_spheroid, poly_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class poly_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<poly_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<poly_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(poly_entry, poly_spheroid, poly_ellipsoid)
- template <typename T, typename Parameters>
- inline void poly_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(poly_init)
{
- factory.add_to_factory("poly", new poly_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(poly, poly_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/putp2.hpp b/boost/geometry/srs/projections/proj/putp2.hpp
index 181afe5086..104a74702a 100644
--- a/boost/geometry/srs/projections/proj/putp2.hpp
+++ b/boost/geometry/srs/projections/proj/putp2.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct putp2 {}; // Putnins P2
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -80,7 +74,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T third_pi = detail::third_pi<T>();
@@ -106,7 +100,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T c;
@@ -147,7 +141,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp2_spheroid : public detail::putp2::base_putp2_spheroid<T, Parameters>
{
- inline putp2_spheroid(const Parameters& par) : detail::putp2::base_putp2_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp2_spheroid(Params const& , Parameters const& par)
+ : detail::putp2::base_putp2_spheroid<T, Parameters>(par)
{
detail::putp2::setup_putp2(this->m_par);
}
@@ -158,23 +154,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp2, putp2_spheroid, putp2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp2, putp2_spheroid, putp2_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class putp2_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp2_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp2_entry, putp2_spheroid)
- template <typename T, typename Parameters>
- inline void putp2_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(putp2_init)
{
- factory.add_to_factory("putp2", new putp2_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp2, putp2_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/putp3.hpp b/boost/geometry/srs/projections/proj/putp3.hpp
index aac6d04f2d..3f6fceb0f1 100644
--- a/boost/geometry/srs/projections/proj/putp3.hpp
+++ b/boost/geometry/srs/projections/proj/putp3.hpp
@@ -48,13 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct putp3 {}; // Putnins P3
- struct putp3p {}; // Putnins P3'
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +76,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = C * lp_lon * (1. - this->m_proj_parm.A * lp_lat * lp_lat);
xy_y = C * lp_lat;
@@ -91,7 +84,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = xy_y / C;
lp_lon = xy_x / (C * (1. - this->m_proj_parm.A * lp_lat * lp_lat));
@@ -141,7 +134,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp3_spheroid : public detail::putp3::base_putp3_spheroid<T, Parameters>
{
- inline putp3_spheroid(const Parameters& par) : detail::putp3::base_putp3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp3_spheroid(Params const& , Parameters const& par)
+ : detail::putp3::base_putp3_spheroid<T, Parameters>(par)
{
detail::putp3::setup_putp3(this->m_par, this->m_proj_parm);
}
@@ -162,7 +157,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp3p_spheroid : public detail::putp3::base_putp3_spheroid<T, Parameters>
{
- inline putp3p_spheroid(const Parameters& par) : detail::putp3::base_putp3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp3p_spheroid(Params const& , Parameters const& par)
+ : detail::putp3::base_putp3_spheroid<T, Parameters>(par)
{
detail::putp3::setup_putp3p(this->m_par, this->m_proj_parm);
}
@@ -173,35 +170,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp3, putp3_spheroid, putp3_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp3p, putp3p_spheroid, putp3p_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp3, putp3_spheroid, putp3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp3p, putp3p_spheroid, putp3p_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class putp3_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp3_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class putp3p_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp3p_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp3_entry, putp3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp3p_entry, putp3p_spheroid)
- template <typename T, typename Parameters>
- inline void putp3_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(putp3_init)
{
- factory.add_to_factory("putp3", new putp3_entry<T, Parameters>);
- factory.add_to_factory("putp3p", new putp3p_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp3, putp3_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp3p, putp3p_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/putp4p.hpp b/boost/geometry/srs/projections/proj/putp4p.hpp
index 899278eba8..bf408b8d94 100644
--- a/boost/geometry/srs/projections/proj/putp4p.hpp
+++ b/boost/geometry/srs/projections/proj/putp4p.hpp
@@ -49,13 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct putp4p {}; // Putnins P4'
- struct weren {}; // Werenskiold I
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -80,7 +73,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static T const third = detail::third<T>();
@@ -92,7 +85,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = aasin(xy_y / this->m_proj_parm.C_y);
lp_lon = xy_x * cos(lp_lat) / this->m_proj_parm.C_x;
@@ -147,7 +140,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp4p_spheroid : public detail::putp4p::base_putp4p_spheroid<T, Parameters>
{
- inline putp4p_spheroid(const Parameters& par) : detail::putp4p::base_putp4p_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp4p_spheroid(Params const& , Parameters const& par)
+ : detail::putp4p::base_putp4p_spheroid<T, Parameters>(par)
{
detail::putp4p::setup_putp4p(this->m_par, this->m_proj_parm);
}
@@ -168,7 +163,9 @@ namespace projections
template <typename T, typename Parameters>
struct weren_spheroid : public detail::putp4p::base_putp4p_spheroid<T, Parameters>
{
- inline weren_spheroid(const Parameters& par) : detail::putp4p::base_putp4p_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline weren_spheroid(Params const& , Parameters const& par)
+ : detail::putp4p::base_putp4p_spheroid<T, Parameters>(par)
{
detail::putp4p::setup_weren(this->m_par, this->m_proj_parm);
}
@@ -179,35 +176,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp4p, putp4p_spheroid, putp4p_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::weren, weren_spheroid, weren_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp4p, putp4p_spheroid, putp4p_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_weren, weren_spheroid, weren_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class putp4p_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp4p_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class weren_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<weren_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp4p_entry, putp4p_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(weren_entry, weren_spheroid)
- template <typename T, typename Parameters>
- inline void putp4p_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(putp4p_init)
{
- factory.add_to_factory("putp4p", new putp4p_entry<T, Parameters>);
- factory.add_to_factory("weren", new weren_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp4p, putp4p_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(weren, weren_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/putp5.hpp b/boost/geometry/srs/projections/proj/putp5.hpp
index de308a8948..bdddd8553c 100644
--- a/boost/geometry/srs/projections/proj/putp5.hpp
+++ b/boost/geometry/srs/projections/proj/putp5.hpp
@@ -48,13 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct putp5 {}; // Putnins P5
- struct putp5p {}; // Putnins P5'
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +76,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = C * lp_lon * (this->m_proj_parm.A - this->m_proj_parm.B * sqrt(1. + D * lp_lat * lp_lat));
xy_y = C * lp_lat;
@@ -91,7 +84,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = xy_y / C;
lp_lon = xy_x / (C * (this->m_proj_parm.A - this->m_proj_parm.B * sqrt(1. + D * lp_lat * lp_lat)));
@@ -143,7 +136,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp5_spheroid : public detail::putp5::base_putp5_spheroid<T, Parameters>
{
- inline putp5_spheroid(const Parameters& par) : detail::putp5::base_putp5_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp5_spheroid(Params const& , Parameters const& par)
+ : detail::putp5::base_putp5_spheroid<T, Parameters>(par)
{
detail::putp5::setup_putp5(this->m_par, this->m_proj_parm);
}
@@ -164,7 +159,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp5p_spheroid : public detail::putp5::base_putp5_spheroid<T, Parameters>
{
- inline putp5p_spheroid(const Parameters& par) : detail::putp5::base_putp5_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp5p_spheroid(Params const& , Parameters const& par)
+ : detail::putp5::base_putp5_spheroid<T, Parameters>(par)
{
detail::putp5::setup_putp5p(this->m_par, this->m_proj_parm);
}
@@ -175,35 +172,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp5, putp5_spheroid, putp5_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp5p, putp5p_spheroid, putp5p_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp5, putp5_spheroid, putp5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp5p, putp5p_spheroid, putp5p_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class putp5_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp5_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class putp5p_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp5p_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp5_entry, putp5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp5p_entry, putp5p_spheroid)
- template <typename T, typename Parameters>
- inline void putp5_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(putp5_init)
{
- factory.add_to_factory("putp5", new putp5_entry<T, Parameters>);
- factory.add_to_factory("putp5p", new putp5p_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp5, putp5_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp5p, putp5p_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/putp6.hpp b/boost/geometry/srs/projections/proj/putp6.hpp
index 19ca6cc76d..97d69e45ea 100644
--- a/boost/geometry/srs/projections/proj/putp6.hpp
+++ b/boost/geometry/srs/projections/proj/putp6.hpp
@@ -49,13 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct putp6 {}; // Putnins P6
- struct putp6p {}; // Putnins P6'
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -85,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T p, r, V;
int i;
@@ -107,7 +100,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T r;
@@ -169,7 +162,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp6_spheroid : public detail::putp6::base_putp6_spheroid<T, Parameters>
{
- inline putp6_spheroid(const Parameters& par) : detail::putp6::base_putp6_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp6_spheroid(Params const& , Parameters const& par)
+ : detail::putp6::base_putp6_spheroid<T, Parameters>(par)
{
detail::putp6::setup_putp6(this->m_par, this->m_proj_parm);
}
@@ -190,7 +185,9 @@ namespace projections
template <typename T, typename Parameters>
struct putp6p_spheroid : public detail::putp6::base_putp6_spheroid<T, Parameters>
{
- inline putp6p_spheroid(const Parameters& par) : detail::putp6::base_putp6_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline putp6p_spheroid(Params const& , Parameters const& par)
+ : detail::putp6::base_putp6_spheroid<T, Parameters>(par)
{
detail::putp6::setup_putp6p(this->m_par, this->m_proj_parm);
}
@@ -201,35 +198,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp6, putp6_spheroid, putp6_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::putp6p, putp6p_spheroid, putp6p_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp6, putp6_spheroid, putp6_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_putp6p, putp6p_spheroid, putp6p_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class putp6_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp6_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class putp6p_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<putp6p_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp6_entry, putp6_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(putp6p_entry, putp6p_spheroid)
- template <typename T, typename Parameters>
- inline void putp6_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(putp6_init)
{
- factory.add_to_factory("putp6", new putp6_entry<T, Parameters>);
- factory.add_to_factory("putp6p", new putp6p_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp6, putp6_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(putp6p, putp6p_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/qsc.hpp b/boost/geometry/srs/projections/proj/qsc.hpp
index bb31849049..e4a1ff9530 100644
--- a/boost/geometry/srs/projections/proj/qsc.hpp
+++ b/boost/geometry/srs/projections/proj/qsc.hpp
@@ -88,12 +88,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct qsc {}; // Quadrilateralized Spherical Cube
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -193,7 +187,7 @@ namespace projections
// FORWARD(e_forward)
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -314,7 +308,7 @@ namespace projections
// INVERSE(e_inverse)
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
static const T pi = detail::pi<T>();
@@ -509,7 +503,9 @@ namespace projections
template <typename T, typename Parameters>
struct qsc_ellipsoid : public detail::qsc::base_qsc_ellipsoid<T, Parameters>
{
- inline qsc_ellipsoid(const Parameters& par) : detail::qsc::base_qsc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline qsc_ellipsoid(Params const& , Parameters const& par)
+ : detail::qsc::base_qsc_ellipsoid<T, Parameters>(par)
{
detail::qsc::setup_qsc(this->m_par, this->m_proj_parm);
}
@@ -520,23 +516,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::qsc, qsc_ellipsoid, qsc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_qsc, qsc_ellipsoid, qsc_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class qsc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<qsc_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(qsc_entry, qsc_ellipsoid)
- template <typename T, typename Parameters>
- inline void qsc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(qsc_init)
{
- factory.add_to_factory("qsc", new qsc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(qsc, qsc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/robin.hpp b/boost/geometry/srs/projections/proj/robin.hpp
index f5ec97be51..bf8a704ea7 100644
--- a/boost/geometry/srs/projections/proj/robin.hpp
+++ b/boost/geometry/srs/projections/proj/robin.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct robin {}; // Robinson
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -157,7 +151,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
int i;
T dphi;
@@ -175,7 +169,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
const coefs<T> * coefs_x = robin::coefs_x<T>();
@@ -256,7 +250,9 @@ namespace projections
template <typename T, typename Parameters>
struct robin_spheroid : public detail::robin::base_robin_spheroid<T, Parameters>
{
- inline robin_spheroid(const Parameters& par) : detail::robin::base_robin_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline robin_spheroid(Params const& , Parameters const& par)
+ : detail::robin::base_robin_spheroid<T, Parameters>(par)
{
detail::robin::setup_robin(this->m_par);
}
@@ -267,23 +263,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::robin, robin_spheroid, robin_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_robin, robin_spheroid, robin_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class robin_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<robin_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(robin_entry, robin_spheroid)
- template <typename T, typename Parameters>
- inline void robin_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(robin_init)
{
- factory.add_to_factory("robin", new robin_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(robin, robin_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/rouss.hpp b/boost/geometry/srs/projections/proj/rouss.hpp
index 1cbc795e9d..01693c5a77 100644
--- a/boost/geometry/srs/projections/proj/rouss.hpp
+++ b/boost/geometry/srs/projections/proj/rouss.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct rouss {}; // Roussilhe Stereographic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -86,7 +80,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T s, al, cp, sp, al2, s2;
@@ -105,7 +99,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T s, al, x = xy_x / this->m_par.k0, y = xy_y / this->m_par.k0, x2, y2;
@@ -196,7 +190,9 @@ namespace projections
template <typename T, typename Parameters>
struct rouss_ellipsoid : public detail::rouss::base_rouss_ellipsoid<T, Parameters>
{
- inline rouss_ellipsoid(const Parameters& par) : detail::rouss::base_rouss_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline rouss_ellipsoid(Params const& , Parameters const& par)
+ : detail::rouss::base_rouss_ellipsoid<T, Parameters>(par)
{
detail::rouss::setup_rouss(this->m_par, this->m_proj_parm);
}
@@ -207,23 +203,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::rouss, rouss_ellipsoid, rouss_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_rouss, rouss_ellipsoid, rouss_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class rouss_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<rouss_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(rouss_entry, rouss_ellipsoid)
- template <typename T, typename Parameters>
- inline void rouss_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(rouss_init)
{
- factory.add_to_factory("rouss", new rouss_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(rouss, rouss_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/rpoly.hpp b/boost/geometry/srs/projections/proj/rpoly.hpp
index b2146426bd..87a5d482ba 100644
--- a/boost/geometry/srs/projections/proj/rpoly.hpp
+++ b/boost/geometry/srs/projections/proj/rpoly.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct rpoly {}; // Rectangular Polyconic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T fa;
@@ -110,10 +104,12 @@ namespace projections
};
// Rectangular Polyconic
- template <typename Parameters, typename T>
- inline void setup_rpoly(Parameters& par, par_rpoly<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_rpoly(Params const& params, Parameters& par, par_rpoly<T>& proj_parm)
{
- if ((proj_parm.mode = (proj_parm.phi1 = fabs(pj_get_param_r(par.params, "lat_ts"))) > epsilon)) {
+ proj_parm.phi1 = fabs(pj_get_param_r<T, srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts));
+ if ((proj_parm.mode = (proj_parm.phi1 > epsilon)))
+ {
proj_parm.fxb = 0.5 * sin(proj_parm.phi1);
proj_parm.fxa = 0.5 / proj_parm.fxb;
}
@@ -141,9 +137,11 @@ namespace projections
template <typename T, typename Parameters>
struct rpoly_spheroid : public detail::rpoly::base_rpoly_spheroid<T, Parameters>
{
- inline rpoly_spheroid(const Parameters& par) : detail::rpoly::base_rpoly_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline rpoly_spheroid(Params const& params, Parameters const& par)
+ : detail::rpoly::base_rpoly_spheroid<T, Parameters>(par)
{
- detail::rpoly::setup_rpoly(this->m_par, this->m_proj_parm);
+ detail::rpoly::setup_rpoly(params, this->m_par, this->m_proj_parm);
}
};
@@ -152,23 +150,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::rpoly, rpoly_spheroid, rpoly_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_rpoly, rpoly_spheroid, rpoly_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class rpoly_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<rpoly_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(rpoly_entry, rpoly_spheroid)
- template <typename T, typename Parameters>
- inline void rpoly_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(rpoly_init)
{
- factory.add_to_factory("rpoly", new rpoly_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(rpoly, rpoly_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/sconics.hpp b/boost/geometry/srs/projections/proj/sconics.hpp
index b1119d622a..5499f1a7c0 100644
--- a/boost/geometry/srs/projections/proj/sconics.hpp
+++ b/boost/geometry/srs/projections/proj/sconics.hpp
@@ -52,18 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct euler {}; // Euler
- struct murd1 {}; // Murdoch I
- struct murd2 {}; // Murdoch II
- struct murd3 {}; // Murdoch III
- struct pconic {}; // Perspective Conic
- struct tissot {}; // Tissot
- struct vitk1 {}; // Vitkovsky I
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -94,14 +82,14 @@ namespace projections
};
/* get common factors for simple conics */
- template <typename Parameters, typename T>
- inline int phi12(Parameters& par, par_sconics<T>& proj_parm, T *del)
+ template <typename Params, typename T>
+ inline int phi12(Params const& params, par_sconics<T>& proj_parm, T *del)
{
T p1, p2;
int err = 0;
- if (!pj_param_r(par.params, "lat_1", p1) ||
- !pj_param_r(par.params, "lat_2", p2)) {
+ if (!pj_param_r<srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1, p1) ||
+ !pj_param_r<srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2, p2)) {
err = -41;
} else {
//p1 = pj_get_param_r(par.params, "lat_1"); // set above
@@ -126,7 +114,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T rho;
@@ -147,7 +135,7 @@ namespace projections
// INVERSE(s_inverse) ellipsoid & spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T rho;
@@ -179,8 +167,8 @@ namespace projections
};
- template <typename Parameters, typename T>
- inline void setup(Parameters& par, par_sconics<T>& proj_parm, proj_type type)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup(Params const& params, Parameters& par, par_sconics<T>& proj_parm, proj_type type)
{
static const T half_pi = detail::half_pi<T>();
@@ -189,7 +177,7 @@ namespace projections
proj_parm.type = type;
- err = phi12(par, proj_parm, &del);
+ err = phi12(params, proj_parm, &del);
if(err)
BOOST_THROW_EXCEPTION( projection_exception(err) );
@@ -241,52 +229,52 @@ namespace projections
// Euler
- template <typename Parameters, typename T>
- inline void setup_euler(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_euler(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_euler);
+ setup(params, par, proj_parm, proj_euler);
}
// Tissot
- template <typename Parameters, typename T>
- inline void setup_tissot(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_tissot(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_tissot);
+ setup(params, par, proj_parm, proj_tissot);
}
// Murdoch I
- template <typename Parameters, typename T>
- inline void setup_murd1(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_murd1(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_murd1);
+ setup(params, par, proj_parm, proj_murd1);
}
// Murdoch II
- template <typename Parameters, typename T>
- inline void setup_murd2(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_murd2(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_murd2);
+ setup(params, par, proj_parm, proj_murd2);
}
// Murdoch III
- template <typename Parameters, typename T>
- inline void setup_murd3(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_murd3(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_murd3);
+ setup(params, par, proj_parm, proj_murd3);
}
// Perspective Conic
- template <typename Parameters, typename T>
- inline void setup_pconic(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_pconic(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_pconic);
+ setup(params, par, proj_parm, proj_pconic);
}
// Vitkovsky I
- template <typename Parameters, typename T>
- inline void setup_vitk1(Parameters& par, par_sconics<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_vitk1(Params const& params, Parameters& par, par_sconics<T>& proj_parm)
{
- setup(par, proj_parm, proj_vitk1);
+ setup(params, par, proj_parm, proj_vitk1);
}
}} // namespace detail::sconics
@@ -310,9 +298,11 @@ namespace projections
template <typename T, typename Parameters>
struct tissot_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline tissot_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline tissot_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_tissot(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_tissot(params, this->m_par, this->m_proj_parm);
}
};
@@ -334,9 +324,11 @@ namespace projections
template <typename T, typename Parameters>
struct murd1_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline murd1_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline murd1_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_murd1(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_murd1(params, this->m_par, this->m_proj_parm);
}
};
@@ -358,9 +350,11 @@ namespace projections
template <typename T, typename Parameters>
struct murd2_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline murd2_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline murd2_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_murd2(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_murd2(params, this->m_par, this->m_proj_parm);
}
};
@@ -382,9 +376,11 @@ namespace projections
template <typename T, typename Parameters>
struct murd3_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline murd3_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline murd3_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_murd3(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_murd3(params, this->m_par, this->m_proj_parm);
}
};
@@ -406,9 +402,11 @@ namespace projections
template <typename T, typename Parameters>
struct euler_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline euler_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline euler_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_euler(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_euler(params, this->m_par, this->m_proj_parm);
}
};
@@ -430,9 +428,11 @@ namespace projections
template <typename T, typename Parameters>
struct pconic_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline pconic_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline pconic_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_pconic(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_pconic(params, this->m_par, this->m_proj_parm);
}
};
@@ -454,9 +454,11 @@ namespace projections
template <typename T, typename Parameters>
struct vitk1_spheroid : public detail::sconics::base_sconics_spheroid<T, Parameters>
{
- inline vitk1_spheroid(const Parameters& par) : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline vitk1_spheroid(Params const& params, const Parameters& par)
+ : detail::sconics::base_sconics_spheroid<T, Parameters>(par)
{
- detail::sconics::setup_vitk1(this->m_par, this->m_proj_parm);
+ detail::sconics::setup_vitk1(params, this->m_par, this->m_proj_parm);
}
};
@@ -465,95 +467,32 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::euler, euler_spheroid, euler_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::murd1, murd1_spheroid, murd1_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::murd2, murd2_spheroid, murd2_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::murd3, murd3_spheroid, murd3_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::pconic, pconic_spheroid, pconic_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::tissot, tissot_spheroid, tissot_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::vitk1, vitk1_spheroid, vitk1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_euler, euler_spheroid, euler_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_murd1, murd1_spheroid, murd1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_murd2, murd2_spheroid, murd2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_murd3, murd3_spheroid, murd3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_pconic, pconic_spheroid, pconic_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_tissot, tissot_spheroid, tissot_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_vitk1, vitk1_spheroid, vitk1_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class tissot_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<tissot_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class murd1_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<murd1_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class murd2_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<murd2_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class murd3_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<murd3_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class euler_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<euler_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class pconic_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<pconic_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class vitk1_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<vitk1_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void sconics_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(euler_entry, euler_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(murd1_entry, murd1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(murd2_entry, murd2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(murd3_entry, murd3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(pconic_entry, pconic_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(tissot_entry, tissot_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(vitk1_entry, vitk1_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(sconics_init)
{
- factory.add_to_factory("tissot", new tissot_entry<T, Parameters>);
- factory.add_to_factory("murd1", new murd1_entry<T, Parameters>);
- factory.add_to_factory("murd2", new murd2_entry<T, Parameters>);
- factory.add_to_factory("murd3", new murd3_entry<T, Parameters>);
- factory.add_to_factory("euler", new euler_entry<T, Parameters>);
- factory.add_to_factory("pconic", new pconic_entry<T, Parameters>);
- factory.add_to_factory("vitk1", new vitk1_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(euler, euler_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(murd1, murd1_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(murd2, murd2_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(murd3, murd3_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(pconic, pconic_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(tissot, tissot_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(vitk1, vitk1_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/somerc.hpp b/boost/geometry/srs/projections/proj/somerc.hpp
index 548ebe5275..e27ac3018b 100644
--- a/boost/geometry/srs/projections/proj/somerc.hpp
+++ b/boost/geometry/srs/projections/proj/somerc.hpp
@@ -51,12 +51,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct somerc {}; // Swiss. Obl. Mercator
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(e_forward)
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -105,7 +99,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid & spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T fourth_pi = detail::fourth_pi<T>();
@@ -182,7 +176,9 @@ namespace projections
template <typename T, typename Parameters>
struct somerc_ellipsoid : public detail::somerc::base_somerc_ellipsoid<T, Parameters>
{
- inline somerc_ellipsoid(const Parameters& par) : detail::somerc::base_somerc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline somerc_ellipsoid(Params const& , Parameters const& par)
+ : detail::somerc::base_somerc_ellipsoid<T, Parameters>(par)
{
detail::somerc::setup_somerc(this->m_par, this->m_proj_parm);
}
@@ -193,23 +189,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::somerc, somerc_ellipsoid, somerc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_somerc, somerc_ellipsoid, somerc_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class somerc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<somerc_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void somerc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(somerc_entry, somerc_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(somerc_init)
{
- factory.add_to_factory("somerc", new somerc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(somerc, somerc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/stere.hpp b/boost/geometry/srs/projections/proj/stere.hpp
index ea8af31149..7b287383f1 100644
--- a/boost/geometry/srs/projections/proj/stere.hpp
+++ b/boost/geometry/srs/projections/proj/stere.hpp
@@ -53,13 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct stere {}; // Stereographic
- struct ups {}; // Universal Polar Stereographic
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -110,7 +103,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -159,7 +152,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
@@ -225,7 +218,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T fourth_pi = detail::fourth_pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -266,7 +259,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T c, rh, sinc, cosc;
@@ -372,25 +365,25 @@ namespace projections
// Stereographic
- template <typename Parameters, typename T>
- inline void setup_stere(Parameters& par, par_stere<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_stere(Params const& params, Parameters& par, par_stere<T>& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
- if (! pj_param_r(par.params, "lat_ts", proj_parm.phits))
+ if (! pj_param_r<srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts, proj_parm.phits))
proj_parm.phits = half_pi;
setup(par, proj_parm);
}
// Universal Polar Stereographic
- template <typename Parameters, typename T>
- inline void setup_ups(Parameters& par, par_stere<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_ups(Params const& params, Parameters& par, par_stere<T>& proj_parm)
{
static const T half_pi = detail::half_pi<T>();
/* International Ellipsoid */
- par.phi0 = pj_get_param_b(par.params, "south") ? -half_pi: half_pi;
+ par.phi0 = pj_get_param_b<srs::spar::south>(params, "south", srs::dpar::south) ? -half_pi: half_pi;
if (par.es == 0.0) {
BOOST_THROW_EXCEPTION( projection_exception(error_ellipsoid_use_required) );
}
@@ -424,9 +417,11 @@ namespace projections
template <typename T, typename Parameters>
struct stere_ellipsoid : public detail::stere::base_stere_ellipsoid<T, Parameters>
{
- inline stere_ellipsoid(const Parameters& par) : detail::stere::base_stere_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline stere_ellipsoid(Params const& params, const Parameters& par)
+ : detail::stere::base_stere_ellipsoid<T, Parameters>(par)
{
- detail::stere::setup_stere(this->m_par, this->m_proj_parm);
+ detail::stere::setup_stere(params, this->m_par, this->m_proj_parm);
}
};
@@ -448,9 +443,11 @@ namespace projections
template <typename T, typename Parameters>
struct stere_spheroid : public detail::stere::base_stere_spheroid<T, Parameters>
{
- inline stere_spheroid(const Parameters& par) : detail::stere::base_stere_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline stere_spheroid(Params const& params, const Parameters& par)
+ : detail::stere::base_stere_spheroid<T, Parameters>(par)
{
- detail::stere::setup_stere(this->m_par, this->m_proj_parm);
+ detail::stere::setup_stere(params, this->m_par, this->m_proj_parm);
}
};
@@ -472,9 +469,11 @@ namespace projections
template <typename T, typename Parameters>
struct ups_ellipsoid : public detail::stere::base_stere_ellipsoid<T, Parameters>
{
- inline ups_ellipsoid(const Parameters& par) : detail::stere::base_stere_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline ups_ellipsoid(Params const& params, const Parameters& par)
+ : detail::stere::base_stere_ellipsoid<T, Parameters>(par)
{
- detail::stere::setup_ups(this->m_par, this->m_proj_parm);
+ detail::stere::setup_ups(params, this->m_par, this->m_proj_parm);
}
};
@@ -496,9 +495,11 @@ namespace projections
template <typename T, typename Parameters>
struct ups_spheroid : public detail::stere::base_stere_spheroid<T, Parameters>
{
- inline ups_spheroid(const Parameters& par) : detail::stere::base_stere_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline ups_spheroid(Params const& params, const Parameters& par)
+ : detail::stere::base_stere_spheroid<T, Parameters>(par)
{
- detail::stere::setup_ups(this->m_par, this->m_proj_parm);
+ detail::stere::setup_ups(params, this->m_par, this->m_proj_parm);
}
};
@@ -507,41 +508,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::stere, stere_spheroid, stere_ellipsoid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::ups, ups_spheroid, ups_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_stere, stere_spheroid, stere_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_ups, ups_spheroid, ups_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class stere_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<stere_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<stere_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class ups_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<ups_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<ups_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void stere_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(stere_entry, stere_spheroid, stere_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(ups_entry, ups_spheroid, ups_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(stere_init)
{
- factory.add_to_factory("stere", new stere_entry<T, Parameters>);
- factory.add_to_factory("ups", new ups_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(stere, stere_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(ups, ups_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/sterea.hpp b/boost/geometry/srs/projections/proj/sterea.hpp
index 055be84e98..514fb03a37 100644
--- a/boost/geometry/srs/projections/proj/sterea.hpp
+++ b/boost/geometry/srs/projections/proj/sterea.hpp
@@ -54,12 +54,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct sterea {}; // Oblique Stereographic Alternative
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -88,7 +82,7 @@ namespace projections
// FORWARD(e_forward) ellipsoid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T cosc, sinc, cosl_, k;
@@ -103,7 +97,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T rho, c, sinc, cosc;
@@ -161,7 +155,9 @@ namespace projections
template <typename T, typename Parameters>
struct sterea_ellipsoid : public detail::sterea::base_sterea_ellipsoid<T, Parameters>
{
- inline sterea_ellipsoid(const Parameters& par) : detail::sterea::base_sterea_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline sterea_ellipsoid(Params const& , Parameters const& par)
+ : detail::sterea::base_sterea_ellipsoid<T, Parameters>(par)
{
detail::sterea::setup_sterea(this->m_par, this->m_proj_parm);
}
@@ -172,23 +168,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::sterea, sterea_ellipsoid, sterea_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_sterea, sterea_ellipsoid, sterea_ellipsoid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class sterea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<sterea_ellipsoid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void sterea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(sterea_entry, sterea_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(sterea_init)
{
- factory.add_to_factory("sterea", new sterea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(sterea, sterea_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/sts.hpp b/boost/geometry/srs/projections/proj/sts.hpp
index 73bef01626..cdb73fbcc7 100644
--- a/boost/geometry/srs/projections/proj/sts.hpp
+++ b/boost/geometry/srs/projections/proj/sts.hpp
@@ -49,15 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct kav5 {}; // Kavraisky V
- struct qua_aut {}; // Quartic Authalic
- struct fouc {}; // Foucaut
- struct mbt_s {}; // McBryde-Thomas Flat-Polar Sine (No. 1)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +74,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T c;
@@ -102,7 +93,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T c;
@@ -180,7 +171,9 @@ namespace projections
template <typename T, typename Parameters>
struct kav5_spheroid : public detail::sts::base_sts_spheroid<T, Parameters>
{
- inline kav5_spheroid(const Parameters& par) : detail::sts::base_sts_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline kav5_spheroid(Params const& , Parameters const& par)
+ : detail::sts::base_sts_spheroid<T, Parameters>(par)
{
detail::sts::setup_kav5(this->m_par, this->m_proj_parm);
}
@@ -201,7 +194,9 @@ namespace projections
template <typename T, typename Parameters>
struct qua_aut_spheroid : public detail::sts::base_sts_spheroid<T, Parameters>
{
- inline qua_aut_spheroid(const Parameters& par) : detail::sts::base_sts_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline qua_aut_spheroid(Params const& , Parameters const& par)
+ : detail::sts::base_sts_spheroid<T, Parameters>(par)
{
detail::sts::setup_qua_aut(this->m_par, this->m_proj_parm);
}
@@ -222,7 +217,9 @@ namespace projections
template <typename T, typename Parameters>
struct mbt_s_spheroid : public detail::sts::base_sts_spheroid<T, Parameters>
{
- inline mbt_s_spheroid(const Parameters& par) : detail::sts::base_sts_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline mbt_s_spheroid(Params const& , Parameters const& par)
+ : detail::sts::base_sts_spheroid<T, Parameters>(par)
{
detail::sts::setup_mbt_s(this->m_par, this->m_proj_parm);
}
@@ -243,7 +240,9 @@ namespace projections
template <typename T, typename Parameters>
struct fouc_spheroid : public detail::sts::base_sts_spheroid<T, Parameters>
{
- inline fouc_spheroid(const Parameters& par) : detail::sts::base_sts_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline fouc_spheroid(Params const& , Parameters const& par)
+ : detail::sts::base_sts_spheroid<T, Parameters>(par)
{
detail::sts::setup_fouc(this->m_par, this->m_proj_parm);
}
@@ -254,59 +253,23 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::kav5, kav5_spheroid, kav5_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::qua_aut, qua_aut_spheroid, qua_aut_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::mbt_s, mbt_s_spheroid, mbt_s_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::fouc, fouc_spheroid, fouc_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_kav5, kav5_spheroid, kav5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_qua_aut, qua_aut_spheroid, qua_aut_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_mbt_s, mbt_s_spheroid, mbt_s_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_fouc, fouc_spheroid, fouc_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class kav5_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<kav5_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class qua_aut_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<qua_aut_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class mbt_s_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<mbt_s_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class fouc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<fouc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void sts_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(kav5_entry, kav5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(qua_aut_entry, qua_aut_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(mbt_s_entry, mbt_s_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(fouc_entry, fouc_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(sts_init)
{
- factory.add_to_factory("kav5", new kav5_entry<T, Parameters>);
- factory.add_to_factory("qua_aut", new qua_aut_entry<T, Parameters>);
- factory.add_to_factory("mbt_s", new mbt_s_entry<T, Parameters>);
- factory.add_to_factory("fouc", new fouc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(kav5, kav5_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(qua_aut, qua_aut_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(mbt_s, mbt_s_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(fouc, fouc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/tcc.hpp b/boost/geometry/srs/projections/proj/tcc.hpp
index 34e386f91c..84c092bdf7 100644
--- a/boost/geometry/srs/projections/proj/tcc.hpp
+++ b/boost/geometry/srs/projections/proj/tcc.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct tcc {}; // Transverse Central Cylindrical
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -73,7 +67,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T b, bt;
@@ -118,7 +112,9 @@ namespace projections
template <typename T, typename Parameters>
struct tcc_spheroid : public detail::tcc::base_tcc_spheroid<T, Parameters>
{
- inline tcc_spheroid(const Parameters& par) : detail::tcc::base_tcc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline tcc_spheroid(Params const& , Parameters const& par)
+ : detail::tcc::base_tcc_spheroid<T, Parameters>(par)
{
detail::tcc::setup_tcc(this->m_par);
}
@@ -129,23 +125,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::tcc, tcc_spheroid, tcc_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_tcc, tcc_spheroid, tcc_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class tcc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<tcc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void tcc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(tcc_entry, tcc_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(tcc_init)
{
- factory.add_to_factory("tcc", new tcc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(tcc, tcc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/tcea.hpp b/boost/geometry/srs/projections/proj/tcea.hpp
index 3eafcc262a..44a04f3260 100644
--- a/boost/geometry/srs/projections/proj/tcea.hpp
+++ b/boost/geometry/srs/projections/proj/tcea.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct tcea {}; // Transverse Cylindrical Equal Area
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -70,7 +64,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = cos(lp_lat) * sin(lp_lon) / this->m_par.k0;
xy_y = this->m_par.k0 * (atan2(tan(lp_lat), cos(lp_lon)) - this->m_par.phi0);
@@ -78,7 +72,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
T t;
@@ -121,7 +115,9 @@ namespace projections
template <typename T, typename Parameters>
struct tcea_spheroid : public detail::tcea::base_tcea_spheroid<T, Parameters>
{
- inline tcea_spheroid(const Parameters& par) : detail::tcea::base_tcea_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline tcea_spheroid(Params const& , Parameters const& par)
+ : detail::tcea::base_tcea_spheroid<T, Parameters>(par)
{
detail::tcea::setup_tcea(this->m_par);
}
@@ -132,23 +128,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::tcea, tcea_spheroid, tcea_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_tcea, tcea_spheroid, tcea_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class tcea_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<tcea_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void tcea_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(tcea_entry, tcea_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(tcea_init)
{
- factory.add_to_factory("tcea", new tcea_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(tcea, tcea_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/tmerc.hpp b/boost/geometry/srs/projections/proj/tmerc.hpp
index 7c976f82d5..b8dc51cba0 100644
--- a/boost/geometry/srs/projections/proj/tmerc.hpp
+++ b/boost/geometry/srs/projections/proj/tmerc.hpp
@@ -53,12 +53,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct tmerc {}; // Transverse Mercator
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -105,7 +99,7 @@ namespace projections
// FORWARD(e_forward) ellipse
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T FC1 = tmerc::FC1<T>();
@@ -157,7 +151,7 @@ namespace projections
// INVERSE(e_inverse) ellipsoid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
static const T FC1 = tmerc::FC1<T>();
@@ -218,7 +212,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
@@ -262,7 +256,7 @@ namespace projections
// INVERSE(s_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T h, g;
@@ -316,7 +310,9 @@ namespace projections
template <typename T, typename Parameters>
struct tmerc_ellipsoid : public detail::tmerc::base_tmerc_ellipsoid<T, Parameters>
{
- inline tmerc_ellipsoid(const Parameters& par) : detail::tmerc::base_tmerc_ellipsoid<T, Parameters>(par)
+ template <typename Params>
+ inline tmerc_ellipsoid(Params const&, Parameters const& par)
+ : detail::tmerc::base_tmerc_ellipsoid<T, Parameters>(par)
{
detail::tmerc::setup(this->m_par, this->m_proj_parm);
}
@@ -338,7 +334,9 @@ namespace projections
template <typename T, typename Parameters>
struct tmerc_spheroid : public detail::tmerc::base_tmerc_spheroid<T, Parameters>
{
- inline tmerc_spheroid(const Parameters& par) : detail::tmerc::base_tmerc_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline tmerc_spheroid(Params const&, Parameters const& par)
+ : detail::tmerc::base_tmerc_spheroid<T, Parameters>(par)
{
detail::tmerc::setup(this->m_par, this->m_proj_parm);
}
@@ -349,26 +347,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::tmerc, tmerc_spheroid, tmerc_ellipsoid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_tmerc, tmerc_spheroid, tmerc_ellipsoid)
// Factory entry(s) - dynamic projection
- template <typename T, typename Parameters>
- class tmerc_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- if (par.es)
- return new base_v_fi<tmerc_ellipsoid<T, Parameters>, T, Parameters>(par);
- else
- return new base_v_fi<tmerc_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void tmerc_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI2(tmerc_entry, tmerc_spheroid, tmerc_ellipsoid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(tmerc_init)
{
- factory.add_to_factory("tmerc", new tmerc_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(tmerc, tmerc_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/tpeqd.hpp b/boost/geometry/srs/projections/proj/tpeqd.hpp
index 1e8447076a..9b9687fae3 100644
--- a/boost/geometry/srs/projections/proj/tpeqd.hpp
+++ b/boost/geometry/srs/projections/proj/tpeqd.hpp
@@ -52,12 +52,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct tpeqd {}; // Two Point Equidistant
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +77,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T t, z1, z2, dl1, dl2, sp, cp;
@@ -103,7 +97,7 @@ namespace projections
// INVERSE(s_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
T cz1, cz2, s, d, cp, sp;
@@ -130,16 +124,16 @@ namespace projections
};
// Two Point Equidistant
- template <typename Parameters, typename T>
- inline void setup_tpeqd(Parameters& par, par_tpeqd<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_tpeqd(Params const& params, Parameters& par, par_tpeqd<T>& proj_parm)
{
T lam_1, lam_2, phi_1, phi_2, A12, pp;
/* get control point locations */
- phi_1 = pj_get_param_r(par.params, "lat_1");
- lam_1 = pj_get_param_r(par.params, "lon_1");
- phi_2 = pj_get_param_r(par.params, "lat_2");
- lam_2 = pj_get_param_r(par.params, "lon_2");
+ phi_1 = pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1);
+ lam_1 = pj_get_param_r<T, srs::spar::lon_1>(params, "lon_1", srs::dpar::lon_1);
+ phi_2 = pj_get_param_r<T, srs::spar::lat_2>(params, "lat_2", srs::dpar::lat_2);
+ lam_2 = pj_get_param_r<T, srs::spar::lon_2>(params, "lon_2", srs::dpar::lon_2);
if (phi_1 == phi_2 && lam_1 == lam_2)
BOOST_THROW_EXCEPTION( projection_exception(error_control_point_no_dist) );
@@ -194,9 +188,11 @@ namespace projections
template <typename T, typename Parameters>
struct tpeqd_spheroid : public detail::tpeqd::base_tpeqd_spheroid<T, Parameters>
{
- inline tpeqd_spheroid(const Parameters& par) : detail::tpeqd::base_tpeqd_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline tpeqd_spheroid(Params const& params, Parameters const& par)
+ : detail::tpeqd::base_tpeqd_spheroid<T, Parameters>(par)
{
- detail::tpeqd::setup_tpeqd(this->m_par, this->m_proj_parm);
+ detail::tpeqd::setup_tpeqd(params, this->m_par, this->m_proj_parm);
}
};
@@ -205,23 +201,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::tpeqd, tpeqd_spheroid, tpeqd_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_tpeqd, tpeqd_spheroid, tpeqd_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class tpeqd_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<tpeqd_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void tpeqd_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(tpeqd_entry, tpeqd_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(tpeqd_init)
{
- factory.add_to_factory("tpeqd", new tpeqd_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(tpeqd, tpeqd_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/urm5.hpp b/boost/geometry/srs/projections/proj/urm5.hpp
index bdda5fc400..4cec4cdd1e 100644
--- a/boost/geometry/srs/projections/proj/urm5.hpp
+++ b/boost/geometry/srs/projections/proj/urm5.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct urm5 {}; // Urmaev V
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -79,7 +73,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
T t;
@@ -97,19 +91,19 @@ namespace projections
};
// Urmaev V
- template <typename Parameters, typename T>
- inline void setup_urm5(Parameters& par, par_urm5<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_urm5(Params const& params, Parameters& par, par_urm5<T>& proj_parm)
{
T alpha, t;
- if (pj_param_f(par.params, "n", proj_parm.n)) {
+ if (pj_param_f<srs::spar::n>(params, "n", srs::dpar::n, proj_parm.n)) {
if (proj_parm.n <= 0. || proj_parm.n > 1.)
BOOST_THROW_EXCEPTION( projection_exception(error_n_out_of_range) );
} else {
BOOST_THROW_EXCEPTION( projection_exception(error_n_out_of_range) );
}
- proj_parm.q3 = pj_get_param_f(par.params, "q") / 3.;
- alpha = pj_get_param_r(par.params, "alpha");
+ proj_parm.q3 = pj_get_param_f<T, srs::spar::q>(params, "q", srs::dpar::q) / 3.;
+ alpha = pj_get_param_r<T, srs::spar::alpha>(params, "alpha", srs::dpar::alpha);
t = proj_parm.n * sin(alpha);
proj_parm.m = cos(alpha) / sqrt(1. - t * t);
proj_parm.rmn = 1. / (proj_parm.m * proj_parm.n);
@@ -140,9 +134,11 @@ namespace projections
template <typename T, typename Parameters>
struct urm5_spheroid : public detail::urm5::base_urm5_spheroid<T, Parameters>
{
- inline urm5_spheroid(const Parameters& par) : detail::urm5::base_urm5_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline urm5_spheroid(Params const& params, Parameters const& par)
+ : detail::urm5::base_urm5_spheroid<T, Parameters>(par)
{
- detail::urm5::setup_urm5(this->m_par, this->m_proj_parm);
+ detail::urm5::setup_urm5(params, this->m_par, this->m_proj_parm);
}
};
@@ -151,23 +147,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::urm5, urm5_spheroid, urm5_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_urm5, urm5_spheroid, urm5_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class urm5_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<urm5_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void urm5_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(urm5_entry, urm5_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(urm5_init)
{
- factory.add_to_factory("urm5", new urm5_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(urm5, urm5_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/urmfps.hpp b/boost/geometry/srs/projections/proj/urmfps.hpp
index d4b303ba37..aa7982758a 100644
--- a/boost/geometry/srs/projections/proj/urmfps.hpp
+++ b/boost/geometry/srs/projections/proj/urmfps.hpp
@@ -49,13 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct urmfps {}; // Urmaev Flat-Polar Sinusoidal
- struct wag1 {}; // Wagner I (Kavraisky VI)
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +77,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
lp_lat = aasin(this->m_proj_parm.n * sin(lp_lat));
xy_x = C_x * lp_lon * cos(lp_lat);
@@ -93,7 +86,7 @@ namespace projections
// INVERSE(s_inverse) sphere
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T xy_y, T& lp_lon, T& lp_lat) const
{
xy_y /= this->m_proj_parm.C_y;
lp_lat = aasin(sin(xy_y) / this->m_proj_parm.n);
@@ -116,10 +109,10 @@ namespace projections
// Urmaev Flat-Polar Sinusoidal
- template <typename Parameters, typename T>
- inline void setup_urmfps(Parameters& par, par_urmfps<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_urmfps(Params const& params, Parameters& par, par_urmfps<T>& proj_parm)
{
- if (pj_param_f(par.params, "n", proj_parm.n)) {
+ if (pj_param_f<srs::spar::n>(params, "n", srs::dpar::n, proj_parm.n)) {
if (proj_parm.n <= 0. || proj_parm.n > 1.)
BOOST_THROW_EXCEPTION( projection_exception(error_n_out_of_range) );
} else
@@ -156,9 +149,11 @@ namespace projections
template <typename T, typename Parameters>
struct urmfps_spheroid : public detail::urmfps::base_urmfps_spheroid<T, Parameters>
{
- inline urmfps_spheroid(const Parameters& par) : detail::urmfps::base_urmfps_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline urmfps_spheroid(Params const& params, Parameters const& par)
+ : detail::urmfps::base_urmfps_spheroid<T, Parameters>(par)
{
- detail::urmfps::setup_urmfps(this->m_par, this->m_proj_parm);
+ detail::urmfps::setup_urmfps(params, this->m_par, this->m_proj_parm);
}
};
@@ -177,7 +172,9 @@ namespace projections
template <typename T, typename Parameters>
struct wag1_spheroid : public detail::urmfps::base_urmfps_spheroid<T, Parameters>
{
- inline wag1_spheroid(const Parameters& par) : detail::urmfps::base_urmfps_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag1_spheroid(Params const& , Parameters const& par)
+ : detail::urmfps::base_urmfps_spheroid<T, Parameters>(par)
{
detail::urmfps::setup_wag1(this->m_par, this->m_proj_parm);
}
@@ -188,35 +185,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::urmfps, urmfps_spheroid, urmfps_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag1, wag1_spheroid, wag1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_urmfps, urmfps_spheroid, urmfps_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag1, wag1_spheroid, wag1_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class urmfps_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<urmfps_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class wag1_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wag1_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void urmfps_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(urmfps_entry, urmfps_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wag1_entry, wag1_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(urmfps_init)
{
- factory.add_to_factory("urmfps", new urmfps_entry<T, Parameters>);
- factory.add_to_factory("wag1", new wag1_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(urmfps, urmfps_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag1, wag1_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/vandg.hpp b/boost/geometry/srs/projections/proj/vandg.hpp
index 4124ca2354..08ca85a080 100644
--- a/boost/geometry/srs/projections/proj/vandg.hpp
+++ b/boost/geometry/srs/projections/proj/vandg.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct vandg {};
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T pi = detail::pi<T>();
@@ -129,7 +123,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T half_pi = detail::half_pi<T>();
static const T pi = detail::pi<T>();
@@ -206,7 +200,9 @@ namespace projections
template <typename T, typename Parameters>
struct vandg_spheroid : public detail::vandg::base_vandg_spheroid<T, Parameters>
{
- inline vandg_spheroid(const Parameters& par) : detail::vandg::base_vandg_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline vandg_spheroid(Params const& , Parameters const& par)
+ : detail::vandg::base_vandg_spheroid<T, Parameters>(par)
{
detail::vandg::setup_vandg(this->m_par);
}
@@ -217,23 +213,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::vandg, vandg_spheroid, vandg_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_vandg, vandg_spheroid, vandg_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class vandg_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<vandg_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void vandg_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(vandg_entry, vandg_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(vandg_init)
{
- factory.add_to_factory("vandg", new vandg_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(vandg, vandg_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/vandg2.hpp b/boost/geometry/srs/projections/proj/vandg2.hpp
index a1af0302a7..dc9b45cded 100644
--- a/boost/geometry/srs/projections/proj/vandg2.hpp
+++ b/boost/geometry/srs/projections/proj/vandg2.hpp
@@ -50,13 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct vandg2 {}; // van der Grinten II
- struct vandg3 {}; // van der Grinten III
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -83,7 +76,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T pi = detail::pi<T>();
static const T two_div_pi = detail::two_div_pi<T>();
@@ -123,8 +116,7 @@ namespace projections
};
// van der Grinten II
- template <typename Parameters>
- inline void setup_vandg2(Parameters& /*par*/, par_vandg2& proj_parm)
+ inline void setup_vandg2(par_vandg2& proj_parm)
{
proj_parm.vdg3 = false;
}
@@ -156,9 +148,11 @@ namespace projections
template <typename T, typename Parameters>
struct vandg2_spheroid : public detail::vandg2::base_vandg2_spheroid<T, Parameters>
{
- inline vandg2_spheroid(const Parameters& par) : detail::vandg2::base_vandg2_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline vandg2_spheroid(Params const& , Parameters const& par)
+ : detail::vandg2::base_vandg2_spheroid<T, Parameters>(par)
{
- detail::vandg2::setup_vandg2(this->m_par, this->m_proj_parm);
+ detail::vandg2::setup_vandg2(this->m_proj_parm);
}
};
@@ -178,7 +172,9 @@ namespace projections
template <typename T, typename Parameters>
struct vandg3_spheroid : public detail::vandg2::base_vandg2_spheroid<T, Parameters>
{
- inline vandg3_spheroid(const Parameters& par) : detail::vandg2::base_vandg2_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline vandg3_spheroid(Params const& , Parameters const& par)
+ : detail::vandg2::base_vandg2_spheroid<T, Parameters>(par)
{
detail::vandg2::setup_vandg3(this->m_par, this->m_proj_parm);
}
@@ -189,35 +185,17 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::vandg2, vandg2_spheroid, vandg2_spheroid)
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::vandg3, vandg3_spheroid, vandg3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_vandg2, vandg2_spheroid, vandg2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_vandg3, vandg3_spheroid, vandg3_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class vandg2_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<vandg2_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- class vandg3_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<vandg3_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void vandg2_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(vandg2_entry, vandg2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(vandg3_entry, vandg3_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(vandg2_init)
{
- factory.add_to_factory("vandg2", new vandg2_entry<T, Parameters>);
- factory.add_to_factory("vandg3", new vandg3_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(vandg2, vandg2_entry)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(vandg3, vandg3_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/vandg4.hpp b/boost/geometry/srs/projections/proj/vandg4.hpp
index 35f1dafdb0..4dce98a787 100644
--- a/boost/geometry/srs/projections/proj/vandg4.hpp
+++ b/boost/geometry/srs/projections/proj/vandg4.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct vandg4 {}; // van der Grinten IV
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -75,7 +69,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T half_pi = detail::half_pi<T>();
static const T two_div_pi = detail::two_div_pi<T>();
@@ -146,7 +140,9 @@ namespace projections
template <typename T, typename Parameters>
struct vandg4_spheroid : public detail::vandg4::base_vandg4_spheroid<T, Parameters>
{
- inline vandg4_spheroid(const Parameters& par) : detail::vandg4::base_vandg4_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline vandg4_spheroid(Params const& , Parameters const& par)
+ : detail::vandg4::base_vandg4_spheroid<T, Parameters>(par)
{
detail::vandg4::setup_vandg4(this->m_par);
}
@@ -157,23 +153,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::vandg4, vandg4_spheroid, vandg4_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_vandg4, vandg4_spheroid, vandg4_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class vandg4_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<vandg4_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void vandg4_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(vandg4_entry, vandg4_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(vandg4_init)
{
- factory.add_to_factory("vandg4", new vandg4_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(vandg4, vandg4_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/wag2.hpp b/boost/geometry/srs/projections/proj/wag2.hpp
index c598936e08..3c3c5ac128 100644
--- a/boost/geometry/srs/projections/proj/wag2.hpp
+++ b/boost/geometry/srs/projections/proj/wag2.hpp
@@ -49,12 +49,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct wag2 {}; // Wagner II
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -77,7 +71,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
lp_lat = aasin(C_p1 * sin(C_p2 * lp_lat));
xy_x = C_x * lp_lon * cos(lp_lat);
@@ -86,7 +80,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = xy_y / C_y;
lp_lon = xy_x / (C_x * cos(lp_lat));
@@ -125,7 +119,9 @@ namespace projections
template <typename T, typename Parameters>
struct wag2_spheroid : public detail::wag2::base_wag2_spheroid<T, Parameters>
{
- inline wag2_spheroid(const Parameters& par) : detail::wag2::base_wag2_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag2_spheroid(Params const& , Parameters const& par)
+ : detail::wag2::base_wag2_spheroid<T, Parameters>(par)
{
detail::wag2::setup_wag2(this->m_par);
}
@@ -136,23 +132,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag2, wag2_spheroid, wag2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag2, wag2_spheroid, wag2_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class wag2_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wag2_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void wag2_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wag2_entry, wag2_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(wag2_init)
{
- factory.add_to_factory("wag2", new wag2_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag2, wag2_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/wag3.hpp b/boost/geometry/srs/projections/proj/wag3.hpp
index 05edf18ec8..825ead3533 100644
--- a/boost/geometry/srs/projections/proj/wag3.hpp
+++ b/boost/geometry/srs/projections/proj/wag3.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct wag3 {}; // Wagner III
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -78,7 +72,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
static const T two_thirds = detail::two_thirds<T>();
@@ -88,7 +82,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
static const T two_thirds = detail::two_thirds<T>();
@@ -104,12 +98,10 @@ namespace projections
};
// Wagner III
- template <typename Parameters, typename T>
- inline void setup_wag3(Parameters& par, par_wag3<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_wag3(Params const& params, Parameters& par, par_wag3<T>& proj_parm)
{
- T ts;
-
- ts = pj_get_param_r(par.params, "lat_ts");
+ T const ts = pj_get_param_r<T, srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts);
proj_parm.C_x = cos(ts) / cos(2.*ts/3.);
par.es = 0.;
}
@@ -134,9 +126,11 @@ namespace projections
template <typename T, typename Parameters>
struct wag3_spheroid : public detail::wag3::base_wag3_spheroid<T, Parameters>
{
- inline wag3_spheroid(const Parameters& par) : detail::wag3::base_wag3_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag3_spheroid(Params const& params, Parameters const& par)
+ : detail::wag3::base_wag3_spheroid<T, Parameters>(par)
{
- detail::wag3::setup_wag3(this->m_par, this->m_proj_parm);
+ detail::wag3::setup_wag3(params, this->m_par, this->m_proj_parm);
}
};
@@ -145,23 +139,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag3, wag3_spheroid, wag3_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag3, wag3_spheroid, wag3_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class wag3_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wag3_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void wag3_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wag3_entry, wag3_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(wag3_init)
{
- factory.add_to_factory("wag3", new wag3_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag3, wag3_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/wag7.hpp b/boost/geometry/srs/projections/proj/wag7.hpp
index 4604dc6eab..9e2f3a58bf 100644
--- a/boost/geometry/srs/projections/proj/wag7.hpp
+++ b/boost/geometry/srs/projections/proj/wag7.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct wag7 {}; // Wagner VII
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -71,7 +65,7 @@ namespace projections
// FORWARD(s_forward) sphere
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
T theta, ct, D;
@@ -114,7 +108,9 @@ namespace projections
template <typename T, typename Parameters>
struct wag7_spheroid : public detail::wag7::base_wag7_spheroid<T, Parameters>
{
- inline wag7_spheroid(const Parameters& par) : detail::wag7::base_wag7_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wag7_spheroid(Params const& , Parameters const& par)
+ : detail::wag7::base_wag7_spheroid<T, Parameters>(par)
{
detail::wag7::setup_wag7(this->m_par);
}
@@ -125,23 +121,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wag7, wag7_spheroid, wag7_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wag7, wag7_spheroid, wag7_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class wag7_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<wag7_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void wag7_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(wag7_entry, wag7_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(wag7_init)
{
- factory.add_to_factory("wag7", new wag7_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wag7, wag7_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/wink1.hpp b/boost/geometry/srs/projections/proj/wink1.hpp
index 5fdd739629..b920daa97f 100644
--- a/boost/geometry/srs/projections/proj/wink1.hpp
+++ b/boost/geometry/srs/projections/proj/wink1.hpp
@@ -48,12 +48,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct wink1 {}; // Winkel I
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -79,7 +73,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T const& lp_lat, T& xy_x, T& xy_y) const
{
xy_x = .5 * lp_lon * (this->m_proj_parm.cosphi1 + cos(lp_lat));
xy_y = lp_lat;
@@ -87,7 +81,7 @@ namespace projections
// INVERSE(s_inverse) spheroid
// Project coordinates from cartesian (x, y) to geographic (lon, lat)
- inline void inv(T& xy_x, T& xy_y, T& lp_lon, T& lp_lat) const
+ inline void inv(T const& xy_x, T const& xy_y, T& lp_lon, T& lp_lat) const
{
lp_lat = xy_y;
lp_lon = 2. * xy_x / (this->m_proj_parm.cosphi1 + cos(lp_lat));
@@ -101,10 +95,10 @@ namespace projections
};
// Winkel I
- template <typename Parameters, typename T>
- inline void setup_wink1(Parameters& par, par_wink1<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_wink1(Params const& params, Parameters& par, par_wink1<T>& proj_parm)
{
- proj_parm.cosphi1 = cos(pj_get_param_r(par.params, "lat_ts"));
+ proj_parm.cosphi1 = cos(pj_get_param_r<T, srs::spar::lat_ts>(params, "lat_ts", srs::dpar::lat_ts));
par.es = 0.;
}
@@ -128,9 +122,11 @@ namespace projections
template <typename T, typename Parameters>
struct wink1_spheroid : public detail::wink1::base_wink1_spheroid<T, Parameters>
{
- inline wink1_spheroid(const Parameters& par) : detail::wink1::base_wink1_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wink1_spheroid(Params const& params, Parameters const& par)
+ : detail::wink1::base_wink1_spheroid<T, Parameters>(par)
{
- detail::wink1::setup_wink1(this->m_par, this->m_proj_parm);
+ detail::wink1::setup_wink1(params, this->m_par, this->m_proj_parm);
}
};
@@ -139,23 +135,14 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wink1, wink1_spheroid, wink1_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wink1, wink1_spheroid, wink1_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class wink1_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_fi<wink1_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void wink1_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_FI(wink1_entry, wink1_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(wink1_init)
{
- factory.add_to_factory("wink1", new wink1_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wink1, wink1_entry)
}
} // namespace detail
diff --git a/boost/geometry/srs/projections/proj/wink2.hpp b/boost/geometry/srs/projections/proj/wink2.hpp
index ba6fb70bf1..06f0770365 100644
--- a/boost/geometry/srs/projections/proj/wink2.hpp
+++ b/boost/geometry/srs/projections/proj/wink2.hpp
@@ -50,12 +50,6 @@
namespace boost { namespace geometry
{
-namespace srs { namespace par4
-{
- struct wink2 {}; // Winkel II
-
-}} //namespace srs::par4
-
namespace projections
{
#ifndef DOXYGEN_NO_DETAIL
@@ -84,7 +78,7 @@ namespace projections
// FORWARD(s_forward) spheroid
// Project coordinates from geographic (lon, lat) to cartesian (x, y)
- inline void fwd(T& lp_lon, T& lp_lat, T& xy_x, T& xy_y) const
+ inline void fwd(T const& lp_lon, T lp_lat, T& xy_x, T& xy_y) const
{
static const T pi = detail::pi<T>();
static const T half_pi = detail::half_pi<T>();
@@ -119,10 +113,10 @@ namespace projections
};
// Winkel II
- template <typename Parameters, typename T>
- inline void setup_wink2(Parameters& par, par_wink2<T>& proj_parm)
+ template <typename Params, typename Parameters, typename T>
+ inline void setup_wink2(Params const& params, Parameters& par, par_wink2<T>& proj_parm)
{
- proj_parm.cosphi1 = cos(pj_get_param_r(par.params, "lat_1"));
+ proj_parm.cosphi1 = cos(pj_get_param_r<T, srs::spar::lat_1>(params, "lat_1", srs::dpar::lat_1));
par.es = 0.;
}
@@ -147,9 +141,11 @@ namespace projections
template <typename T, typename Parameters>
struct wink2_spheroid : public detail::wink2::base_wink2_spheroid<T, Parameters>
{
- inline wink2_spheroid(const Parameters& par) : detail::wink2::base_wink2_spheroid<T, Parameters>(par)
+ template <typename Params>
+ inline wink2_spheroid(Params const& params, Parameters const& par)
+ : detail::wink2::base_wink2_spheroid<T, Parameters>(par)
{
- detail::wink2::setup_wink2(this->m_par, this->m_proj_parm);
+ detail::wink2::setup_wink2(params, this->m_par, this->m_proj_parm);
}
};
@@ -158,25 +154,16 @@ namespace projections
{
// Static projection
- BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::par4::wink2, wink2_spheroid, wink2_spheroid)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PROJECTION(srs::spar::proj_wink2, wink2_spheroid, wink2_spheroid)
// Factory entry(s)
- template <typename T, typename Parameters>
- class wink2_entry : public detail::factory_entry<T, Parameters>
- {
- public :
- virtual base_v<T, Parameters>* create_new(const Parameters& par) const
- {
- return new base_v_f<wink2_spheroid<T, Parameters>, T, Parameters>(par);
- }
- };
-
- template <typename T, typename Parameters>
- inline void wink2_init(detail::base_factory<T, Parameters>& factory)
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_ENTRY_F(wink2_entry, wink2_spheroid)
+
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_BEGIN(wink2_init)
{
- factory.add_to_factory("wink2", new wink2_entry<T, Parameters>);
+ BOOST_GEOMETRY_PROJECTIONS_DETAIL_FACTORY_INIT_ENTRY(wink2, wink2_entry)
}
-
+
} // namespace detail
#endif // doxygen
diff --git a/boost/geometry/srs/projections/proj4.hpp b/boost/geometry/srs/projections/proj4.hpp
index 7b44679f31..2e1d06c15d 100644
--- a/boost/geometry/srs/projections/proj4.hpp
+++ b/boost/geometry/srs/projections/proj4.hpp
@@ -1,6 +1,8 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands.
+
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -12,11 +14,15 @@
#include <string>
+#include <vector>
-#include <boost/tuple/tuple.hpp>
+#include <boost/algorithm/string/trim.hpp>
-namespace boost { namespace geometry { namespace srs
+namespace boost { namespace geometry
+{
+
+namespace srs
{
@@ -26,98 +32,98 @@ struct dynamic {};
struct proj4
{
explicit proj4(const char* s)
- : str(s)
+ : m_str(s)
{}
explicit proj4(std::string const& s)
- : str(s)
+ : m_str(s)
{}
- std::string str;
+ std::string const& str() const
+ {
+ return m_str;
+ }
+
+private:
+ std::string m_str;
};
-template
-<
- // null_type -> void?
- typename P0 = boost::tuples::null_type,
- typename P1 = boost::tuples::null_type,
- typename P2 = boost::tuples::null_type,
- typename P3 = boost::tuples::null_type,
- typename P4 = boost::tuples::null_type,
- typename P5 = boost::tuples::null_type,
- typename P6 = boost::tuples::null_type,
- typename P7 = boost::tuples::null_type,
- typename P8 = boost::tuples::null_type,
- typename P9 = boost::tuples::null_type
->
-struct static_proj4
- : boost::tuple<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9>
+namespace detail
{
- typedef boost::tuple<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> base_type;
-
- static_proj4()
- {}
-
- explicit static_proj4(P0 const& p0)
- : base_type(p0)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1)
- : base_type(p0, p1)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2)
- : base_type(p0, p1, p2)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3)
- : base_type(p0, p1, p2, p3)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4)
- : base_type(p0, p1, p2, p3, p4)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5)
- : base_type(p0, p1, p2, p3, p4, p5)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6)
- : base_type(p0, p1, p2, p3, p4, p5, p6)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7)
- : base_type(p0, p1, p2, p3, p4, p5, p6, p7)
- {}
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8)
- : base_type(p0, p1, p2, p3, p4, p5, p6, p7, p8)
- {}
-
- static_proj4(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9)
- : base_type(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
- {}
+struct proj4_parameter
+{
+ proj4_parameter() {}
+ proj4_parameter(std::string const& n, std::string const& v) : name(n), value(v) {}
+ std::string name;
+ std::string value;
};
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX \
-typename P0, typename P1, typename P2, typename P3, typename P4, \
-typename P5, typename P6, typename P7, typename P8, typename P9
+struct proj4_parameters
+ : std::vector<proj4_parameter>
+{
+ // Initially implemented as part of pj_init_plus() and pj_init()
+ proj4_parameters(std::string const& proj4_str)
+ {
+ const char* sep = " +";
+
+ /* split into arguments based on '+' and trim white space */
+
+ // boost::split splits on one character, here it should be on " +", so implementation below
+ // todo: put in different routine or sort out
+ std::string def = boost::trim_copy(proj4_str);
+ boost::trim_left_if(def, boost::is_any_of(sep));
+
+ std::string::size_type loc = def.find(sep);
+ while (loc != std::string::npos)
+ {
+ std::string par = def.substr(0, loc);
+ boost::trim(par);
+ if (! par.empty())
+ {
+ this->add(par);
+ }
+
+ def.erase(0, loc);
+ boost::trim_left_if(def, boost::is_any_of(sep));
+ loc = def.find(sep);
+ }
+
+ if (! def.empty())
+ {
+ this->add(def);
+ }
+ }
+
+ void add(std::string const& str)
+ {
+ std::string name = str;
+ std::string value;
+ boost::trim_left_if(name, boost::is_any_of("+"));
+ std::string::size_type loc = name.find("=");
+ if (loc != std::string::npos)
+ {
+ value = name.substr(loc + 1);
+ name.erase(loc);
+ }
+
+ this->add(name, value);
+ }
+
+ void add(std::string const& name, std::string const& value)
+ {
+ this->push_back(proj4_parameter(name, value));
+ }
+};
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX \
-P0, P1, P2, P3, P4, P5, P6, P7, P8, P9
+}
-}}} // namespace boost::geometry::srs
+} // namespace srs
-#ifndef DOXYGEN_NO_DETAIL
-namespace boost { namespace geometry { namespace projections { namespace detail
-{
-template<typename R> struct function_argument_type;
-template<typename R, typename A> struct function_argument_type<R(A)> { typedef A type; };
+}} // namespace boost::geometry
-}}}} // namespace boost::geometry::projections::detail
-#endif // DOXYGEN_NO_DETAIL
#endif // BOOST_GEOMETRY_SRS_PROJECTIONS_PROJ4_HPP
diff --git a/boost/geometry/srs/projections/spar.hpp b/boost/geometry/srs/projections/spar.hpp
new file mode 100644
index 0000000000..bc2cce2e21
--- /dev/null
+++ b/boost/geometry/srs/projections/spar.hpp
@@ -0,0 +1,1183 @@
+// Boost.Geometry
+
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_GEOMETRY_SRS_PROJECTIONS_SPAR_HPP
+#define BOOST_GEOMETRY_SRS_PROJECTIONS_SPAR_HPP
+
+
+#include <boost/geometry/core/radius.hpp>
+#include <boost/geometry/core/tag.hpp>
+#include <boost/geometry/core/tags.hpp>
+
+#include <boost/geometry/srs/projections/impl/pj_datums.hpp>
+#include <boost/geometry/srs/projections/impl/pj_ellps.hpp>
+#include <boost/geometry/srs/projections/dpar.hpp>
+#include <boost/geometry/srs/projections/par_data.hpp>
+#include <boost/geometry/srs/sphere.hpp>
+#include <boost/geometry/srs/spheroid.hpp>
+
+// TODO: move this functionality
+#include <boost/geometry/index/detail/tuples.hpp>
+
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/variant/variant.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/is_void.hpp>
+
+#include <string>
+#include <vector>
+
+namespace boost { namespace geometry { namespace srs
+{
+
+namespace spar
+{
+
+// Static parameters holder
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX \
+typename P0, typename P1, typename P2, typename P3, typename P4, \
+typename P5, typename P6, typename P7, typename P8, typename P9, \
+typename P10, typename P11, typename P12, typename P13, typename P14
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX \
+P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14
+
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail
+{
+
+template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX>
+struct map_params_to_cons
+{
+ typedef boost::tuples::cons
+ <
+ P0,
+ typename map_params_to_cons
+ <
+ P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14,
+ boost::tuples::null_type
+ >::type
+ > type;
+};
+
+template <>
+struct map_params_to_cons
+<
+ boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
+ boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
+ boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type
+>
+{
+ typedef boost::tuples::null_type type;
+};
+
+} // namespace detail
+#endif // DOXYGEN_NO_DETAIL
+
+template
+<
+ // null_type -> void?
+ typename P0 = boost::tuples::null_type,
+ typename P1 = boost::tuples::null_type,
+ typename P2 = boost::tuples::null_type,
+ typename P3 = boost::tuples::null_type,
+ typename P4 = boost::tuples::null_type,
+ typename P5 = boost::tuples::null_type,
+ typename P6 = boost::tuples::null_type,
+ typename P7 = boost::tuples::null_type,
+ typename P8 = boost::tuples::null_type,
+ typename P9 = boost::tuples::null_type,
+ typename P10 = boost::tuples::null_type,
+ typename P11 = boost::tuples::null_type,
+ typename P12 = boost::tuples::null_type,
+ typename P13 = boost::tuples::null_type,
+ typename P14 = boost::tuples::null_type
+>
+struct parameters
+ : detail::map_params_to_cons<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>::type
+{
+private:
+ typedef typename detail::map_params_to_cons<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>::type base_type;
+
+public:
+ typedef typename base_type::tail_type tail_type;
+
+ parameters()
+ : base_type()
+ {}
+
+ explicit parameters(P0 const& p0)
+ : base_type(p0, cnull(), cnull(), cnull(), cnull(), cnull(), cnull(), cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1)
+ : base_type(p0, p1, cnull(), cnull(), cnull(), cnull(), cnull(), cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2)
+ : base_type(p0, p1, p2, cnull(), cnull(), cnull(), cnull(), cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3)
+ : base_type(p0, p1, p2, p3, cnull(), cnull(), cnull(), cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4)
+ : base_type(p0, p1, p2, p3, p4, cnull(), cnull(), cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5)
+ : base_type(p0, p1, p2, p3, p4, p5, cnull(), cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6)
+ : base_type(p0, p1, p2, p3, p4, p5, p6, cnull(), cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7)
+ : base_type(p0, p1, p2, p3, p4, p5, p6, p7, cnull(), cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8)
+ : base_type(p0, p1, p2, p3, p4, p5, p6, p7, p8, cnull())
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9)
+ : base_type(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9, P10 const& p10)
+ : base_type(p0,
+ tail_type(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10))
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9, P10 const& p10, P11 const& p11)
+ : base_type(p0,
+ tail_type(p1,
+ typename tail_type::tail_type(p2, p3, p4, p5, p6, p7, p8, p9, p10, p11)))
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9, P10 const& p10, P11 const& p11, P12 const& p12)
+ : base_type(p0,
+ tail_type(p1,
+ typename tail_type::tail_type(p2,
+ typename tail_type::tail_type::tail_type(p3, p4, p5, p6, p7, p8, p9, p10, p11, p12))))
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9, P10 const& p10, P11 const& p11, P12 const& p12, P13 const& p13)
+ : base_type(p0,
+ tail_type(p1,
+ typename tail_type::tail_type(p2,
+ typename tail_type::tail_type::tail_type(p3,
+ typename tail_type::tail_type::tail_type::tail_type(p4, p5, p6, p7, p8, p9, p10, p11, p12, p13)))))
+ {}
+
+ parameters(P0 const& p0, P1 const& p1, P2 const& p2, P3 const& p3, P4 const& p4, P5 const& p5, P6 const& p6, P7 const& p7, P8 const& p8, P9 const& p9, P10 const& p10, P11 const& p11, P12 const& p12, P13 const& p13, P14 const& p14)
+ : base_type(p0,
+ tail_type(p1,
+ typename tail_type::tail_type(p2,
+ typename tail_type::tail_type::tail_type(p3,
+ typename tail_type::tail_type::tail_type::tail_type(p4,
+ typename tail_type::tail_type::tail_type::tail_type::tail_type(p5, p6, p7, p8, p9, p10, p11, p12, p13, p14))))))
+ {}
+
+private:
+ static inline const boost::tuples::null_type cnull()
+ {
+ return boost::tuples::null_type();
+ }
+};
+
+
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail
+{
+
+template <typename Parameters, typename Parameter>
+struct add_parameter
+{
+ BOOST_MPL_ASSERT_MSG((false), INVALID_ARGUMENT, (Parameters));
+};
+
+// NOTE: parameters has to be convertible to tuples::cons
+template <BOOST_GEOMETRY_PROJECTIONS_DETAIL_TYPENAME_PX, typename Parameter>
+struct add_parameter<spar::parameters<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>, Parameter>
+ : index::detail::tuples::push_back
+ <
+ typename detail::map_params_to_cons<BOOST_GEOMETRY_PROJECTIONS_DETAIL_PX>::type,
+ Parameter
+ >
+{};
+
+template <typename Head, typename Tail, typename Parameter>
+struct add_parameter<boost::tuples::cons<Head, Tail>, Parameter>
+ : index::detail::tuples::push_back
+ <
+ boost::tuples::cons<Head, Tail>,
+ Parameter
+ >
+{};
+
+} // namespace detail
+#endif // DOXYGEN_NO_DETAIL
+
+
+// Static parameters values
+
+struct datum_wgs84 {};
+struct datum_ggrs87 {};
+struct datum_nad83 {};
+struct datum_nad27 {};
+struct datum_potsdam {};
+struct datum_carthage {};
+struct datum_hermannskogel {};
+struct datum_ire65 {};
+struct datum_nzgd49 {};
+struct datum_osgb36 {};
+
+struct ellps_merit {};
+struct ellps_sgs85 {};
+struct ellps_grs80 {};
+struct ellps_iau76 {};
+struct ellps_airy {};
+struct ellps_apl4_9 {};
+struct ellps_nwl9d {};
+struct ellps_mod_airy {};
+struct ellps_andrae {};
+struct ellps_aust_sa {};
+struct ellps_grs67 {};
+struct ellps_bessel {};
+struct ellps_bess_nam {};
+struct ellps_clrk66 {};
+struct ellps_clrk80 {};
+struct ellps_clrk80ign {};
+struct ellps_cpm {};
+struct ellps_delmbr {};
+struct ellps_engelis {};
+struct ellps_evrst30 {};
+struct ellps_evrst48 {};
+struct ellps_evrst56 {};
+struct ellps_evrst69 {};
+struct ellps_evrstss {};
+struct ellps_fschr60 {};
+struct ellps_fschr60m {};
+struct ellps_fschr68 {};
+struct ellps_helmert {};
+struct ellps_hough {};
+struct ellps_intl {};
+struct ellps_krass {};
+struct ellps_kaula {};
+struct ellps_lerch {};
+struct ellps_mprts {};
+struct ellps_new_intl {};
+struct ellps_plessis {};
+struct ellps_seasia {};
+struct ellps_walbeck {};
+struct ellps_wgs60 {};
+struct ellps_wgs66 {};
+struct ellps_wgs72 {};
+struct ellps_wgs84 {};
+struct ellps_sphere {};
+
+struct mode_plane {};
+struct mode_di {};
+struct mode_dd {};
+struct mode_hex {};
+
+struct orient_isea {};
+struct orient_pole {};
+
+struct pm_greenwich {};
+struct pm_lisbon {};
+struct pm_paris {};
+struct pm_bogota {};
+struct pm_madrid {};
+struct pm_rome {};
+struct pm_bern {};
+struct pm_jakarta {};
+struct pm_ferro {};
+struct pm_brussels {};
+struct pm_stockholm {};
+struct pm_athens {};
+struct pm_oslo {};
+
+struct proj_aea {}; struct proj_leac {}; // Albers Equal Area, Lambert Equal Area Conic
+struct proj_aeqd {}; // Azimuthal Equidistant
+struct proj_airy {}; // Airy
+struct proj_aitoff {}; struct proj_wintri {}; // Aitoff, Winkel Tripel
+struct proj_august {};
+struct proj_apian {}; struct proj_ortel {}; struct proj_bacon {};
+struct proj_bipc {};
+struct proj_boggs {};
+struct proj_bonne {};
+struct proj_cass {};
+struct proj_cc {};
+struct proj_cea {};
+struct proj_chamb {};
+struct proj_collg {};
+struct proj_crast {};
+struct proj_denoy {};
+struct proj_eck1 {};
+struct proj_eck2 {};
+struct proj_eck3 {}; struct proj_putp1 {}; struct proj_wag6 {}; struct proj_kav7 {};
+struct proj_eck4 {};
+struct proj_eck5 {};
+struct proj_eqc {};
+struct proj_eqdc {};
+struct proj_etmerc {}; struct proj_utm {};
+struct proj_fahey {};
+struct proj_fouc_s {};
+struct proj_gall {};
+struct proj_geocent {};
+struct proj_geos {};
+struct proj_gins8 {};
+struct proj_gn_sinu {}; struct proj_sinu {}; struct proj_eck6 {}; struct proj_mbtfps {};
+struct proj_gnom {};
+struct proj_goode {};
+struct proj_gstmerc {};
+struct proj_hammer {};
+struct proj_hatano {};
+struct proj_healpix {};
+struct proj_rhealpix {};
+struct proj_igh {};
+struct proj_imw_p {};
+struct proj_isea {};
+struct proj_krovak {};
+struct proj_labrd {};
+struct proj_laea {};
+struct proj_lagrng {};
+struct proj_larr {};
+struct proj_lask {};
+struct proj_lonlat {}; struct proj_latlon {}; struct proj_latlong {}; struct proj_longlat {};
+struct proj_lcc {};
+struct proj_lcca {};
+struct proj_loxim {};
+struct proj_lsat {};
+struct proj_mbt_fps {};
+struct proj_mbtfpp {};
+struct proj_mbtfpq {};
+struct proj_merc {};
+struct proj_mill {};
+struct proj_mil_os {}; struct proj_lee_os {}; struct proj_gs48 {}; struct proj_alsk {}; struct proj_gs50 {};
+struct proj_moll {}; struct proj_wag4 {}; struct proj_wag5 {};
+struct proj_natearth {};
+struct proj_nell {};
+struct proj_nell_h {};
+struct proj_nicol {};
+struct proj_nsper {}; struct proj_tpers {};
+struct proj_nzmg {};
+struct proj_ob_tran {};
+struct proj_ocea {};
+struct proj_oea {};
+struct proj_omerc {};
+struct proj_ortho {};
+struct proj_poly {};
+struct proj_putp2 {};
+struct proj_putp3 {}; struct proj_putp3p {};
+struct proj_putp4p {}; struct proj_weren {};
+struct proj_putp5 {}; struct proj_putp5p {};
+struct proj_putp6 {}; struct proj_putp6p {};
+struct proj_qsc {};
+struct proj_robin {};
+struct proj_rouss {};
+struct proj_rpoly {};
+struct proj_euler {}; struct proj_murd1 {}; struct proj_murd2 {}; struct proj_murd3 {}; struct proj_pconic {}; struct proj_tissot {}; struct proj_vitk1 {};
+struct proj_somerc {};
+struct proj_stere {}; struct proj_ups {};
+struct proj_sterea {};
+struct proj_kav5 {}; struct proj_qua_aut {}; struct proj_fouc {}; struct proj_mbt_s {};
+struct proj_tcc {};
+struct proj_tcea {};
+struct proj_tmerc {};
+struct proj_tpeqd {};
+struct proj_urm5 {};
+struct proj_urmfps {}; struct proj_wag1 {};
+struct proj_vandg {};
+struct proj_vandg2 {}; struct proj_vandg3 {};
+struct proj_vandg4 {};
+struct proj_wag2 {};
+struct proj_wag3 {};
+struct proj_wag7 {};
+struct proj_wink1 {};
+struct proj_wink2 {};
+
+struct sweep_x {};
+struct sweep_y {};
+
+struct units_km {};
+struct units_m {};
+struct units_dm {};
+struct units_cm {};
+struct units_mm {};
+struct units_kmi {};
+struct units_in {};
+struct units_ft {};
+struct units_yd {};
+struct units_mi {};
+struct units_fath {};
+struct units_ch {};
+struct units_link {};
+struct units_us_in {};
+struct units_us_ft {};
+struct units_us_yd {};
+struct units_us_ch {};
+struct units_us_mi {};
+struct units_ind_yd {};
+struct units_ind_ft {};
+struct units_ind_ch {};
+
+// Static parameters names
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(NAME) \
+template <typename T = double> \
+struct NAME \
+{ \
+ NAME() : value(0) {} \
+ explicit NAME(T const& v) : value(v) {} \
+ T value; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(a)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(b)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(e)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(es)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(f)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(gamma)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(h)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(k)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(k_0)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(m)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(n)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(q)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(r)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(rf)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(to_meter)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(vto_meter)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(w)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(x_0)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(y_0)
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(NAME) \
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_F(NAME)
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(alpha)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(azi)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lat_0)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lat_1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lat_2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lat_b)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lat_ts)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lon_0)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lon_1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lon_2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lon_wrap)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(lonc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_alpha)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lat_1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lat_2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lat_c)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lat_p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lon_1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lon_2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lon_c)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(o_lon_p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(pm)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(r_lat_a)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(r_lat_g)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(theta)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_R(tilt)
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(NAME) \
+template <int I> struct NAME { static const int value = I; };
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(aperture)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(lsat)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(north_square)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(path)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(resolution)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(south_square)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_I(zone)
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(NAME) \
+struct NAME {};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(czech)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(geoc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(guam)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(no_cut)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(no_defs)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(no_rot)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(ns)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(over)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(r_a)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(r_au)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(r_g)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(r_h)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(r_v)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(rescale)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_STATIC_PARAM_BE(south)
+
+template
+<
+ typename SpheroidOrSphere
+>
+struct ellps
+{
+ typedef SpheroidOrSphere model_type;
+
+ ellps() : model() {}
+ explicit ellps(SpheroidOrSphere const& sph) : model(sph) {}
+
+ SpheroidOrSphere model;
+};
+
+struct nadgrids
+ : srs::detail::nadgrids
+{
+ typedef srs::detail::nadgrids base_t;
+ nadgrids(std::string const& g0) : base_t(g0) {}
+ nadgrids(std::string const& g0, std::string const& g1) : base_t(g0, g1) {}
+ nadgrids(std::string const& g0, std::string const& g1, std::string const& g2) : base_t(g0, g1, g2) {}
+ nadgrids(std::string const& g0, std::string const& g1, std::string const& g2, std::string const& g3) : base_t(g0, g1, g2, g3) {}
+ nadgrids(std::string const& g0, std::string const& g1, std::string const& g2, std::string const& g3, std::string const& g4) : base_t(g0, g1, g2, g3, g4) {}
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ nadgrids(std::initializer_list<std::string> l) : base_t(l) {}
+#endif
+};
+
+template <typename Proj>
+struct o_proj
+{
+ typedef Proj type;
+};
+
+template <typename T = double>
+struct towgs84
+ : srs::detail::towgs84<T>
+{
+ typedef srs::detail::towgs84<T> base_t;
+
+ towgs84(T const& v0, T const& v1, T const& v2)
+ : base_t(v0, v1, v2)
+ {}
+ towgs84(T const& v0, T const& v1, T const& v2, T const& v3, T const& v4, T const& v5, T const& v6)
+ : base_t(v0, v1, v2, v3, v4, v5, v6)
+ {}
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+ towgs84(std::initializer_list<T> l) : base_t(l) {}
+#endif
+};
+
+template <typename Units>
+struct vunits
+{
+ typedef Units type;
+};
+
+// Static parameters traits
+
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail
+{
+
+template <typename D>
+struct datum_traits
+{
+ static const bool is_specialized = false;
+ typedef void ellps_type;
+ typedef void def_type;
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(NAME, ELLPS, DEF_T, DEF_V) \
+template <> \
+struct datum_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef spar::ELLPS ellps_type; \
+ typedef spar::DEF_T def_type; \
+ static spar::DEF_T def() { return spar::DEF_T DEF_V; } \
+ static const dpar::value_datum id = dpar::NAME; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_wgs84, ellps_wgs84, towgs84<double>, (0,0,0))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_ggrs87, ellps_grs80, towgs84<double>, (-199.87,74.79,246.62))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_nad83, ellps_grs80, towgs84<double>, (0,0,0))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_nad27, ellps_clrk66, nadgrids, ("@conus","@alaska","@ntv2_0.gsb","@ntv1_can.dat"))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_potsdam, ellps_bessel, towgs84<double>, (598.1,73.7,418.2,0.202,0.045,-2.455,6.7))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_carthage, ellps_clrk80ign, towgs84<double>, (-263.0,6.0,431.0))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_hermannskogel, ellps_bessel, towgs84<double>, (577.326,90.129,463.919,5.137,1.474,5.297,2.4232))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_ire65, ellps_mod_airy, towgs84<double>, (482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_nzgd49, ellps_intl, towgs84<double>, (59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993))
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_DATUM(datum_osgb36, ellps_airy, towgs84<double>, (446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894))
+
+
+template <typename E>
+struct ellps_traits
+{
+ static const bool is_specialized = false;
+ template <typename T> struct model_type
+ {
+ typedef void type;
+ };
+};
+
+template <typename E>
+struct ellps_traits<spar::ellps<E> >
+{
+ static const bool is_specialized = true;
+ template <typename T> struct model_type
+ {
+ // TODO: transform to spheroid<T> or sphere<T>
+ typedef typename spar::ellps<E>::model_type type;
+ };
+
+ template <typename T>
+ static typename spar::ellps<E>::model_type const& model(spar::ellps<E> const& e)
+ {
+ return e.model;
+ }
+};
+
+// TODO: Implement as RadiusType-agnostic, member struct template defining model
+// and function template returning it
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(NAME) \
+template <> \
+struct ellps_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ template <typename T> struct model_type \
+ { \
+ typedef srs::spheroid<T> type; \
+ }; \
+ template <typename T> \
+ static srs::spheroid<T> model(spar::NAME const&) { \
+ return srs::spheroid<T>(projections::detail::pj_get_ellps<T>().first[dpar::NAME].a, \
+ projections::detail::pj_get_ellps<T>().first[dpar::NAME].b); \
+ } \
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SPHERE(NAME) \
+template <> \
+struct ellps_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ template <typename T> struct model_type \
+ { \
+ typedef srs::sphere<T> type; \
+ }; \
+ template <typename T> \
+ static srs::sphere<T> model(spar::NAME const&) { \
+ return srs::sphere<T>(projections::detail::pj_get_ellps<T>().first[dpar::NAME].a); \
+ } \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_merit)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_sgs85)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_grs80)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_iau76)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_airy)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_apl4_9)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_nwl9d)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_mod_airy)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_andrae)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_aust_sa)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_grs67)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_bessel)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_bess_nam)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_clrk66)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_clrk80)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_clrk80ign)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_cpm)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_delmbr)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_engelis)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_evrst30)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_evrst48)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_evrst56)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_evrst69)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_evrstss)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_fschr60)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_fschr60m)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_fschr68)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_helmert)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_hough)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_intl)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_krass)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_kaula)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_lerch)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_mprts)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_new_intl)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_plessis)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_seasia)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_walbeck)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_wgs60)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_wgs66)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_wgs72)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ELLPS(ellps_wgs84)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SPHERE(ellps_sphere)
+
+template <typename M>
+struct mode_traits
+{
+ static const bool is_specialized = false;
+ typedef void type;
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_MODE(NAME) \
+template <> \
+struct mode_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef spar::NAME type; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_MODE(mode_plane)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_MODE(mode_di)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_MODE(mode_dd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_MODE(mode_hex)
+
+template <typename O>
+struct orient_traits
+{
+ static const bool is_specialized = false;
+ typedef void type;
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ORIENT(NAME) \
+template <> \
+struct orient_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef spar::NAME type; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ORIENT(orient_isea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_ORIENT(orient_pole)
+
+template <typename M>
+struct pm_traits
+{
+ static const bool is_specialized = false;
+ typedef void type;
+};
+
+template <typename T>
+struct pm_traits<spar::pm<T> >
+{
+ static const bool is_specialized = true;
+ typedef T type;
+ static T const& value(spar::pm<T> const& p) { return p.value; }
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(NAME, INDEX) \
+template <> \
+struct pm_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef double type; \
+ static double value(spar::NAME const& ) { return projections::detail::pj_prime_meridians[INDEX].deg; } \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_greenwich, 0)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_lisbon, 1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_paris, 2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_bogota, 3)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_madrid, 4)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_rome, 5)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_bern, 6)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_jakarta, 7)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_ferro, 8)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_brussels, 9)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_stockholm, 10)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_athens, 11)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PM(pm_oslo, 12)
+
+template <typename P>
+struct proj_traits
+{
+ static const bool is_specialized = false;
+ typedef void type;
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(NAME) \
+template <> \
+struct proj_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef spar::NAME type; \
+ static const srs::dpar::value_proj id = dpar::NAME; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_aea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_leac)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_aeqd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_airy)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_aitoff)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wintri)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_august)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_apian)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_ortel)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_bacon)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_bipc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_boggs)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_bonne)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_cass)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_cc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_cea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_chamb)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_collg)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_crast)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_denoy)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eck1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eck2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eck3)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag6)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_kav7)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eck4)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eck5)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eqc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eqdc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_etmerc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_utm)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_fahey)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_fouc_s)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gall)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_geocent)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_geos)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gins8)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gn_sinu)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_sinu)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_eck6)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mbtfps)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gnom)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_goode)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gstmerc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_hammer)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_hatano)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_healpix)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_rhealpix)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_igh)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_imw_p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_isea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_krovak)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_labrd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_laea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lagrng)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_larr)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lask)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lonlat)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_latlon)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_latlong)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_longlat)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lcc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lcca)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_loxim)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lsat)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mbt_fps)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mbtfpp)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mbtfpq)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_merc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mill)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mil_os)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_lee_os)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gs48)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_alsk)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_gs50)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_moll)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag4)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag5)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_natearth)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_nell)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_nell_h)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_nicol)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_nsper)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_tpers)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_nzmg)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_ob_tran)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_ocea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_oea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_omerc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_ortho)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_poly)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp3)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp3p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp4p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_weren)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp5)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp5p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp6)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_putp6p)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_qsc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_robin)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_rouss)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_rpoly)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_euler)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_murd1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_murd2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_murd3)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_pconic)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_tissot)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_vitk1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_somerc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_stere)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_ups)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_sterea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_kav5)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_qua_aut)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_fouc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_mbt_s)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_tcc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_tcea)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_tmerc)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_tpeqd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_urm5)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_urmfps)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_vandg)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_vandg2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_vandg3)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_vandg4)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag2)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag3)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wag7)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wink1)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_PROJ(proj_wink2)
+
+template <typename S>
+struct sweep_traits
+{
+ static const bool is_specialized = false;
+ typedef void type;
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SWEEP(NAME) \
+template <> \
+struct sweep_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef spar::NAME type; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SWEEP(sweep_x)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_SWEEP(sweep_y)
+
+template <typename S>
+struct units_traits
+{
+ static const bool is_specialized = false;
+ typedef void type;
+};
+
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(NAME) \
+template <> \
+struct units_traits<spar::NAME> \
+{ \
+ static const bool is_specialized = true; \
+ typedef spar::NAME type; \
+ static const srs::dpar::value_units id = dpar::NAME; \
+};
+
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_km)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_m)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_dm)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_cm)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_mm)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_kmi)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_in)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_ft)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_yd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_mi)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_fath)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_ch)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_link)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_us_in)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_us_ft)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_us_yd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_us_ch)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_us_mi)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_ind_yd)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_ind_ft)
+BOOST_GEOMETRY_PROJECTIONS_DETAIL_REGISTER_UNITS(units_ind_ch)
+
+
+template
+<
+ typename Tuple,
+ template <typename> class IsSamePred,
+ int I = 0,
+ int N = boost::tuples::length<Tuple>::value
+>
+struct tuples_find_index_if
+ : boost::mpl::if_c
+ <
+ IsSamePred<typename boost::tuples::element<I, Tuple>::type>::value,
+ boost::integral_constant<int, I>,
+ typename tuples_find_index_if<Tuple, IsSamePred, I+1, N>::type
+ >::type
+{};
+
+template
+<
+ typename Tuple,
+ template <typename> class IsSamePred,
+ int N
+>
+struct tuples_find_index_if<Tuple, IsSamePred, N, N>
+ : boost::integral_constant<int, N>
+{};
+
+template
+<
+ typename Tuple,
+ template <typename> class IsSamePred,
+ int I = tuples_find_index_if<Tuple, IsSamePred>::value,
+ int N = boost::tuples::length<Tuple>::value
+>
+struct tuples_find_if
+ : boost::tuples::element<I, Tuple>
+{};
+
+template
+<
+ typename Tuple,
+ template <typename> class IsSamePred,
+ int N
+>
+struct tuples_find_if<Tuple, IsSamePred, N, N>
+{
+ typedef boost::tuples::null_type type;
+};
+
+template <typename T>
+struct tuples_is_found
+ : boost::mpl::not_<boost::is_same<T, boost::tuples::null_type> >
+{};
+
+template <typename T>
+struct tuples_is_not_found
+ : boost::is_same<T, boost::tuples::null_type>
+{};
+
+template <typename Tuple, template <typename> class IsSamePred>
+struct tuples_exists_if
+ : tuples_is_found
+ <
+ typename tuples_find_if<Tuple, IsSamePred>::type
+ >
+{};
+
+
+template <typename T, template <typename> class Param>
+struct is_same_t : boost::false_type {};
+template <typename T, template <typename> class Param>
+struct is_same_t<Param<T>, Param> : boost::true_type {};
+
+template <typename T, template <int> class Param>
+struct is_same_i : boost::false_type {};
+template <int I, template <int> class Param>
+struct is_same_i<Param<I>, Param> : boost::true_type {};
+
+template <typename T, template <typename> class Traits>
+struct it_traits_specialized
+ : boost::mpl::if_c
+ <
+ Traits<T>::is_specialized,
+ boost::true_type,
+ boost::false_type
+ >::type
+{};
+
+template <typename Param>
+struct is_param
+{
+ template <typename T>
+ struct pred : boost::is_same<T, Param> {};
+};
+
+template <template <typename> class Param>
+struct is_param_t
+{
+ template <typename T>
+ struct pred : is_same_t<T, Param> {};
+};
+
+template <template <int> class Param>
+struct is_param_i
+{
+ template <typename T>
+ struct pred : is_same_i<T, Param> {};
+};
+
+template <template <typename> class Traits>
+struct is_param_tr
+{
+ template <typename T>
+ struct pred : it_traits_specialized<T, Traits> {};
+};
+
+//template <typename IsParam1, typename IsParam2>
+//struct is_param_or
+//{
+// template <typename T>
+// struct pred : boost::mpl::or_<IsParam1::pred<T>, IsParam2::pred<T> > {};
+//};
+
+// pick proj static name
+
+template <typename Tuple>
+struct pick_proj_tag
+{
+ typedef typename tuples_find_if
+ <
+ Tuple,
+ is_param_tr<proj_traits>::pred
+ >::type proj_type;
+
+ static const bool is_found = tuples_is_found<proj_type>::value;
+
+ BOOST_MPL_ASSERT_MSG((is_found), PROJECTION_NOT_NAMED, (Tuple));
+
+ typedef proj_traits<proj_type> traits_type;
+ typedef typename traits_type::type type;
+};
+
+template <typename Tuple>
+struct pick_o_proj_tag
+{
+ typedef typename tuples_find_if
+ <
+ Tuple,
+ is_param_t<o_proj>::pred
+ >::type o_proj_type;
+
+ static const bool is_found = tuples_is_found<o_proj_type>::value;
+
+ BOOST_MPL_ASSERT_MSG((is_found), NO_O_PROJ_PARAMETER, (Tuple));
+
+ typedef proj_traits<typename o_proj_type::type> traits_type;
+ typedef typename traits_type::type type;
+};
+
+
+} // namespace detail
+#endif // DOXYGEN_NO_DETAIL
+
+} // namespace spar
+
+}}} // namespace boost::geometry::srs
+
+
+#endif // BOOST_GEOMETRY_SRS_PROJECTIONS_SPAR_HPP
diff --git a/boost/geometry/srs/projections/srid_traits.hpp b/boost/geometry/srs/projections/srid_traits.hpp
index c2270f2542..67bb6cef25 100644
--- a/boost/geometry/srs/projections/srid_traits.hpp
+++ b/boost/geometry/srs/projections/srid_traits.hpp
@@ -1,6 +1,6 @@
// Boost.Geometry
-// Copyright (c) 2017, Oracle and/or its affiliates.
+// Copyright (c) 2017-2018, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -11,88 +11,20 @@
#define BOOST_GEOMETRY_PROJECTIONS_SRID_TRAITS_HPP
-#include <boost/geometry/srs/projections/par4.hpp>
-#include <boost/geometry/srs/projections/proj4.hpp>
-#include <boost/geometry/srs/sphere.hpp>
-#include <boost/geometry/srs/spheroid.hpp>
-
-
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_ED(AUTH, CODE, PROJ, ELLPS, DATUM, PROJ4_STR) \
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_BEG(AUTH, CODE) \
template<> \
struct AUTH##_traits<CODE> \
{ \
- typedef srs::static_proj4 \
- < \
- srs::par4::proj<srs::par4::PROJ>, \
- srs::par4::ellps<srs::par4::ELLPS>, \
- srs::par4::datum<srs::par4::DATUM> \
- > static_parameters_type; \
- static inline static_parameters_type s_par() \
- { \
- return static_parameters_type(); \
- } \
- static inline srs::proj4 par() \
- { \
- return srs::proj4(PROJ4_STR); \
- } \
-}; \
+ typedef \
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_E(AUTH, CODE, PROJ, ELLPS, PROJ4_STR) \
-template<> \
-struct AUTH##_traits<CODE> \
-{ \
- typedef srs::static_proj4 \
- < \
- srs::par4::proj<srs::par4::PROJ>, \
- srs::par4::ellps<srs::par4::ELLPS> \
- > static_parameters_type; \
- static inline static_parameters_type s_par() \
- { \
- return static_parameters_type(); \
- } \
- static inline srs::proj4 par() \
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_MID() \
+ parameters_type; \
+ static inline parameters_type parameters() \
{ \
- return srs::proj4(PROJ4_STR); \
- } \
-}; \
+ return parameters_type \
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_AB(AUTH, CODE, PROJ, A, B, PROJ4_STR) \
-template<> \
-struct AUTH##_traits<CODE> \
-{ \
- typedef srs::static_proj4 \
- < \
- srs::par4::proj<srs::par4::PROJ>, \
- srs::par4::ellps<srs::spheroid<double> > \
- > static_parameters_type; \
- static inline static_parameters_type s_par() \
- { \
- return static_parameters_type(srs::par4::proj<srs::par4::PROJ>(), \
- srs::par4::ellps<srs::spheroid<double> >(srs::spheroid<double>(A, B))); \
- } \
- static inline srs::proj4 par() \
- { \
- return srs::proj4(PROJ4_STR); \
- } \
-}; \
-
-#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_S(AUTH, CODE, PROJ, R, PROJ4_STR) \
-template<> \
-struct AUTH##_traits<CODE> \
-{ \
- typedef srs::static_proj4 \
- < \
- srs::par4::proj<srs::par4::PROJ>, \
- srs::par4::ellps<srs::sphere<double> > \
- > static_parameters_type; \
- static inline static_parameters_type s_par() \
- { \
- return static_parameters_type(srs::par4::proj<srs::par4::PROJ>(), \
- srs::par4::ellps<srs::sphere<double> >(srs::sphere<double>(R))); \
- } \
- static inline srs::proj4 par() \
- { \
- return srs::proj4(PROJ4_STR); \
+#define BOOST_GEOMETRY_PROJECTIONS_DETAIL_SRID_TRAITS_END() \
+ ; \
} \
}; \
diff --git a/boost/geometry/srs/transformation.hpp b/boost/geometry/srs/transformation.hpp
index 2b1351b656..38e6ce04c6 100644
--- a/boost/geometry/srs/transformation.hpp
+++ b/boost/geometry/srs/transformation.hpp
@@ -583,16 +583,70 @@ class transformation
typedef typename projections::detail::promote_to_double<CT>::type calc_t;
public:
+ // Both static and default constructed
transformation()
{}
+ // First dynamic, second static and default constructed
template <typename Parameters1>
- explicit transformation(Parameters1 const& parameters1)
+ explicit transformation(Parameters1 const& parameters1,
+ typename boost::enable_if_c
+ <
+ boost::is_same<Proj1, srs::dynamic>::value
+ && projections::dynamic_parameters<Parameters1>::is_specialized
+ >::type * = 0)
: m_proj1(parameters1)
{}
+ // First static, second static and default constructed
+ explicit transformation(Proj1 const& parameters1)
+ : m_proj1(parameters1)
+ {}
+
+ // Both dynamic
template <typename Parameters1, typename Parameters2>
- transformation(Parameters1 const& parameters1, Parameters2 const& parameters2)
+ transformation(Parameters1 const& parameters1,
+ Parameters2 const& parameters2,
+ typename boost::enable_if_c
+ <
+ boost::is_same<Proj1, srs::dynamic>::value
+ && boost::is_same<Proj2, srs::dynamic>::value
+ && projections::dynamic_parameters<Parameters1>::is_specialized
+ && projections::dynamic_parameters<Parameters2>::is_specialized
+ > * = 0)
+ : m_proj1(parameters1)
+ , m_proj2(parameters2)
+ {}
+
+ // First dynamic, second static
+ template <typename Parameters1>
+ transformation(Parameters1 const& parameters1,
+ Proj2 const& parameters2,
+ typename boost::enable_if_c
+ <
+ boost::is_same<Proj1, srs::dynamic>::value
+ && projections::dynamic_parameters<Parameters1>::is_specialized
+ > * = 0)
+ : m_proj1(parameters1)
+ , m_proj2(parameters2)
+ {}
+
+ // First static, second dynamic
+ template <typename Parameters2>
+ transformation(Proj1 const& parameters1,
+ Parameters2 const& parameters2,
+ typename boost::enable_if_c
+ <
+ boost::is_same<Proj2, srs::dynamic>::value
+ && projections::dynamic_parameters<Parameters2>::is_specialized
+ > * = 0)
+ : m_proj1(parameters1)
+ , m_proj2(parameters2)
+ {}
+
+ // Both static
+ transformation(Proj1 const& parameters1,
+ Proj2 const& parameters2)
: m_proj1(parameters1)
, m_proj2(parameters2)
{}
diff --git a/boost/geometry/strategies/agnostic/point_in_box_by_side.hpp b/boost/geometry/strategies/agnostic/point_in_box_by_side.hpp
index 6740b519e2..8493b57c35 100644
--- a/boost/geometry/strategies/agnostic/point_in_box_by_side.hpp
+++ b/boost/geometry/strategies/agnostic/point_in_box_by_side.hpp
@@ -15,6 +15,7 @@
#define BOOST_GEOMETRY_STRATEGIES_AGNOSTIC_POINT_IN_BOX_BY_SIDE_HPP
#include <boost/array.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/core/access.hpp>
#include <boost/geometry/core/coordinate_dimension.hpp>
#include <boost/geometry/algorithms/assign.hpp>
@@ -78,7 +79,7 @@ struct point_in_box_by_side
bool result = true;
side_strategy_type strategy;
- boost::ignore_unused_variable_warning(strategy);
+ boost::ignore_unused(strategy);
for (int i = 1; i < 5; i++)
{
diff --git a/boost/geometry/strategies/cartesian/distance_projected_point.hpp b/boost/geometry/strategies/cartesian/distance_projected_point.hpp
index 5aaa9db434..84f1c948c1 100644
--- a/boost/geometry/strategies/cartesian/distance_projected_point.hpp
+++ b/boost/geometry/strategies/cartesian/distance_projected_point.hpp
@@ -21,6 +21,7 @@
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_void.hpp>
@@ -135,7 +136,7 @@ public :
subtract_point(w, projected);
Strategy strategy;
- boost::ignore_unused_variable_warning(strategy);
+ boost::ignore_unused(strategy);
calculation_type const zero = calculation_type();
calculation_type const c1 = dot_product(w, v);
diff --git a/boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp b/boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp
index 7ff86c7cfa..d6ad0e0d6b 100644
--- a/boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp
+++ b/boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp
@@ -24,6 +24,7 @@
#include <algorithm>
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/geometry/core/access.hpp>
#include <boost/geometry/core/point_type.hpp>
@@ -194,7 +195,7 @@ public :
subtract_point(w, projected);
Strategy strategy;
- boost::ignore_unused_variable_warning(strategy);
+ boost::ignore_unused(strategy);
typename result_type<Point, PointOfSegment>::type result;
diff --git a/boost/geometry/strategies/concepts/area_concept.hpp b/boost/geometry/strategies/concepts/area_concept.hpp
index 66982e3f27..6edc516f92 100644
--- a/boost/geometry/strategies/concepts/area_concept.hpp
+++ b/boost/geometry/strategies/concepts/area_concept.hpp
@@ -17,7 +17,7 @@
#include <boost/concept_check.hpp>
-
+#include <boost/core/ignore_unused.hpp>
namespace boost { namespace geometry { namespace concepts
{
@@ -52,8 +52,7 @@ class AreaStrategy
// 4) must implement a static method result with the following signature
return_type r = str->result(*st);
- boost::ignore_unused_variable_warning(r);
- boost::ignore_unused_variable_warning(str);
+ boost::ignore_unused(r, str);
}
};
diff --git a/boost/geometry/strategies/concepts/centroid_concept.hpp b/boost/geometry/strategies/concepts/centroid_concept.hpp
index 0bbe94ba77..9a1dcbcc95 100644
--- a/boost/geometry/strategies/concepts/centroid_concept.hpp
+++ b/boost/geometry/strategies/concepts/centroid_concept.hpp
@@ -17,7 +17,7 @@
#include <boost/concept_check.hpp>
-
+#include <boost/core/ignore_unused.hpp>
namespace boost { namespace geometry { namespace concepts
{
@@ -58,8 +58,7 @@ class CentroidStrategy
point_type *c = 0;
bool r = str->result(*st, *c);
- boost::ignore_unused_variable_warning(str);
- boost::ignore_unused_variable_warning(r);
+ boost::ignore_unused(str, r);
}
};
diff --git a/boost/geometry/strategies/concepts/within_concept.hpp b/boost/geometry/strategies/concepts/within_concept.hpp
index ab712ccd5e..c02d0dc50f 100644
--- a/boost/geometry/strategies/concepts/within_concept.hpp
+++ b/boost/geometry/strategies/concepts/within_concept.hpp
@@ -17,6 +17,7 @@
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/function_types/result_type.hpp>
#include <boost/geometry/util/parameter_type_of.hpp>
@@ -93,9 +94,7 @@ class WithinStrategyPolygonal
bool b = str->apply(*p, *sp, *sp, *st);
int r = str->result(*st);
- boost::ignore_unused_variable_warning(r);
- boost::ignore_unused_variable_warning(b);
- boost::ignore_unused_variable_warning(str);
+ boost::ignore_unused(r, b, str);
}
};
@@ -158,8 +157,7 @@ class WithinStrategyPointBox
bool b = str->apply(*p, *bx);
- boost::ignore_unused_variable_warning(b);
- boost::ignore_unused_variable_warning(str);
+ boost::ignore_unused(b, str);
}
};
@@ -222,8 +220,7 @@ class WithinStrategyBoxBox
bool b = str->apply(*b1, *b2);
- boost::ignore_unused_variable_warning(b);
- boost::ignore_unused_variable_warning(str);
+ boost::ignore_unused(b, str);
}
};
@@ -281,7 +278,7 @@ template <typename FirstTag, typename SecondTag, typename CastedTag, typename St
inline void check()
{
dispatch::check_within<FirstTag, SecondTag, CastedTag, Strategy> c;
- boost::ignore_unused_variable_warning(c);
+ boost::ignore_unused(c);
}
diff --git a/boost/geometry/strategies/geographic/intersection.hpp b/boost/geometry/strategies/geographic/intersection.hpp
index 76c83bb534..b095f8aefb 100644
--- a/boost/geometry/strategies/geographic/intersection.hpp
+++ b/boost/geometry/strategies/geographic/intersection.hpp
@@ -233,7 +233,16 @@ struct geographic_segments
{
bool is_a_reversed = get<1>(a1) > get<1>(a2);
bool is_b_reversed = get<1>(b1) > get<1>(b2);
-
+ /*
+ typename coordinate_type<Point1>::type
+ const a1_lon = get<0>(a1),
+ const a2_lon = get<0>(a2);
+ typename coordinate_type<Point2>::type
+ const b1_lon = get<0>(b1),
+ const b2_lon = get<0>(b2);
+ bool is_a_reversed = a1_lon > a2_lon || a1_lon == a2_lon && get<1>(a1) > get<1>(a2);
+ bool is_b_reversed = b1_lon > b2_lon || b1_lon == b2_lon && get<1>(b1) > get<1>(b2);
+ */
if (is_a_reversed)
{
std::swap(a1, a2);
diff --git a/boost/geometry/util/math.hpp b/boost/geometry/util/math.hpp
index aed930dd97..dfbd5c9254 100644
--- a/boost/geometry/util/math.hpp
+++ b/boost/geometry/util/math.hpp
@@ -9,6 +9,7 @@
// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+// Contributed and/or modified by Adeel Ahmad, as part of Google Summer of Code 2018 program
// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
@@ -772,6 +773,107 @@ inline Result rounding_cast(T const& v)
}
/*!
+\brief Evaluate the sine and cosine function with the argument in degrees
+\note The results obey exactly the elementary properties of the trigonometric
+ functions, e.g., sin 9&deg; = cos 81&deg; = &minus; sin 123456789&deg;.
+ If x = &minus;0, then \e sinx = &minus;0; this is the only case where
+ &minus;0 is returned.
+*/
+template<typename T>
+inline void sin_cos_degrees(T const& x,
+ T & sinx,
+ T & cosx)
+{
+ // In order to minimize round-off errors, this function exactly reduces
+ // the argument to the range [-45, 45] before converting it to radians.
+ T remainder; int quotient;
+
+ remainder = math::mod(x, T(360));
+ quotient = floor(remainder / 90 + T(0.5));
+ remainder -= 90 * quotient;
+
+ // Convert to radians.
+ remainder *= d2r<T>();
+
+ T s = sin(remainder), c = cos(remainder);
+
+ switch (unsigned(quotient) & 3U)
+ {
+ case 0U: sinx = s; cosx = c; break;
+ case 1U: sinx = c; cosx = -s; break;
+ case 2U: sinx = -s; cosx = -c; break;
+ default: sinx = -c; cosx = s; break; // case 3U
+ }
+
+ // Set sign of 0 results. -0 only produced for sin(-0).
+ if (x != 0)
+ {
+ sinx += T(0); cosx += T(0);
+ }
+}
+
+/*!
+\brief Round off a given angle
+*/
+template<typename T>
+inline T round_angle(T x) {
+ static const T z = 1/T(16);
+
+ if (x == 0)
+ {
+ return 0;
+ }
+
+ T y = math::abs(x);
+
+ // z - (z - y) must not be simplified to y.
+ y = y < z ? z - (z - y) : y;
+
+ return x < 0 ? -y : y;
+}
+
+/*
+\brief Evaluate the polynomial in x using Horner's method.
+*/
+// TODO: adl1995 - Merge these functions with formulas/area_formulas.hpp
+// i.e. place them in one file.
+template <typename NT, typename IteratorType>
+inline NT horner_evaluate(NT x,
+ IteratorType begin,
+ IteratorType end)
+{
+ NT result(0);
+ IteratorType it = end;
+ do
+ {
+ result = result * x + *--it;
+ }
+ while (it != begin);
+ return result;
+}
+
+/*
+\brief Evaluate the polynomial.
+*/
+template<typename IteratorType, typename CT>
+inline CT polyval(IteratorType first,
+ IteratorType last,
+ const CT eps)
+{
+ int N = std::distance(first, last) - 1;
+ int index = 0;
+
+ CT y = N < 0 ? 0 : *(first + (index++));
+
+ while (--N >= 0)
+ {
+ y = y * eps + *(first + (index++));
+ }
+
+ return y;
+}
+
+/*
\brief Short utility to calculate the power
\ingroup utility
*/
diff --git a/boost/geometry/util/normalize_spheroidal_coordinates.hpp b/boost/geometry/util/normalize_spheroidal_coordinates.hpp
index 785e52a0de..ac1e447865 100644
--- a/boost/geometry/util/normalize_spheroidal_coordinates.hpp
+++ b/boost/geometry/util/normalize_spheroidal_coordinates.hpp
@@ -6,6 +6,7 @@
// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+// Contributed and/or modified by Adeel Ahmad, as part of Google Summer of Code 2018 program
// Licensed under the Boost Software License version 1.0.
// http://www.boost.org/users/license.html
@@ -363,6 +364,37 @@ inline void normalize_longitude(CoordinateType& longitude)
>::apply(longitude);
}
+/*!
+\brief Short utility to normalize the azimuth on a spheroid
+ in the range (-180, 180].
+\tparam Units The units of the coordindate system in the spheroid
+\tparam CoordinateType The type of the coordinates
+\param angle Angle
+\ingroup utility
+*/
+template <typename Units, typename CoordinateType>
+inline void normalize_azimuth(CoordinateType& angle)
+{
+ normalize_longitude<Units, CoordinateType>(angle);
+}
+
+/*!
+\brief Normalize the given values.
+\tparam ValueType The type of the values
+\param x Value x
+\param y Value y
+TODO: adl1995 - Merge this function with
+formulas/vertex_longitude.hpp
+*/
+template<typename ValueType>
+inline void normalize_unit_vector(ValueType& x, ValueType& y)
+{
+ ValueType h = boost::math::hypot(x, y);
+
+ BOOST_GEOMETRY_ASSERT(h > 0);
+
+ x /= h; y /= h;
+}
/*!
\brief Short utility to calculate difference between two longitudes
diff --git a/boost/geometry/util/series_expansion.hpp b/boost/geometry/util/series_expansion.hpp
new file mode 100644
index 0000000000..d0b5e36567
--- /dev/null
+++ b/boost/geometry/util/series_expansion.hpp
@@ -0,0 +1,746 @@
+// Boost.Geometry
+
+// Copyright (c) 2018 Adeel Ahmad, Islamabad, Pakistan.
+
+// Contributed and/or modified by Adeel Ahmad, as part of Google Summer of Code 2018 program.
+
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This file is converted from GeographicLib, https://geographiclib.sourceforge.io
+// GeographicLib is originally written by Charles Karney.
+
+// Author: Charles Karney (2008-2017)
+
+// Last updated version of GeographicLib: 1.49
+
+// Original copyright notice:
+
+// Copyright (c) Charles Karney (2008-2017) <charles@karney.com> and licensed
+// under the MIT/X11 License. For more information, see
+// https://geographiclib.sourceforge.io
+
+#ifndef BOOST_GEOMETRY_UTIL_SERIES_EXPANSION_HPP
+#define BOOST_GEOMETRY_UTIL_SERIES_EXPANSION_HPP
+
+#include <boost/geometry/core/assert.hpp>
+#include <boost/geometry/util/math.hpp>
+
+namespace boost { namespace geometry { namespace series_expansion {
+
+ /*
+ Generate and evaluate the series expansion of the following integral
+
+ I1 = integrate( sqrt(1+k2*sin(sigma1)^2), sigma1, 0, sigma )
+
+ which is valid for k2 small. We substitute k2 = 4 * eps / (1 - eps)^2
+ and expand (1 - eps) * I1 retaining terms up to order eps^maxpow
+ in A1 and C1[l].
+
+ The resulting series is of the form
+
+ A1 * ( sigma + sum(C1[l] * sin(2*l*sigma), l, 1, maxpow) ).
+
+ The scale factor A1-1 = mean value of (d/dsigma)I1 - 1
+
+ The expansion above is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_A1 below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+
+ To replace each number x by CT(x) the following
+ script can be used:
+ sed -e 's/[0-9]\+/CT(&)/g; s/\[CT/\[/g; s/)\]/\]/g;
+ s/case\sCT(/case /g; s/):/:/g; s/epsCT(2)/eps2/g;'
+ */
+ template <size_t SeriesOrder, typename CT>
+ inline CT evaluate_A1(CT eps)
+ {
+ CT eps2 = math::sqr(eps);
+ CT t;
+ switch (SeriesOrder/2) {
+ case 0:
+ t = CT(0);
+ break;
+ case 1:
+ t = eps2/CT(4);
+ break;
+ case 2:
+ t = eps2*(eps2+CT(16))/CT(64);
+ break;
+ case 3:
+ t = eps2*(eps2*(eps2+CT(4))+CT(64))/CT(256);
+ break;
+ case 4:
+ t = eps2*(eps2*(eps2*(CT(25)*eps2+CT(64))+CT(256))+CT(4096))/CT(16384);
+ break;
+ }
+ return (t + eps) / (CT(1) - eps);
+ }
+
+ /*
+ Generate and evaluate the series expansion of the following integral
+
+ I2 = integrate( 1/sqrt(1+k2*sin(sigma1)^2), sigma1, 0, sigma )
+
+ which is valid for k2 small. We substitute k2 = 4 * eps / (1 - eps)^2
+ and expand (1 - eps) * I2 retaining terms up to order eps^maxpow
+ in A2 and C2[l].
+
+ The resulting series is of the form
+
+ A2 * ( sigma + sum(C2[l] * sin(2*l*sigma), l, 1, maxpow) )
+
+ The scale factor A2-1 = mean value of (d/dsigma)2 - 1
+
+ The expansion above is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_A2 below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+ */
+ template <size_t SeriesOrder, typename CT>
+ inline CT evaluate_A2(CT const& eps)
+ {
+ CT const eps2 = math::sqr(eps);
+ CT t;
+ switch (SeriesOrder/2) {
+ case 0:
+ t = CT(0);
+ break;
+ case 1:
+ t = -CT(3)*eps2/CT(4);
+ break;
+ case 2:
+ t = (-CT(7)*eps2-CT(48))*eps2/CT(64);
+ break;
+ case 3:
+ t = eps2*((-CT(11)*eps2-CT(28))*eps2-CT(192))/CT(256);
+ break;
+ default:
+ t = eps2*(eps2*((-CT(375)*eps2-CT(704))*eps2-CT(1792))-CT(12288))/CT(16384);
+ break;
+ }
+ return (t - eps) / (CT(1) + eps);
+ }
+
+ /*
+ Express
+
+ I3 = integrate( (2-f)/(1+(1-f)*sqrt(1+k2*sin(sigma1)^2)), sigma1, 0, sigma )
+
+ as a series
+
+ A3 * ( sigma + sum(C3[l] * sin(2*l*sigma), l, 1, maxpow-1) )
+
+ valid for f and k2 small. It is convenient to write k2 = 4 * eps / (1 -
+ eps)^2 and f = 2*n/(1+n) and expand in eps and n. This procedure leads
+ to a series where the coefficients of eps^j are terminating series in n.
+
+ The scale factor A3 = mean value of (d/dsigma)I3
+
+ The expansion above is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_coeffs_A3 below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+ */
+ template <typename Coeffs, typename CT>
+ inline void evaluate_coeffs_A3(Coeffs &c, CT const& n)
+ {
+ switch (int(Coeffs::static_size)) {
+ case 0:
+ break;
+ case 1:
+ c[0] = CT(1);
+ break;
+ case 2:
+ c[0] = CT(1);
+ c[1] = -CT(1)/CT(2);
+ break;
+ case 3:
+ c[0] = CT(1);
+ c[1] = (n-CT(1))/CT(2);
+ c[2] = -CT(1)/CT(4);
+ break;
+ case 4:
+ c[0] = CT(1);
+ c[1] = (n-CT(1))/CT(2);
+ c[2] = (-n-CT(2))/CT(8);
+ c[3] = -CT(1)/CT(16);
+ break;
+ case 5:
+ c[0] = CT(1);
+ c[1] = (n-CT(1))/CT(2);
+ c[2] = (n*(CT(3)*n-CT(1))-CT(2))/CT(8);
+ c[3] = (-CT(3)*n-CT(1))/CT(16);
+ c[4] = -CT(3)/CT(64);
+ break;
+ case 6:
+ c[0] = CT(1);
+ c[1] = (n-CT(1))/CT(2);
+ c[2] = (n*(CT(3)*n-CT(1))-CT(2))/CT(8);
+ c[3] = ((-n-CT(3))*n-CT(1))/CT(16);
+ c[4] = (-CT(2)*n-CT(3))/CT(64);
+ c[5] = -CT(3)/CT(128);
+ break;
+ case 7:
+ c[0] = CT(1);
+ c[1] = (n-CT(1))/CT(2);
+ c[2] = (n*(CT(3)*n-CT(1))-CT(2))/CT(8);
+ c[3] = (n*(n*(CT(5)*n-CT(1))-CT(3))-CT(1))/CT(16);
+ c[4] = ((-CT(10)*n-CT(2))*n-CT(3))/CT(64);
+ c[5] = (-CT(5)*n-CT(3))/CT(128);
+ c[6] = -CT(5)/CT(256);
+ break;
+ default:
+ c[0] = CT(1);
+ c[1] = (n-CT(1))/CT(2);
+ c[2] = (n*(CT(3)*n-CT(1))-CT(2))/CT(8);
+ c[3] = (n*(n*(CT(5)*n-CT(1))-CT(3))-CT(1))/CT(16);
+ c[4] = (n*((-CT(5)*n-CT(20))*n-CT(4))-CT(6))/CT(128);
+ c[5] = ((-CT(5)*n-CT(10))*n-CT(6))/CT(256);
+ c[6] = (-CT(15)*n-CT(20))/CT(1024);
+ c[7] = -CT(25)/CT(2048);
+ break;
+ }
+ }
+
+ /*
+ The coefficients C1[l] in the Fourier expansion of B1.
+
+ The expansion below is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_coeffs_C1 below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+ */
+ template <typename Coeffs, typename CT>
+ inline void evaluate_coeffs_C1(Coeffs &c, CT const& eps)
+ {
+ CT eps2 = math::sqr(eps);
+ CT d = eps;
+ switch (int(Coeffs::static_size) - 1) {
+ case 0:
+ break;
+ case 1:
+ c[1] = -d/CT(2);
+ break;
+ case 2:
+ c[1] = -d/CT(2);
+ d *= eps;
+ c[2] = -d/CT(16);
+ break;
+ case 3:
+ c[1] = d*(CT(3)*eps2-CT(8))/CT(16);
+ d *= eps;
+ c[2] = -d/CT(16);
+ d *= eps;
+ c[3] = -d/CT(48);
+ break;
+ case 4:
+ c[1] = d*(CT(3)*eps2-CT(8))/CT(16);
+ d *= eps;
+ c[2] = d*(eps2-CT(2))/CT(32);
+ d *= eps;
+ c[3] = -d/CT(48);
+ d *= eps;
+ c[4] = -CT(5)*d/CT(512);
+ break;
+ case 5:
+ c[1] = d*((CT(6)-eps2)*eps2-CT(16))/CT(32);
+ d *= eps;
+ c[2] = d*(eps2-CT(2))/CT(32);
+ d *= eps;
+ c[3] = d*(CT(9)*eps2-CT(16))/CT(768);
+ d *= eps;
+ c[4] = -CT(5)*d/CT(512);
+ d *= eps;
+ c[5] = -CT(7)*d/CT(1280);
+ break;
+ case 6:
+ c[1] = d*((CT(6)-eps2)*eps2-CT(16))/CT(32);
+ d *= eps;
+ c[2] = d*((CT(64)-CT(9)*eps2)*eps2-CT(128))/CT(2048);
+ d *= eps;
+ c[3] = d*(CT(9)*eps2-CT(16))/CT(768);
+ d *= eps;
+ c[4] = d*(CT(3)*eps2-CT(5))/CT(512);
+ d *= eps;
+ c[5] = -CT(7)*d/CT(1280);
+ d *= eps;
+ c[6] = -CT(7)*d/CT(2048);
+ break;
+ case 7:
+ c[1] = d*(eps2*(eps2*(CT(19)*eps2-CT(64))+CT(384))-CT(1024))/CT(2048);
+ d *= eps;
+ c[2] = d*((CT(64)-CT(9)*eps2)*eps2-CT(128))/CT(2048);
+ d *= eps;
+ c[3] = d*((CT(72)-CT(9)*eps2)*eps2-CT(128))/CT(6144);
+ d *= eps;
+ c[4] = d*(CT(3)*eps2-CT(5))/CT(512);
+ d *= eps;
+ c[5] = d*(CT(35)*eps2-CT(56))/CT(10240);
+ d *= eps;
+ c[6] = -CT(7)*d/CT(2048);
+ d *= eps;
+ c[7] = -CT(33)*d/CT(14336);
+ break;
+ default:
+ c[1] = d*(eps2*(eps2*(CT(19)*eps2-CT(64))+CT(384))-CT(1024))/CT(2048);
+ d *= eps;
+ c[2] = d*(eps2*(eps2*(CT(7)*eps2-CT(18))+CT(128))-CT(256))/CT(4096);
+ d *= eps;
+ c[3] = d*((CT(72)-CT(9)*eps2)*eps2-CT(128))/CT(6144);
+ d *= eps;
+ c[4] = d*((CT(96)-CT(11)*eps2)*eps2-CT(160))/CT(16384);
+ d *= eps;
+ c[5] = d*(CT(35)*eps2-CT(56))/CT(10240);
+ d *= eps;
+ c[6] = d*(CT(9)*eps2-CT(14))/CT(4096);
+ d *= eps;
+ c[7] = -CT(33)*d/CT(14336);
+ d *= eps;
+ c[8] = -CT(429)*d/CT(262144);
+ break;
+ }
+ }
+
+ /*
+ The coefficients C1p[l] in the Fourier expansion of B1p.
+
+ The expansion below is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_coeffs_C1p below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+ */
+ template <typename Coeffs, typename CT>
+ inline void evaluate_coeffs_C1p(Coeffs& c, CT const& eps)
+ {
+ CT const eps2 = math::sqr(eps);
+ CT d = eps;
+ switch (int(Coeffs::static_size) - 1) {
+ case 0:
+ break;
+ case 1:
+ c[1] = d/CT(2);
+ break;
+ case 2:
+ c[1] = d/CT(2);
+ d *= eps;
+ c[2] = CT(5)*d/CT(16);
+ break;
+ case 3:
+ c[1] = d*(CT(16)-CT(9)*eps2)/CT(32);
+ d *= eps;
+ c[2] = CT(5)*d/CT(16);
+ d *= eps;
+ c[3] = CT(29)*d/CT(96);
+ break;
+ case 4:
+ c[1] = d*(CT(16)-CT(9)*eps2)/CT(32);
+ d *= eps;
+ c[2] = d*(CT(30)-CT(37)*eps2)/CT(96);
+ d *= eps;
+ c[3] = CT(29)*d/CT(96);
+ d *= eps;
+ c[4] = CT(539)*d/CT(1536);
+ break;
+ case 5:
+ c[1] = d*(eps2*(CT(205)*eps2-CT(432))+CT(768))/CT(1536);
+ d *= eps;
+ c[2] = d*(CT(30)-CT(37)*eps2)/CT(96);
+ d *= eps;
+ c[3] = d*(CT(116)-CT(225)*eps2)/CT(384);
+ d *= eps;
+ c[4] = CT(539)*d/CT(1536);
+ d *= eps;
+ c[5] = CT(3467)*d/CT(7680);
+ break;
+ case 6:
+ c[1] = d*(eps2*(CT(205)*eps2-CT(432))+CT(768))/CT(1536);
+ d *= eps;
+ c[2] = d*(eps2*(CT(4005)*eps2-CT(4736))+CT(3840))/CT(12288);
+ d *= eps;
+ c[3] = d*(CT(116)-CT(225)*eps2)/CT(384);
+ d *= eps;
+ c[4] = d*(CT(2695)-CT(7173)*eps2)/CT(7680);
+ d *= eps;
+ c[5] = CT(3467)*d/CT(7680);
+ d *= eps;
+ c[6] = CT(38081)*d/CT(61440);
+ break;
+ case 7:
+ c[1] = d*(eps2*((CT(9840)-CT(4879)*eps2)*eps2-CT(20736))+CT(36864))/CT(73728);
+ d *= eps;
+ c[2] = d*(eps2*(CT(4005)*eps2-CT(4736))+CT(3840))/CT(12288);
+ d *= eps;
+ c[3] = d*(eps2*(CT(8703)*eps2-CT(7200))+CT(3712))/CT(12288);
+ d *= eps;
+ c[4] = d*(CT(2695)-CT(7173)*eps2)/CT(7680);
+ d *= eps;
+ c[5] = d*(CT(41604)-CT(141115)*eps2)/CT(92160);
+ d *= eps;
+ c[6] = CT(38081)*d/CT(61440);
+ d *= eps;
+ c[7] = CT(459485)*d/CT(516096);
+ break;
+ default:
+ c[1] = d*(eps2*((CT(9840)-CT(4879)*eps2)*eps2-CT(20736))+CT(36864))/CT(73728);
+ d *= eps;
+ c[2] = d*(eps2*((CT(120150)-CT(86171)*eps2)*eps2-CT(142080))+CT(115200))/CT(368640);
+ d *= eps;
+ c[3] = d*(eps2*(CT(8703)*eps2-CT(7200))+CT(3712))/CT(12288);
+ d *= eps;
+ c[4] = d*(eps2*(CT(1082857)*eps2-CT(688608))+CT(258720))/CT(737280);
+ d *= eps;
+ c[5] = d*(CT(41604)-CT(141115)*eps2)/CT(92160);
+ d *= eps;
+ c[6] = d*(CT(533134)-CT(2200311)*eps2)/CT(860160);
+ d *= eps;
+ c[7] = CT(459485)*d/CT(516096);
+ d *= eps;
+ c[8] = CT(109167851)*d/CT(82575360);
+ break;
+ }
+ }
+
+ /*
+ The coefficients C2[l] in the Fourier expansion of B2.
+
+ The expansion below is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_coeffs_C2 below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+ */
+ template <typename Coeffs, typename CT>
+ inline void evaluate_coeffs_C2(Coeffs& c, CT const& eps)
+ {
+ CT const eps2 = math::sqr(eps);
+ CT d = eps;
+ switch (int(Coeffs::static_size) - 1) {
+ case 0:
+ break;
+ case 1:
+ c[1] = d/CT(2);
+ break;
+ case 2:
+ c[1] = d/CT(2);
+ d *= eps;
+ c[2] = CT(3)*d/CT(16);
+ break;
+ case 3:
+ c[1] = d*(eps2+CT(8))/CT(16);
+ d *= eps;
+ c[2] = CT(3)*d/CT(16);
+ d *= eps;
+ c[3] = CT(5)*d/CT(48);
+ break;
+ case 4:
+ c[1] = d*(eps2+CT(8))/CT(16);
+ d *= eps;
+ c[2] = d*(eps2+CT(6))/CT(32);
+ d *= eps;
+ c[3] = CT(5)*d/CT(48);
+ d *= eps;
+ c[4] = CT(35)*d/CT(512);
+ break;
+ case 5:
+ c[1] = d*(eps2*(eps2+CT(2))+CT(16))/CT(32);
+ d *= eps;
+ c[2] = d*(eps2+CT(6))/CT(32);
+ d *= eps;
+ c[3] = d*(CT(15)*eps2+CT(80))/CT(768);
+ d *= eps;
+ c[4] = CT(35)*d/CT(512);
+ d *= eps;
+ c[5] = CT(63)*d/CT(1280);
+ break;
+ case 6:
+ c[1] = d*(eps2*(eps2+CT(2))+CT(16))/CT(32);
+ d *= eps;
+ c[2] = d*(eps2*(CT(35)*eps2+CT(64))+CT(384))/CT(2048);
+ d *= eps;
+ c[3] = d*(CT(15)*eps2+CT(80))/CT(768);
+ d *= eps;
+ c[4] = d*(CT(7)*eps2+CT(35))/CT(512);
+ d *= eps;
+ c[5] = CT(63)*d/CT(1280);
+ d *= eps;
+ c[6] = CT(77)*d/CT(2048);
+ break;
+ case 7:
+ c[1] = d*(eps2*(eps2*(CT(41)*eps2+CT(64))+CT(128))+CT(1024))/CT(2048);
+ d *= eps;
+ c[2] = d*(eps2*(CT(35)*eps2+CT(64))+CT(384))/CT(2048);
+ d *= eps;
+ c[3] = d*(eps2*(CT(69)*eps2+CT(120))+CT(640))/CT(6144);
+ d *= eps;
+ c[4] = d*(CT(7)*eps2+CT(35))/CT(512);
+ d *= eps;
+ c[5] = d*(CT(105)*eps2+CT(504))/CT(10240);
+ d *= eps;
+ c[6] = CT(77)*d/CT(2048);
+ d *= eps;
+ c[7] = CT(429)*d/CT(14336);
+ break;
+ default:
+ c[1] = d*(eps2*(eps2*(CT(41)*eps2+CT(64))+CT(128))+CT(1024))/CT(2048);
+ d *= eps;
+ c[2] = d*(eps2*(eps2*(CT(47)*eps2+CT(70))+CT(128))+CT(768))/CT(4096);
+ d *= eps;
+ c[3] = d*(eps2*(CT(69)*eps2+CT(120))+CT(640))/CT(6144);
+ d *= eps;
+ c[4] = d*(eps2*(CT(133)*eps2+CT(224))+CT(1120))/CT(16384);
+ d *= eps;
+ c[5] = d*(CT(105)*eps2+CT(504))/CT(10240);
+ d *= eps;
+ c[6] = d*(CT(33)*eps2+CT(154))/CT(4096);
+ d *= eps;
+ c[7] = CT(429)*d/CT(14336);
+ d *= eps;
+ c[8] = CT(6435)*d/CT(262144);
+ break;
+ }
+ }
+
+ /*
+ The coefficients C3[l] in the Fourier expansion of B3.
+
+ The expansion below is performed in Maxima, a Computer Algebra System.
+ The C++ code (that yields the function evaluate_coeffs_C3 below) is
+ generated by the following Maxima script:
+ geometry/doc/other/maxima/geod.mac
+ */
+ template <size_t SeriesOrder, typename Coeffs, typename CT>
+ inline void evaluate_coeffs_C3x(Coeffs &c, CT const& n) {
+ size_t const coeff_size = Coeffs::static_size;
+ size_t const expected_size = (SeriesOrder * (SeriesOrder - 1)) / 2;
+ BOOST_GEOMETRY_ASSERT((coeff_size == expected_size));
+
+ const CT n2 = math::sqr(n);
+ switch (SeriesOrder) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ c[0] = (CT(1)-n)/CT(4);
+ break;
+ case 3:
+ c[0] = (CT(1)-n)/CT(4);
+ c[1] = (CT(1)-n2)/CT(8);
+ c[2] = ((n-CT(3))*n+CT(2))/CT(32);
+ break;
+ case 4:
+ c[0] = (CT(1)-n)/CT(4);
+ c[1] = (CT(1)-n2)/CT(8);
+ c[2] = (n*((-CT(5)*n-CT(1))*n+CT(3))+CT(3))/CT(64);
+ c[3] = ((n-CT(3))*n+CT(2))/CT(32);
+ c[4] = (n*(n*(CT(2)*n-CT(3))-CT(2))+CT(3))/CT(64);
+ c[5] = (n*((CT(5)-n)*n-CT(9))+CT(5))/CT(192);
+ break;
+ case 5:
+ c[0] = (CT(1)-n)/CT(4);
+ c[1] = (CT(1)-n2)/CT(8);
+ c[2] = (n*((-CT(5)*n-CT(1))*n+CT(3))+CT(3))/CT(64);
+ c[3] = (n*((CT(2)-CT(2)*n)*n+CT(2))+CT(5))/CT(128);
+ c[4] = ((n-CT(3))*n+CT(2))/CT(32);
+ c[5] = (n*(n*(CT(2)*n-CT(3))-CT(2))+CT(3))/CT(64);
+ c[6] = (n*((-CT(6)*n-CT(9))*n+CT(2))+CT(6))/CT(256);
+ c[7] = (n*((CT(5)-n)*n-CT(9))+CT(5))/CT(192);
+ c[8] = (n*(n*(CT(10)*n-CT(6))-CT(10))+CT(9))/CT(384);
+ c[9] = (n*((CT(20)-CT(7)*n)*n-CT(28))+CT(14))/CT(1024);
+ break;
+ case 6:
+ c[0] = (CT(1)-n)/CT(4);
+ c[1] = (CT(1)-n2)/CT(8);
+ c[2] = (n*((-CT(5)*n-CT(1))*n+CT(3))+CT(3))/CT(64);
+ c[3] = (n*((CT(2)-CT(2)*n)*n+CT(2))+CT(5))/CT(128);
+ c[4] = (n*(CT(3)*n+CT(11))+CT(12))/CT(512);
+ c[5] = ((n-CT(3))*n+CT(2))/CT(32);
+ c[6] = (n*(n*(CT(2)*n-CT(3))-CT(2))+CT(3))/CT(64);
+ c[7] = (n*((-CT(6)*n-CT(9))*n+CT(2))+CT(6))/CT(256);
+ c[8] = ((CT(1)-CT(2)*n)*n+CT(5))/CT(256);
+ c[9] = (n*((CT(5)-n)*n-CT(9))+CT(5))/CT(192);
+ c[10] = (n*(n*(CT(10)*n-CT(6))-CT(10))+CT(9))/CT(384);
+ c[11] = ((-CT(77)*n-CT(8))*n+CT(42))/CT(3072);
+ c[12] = (n*((CT(20)-CT(7)*n)*n-CT(28))+CT(14))/CT(1024);
+ c[13] = ((-CT(7)*n-CT(40))*n+CT(28))/CT(2048);
+ c[14] = (n*(CT(75)*n-CT(90))+CT(42))/CT(5120);
+ break;
+ case 7:
+ c[0] = (CT(1)-n)/CT(4);
+ c[1] = (CT(1)-n2)/CT(8);
+ c[2] = (n*((-CT(5)*n-CT(1))*n+CT(3))+CT(3))/CT(64);
+ c[3] = (n*((CT(2)-CT(2)*n)*n+CT(2))+CT(5))/CT(128);
+ c[4] = (n*(CT(3)*n+CT(11))+CT(12))/CT(512);
+ c[5] = (CT(10)*n+CT(21))/CT(1024);
+ c[6] = ((n-CT(3))*n+CT(2))/CT(32);
+ c[7] = (n*(n*(CT(2)*n-CT(3))-CT(2))+CT(3))/CT(64);
+ c[8] = (n*((-CT(6)*n-CT(9))*n+CT(2))+CT(6))/CT(256);
+ c[9] = ((CT(1)-CT(2)*n)*n+CT(5))/CT(256);
+ c[10] = (CT(69)*n+CT(108))/CT(8192);
+ c[11] = (n*((CT(5)-n)*n-CT(9))+CT(5))/CT(192);
+ c[12] = (n*(n*(CT(10)*n-CT(6))-CT(10))+CT(9))/CT(384);
+ c[13] = ((-CT(77)*n-CT(8))*n+CT(42))/CT(3072);
+ c[14] = (CT(12)-n)/CT(1024);
+ c[15] = (n*((CT(20)-CT(7)*n)*n-CT(28))+CT(14))/CT(1024);
+ c[16] = ((-CT(7)*n-CT(40))*n+CT(28))/CT(2048);
+ c[17] = (CT(72)-CT(43)*n)/CT(8192);
+ c[18] = (n*(CT(75)*n-CT(90))+CT(42))/CT(5120);
+ c[19] = (CT(9)-CT(15)*n)/CT(1024);
+ c[20] = (CT(44)-CT(99)*n)/CT(8192);
+ break;
+ default:
+ c[0] = (CT(1)-n)/CT(4);
+ c[1] = (CT(1)-n2)/CT(8);
+ c[2] = (n*((-CT(5)*n-CT(1))*n+CT(3))+CT(3))/CT(64);
+ c[3] = (n*((CT(2)-CT(2)*n)*n+CT(2))+CT(5))/CT(128);
+ c[4] = (n*(CT(3)*n+CT(11))+CT(12))/CT(512);
+ c[5] = (CT(10)*n+CT(21))/CT(1024);
+ c[6] = CT(243)/CT(16384);
+ c[7] = ((n-CT(3))*n+CT(2))/CT(32);
+ c[8] = (n*(n*(CT(2)*n-CT(3))-CT(2))+CT(3))/CT(64);
+ c[9] = (n*((-CT(6)*n-CT(9))*n+CT(2))+CT(6))/CT(256);
+ c[10] = ((CT(1)-CT(2)*n)*n+CT(5))/CT(256);
+ c[11] = (CT(69)*n+CT(108))/CT(8192);
+ c[12] = CT(187)/CT(16384);
+ c[13] = (n*((CT(5)-n)*n-CT(9))+CT(5))/CT(192);
+ c[14] = (n*(n*(CT(10)*n-CT(6))-CT(10))+CT(9))/CT(384);
+ c[15] = ((-CT(77)*n-CT(8))*n+CT(42))/CT(3072);
+ c[16] = (CT(12)-n)/CT(1024);
+ c[17] = CT(139)/CT(16384);
+ c[18] = (n*((CT(20)-CT(7)*n)*n-CT(28))+CT(14))/CT(1024);
+ c[19] = ((-CT(7)*n-CT(40))*n+CT(28))/CT(2048);
+ c[20] = (CT(72)-CT(43)*n)/CT(8192);
+ c[21] = CT(127)/CT(16384);
+ c[22] = (n*(CT(75)*n-CT(90))+CT(42))/CT(5120);
+ c[23] = (CT(9)-CT(15)*n)/CT(1024);
+ c[24] = CT(99)/CT(16384);
+ c[25] = (CT(44)-CT(99)*n)/CT(8192);
+ c[26] = CT(99)/CT(16384);
+ c[27] = CT(429)/CT(114688);
+ break;
+ }
+ }
+
+ /*
+ \brief Given the set of coefficients coeffs2[] evaluate on
+ C3 and return the set of coefficients coeffs1[].
+
+ Elements coeffs1[1] through coeffs1[SeriesOrder - 1] are set.
+ */
+ template <typename Coeffs1, typename Coeffs2, typename CT>
+ inline void evaluate_coeffs_C3(Coeffs1 &coeffs1, Coeffs2 &coeffs2, CT const& eps)
+ {
+ CT mult = 1;
+ int offset = 1;
+
+ // l is the index of C3[l].
+ for (size_t l = 1; l < Coeffs1::static_size; ++l)
+ {
+ // Order of polynomial in eps.
+ int m = Coeffs1::static_size - l - 1;
+ mult *= eps;
+
+ coeffs1[l] = mult * math::polyval(coeffs2.begin(), coeffs2.begin() + offset, eps);
+
+ offset += m + 1;
+ }
+ // Post condition: offset == coeffs_C3_size
+ }
+
+ /*
+ \brief Evaluate the following:
+
+ y = sum(c[i] * sin(2*i * x), i, 1, n)
+
+ using Clenshaw summation.
+ */
+ template <typename CT, typename Coeffs>
+ inline CT sin_cos_series(CT const& sinx, CT const& cosx, Coeffs const& coeffs)
+ {
+ size_t n = Coeffs::static_size - 1;
+ size_t index = 0;
+
+ // Point to one beyond last element.
+ index += (n + 1);
+ CT ar = 2 * (cosx - sinx) * (cosx + sinx);
+
+ // If n is odd, get the last element.
+ CT k0 = n & 1 ? coeffs[--index] : 0;
+ CT k1 = 0;
+
+ // Make n even.
+ n /= 2;
+ while (n--) {
+ // Unroll loop x 2, so accumulators return to their original role.
+ k1 = ar * k0 - k1 + coeffs[--index];
+ k0 = ar * k1 - k0 + coeffs[--index];
+ }
+
+ return 2 * sinx * cosx * k0;
+ }
+
+ /*
+ The coefficient containers for the series expansions.
+ These structs allow the caller to only know the series order.
+ */
+ template <size_t SeriesOrder, typename CT>
+ struct coeffs_C1 : boost::array<CT, SeriesOrder + 1>
+ {
+ coeffs_C1(CT const& epsilon)
+ {
+ evaluate_coeffs_C1(*this, epsilon);
+ }
+ };
+
+ template <size_t SeriesOrder, typename CT>
+ struct coeffs_C1p : boost::array<CT, SeriesOrder + 1>
+ {
+ coeffs_C1p(CT const& epsilon)
+ {
+ evaluate_coeffs_C1p(*this, epsilon);
+ }
+ };
+
+ template <size_t SeriesOrder, typename CT>
+ struct coeffs_C2 : boost::array<CT, SeriesOrder + 1>
+ {
+ coeffs_C2(CT const& epsilon)
+ {
+ evaluate_coeffs_C2(*this, epsilon);
+ }
+ };
+
+ template <size_t SeriesOrder, typename CT>
+ struct coeffs_C3x : boost::array<CT, (SeriesOrder * (SeriesOrder - 1)) / 2>
+ {
+ coeffs_C3x(CT const& n)
+ {
+ evaluate_coeffs_C3x<SeriesOrder>(*this, n);
+ }
+ };
+
+ template <size_t SeriesOrder, typename CT>
+ struct coeffs_C3 : boost::array<CT, SeriesOrder>
+ {
+ coeffs_C3(CT const& n, CT const& epsilon)
+ {
+ coeffs_C3x<SeriesOrder, CT> coeffs_C3x(n);
+
+ evaluate_coeffs_C3(*this, coeffs_C3x, epsilon);
+ }
+ };
+
+ template <size_t SeriesOrder, typename CT>
+ struct coeffs_A3 : boost::array<CT, SeriesOrder>
+ {
+ coeffs_A3(CT const& n)
+ {
+ evaluate_coeffs_A3(*this, n);
+ }
+ };
+
+}}} // namespace boost::geometry::series_expansion
+
+#endif // BOOST_GEOMETRY_UTIL_SERIES_EXPANSION_HPP
diff --git a/boost/gil.hpp b/boost/gil.hpp
index 890f05d8ad..fdfcb75e86 100644
--- a/boost/gil.hpp
+++ b/boost/gil.hpp
@@ -1,31 +1,32 @@
-// Copyright 2005-2007 Adobe Systems Incorporated
+//
// Copyright 2018 Stefan Seefeld
+// Copyright 2005-2007 Adobe Systems Incorporated
//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef boost_gil_hpp_
-#define boost_gil_hpp_
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_HPP
+#define BOOST_GIL_HPP
-#include <boost/gil/version.hpp>
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/channel_algorithm.hpp>
#include <boost/gil/algorithm.hpp>
-#include <boost/gil/pixel.hpp>
+#include <boost/gil/bit_aligned_pixel_iterator.hpp>
+#include <boost/gil/channel_algorithm.hpp>
+#include <boost/gil/color_convert.hpp>
+#include <boost/gil/device_n.hpp>
+#include <boost/gil/image.hpp>
+#include <boost/gil/image_view_factory.hpp>
+#include <boost/gil/iterator_from_2d.hpp>
+#include <boost/gil/metafunctions.hpp>
#include <boost/gil/packed_pixel.hpp>
+#include <boost/gil/pixel.hpp>
+#include <boost/gil/pixel_iterator_adaptor.hpp>
#include <boost/gil/planar_pixel_reference.hpp>
#include <boost/gil/planar_pixel_iterator.hpp>
-#include <boost/gil/pixel_iterator_adaptor.hpp>
+#include <boost/gil/point.hpp>
#include <boost/gil/step_iterator.hpp>
-#include <boost/gil/iterator_from_2d.hpp>
-#include <boost/gil/image.hpp>
-#include <boost/gil/image_view_factory.hpp>
#include <boost/gil/typedefs.hpp>
-#include <boost/gil/metafunctions.hpp>
-#include <boost/gil/color_convert.hpp>
-#include <boost/gil/device_n.hpp>
#include <boost/gil/virtual_locator.hpp>
-#include <boost/gil/bit_aligned_pixel_iterator.hpp>
+#include <boost/gil/version.hpp>
#endif
diff --git a/boost/gil/algorithm.hpp b/boost/gil/algorithm.hpp
index 5c81594501..4857aa2df6 100644
--- a/boost/gil/algorithm.hpp
+++ b/boost/gil/algorithm.hpp
@@ -1,53 +1,34 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_ALGORITHM_HPP
+#define BOOST_GIL_ALGORITHM_HPP
-/*************************************************************************************************/
+#include <boost/gil/bit_aligned_pixel_iterator.hpp>
+#include <boost/gil/color_base_algorithm.hpp>
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/image_view.hpp>
+#include <boost/gil/image_view_factory.hpp>
-#ifndef GIL_ALGORITHM_HPP
-#define GIL_ALGORITHM_HPP
+#include <boost/config.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/or.hpp>
+#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstring>
-#include <algorithm>
#include <iterator>
#include <memory>
#include <typeinfo>
-#include <boost/config.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-
-#include "gil_config.hpp"
-#include "gil_concept.hpp"
-#include "color_base_algorithm.hpp"
-#include "image_view.hpp"
-#include "image_view_factory.hpp"
-#include "bit_aligned_pixel_iterator.hpp"
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Some basic STL-style algorithms when applied to image views
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2008 \n Last updated on March 12, 2008
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-//#ifdef _MSC_VER
-//#pragma warning(push)
-//#pragma warning(disable : 4244) // conversion from 'gil::image<V,Alloc>::coord_t' to 'int', possible loss of data (visual studio compiler doesn't realize that the two types are the same)
-//#endif
-
namespace boost { namespace gil {
+
//forward declarations
template <typename ChannelPtr, typename ColorSpace>
struct planar_pixel_iterator;
@@ -374,7 +355,7 @@ void fill(boost::gil::iterator_from_2d<IL> first, boost::gil::iterator_from_2d<I
std::ptrdiff_t n=last-first;
while (n>0) {
std::ptrdiff_t numToDo=std::min<const std::ptrdiff_t>(n,(std::ptrdiff_t)(first.width()-first.x_pos()));
- fill_n(first.x(), numToDo, val);
+ std::fill_n(first.x(), numToDo, val);
first+=numToDo;
n-=numToDo;
}
@@ -765,7 +746,7 @@ F for_each_pixel(const V& img, F fun) {
return std::for_each(img.begin().x(), img.end().x(), fun);
} else {
for (std::ptrdiff_t y=0; y<img.height(); ++y)
- fun = std::for_each(img.row_begin(y),img.row_end(y),fun);
+ std::for_each(img.row_begin(y),img.row_end(y),fun);
return fun;
}
}
@@ -1034,8 +1015,4 @@ F transform_pixel_positions(const View1& src1,const View2& src2,const View3& dst
}
} } // namespace boost::gil
-//#ifdef _MSC_VER
-//#pragma warning(pop)
-//#endif
-
#endif
diff --git a/boost/gil/bit_aligned_pixel_iterator.hpp b/boost/gil/bit_aligned_pixel_iterator.hpp
index 6427d46cd2..1f8ece424b 100644
--- a/boost/gil/bit_aligned_pixel_iterator.hpp
+++ b/boost/gil/bit_aligned_pixel_iterator.hpp
@@ -1,38 +1,26 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_BIT_ALIGNED_PIXEL_ITERATOR_HPP
-#define GIL_BIT_ALIGNED_PIXEL_ITERATOR_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222)
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 28, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <functional>
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_BIT_ALIGNED_PIXEL_ITERATOR_HPP
+#define BOOST_GIL_BIT_ALIGNED_PIXEL_ITERATOR_HPP
+
+#include <boost/gil/bit_aligned_pixel_reference.hpp>
+#include <boost/gil/pixel_iterator.hpp>
#include <boost/config.hpp>
#include <boost/iterator/iterator_facade.hpp>
-#include "gil_config.hpp"
-#include "bit_aligned_pixel_reference.hpp"
-#include "pixel_iterator.hpp"
+#include <functional>
namespace boost { namespace gil {
+/// A model of a heterogeneous pixel that is not byte aligned.
+/// Examples are bitmap (1-bit pixels) or 6-bit RGB (222).
+
/// \defgroup PixelIteratorNonAlignedPixelIterator bit_aligned_pixel_iterator
/// \ingroup PixelIteratorModel
/// \brief An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept
diff --git a/boost/gil/bit_aligned_pixel_reference.hpp b/boost/gil/bit_aligned_pixel_reference.hpp
index 219f6d5369..35f85f8043 100644
--- a/boost/gil/bit_aligned_pixel_reference.hpp
+++ b/boost/gil/bit_aligned_pixel_reference.hpp
@@ -1,28 +1,15 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://stlab.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_BIT_ALIGNED_PIXEL_REFERENCE_HPP
-#define GIL_BIT_ALIGNED_PIXEL_REFERENCE_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief A model of a heterogeneous pixel that is not byte aligned. Examples are bitmap (1-bit pixels) or 6-bit RGB (222)
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 28, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_BIT_ALIGNED_PIXEL_REFERENCE_HPP
+#define BOOST_GIL_BIT_ALIGNED_PIXEL_REFERENCE_HPP
-#include <functional>
+#include <boost/gil/pixel.hpp>
+#include <boost/gil/channel.hpp>
#include <boost/config.hpp>
#include <boost/mpl/accumulate.hpp>
@@ -33,18 +20,19 @@
#include <boost/mpl/push_back.hpp>
#include <boost/mpl/vector.hpp>
-#include "gil_config.hpp"
-#include "pixel.hpp"
-#include "channel.hpp"
+#include <functional>
namespace boost { namespace gil {
+/// A model of a heterogeneous pixel that is not byte aligned.
+/// Examples are bitmap (1-bit pixels) or 6-bit RGB (222).
+
/////////////////////////////
// bit_range
//
// Represents a range of bits that can span multiple consecutive bytes. The range has a size fixed at compile time, but the offset is specified at run time.
/////////////////////////////
-
+
template <int RangeSize, bool Mutable>
class bit_range {
public:
@@ -57,7 +45,7 @@ private:
public:
bit_range() : _current_byte(NULL), _bit_offset(0) {}
- bit_range(byte_t* current_byte, int bit_offset) : _current_byte(current_byte), _bit_offset(bit_offset) { assert(bit_offset>=0 && bit_offset<8); }
+ bit_range(byte_t* current_byte, int bit_offset) : _current_byte(current_byte), _bit_offset(bit_offset) { assert(bit_offset>=0 && bit_offset<8); }
bit_range(const bit_range& br) : _current_byte(br._current_byte), _bit_offset(br._bit_offset) {}
template <bool M> bit_range(const bit_range<RangeSize,M>& br) : _current_byte(br._current_byte), _bit_offset(br._bit_offset) {}
@@ -89,12 +77,12 @@ public:
};
-/// \defgroup ColorBaseModelNonAlignedPixel bit_aligned_pixel_reference
+/// \defgroup ColorBaseModelNonAlignedPixel bit_aligned_pixel_reference
/// \ingroup ColorBaseModel
/// \brief A heterogeneous color base representing pixel that may not be byte aligned, i.e. it may correspond to a bit range that does not start/end at a byte boundary. Models ColorBaseConcept.
/**
-\defgroup PixelModelNonAlignedPixel bit_aligned_pixel_reference
+\defgroup PixelModelNonAlignedPixel bit_aligned_pixel_reference
\ingroup PixelModel
\brief A heterogeneous pixel reference used to represent non-byte-aligned pixels. Models PixelConcept
@@ -107,7 +95,7 @@ typedef const bit_aligned_pixel_reference<unsigned char, mpl::vector3_c<int,1,2,
// create the pixel reference at bit offset 2
// (i.e. red = [2], green = [3,4], blue = [5,6,7] bits)
-rgb123_ref_t ref(&data, 2);
+rgb123_ref_t ref(&data, 2);
get_color(ref, red_t()) = 1;
assert(data == 0x04);
get_color(ref, green_t()) = 3;
@@ -120,12 +108,12 @@ assert(data == 0xFC);
/// \brief Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models ColorBaseConcept, PixelConcept, PixelBasedConcept
template <typename BitField,
typename ChannelBitSizes, // MPL integral vector defining the number of bits for each channel. For example, for 565RGB, vector_c<int,5,6,5>
- typename Layout,
+ typename Layout,
bool IsMutable>
struct bit_aligned_pixel_reference {
BOOST_STATIC_CONSTANT(int, bit_size = (mpl::accumulate<ChannelBitSizes, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value));
typedef boost::gil::bit_range<bit_size,IsMutable> bit_range_t;
- typedef BitField bitfield_t;
+ typedef BitField bitfield_t;
typedef typename mpl::if_c<IsMutable,unsigned char*,const unsigned char*>::type data_ptr_t;
typedef Layout layout_t;
@@ -153,9 +141,9 @@ struct bit_aligned_pixel_reference {
}
const bit_aligned_pixel_reference& operator=(const bit_aligned_pixel_reference& p) const { static_copy(p,*this); return *this; }
- template <typename P> const bit_aligned_pixel_reference& operator=(const P& p) const { assign(p, mpl::bool_<is_pixel<P>::value>()); return *this; }
+ template <typename P> const bit_aligned_pixel_reference& operator=(const P& p) const { assign(p, mpl::bool_<is_pixel<P>::value>()); return *this; }
- template <typename P> bool operator==(const P& p) const { return equal(p, mpl::bool_<is_pixel<P>::value>()); }
+ template <typename P> bool operator==(const P& p) const { return equal(p, mpl::bool_<is_pixel<P>::value>()); }
template <typename P> bool operator!=(const P& p) const { return !(*this==p); }
const bit_aligned_pixel_reference* operator->() const { return this; }
@@ -167,8 +155,8 @@ private:
template <typename Pixel> static void check_compatible() { gil_function_requires<PixelsCompatibleConcept<Pixel,bit_aligned_pixel_reference> >(); }
- template <typename Pixel> void assign(const Pixel& p, mpl::true_) const { check_compatible<Pixel>(); static_copy(p,*this); }
- template <typename Pixel> bool equal(const Pixel& p, mpl::true_) const { check_compatible<Pixel>(); return static_equal(*this,p); }
+ template <typename Pixel> void assign(const Pixel& p, mpl::true_) const { check_compatible<Pixel>(); static_copy(p,*this); }
+ template <typename Pixel> bool equal(const Pixel& p, mpl::true_) const { check_compatible<Pixel>(); return static_equal(*this,p); }
private:
static void check_gray() { BOOST_STATIC_ASSERT((is_same<typename Layout::color_space_t, gray_t>::value)); }
@@ -180,24 +168,24 @@ private:
// ColorBasedConcept
/////////////////////////////
-template <typename BitField, typename ChannelBitSizes, typename L, bool IsMutable, int K>
+template <typename BitField, typename ChannelBitSizes, typename L, bool IsMutable, int K>
struct kth_element_type<bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,IsMutable>, K> {
public:
typedef const packed_dynamic_channel_reference<BitField, mpl::at_c<ChannelBitSizes,K>::type::value, IsMutable> type;
};
-template <typename B, typename C, typename L, bool M, int K>
+template <typename B, typename C, typename L, bool M, int K>
struct kth_element_reference_type<bit_aligned_pixel_reference<B,C,L,M>, K>
: public kth_element_type<bit_aligned_pixel_reference<B,C,L,M>, K> {};
-template <typename B, typename C, typename L, bool M, int K>
+template <typename B, typename C, typename L, bool M, int K>
struct kth_element_const_reference_type<bit_aligned_pixel_reference<B,C,L,M>, K>
: public kth_element_type<bit_aligned_pixel_reference<B,C,L,M>, K> {};
namespace detail {
// returns sum of IntegralVector[0] ... IntegralVector[K-1]
- template <typename IntegralVector, int K>
+ template <typename IntegralVector, int K>
struct sum_k : public mpl::plus<sum_k<IntegralVector,K-1>, typename mpl::at_c<IntegralVector,K-1>::type > {};
template <typename IntegralVector> struct sum_k<IntegralVector,0> : public mpl::int_<0> {};
@@ -206,7 +194,7 @@ namespace detail {
// at_c required by MutableColorBaseConcept
template <int K, typename BitField, typename ChannelBitSizes, typename L, bool Mutable> inline
typename kth_element_reference_type<bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>,K>::type
-at_c(const bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>& p) {
+at_c(const bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>& p) {
typedef bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable> pixel_t;
typedef typename kth_element_reference_type<pixel_t,K>::type channel_t;
typedef typename pixel_t::bit_range_t bit_range_t;
@@ -214,7 +202,7 @@ at_c(const bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>& p) {
bit_range_t bit_range(p.bit_range());
bit_range.bit_advance(detail::sum_k<ChannelBitSizes,K>::value);
- return channel_t(bit_range.current_byte(), bit_range.bit_offset());
+ return channel_t(bit_range.current_byte(), bit_range.bit_offset());
}
/////////////////////////////
@@ -222,7 +210,7 @@ at_c(const bit_aligned_pixel_reference<BitField,ChannelBitSizes,L,Mutable>& p) {
/////////////////////////////
/// Metafunction predicate that flags bit_aligned_pixel_reference as a model of PixelConcept. Required by PixelConcept
-template <typename B, typename C, typename L, bool M>
+template <typename B, typename C, typename L, bool M>
struct is_pixel<bit_aligned_pixel_reference<B,C,L,M> > : public mpl::true_{};
/////////////////////////////
@@ -232,15 +220,15 @@ struct is_pixel<bit_aligned_pixel_reference<B,C,L,M> > : public mpl::true_{};
template <typename B, typename C, typename L, bool M>
struct color_space_type<bit_aligned_pixel_reference<B,C,L,M> > {
typedef typename L::color_space_t type;
-};
+};
template <typename B, typename C, typename L, bool M>
struct channel_mapping_type<bit_aligned_pixel_reference<B,C,L,M> > {
typedef typename L::channel_mapping_t type;
-};
+};
template <typename B, typename C, typename L, bool M>
-struct is_planar<bit_aligned_pixel_reference<B,C,L,M> > : mpl::false_ {};
+struct is_planar<bit_aligned_pixel_reference<B,C,L,M> > : mpl::false_ {};
/////////////////////////////
// pixel_reference_type
@@ -256,7 +244,7 @@ namespace detail {
}
// Constructs a homogeneous bit_aligned_pixel_reference given a channel reference
-template <typename BitField, int NumBits, typename Layout>
+template <typename BitField, int NumBits, typename Layout>
struct pixel_reference_type<const packed_dynamic_channel_reference<BitField,NumBits,false>, Layout, false, false> {
private:
typedef typename mpl::size<typename Layout::color_space_t>::type size_t;
@@ -266,7 +254,7 @@ public:
};
// Same but for the mutable case. We cannot combine the mutable and read-only cases because this triggers ambiguity
-template <typename BitField, int NumBits, typename Layout>
+template <typename BitField, int NumBits, typename Layout>
struct pixel_reference_type<const packed_dynamic_channel_reference<BitField,NumBits,true>, Layout, false, true> {
private:
typedef typename mpl::size<typename Layout::color_space_t>::type size_t;
@@ -279,27 +267,27 @@ public:
namespace std {
// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-// swap with 'left bias':
+// swap with 'left bias':
// - swap between proxy and anything
// - swap between value type and proxy
// - swap between proxy and proxy
// Having three overloads allows us to swap between different (but compatible) models of PixelConcept
template <typename B, typename C, typename L, typename R> inline
-void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, R& y) {
- boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
+void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, R& y) {
+ boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
}
template <typename B, typename C, typename L> inline
-void swap(typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type& x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
- boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
+void swap(typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type& x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
+ boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
}
template <typename B, typename C, typename L> inline
-void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
- boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
+void swap(const boost::gil::bit_aligned_pixel_reference<B,C,L,true> x, const boost::gil::bit_aligned_pixel_reference<B,C,L,true> y) {
+ boost::gil::swap_proxy<typename boost::gil::bit_aligned_pixel_reference<B,C,L,true>::value_type>(x,y);
}
} // namespace std
#endif
diff --git a/boost/gil/channel.hpp b/boost/gil/channel.hpp
index 84ed48bf8c..0ec67aeea6 100644
--- a/boost/gil/channel.hpp
+++ b/boost/gil/channel.hpp
@@ -1,64 +1,78 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://stlab.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_CHANNEL_HPP
-#define GIL_CHANNEL_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Channel utilities
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 6, 2007
-///
-/// Definitions of standard GIL channel models
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <limits>
-#include <cassert>
-#include <cstdint>
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_CHANNEL_HPP
+#define BOOST_GIL_CHANNEL_HPP
+
+#include <boost/gil/utilities.hpp>
#include <boost/config.hpp>
+#include <boost/config/pragma_message.hpp>
#include <boost/integer/integer_mask.hpp>
#include <boost/type_traits/remove_cv.hpp>
-#include "gil_config.hpp"
-#include "utilities.hpp"
+#include <cassert>
+#include <cstdint>
+#include <limits>
+#ifdef BOOST_GIL_DOXYGEN_ONLY
+/// \def BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS
+/// \brief Define to allow unaligned memory access for models of packed channel value.
+/// Theoretically (or historically?) on platforms which support dereferencing on
+/// non-word memory boundary, unaligned access may result in performance improvement.
+/// \warning Unfortunately, this optimization may be a C/C++ strict aliasing rules
+/// violation, if accessed data buffer has effective type that cannot be aliased
+/// without leading to undefined behaviour.
+#define BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS
+#endif
-namespace boost { namespace gil {
+#ifdef BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS
+#if defined(sun) || defined(__sun) || \ // SunOS
+ defined(__osf__) || defined(__osf) || \ // Tru64
+ defined(_hpux) || defined(hpux) || \ // HP-UX
+ defined(__arm__) || defined(__ARM_ARCH) || \ // ARM
+ defined(_AIX) // AIX
+#error Unaligned access strictly disabled for some UNIX platforms or ARM architecture
+#elif defined(__i386__) || defined(__x86_64__) || defined(__vax__)
+ // The check for little-endian architectures that tolerate unaligned memory
+ // accesses is just an optimization. Nothing will break if it fails to detect
+ // a suitable architecture.
+ //
+ // Unfortunately, this optimization may be a C/C++ strict aliasing rules violation
+ // if accessed data buffer has effective type that cannot be aliased
+ // without leading to undefined behaviour.
+BOOST_PRAGMA_MESSAGE("CAUTION: Unaligned access tolerated on little-endian may cause undefined behaviour")
+#else
+#error Unaligned access disabled for unknown platforms and architectures
+#endif
+#endif // defined(BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS)
+namespace boost { namespace gil {
///////////////////////////////////////////
//// channel_traits
-////
+////
//// \ingroup ChannelModel
//// \class channel_traits
//// \brief defines properties of channels, such as their range and associated types
////
//// The channel traits must be defined for every model of ChannelConcept
//// Default traits are provided. For built-in types the default traits use
-//// built-in pointer and reference and the channel range is the physical
+//// built-in pointer and reference and the channel range is the physical
//// range of the type. For classes, the default traits forward the associated types
//// and range to the class.
-////
+////
///////////////////////////////////////////
namespace detail {
template <typename T, bool is_class> struct channel_traits_impl;
// channel traits for custom class
- template <typename T>
+ template <typename T>
struct channel_traits_impl<T, true> {
typedef typename T::value_type value_type;
typedef typename T::reference reference;
@@ -71,7 +85,7 @@ namespace detail {
};
// channel traits implementation for built-in integral or floating point channel type
- template <typename T>
+ template <typename T>
struct channel_traits_impl<T, false> {
typedef T value_type;
typedef T& reference;
@@ -84,7 +98,7 @@ namespace detail {
};
// channel traits implementation for constant built-in scalar or floating point type
- template <typename T>
+ template <typename T>
struct channel_traits_impl<const T, false> : public channel_traits_impl<T, false> {
typedef const T& reference;
typedef const T* pointer;
@@ -103,7 +117,7 @@ struct channel_traits {
typedef ... pointer;
typedef ... const_reference;
typedef ... const_pointer;
-
+
static const bool is_mutable;
static value_type min_value();
static value_type max_value();
@@ -212,12 +226,12 @@ struct float_point_one
namespace detail {
// returns the smallest fast unsigned integral type that has at least NumBits bits
template <int NumBits>
- struct min_fast_uint : public mpl::if_c< (NumBits<=8),
- uint_least8_t,
- typename mpl::if_c< (NumBits<=16),
- uint_least16_t,
- typename mpl::if_c< (NumBits<=32),
- uint_least32_t,
+ struct min_fast_uint : public mpl::if_c< (NumBits<=8),
+ uint_least8_t,
+ typename mpl::if_c< (NumBits<=16),
+ uint_least16_t,
+ typename mpl::if_c< (NumBits<=32),
+ uint_least32_t,
uintmax_t
>::type
>::type
@@ -340,10 +354,10 @@ protected:
typedef typename detail::num_value_fn< NumBits >::type num_value_t;
typedef typename detail::max_value_fn< NumBits >::type max_value_t;
-
+
static const num_value_t num_values = static_cast< num_value_t >( 1 ) << NumBits ;
static const max_value_t max_val = static_cast< max_value_t >( num_values - 1 );
-
+
#if defined(BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS)
const bitfield_t& get_data() const { return *static_cast<const bitfield_t*>(_data_ptr); }
void set_data(const bitfield_t& val) const { *static_cast< bitfield_t*>(_data_ptr) = val; }
@@ -360,7 +374,7 @@ protected:
private:
void set(integer_t value) const { // can this be done faster??
- this->derived().set_unsafe(((value % num_values) + num_values) % num_values);
+ this->derived().set_unsafe(((value % num_values) + num_values) % num_values);
}
integer_t get() const { return derived().get(); }
const Derived& derived() const { return static_cast<const Derived&>(*this); }
@@ -384,19 +398,19 @@ assert(data == 6); // == 3<<1 == 6
*/
template <typename BitField, // A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like std::uint16_t
- int FirstBit, int NumBits,// Defines the sequence of bits in the data value that contain the channel
- bool Mutable> // true if the reference is mutable
+ int FirstBit, int NumBits,// Defines the sequence of bits in the data value that contain the channel
+ bool Mutable> // true if the reference is mutable
class packed_channel_reference;
template <typename BitField, // A type that holds the bits of the pixel from which the channel is referenced. Typically an integral type, like std::uint16_t
- int NumBits, // Defines the sequence of bits in the data value that contain the channel
- bool Mutable> // true if the reference is mutable
+ int NumBits, // Defines the sequence of bits in the data value that contain the channel
+ bool Mutable> // true if the reference is mutable
class packed_dynamic_channel_reference;
/// \ingroup PackedChannelReferenceModel
/// \brief A constant subbyte channel reference whose bit offset is fixed at compile time. Models ChannelConcept
template <typename BitField, int FirstBit, int NumBits>
-class packed_channel_reference<BitField,FirstBit,NumBits,false>
+class packed_channel_reference<BitField,FirstBit,NumBits,false>
: public detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,false>,BitField,NumBits,false> {
typedef detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,false>,BitField,NumBits,false> parent_t;
friend class packed_channel_reference<BitField,FirstBit,NumBits,true>;
@@ -421,7 +435,7 @@ public:
/// \ingroup PackedChannelReferenceModel
/// \brief A mutable subbyte channel reference whose bit offset is fixed at compile time. Models ChannelConcept
template <typename BitField, int FirstBit, int NumBits>
-class packed_channel_reference<BitField,FirstBit,NumBits,true>
+class packed_channel_reference<BitField,FirstBit,NumBits,true>
: public detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,true>,BitField,NumBits,true> {
typedef detail::packed_channel_reference_base<packed_channel_reference<BitField,FirstBit,NumBits,true>,BitField,NumBits,true> parent_t;
friend class packed_channel_reference<BitField,FirstBit,NumBits,false>;
@@ -455,7 +469,7 @@ private:
namespace std {
// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-// swap with 'left bias':
+// swap with 'left bias':
// - swap between proxy and anything
// - swap between value type and proxy
// - swap between proxy and proxy
@@ -463,24 +477,23 @@ namespace std {
/// \ingroup PackedChannelReferenceModel
/// \brief swap for packed_channel_reference
template <typename BF, int FB, int NB, bool M, typename R> inline
-void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, R& y) {
- boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
+void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, R& y) {
+ boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
}
/// \ingroup PackedChannelReferenceModel
/// \brief swap for packed_channel_reference
template <typename BF, int FB, int NB, bool M> inline
-void swap(typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type& x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
- boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
+void swap(typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type& x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
+ boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
}
-
/// \ingroup PackedChannelReferenceModel
/// \brief swap for packed_channel_reference
template <typename BF, int FB, int NB, bool M> inline
-void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
- boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
+void swap(const boost::gil::packed_channel_reference<BF,FB,NB,M> x, const boost::gil::packed_channel_reference<BF,FB,NB,M> y) {
+ boost::gil::swap_proxy<typename boost::gil::packed_channel_reference<BF,FB,NB,M>::value_type>(x,y);
}
} // namespace std
@@ -506,7 +519,7 @@ assert(data == 6); // == (3<<1)
/// \brief Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept
/// Same as packed_channel_reference, except that the offset is a runtime parameter
/// \ingroup PackedChannelDynamicReferenceModel
-template <typename BitField, int NumBits>
+template <typename BitField, int NumBits>
class packed_dynamic_channel_reference<BitField,NumBits,false>
: public detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,false>,BitField,NumBits,false> {
typedef detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,false>,BitField,NumBits,false> parent_t;
@@ -526,7 +539,7 @@ public:
unsigned first_bit() const { return _first_bit; }
- integer_t get() const {
+ integer_t get() const {
const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) <<_first_bit;
return static_cast< integer_t >(( this->get_data()&channel_mask ) >> _first_bit );
}
@@ -535,7 +548,7 @@ public:
/// \brief Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept
/// Same as packed_channel_reference, except that the offset is a runtime parameter
/// \ingroup PackedChannelDynamicReferenceModel
-template <typename BitField, int NumBits>
+template <typename BitField, int NumBits>
class packed_dynamic_channel_reference<BitField,NumBits,true>
: public detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,true>,BitField,NumBits,true> {
typedef detail::packed_channel_reference_base<packed_dynamic_channel_reference<BitField,NumBits,true>,BitField,NumBits,true> parent_t;
@@ -556,26 +569,26 @@ public:
const packed_dynamic_channel_reference& operator=(const const_reference& ref) const { set_unsafe(ref.get()); return *this; }
template <typename BitField1, int FirstBit1, bool Mutable1>
- const packed_dynamic_channel_reference& operator=(const packed_channel_reference<BitField1, FirstBit1, NumBits, Mutable1>& ref) const
+ const packed_dynamic_channel_reference& operator=(const packed_channel_reference<BitField1, FirstBit1, NumBits, Mutable1>& ref) const
{ set_unsafe(ref.get()); return *this; }
unsigned first_bit() const { return _first_bit; }
- integer_t get() const {
+ integer_t get() const {
const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) << _first_bit;
return static_cast< integer_t >(( this->get_data()&channel_mask ) >> _first_bit );
}
- void set_unsafe(integer_t value) const {
+ void set_unsafe(integer_t value) const {
const BitField channel_mask = static_cast< integer_t >( parent_t::max_val ) << _first_bit;
- this->set_data((this->get_data() & ~channel_mask) | value<<_first_bit);
+ this->set_data((this->get_data() & ~channel_mask) | value<<_first_bit);
}
};
} } // namespace boost::gil
namespace std {
// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
-// swap with 'left bias':
+// swap with 'left bias':
// - swap between proxy and anything
// - swap between value type and proxy
// - swap between proxy and proxy
@@ -584,24 +597,23 @@ namespace std {
/// \ingroup PackedChannelDynamicReferenceModel
/// \brief swap for packed_dynamic_channel_reference
template <typename BF, int NB, bool M, typename R> inline
-void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, R& y) {
- boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
+void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, R& y) {
+ boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
}
/// \ingroup PackedChannelDynamicReferenceModel
/// \brief swap for packed_dynamic_channel_reference
template <typename BF, int NB, bool M> inline
-void swap(typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type& x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
- boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
+void swap(typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type& x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
+ boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
}
-
/// \ingroup PackedChannelDynamicReferenceModel
/// \brief swap for packed_dynamic_channel_reference
template <typename BF, int NB, bool M> inline
-void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
- boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
+void swap(const boost::gil::packed_dynamic_channel_reference<BF,NB,M> x, const boost::gil::packed_dynamic_channel_reference<BF,NB,M> y) {
+ boost::gil::swap_proxy<typename boost::gil::packed_dynamic_channel_reference<BF,NB,M>::value_type>(x,y);
}
} // namespace std
@@ -616,7 +628,7 @@ struct is_integral<gil::packed_channel_reference<BitField,FirstBit,NumBits,IsMut
template <typename BitField, int NumBits, bool IsMutable>
struct is_integral<gil::packed_dynamic_channel_reference<BitField,NumBits,IsMutable> > : public mpl::true_ {};
-template <typename BaseChannelValue, typename MinVal, typename MaxVal>
+template <typename BaseChannelValue, typename MinVal, typename MaxVal>
struct is_integral<gil::scoped_channel_value<BaseChannelValue,MinVal,MaxVal> > : public is_integral<BaseChannelValue> {};
} // namespace boost
diff --git a/boost/gil/channel_algorithm.hpp b/boost/gil/channel_algorithm.hpp
index 20cc8a78ac..31456575a5 100644
--- a/boost/gil/channel_algorithm.hpp
+++ b/boost/gil/channel_algorithm.hpp
@@ -1,48 +1,26 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_GIL_CHANNEL_ALGORITHM_HPP
+#define BOOST_GIL_GIL_CHANNEL_ALGORITHM_HPP
+
+#include <boost/gil/channel.hpp>
+#include <boost/gil/promote_integral.hpp>
+#include <boost/gil/typedefs.hpp>
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_CHANNEL_ALGORITHM_HPP
-#define GIL_CHANNEL_ALGORITHM_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Channel algorithms
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 6, 2007
-///
-/// Definitions of standard GIL 8-bit, 16-bit, 32-bit channels
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/config.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/integral_c.hpp>
#include <boost/mpl/greater.hpp>
#include <boost/type_traits.hpp>
-#include "gil_config.hpp"
-#include "channel.hpp"
-#include "promote_integral.hpp"
-#include "typedefs.hpp"
-
#include <limits>
namespace boost { namespace gil {
-//#ifdef _MSC_VER
-//#pragma warning(push)
-//#pragma warning(disable: 4309) // disable truncation of constant value warning (using -1 to get the max value of an integral)
-//#endif
-
namespace detail {
// some forward declarations
@@ -541,10 +519,6 @@ inline typename channel_traits<Channel>::value_type channel_invert(Channel x) {
return inverted_x;
}
-//#ifdef _MSC_VER
-//#pragma warning(pop)
-//#endif
-
} } // namespace boost::gil
#endif
diff --git a/boost/gil/cmyk.hpp b/boost/gil/cmyk.hpp
index 6efeeef438..0fd3f40984 100644
--- a/boost/gil/cmyk.hpp
+++ b/boost/gil/cmyk.hpp
@@ -1,34 +1,19 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_CMYK_HPP
+#define BOOST_GIL_CMYK_HPP
+
+#include <boost/gil/metafunctions.hpp>
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_CMYK_H
-#define GIL_CMYK_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for CMYK color space and variants
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on October 10, 2007
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstddef>
-
-#include <boost/config.hpp>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/vector_c.hpp>
-#include "gil_config.hpp"
-#include "metafunctions.hpp"
+#include <cstddef>
namespace boost { namespace gil {
diff --git a/boost/gil/color_base.hpp b/boost/gil/color_base.hpp
index 1d43cc28ee..6ea5dbc7e4 100644
--- a/boost/gil/color_base.hpp
+++ b/boost/gil/color_base.hpp
@@ -1,28 +1,15 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://stlab.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_COLOR_BASE_HPP
-#define GIL_COLOR_BASE_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel class and related utilities
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 6, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cassert>
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_COLOR_BASE_HPP
+#define BOOST_GIL_COLOR_BASE_HPP
+
+#include <boost/gil/utilities.hpp>
+#include <boost/gil/concepts.hpp>
#include <boost/config.hpp>
#include <boost/mpl/range_c.hpp>
@@ -31,9 +18,7 @@
#include <boost/type_traits.hpp>
#include <boost/utility/enable_if.hpp>
-#include "gil_config.hpp"
-#include "utilities.hpp"
-#include "gil_concept.hpp"
+#include <cassert>
namespace boost { namespace gil {
diff --git a/boost/gil/color_base_algorithm.hpp b/boost/gil/color_base_algorithm.hpp
index 0a9f52be5e..2a81cc9b70 100644
--- a/boost/gil/color_base_algorithm.hpp
+++ b/boost/gil/color_base_algorithm.hpp
@@ -1,42 +1,26 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_COLOR_BASE_ALGORITHM_HPP
-#define GIL_COLOR_BASE_ALGORITHM_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel related algorithms
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 16, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <algorithm>
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_COLOR_BASE_ALGORITHM_HPP
+#define BOOST_GIL_COLOR_BASE_ALGORITHM_HPP
+
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/utilities.hpp>
#include <boost/config.hpp>
+#include <boost/mpl/at.hpp>
+#include <boost/mpl/contains.hpp>
#include <boost/type_traits.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/at.hpp>
-#include "gil_config.hpp"
-#include "gil_concept.hpp"
-#include "utilities.hpp"
+#include <algorithm>
namespace boost { namespace gil {
-
///////////////////////////////////////
///
/// size: Semantic channel size
@@ -88,7 +72,7 @@ bgr432_pixel_t red_pixel(0,0,0);
// Set the red channel to 100%
red_channel_reference_t red_channel = semantic_at_c<0>(red_pixel);
-red_channel = channel_traits<red_channel_reference_t>::max_value();
+red_channel = channel_traits<red_channel_reference_t>::max_value();
\endcode
*/
@@ -119,16 +103,16 @@ template <typename ColorBase, int K> struct kth_semantic_element_const_reference
/// \ingroup ColorBaseAlgorithmSemanticAtC
template <int K, typename ColorBase> inline
typename disable_if<is_const<ColorBase>,typename kth_semantic_element_reference_type<ColorBase,K>::type>::type
-semantic_at_c(ColorBase& p) {
- return kth_semantic_element_reference_type<ColorBase,K>::get(p);
+semantic_at_c(ColorBase& p) {
+ return kth_semantic_element_reference_type<ColorBase,K>::get(p);
}
/// \brief A constant accessor to the K-th semantic element of a color base
/// \ingroup ColorBaseAlgorithmSemanticAtC
template <int K, typename ColorBase> inline
typename kth_semantic_element_const_reference_type<ColorBase,K>::type
-semantic_at_c(const ColorBase& p) {
- return kth_semantic_element_const_reference_type<ColorBase,K>::get(p);
+semantic_at_c(const ColorBase& p) {
+ return kth_semantic_element_const_reference_type<ColorBase,K>::get(p);
}
///////////////////////////////////////
@@ -151,7 +135,7 @@ void set_red_to_max(Pixel& pixel) {
BOOST_STATIC_ASSERT((contains_color<Pixel, red_t>::value));
typedef typename color_element_type<Pixel, red_t>::type red_channel_t;
- get_color(pixel, red_t()) = channel_traits<red_channel_t>::max_value();
+ get_color(pixel, red_t()) = channel_traits<red_channel_t>::max_value();
}
\endcode
*/
@@ -181,14 +165,14 @@ struct color_element_const_reference_type : public kth_semantic_element_const_re
/// \brief Mutable accessor to the element associated with a given color name
/// \ingroup ColorBaseAlgorithmColor
-template <typename ColorBase, typename Color>
+template <typename ColorBase, typename Color>
typename color_element_reference_type<ColorBase,Color>::type get_color(ColorBase& cb, Color=Color()) {
return color_element_reference_type<ColorBase,Color>::get(cb);
}
/// \brief Constant accessor to the element associated with a given color name
/// \ingroup ColorBaseAlgorithmColor
-template <typename ColorBase, typename Color>
+template <typename ColorBase, typename Color>
typename color_element_const_reference_type<ColorBase,Color>::type get_color(const ColorBase& cb, Color=Color()) {
return color_element_const_reference_type<ColorBase,Color>::get(cb);
}
@@ -230,64 +214,78 @@ namespace detail {
// compile-time recursion for per-element operations on color bases
template <int N>
-struct element_recursion {
- //static_equal
+struct element_recursion
+{
+
+#if defined(BOOST_GCC)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#pragma GCC diagnostic ignored "-Wfloat-equal"
+#endif
template <typename P1,typename P2>
- static bool static_equal(const P1& p1, const P2& p2) {
+ static bool static_equal(const P1& p1, const P2& p2)
+ {
return element_recursion<N-1>::static_equal(p1,p2) &&
- semantic_at_c<N-1>(p1)==semantic_at_c<N-1>(p2);
+ semantic_at_c<N-1>(p1)==semantic_at_c<N-1>(p2);
}
- //static_copy
+
template <typename P1,typename P2>
- static void static_copy(const P1& p1, P2& p2) {
+ static void static_copy(const P1& p1, P2& p2)
+ {
element_recursion<N-1>::static_copy(p1,p2);
semantic_at_c<N-1>(p2)=semantic_at_c<N-1>(p1);
}
- //static_fill
+
template <typename P,typename T2>
- static void static_fill(P& p, T2 v) {
+ static void static_fill(P& p, T2 v)
+ {
element_recursion<N-1>::static_fill(p,v);
semantic_at_c<N-1>(p)=v;
}
- //static_generate
- template <typename Dst,typename Op>
- static void static_generate(Dst& dst, Op op) {
+
+ template <typename Dst,typename Op>
+ static void static_generate(Dst& dst, Op op)
+ {
element_recursion<N-1>::static_generate(dst,op);
semantic_at_c<N-1>(dst)=op();
}
+#if defined(BOOST_GCC)
+#pragma GCC diagnostic pop
+#endif
+
//static_for_each with one source
- template <typename P1,typename Op>
+ template <typename P1,typename Op>
static Op static_for_each(P1& p1, Op op) {
Op op2(element_recursion<N-1>::static_for_each(p1,op));
op2(semantic_at_c<N-1>(p1));
return op2;
}
- template <typename P1,typename Op>
+ template <typename P1,typename Op>
static Op static_for_each(const P1& p1, Op op) {
Op op2(element_recursion<N-1>::static_for_each(p1,op));
op2(semantic_at_c<N-1>(p1));
return op2;
}
//static_for_each with two sources
- template <typename P1,typename P2,typename Op>
+ template <typename P1,typename P2,typename Op>
static Op static_for_each(P1& p1, P2& p2, Op op) {
Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
return op2;
}
- template <typename P1,typename P2,typename Op>
+ template <typename P1,typename P2,typename Op>
static Op static_for_each(P1& p1, const P2& p2, Op op) {
Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
return op2;
}
- template <typename P1,typename P2,typename Op>
+ template <typename P1,typename P2,typename Op>
static Op static_for_each(const P1& p1, P2& p2, Op op) {
Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
return op2;
}
- template <typename P1,typename P2,typename Op>
+ template <typename P1,typename P2,typename Op>
static Op static_for_each(const P1& p1, const P2& p2, Op op) {
Op op2(element_recursion<N-1>::static_for_each(p1,p2,op));
op2(semantic_at_c<N-1>(p1), semantic_at_c<N-1>(p2));
@@ -343,13 +341,13 @@ struct element_recursion {
return op2;
}
//static_transform with one source
- template <typename P1,typename Dst,typename Op>
+ template <typename P1,typename Dst,typename Op>
static Op static_transform(P1& src, Dst& dst, Op op) {
Op op2(element_recursion<N-1>::static_transform(src,dst,op));
semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src));
return op2;
}
- template <typename P1,typename Dst,typename Op>
+ template <typename P1,typename Dst,typename Op>
static Op static_transform(const P1& src, Dst& dst, Op op) {
Op op2(element_recursion<N-1>::static_transform(src,dst,op));
semantic_at_c<N-1>(dst)=op2(semantic_at_c<N-1>(src));
@@ -425,16 +423,16 @@ template <int N>
struct min_max_recur {
template <typename P> static typename element_const_reference_type<P>::type max_(const P& p) {
return mutable_max(min_max_recur<N-1>::max_(p),semantic_at_c<N-1>(p));
- }
+ }
template <typename P> static typename element_reference_type<P>::type max_( P& p) {
return mutable_max(min_max_recur<N-1>::max_(p),semantic_at_c<N-1>(p));
- }
+ }
template <typename P> static typename element_const_reference_type<P>::type min_(const P& p) {
return mutable_min(min_max_recur<N-1>::min_(p),semantic_at_c<N-1>(p));
- }
+ }
template <typename P> static typename element_reference_type<P>::type min_( P& p) {
return mutable_min(min_max_recur<N-1>::min_(p),semantic_at_c<N-1>(p));
- }
+ }
};
// termination condition of the compile-time recursion for min/max element
@@ -481,7 +479,7 @@ typename element_reference_type<P>::type static_min( P& p) { return d
/// \}
/**
-\defgroup ColorBaseAlgorithmEqual static_equal
+\defgroup ColorBaseAlgorithmEqual static_equal
\ingroup ColorBaseAlgorithm
\brief Equivalent to std::equal. Pairs the elements semantically
@@ -504,7 +502,7 @@ bool static_equal(const P1& p1, const P2& p2) { return detail::element_recursion
/// \}
/**
-\defgroup ColorBaseAlgorithmCopy static_copy
+\defgroup ColorBaseAlgorithmCopy static_copy
\ingroup ColorBaseAlgorithm
\brief Equivalent to std::copy. Pairs the elements semantically
@@ -527,7 +525,7 @@ void static_copy(const Src& src, Dst& dst) { detail::element_recursion<size<Dst
/// \}
/**
-\defgroup ColorBaseAlgorithmFill static_fill
+\defgroup ColorBaseAlgorithmFill static_fill
\ingroup ColorBaseAlgorithm
\brief Equivalent to std::fill.
@@ -545,7 +543,7 @@ void static_fill(P& p, const V& v) { detail::element_recursion<size<P>::value>:
/// \}
/**
-\defgroup ColorBaseAlgorithmGenerate static_generate
+\defgroup ColorBaseAlgorithmGenerate static_generate
\ingroup ColorBaseAlgorithm
\brief Equivalent to std::generate.
@@ -571,7 +569,7 @@ void static_generate(P1& dst,Op op) { detail::element_recur
/// \}
/**
-\defgroup ColorBaseAlgorithmTransform static_transform
+\defgroup ColorBaseAlgorithmTransform static_transform
\ingroup ColorBaseAlgorithm
\brief Equivalent to std::transform. Pairs the elements semantically
@@ -621,15 +619,15 @@ Op static_transform(const P2& p2,const P3& p3,Dst& dst,Op op) { return detail::e
/// \}
/**
-\defgroup ColorBaseAlgorithmForEach static_for_each
+\defgroup ColorBaseAlgorithmForEach static_for_each
\ingroup ColorBaseAlgorithm
\brief Equivalent to std::for_each. Pairs the elements semantically
Example: Use static_for_each to increment a planar pixel iterator
\code
-struct increment {
- template <typename Incrementable>
- void operator()(Incrementable& x) const { ++x; }
+struct increment {
+ template <typename Incrementable>
+ void operator()(Incrementable& x) const { ++x; }
};
template <typename ColorBase>
diff --git a/boost/gil/color_convert.hpp b/boost/gil/color_convert.hpp
index 841c45f14d..2a5a30e5fe 100644
--- a/boost/gil/color_convert.hpp
+++ b/boost/gil/color_convert.hpp
@@ -1,46 +1,31 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_COLOR_CONVERT_HPP
-#define GIL_COLOR_CONVERT_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief GIL default color space conversions
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on January 30, 2007
-///
-/// Support for fast and simple color conversion. Accurate color conversion using color
-/// profiles can be supplied separately in a dedicated module
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_COLOR_CONVERT_HPP
+#define BOOST_GIL_COLOR_CONVERT_HPP
+
+#include <boost/gil/channel_algorithm.hpp>
+#include <boost/gil/cmyk.hpp>
+#include <boost/gil/color_base_algorithm.hpp>
+#include <boost/gil/gray.hpp>
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/pixel.hpp>
+#include <boost/gil/rgb.hpp>
+#include <boost/gil/rgba.hpp>
+#include <boost/gil/utilities.hpp>
+
+#include <algorithm>
#include <functional>
-#include <boost/config.hpp>
-
-#include "gil_config.hpp"
-#include "channel_algorithm.hpp"
-#include "pixel.hpp"
-#include "gray.hpp"
-#include "rgb.hpp"
-#include "rgba.hpp"
-#include "cmyk.hpp"
-#include "metafunctions.hpp"
-#include "utilities.hpp"
-#include "color_base_algorithm.hpp"
-
namespace boost { namespace gil {
+/// Support for fast and simple color conversion.
+/// Accurate color conversion using color profiles can be supplied separately in a dedicated module.
+
// Forward-declare
template <typename P> struct channel_type;
diff --git a/boost/gil/gil_concept.hpp b/boost/gil/concepts.hpp
index 2366683705..89baf766a5 100644
--- a/boost/gil/gil_concept.hpp
+++ b/boost/gil/concepts.hpp
@@ -1,35 +1,25 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_CONCEPT_H
-#define GIL_CONCEPT_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Concept check classes for GIL concepts
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_CONCEPTS_HPP
+#define BOOST_GIL_CONCEPTS_HPP
-#include <functional>
-#include "gil_config.hpp"
-#include <boost/type_traits.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/config.hpp>
#include <boost/concept_check.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/iterator/iterator_concepts.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/size.hpp>
+#include <boost/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+
+#include <cstdint>
+#include <iterator>
+#include <utility>
namespace boost { namespace gil {
@@ -38,8 +28,8 @@ namespace boost { namespace gil {
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#endif
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
#pragma warning(disable:4510) //default constructor could not be generated
#pragma warning(disable:4512) //assignment operator could not be generated
#pragma warning(disable:4610) //can never be instantiated - user defined constructor required
@@ -49,9 +39,9 @@ template <typename T> struct channel_traits;
template <typename P> struct is_pixel;
template <typename dstT, typename srcT>
typename channel_traits<dstT>::value_type channel_convert(const srcT& val);
-template <typename T> class point2;
-template <std::size_t K, typename T> const T& axis_value(const point2<T>& p);
-template <std::size_t K, typename T> T& axis_value( point2<T>& p);
+template <typename T> class point;
+template <std::size_t K, typename T> const T& axis_value(point<T> const& p);
+template <std::size_t K, typename T> T& axis_value(point<T>& p);
template <typename ColorBase, int K> struct kth_element_type;
template <typename ColorBase, int K> struct kth_element_reference_type;
template <typename ColorBase, int K> struct kth_element_const_reference_type;
@@ -82,11 +72,11 @@ typename add_reference<typename add_const<E>::type>::type at_c(const detail::hom
template <typename P, typename C, typename L> struct packed_pixel;
template <int K, typename P, typename C, typename L>
-typename kth_element_reference_type<packed_pixel<P,C,L>, K>::type
+typename kth_element_reference_type<packed_pixel<P,C,L>, K>::type
at_c(packed_pixel<P,C,L>& p);
template <int K, typename P, typename C, typename L>
-typename kth_element_const_reference_type<packed_pixel<P,C,L>,K>::type
+typename kth_element_const_reference_type<packed_pixel<P,C,L>,K>::type
at_c(const packed_pixel<P,C,L>& p);
template <typename B, typename C, typename L, bool M> struct bit_aligned_pixel_reference;
@@ -117,7 +107,7 @@ struct remove_const_and_reference : public remove_const<typename remove_referenc
#define GIL_CLASS_REQUIRE(type_var, ns, concept) BOOST_CLASS_REQUIRE(type_var, ns, concept);
template <typename C> void gil_function_requires() { function_requires<C>(); }
#else
- #define GIL_CLASS_REQUIRE(T,NS,C)
+ #define GIL_CLASS_REQUIRE(T,NS,C)
template <typename C> void gil_function_requires() {}
#endif
@@ -125,7 +115,7 @@ struct remove_const_and_reference : public remove_const<typename remove_referenc
/**
\code
auto concept DefaultConstructible<typename T> {
- T::T();
+ T::T();
};
\endcode
*/
@@ -156,7 +146,7 @@ struct CopyConstructible {
\code
auto concept Assignable<typename T, typename U = T> {
typename result_type;
- result_type operator=(T&, U);
+ result_type operator=(T&, U);
};
\endcode
*/
@@ -170,7 +160,7 @@ struct Assignable {
/**
\code
auto concept EqualityComparable<typename T, typename U = T> {
- bool operator==(T x, T y);
+ bool operator==(T x, T y);
bool operator!=(T x, T y) { return !(x==y); }
};
\endcode
@@ -216,7 +206,7 @@ struct Swappable {
/// \ingroup BasicConcepts
/**
\code
-auto concept Regular<typename T> : DefaultConstructible<T>, CopyConstructible<T>, EqualityComparable<T>,
+auto concept Regular<typename T> : DefaultConstructible<T>, CopyConstructible<T>, EqualityComparable<T>,
Assignable<T>, Swappable<T> {};
\endcode
*/
@@ -225,7 +215,7 @@ template <typename T>
struct Regular {
void constraints() {
gil_function_requires< boost::DefaultConstructibleConcept<T> >();
- gil_function_requires< boost::CopyConstructibleConcept<T> >();
+ gil_function_requires< boost::CopyConstructibleConcept<T> >();
gil_function_requires< boost::EqualityComparableConcept<T> >(); // ==, !=
gil_function_requires< boost::AssignableConcept<T> >();
gil_function_requires< Swappable<T> >();
@@ -249,19 +239,19 @@ struct Metafunction {
////////////////////////////////////////////////////////////////////////////////////////
//
// POINT CONCEPTS
-//
+//
////////////////////////////////////////////////////////////////////////////////////////
/// \brief N-dimensional point concept
/// \ingroup PointConcept
/**
\code
-concept PointNDConcept<typename T> : Regular<T> {
+concept PointNDConcept<typename T> : Regular<T> {
// the type of a coordinate along each axis
template <size_t K> struct axis; where Metafunction<axis>;
-
+
const size_t num_dimensions;
-
+
// accessor/modifier of the value of each axis.
template <size_t K> const typename axis<K>::type& T::axis_value() const;
template <size_t K> typename axis<K>::type& T::axis_value();
@@ -282,7 +272,7 @@ struct PointNDConcept {
axis_value<0>(point)=ft;
LT lt=axis_value<N-1>(point);
axis_value<N-1>(point)=lt;
-
+
// value_type v=point[0]; ignore_unused_variable_warning(v);
}
P point;
@@ -292,7 +282,7 @@ struct PointNDConcept {
/// \ingroup PointConcept
/**
\code
-concept Point2DConcept<typename T> : PointNDConcept<T> {
+concept Point2DConcept<typename T> : PointNDConcept<T> {
where num_dimensions == 2;
where SameType<axis<0>::type, axis<1>::type>;
@@ -321,7 +311,7 @@ struct Point2DConcept {
//
// ITERATOR MUTABILITY CONCEPTS
//
-// Taken from boost's concept_check.hpp. Isolating mutability to result in faster compile time
+// Taken from boost's concept_check.hpp. Isolating mutability to result in faster compile time
//
////////////////////////////////////////////////////////////////////////////////////////
@@ -421,12 +411,12 @@ struct ChannelMappingConcept {
/// \ingroup ChannelConcept
/// \brief A channel is the building block of a color. Color is defined as a mixture of primary colors and a channel defines the degree to which each primary color is used in the mixture.
-/**
+/**
For example, in the RGB color space, using 8-bit unsigned channels, the color red is defined as [255 0 0], which means maximum of Red, and no Green and Blue.
-
+
Built-in scalar types, such as \p int and \p float, are valid GIL channels. In more complex scenarios, channels may be represented as bit ranges or even individual bits.
In such cases special classes are needed to represent the value and reference to a channel.
-
+
Channels have a traits class, \p channel_traits, which defines their associated types as well as their operating ranges.
\code
@@ -446,8 +436,8 @@ concept ChannelConcept<typename T> : EqualityComparable<T> {
template <typename T>
struct ChannelConcept {
void constraints() {
- gil_function_requires< boost::EqualityComparableConcept<T> >();
-
+ gil_function_requires< boost::EqualityComparableConcept<T> >();
+
typedef typename channel_traits<T>::value_type v;
typedef typename channel_traits<T>::reference r;
typedef typename channel_traits<T>::pointer p;
@@ -490,11 +480,11 @@ struct MutableChannelConcept {
}
};
-/// \brief A channel that supports default construction.
+/// \brief A channel that supports default construction.
/// \ingroup ChannelConcept
/**
\code
-concept ChannelValueConcept<ChannelConcept T> : Regular<T> {};
+concept ChannelValueConcept<ChannelConcept T> : Regular<T> {};
\endcode
*/
template <typename T>
@@ -518,7 +508,7 @@ BOOST_STATIC_ASSERT((channels_are_compatible<uint8_t, const uint8_t&>::value));
\endcode
*/
template <typename T1, typename T2> // Models GIL Pixel
-struct channels_are_compatible
+struct channels_are_compatible
: public is_same<typename channel_traits<T1>::value_type, typename channel_traits<T2>::value_type> {};
/// \brief Channels are compatible if their associated value types (ignoring constness and references) are the same
@@ -571,7 +561,7 @@ struct ChannelConvertibleConcept {
/// \ingroup ColorBaseConcept
/// \brief A color base is a container of color elements (such as channels, channel references or channel pointers)
-/**
+/**
The most common use of color base is in the implementation of a pixel, in which case the color
elements are channel values. The color base concept, however, can be used in other scenarios. For example, a planar pixel has channels that are not
contiguous in memory. Its reference is a proxy class that uses a color base whose elements are channel references. Its iterator uses a color base
@@ -589,22 +579,22 @@ the corresponding semantic element.
\code
concept ColorBaseConcept<typename T> : CopyConstructible<T>, EqualityComparable<T> {
// a GIL layout (the color space and element permutation)
- typename layout_t;
-
+ typename layout_t;
+
// The type of K-th element
template <int K> struct kth_element_type; where Metafunction<kth_element_type>;
-
+
// The result of at_c
- template <int K> struct kth_element_const_reference_type; where Metafunction<kth_element_const_reference_type>;
-
+ template <int K> struct kth_element_const_reference_type; where Metafunction<kth_element_const_reference_type>;
+
template <int K> kth_element_const_reference_type<T,K>::type at_c(T);
// Copy-constructible and equality comparable with other compatible color bases
- template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
+ template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
T::T(T2);
- template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
+ template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
bool operator==(const T&, const T2&);
- template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
+ template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
bool operator!=(const T&, const T2&);
};
@@ -623,7 +613,7 @@ struct ColorBaseConcept {
typedef typename ColorBase::layout_t::channel_mapping_t channel_mapping_t;
// TODO: channel_mapping_t must be an MPL RandomAccessSequence
- static const std::size_t num_elements = size<ColorBase>::value;
+ static const int num_elements = size<ColorBase>::value;
typedef typename kth_element_type<ColorBase,num_elements-1>::type TN;
typedef typename kth_element_const_reference_type<ColorBase,num_elements-1>::type CR;
@@ -641,15 +631,15 @@ struct ColorBaseConcept {
/// \ingroup ColorBaseConcept
/// \brief Color base which allows for modifying its elements
-/**
+/**
\code
concept MutableColorBaseConcept<ColorBaseConcept T> : Assignable<T>, Swappable<T> {
template <int K> struct kth_element_reference_type; where Metafunction<kth_element_reference_type>;
template <int K> kth_element_reference_type<kth_element_type<T,K>::type>::type at_c(T);
-
- template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
+
+ template <ColorBaseConcept T2> where { ColorBasesCompatibleConcept<T,T2> }
T& operator=(T&, const T2&);
};
\endcode
@@ -661,7 +651,7 @@ struct MutableColorBaseConcept {
gil_function_requires< Assignable<ColorBase> >();
gil_function_requires< Swappable<ColorBase> >();
- typedef typename kth_element_reference_type<ColorBase, 0>::type CR;
+ typedef typename kth_element_reference_type<ColorBase, 0>::type CR;
CR r=gil::at_c<0>(cb);
gil::at_c<0>(cb)=r;
@@ -672,7 +662,7 @@ struct MutableColorBaseConcept {
/// \ingroup ColorBaseConcept
/// \brief Color base that also has a default-constructor. Refines Regular
-/**
+/**
\code
concept ColorBaseValueConcept<typename T> : MutableColorBaseConcept<T>, Regular<T> {
};
@@ -688,11 +678,11 @@ struct ColorBaseValueConcept {
/// \ingroup ColorBaseConcept
/// \brief Color base whose elements all have the same type
-/**
+/**
\code
concept HomogeneousColorBaseConcept<ColorBaseConcept CB> {
// For all K in [0 ... size<C1>::value-1):
- // where SameType<kth_element_type<CB,K>::type, kth_element_type<CB,K+1>::type>;
+ // where SameType<kth_element_type<CB,K>::type, kth_element_type<CB,K+1>::type>;
kth_element_const_reference_type<CB,0>::type dynamic_at_c(const CB&, std::size_t n) const;
};
\endcode
@@ -703,13 +693,13 @@ struct HomogeneousColorBaseConcept {
void constraints() {
gil_function_requires< ColorBaseConcept<ColorBase> >();
- static const std::size_t num_elements = size<ColorBase>::value;
+ static const int num_elements = size<ColorBase>::value;
- typedef typename kth_element_type<ColorBase,0>::type T0;
- typedef typename kth_element_type<ColorBase,num_elements-1>::type TN;
+ typedef typename kth_element_type<ColorBase,0>::type T0;
+ typedef typename kth_element_type<ColorBase,num_elements-1>::type TN;
BOOST_STATIC_ASSERT((is_same<T0,TN>::value)); // better than nothing
- typedef typename kth_element_const_reference_type<ColorBase,0>::type CRef0;
+ typedef typename kth_element_const_reference_type<ColorBase,0>::type CRef0;
CRef0 e0=dynamic_at_c(cb,0);
}
ColorBase cb;
@@ -717,7 +707,7 @@ struct HomogeneousColorBaseConcept {
/// \ingroup ColorBaseConcept
/// \brief Homogeneous color base that allows for modifying its elements
-/**
+/**
\code
concept MutableHomogeneousColorBaseConcept<ColorBaseConcept CB> : HomogeneousColorBaseConcept<CB> {
@@ -740,7 +730,7 @@ struct MutableHomogeneousColorBaseConcept {
/// \ingroup ColorBaseConcept
/// \brief Homogeneous color base that also has a default constructor. Refines Regular.
-/**
+/**
\code
concept HomogeneousColorBaseValueConcept<typename T> : MutableHomogeneousColorBaseConcept<T>, Regular<T> {
@@ -759,7 +749,7 @@ struct HomogeneousColorBaseValueConcept {
/// \ingroup ColorBaseConcept
/// \brief Two color bases are compatible if they have the same color space and their elements are compatible, semantic-pairwise.
-/**
+/**
\code
concept ColorBasesCompatibleConcept<ColorBaseConcept C1, ColorBaseConcept C2> {
@@ -773,7 +763,7 @@ concept ColorBasesCompatibleConcept<ColorBaseConcept C1, ColorBaseConcept C2> {
template <typename ColorBase1, typename ColorBase2>
struct ColorBasesCompatibleConcept {
void constraints() {
- BOOST_STATIC_ASSERT((is_same<typename ColorBase1::layout_t::color_space_t,
+ BOOST_STATIC_ASSERT((is_same<typename ColorBase1::layout_t::color_space_t,
typename ColorBase2::layout_t::color_space_t>::value));
// typedef typename kth_semantic_element_type<ColorBase1,0>::type e1;
// typedef typename kth_semantic_element_type<ColorBase2,0>::type e2;
@@ -813,11 +803,11 @@ struct ColorBasesCompatibleConcept {
/**
\code
concept PixelBasedConcept<typename T> {
- typename color_space_type<T>;
+ typename color_space_type<T>;
where Metafunction<color_space_type<T> >;
where ColorSpaceConcept<color_space_type<T>::type>;
- typename channel_mapping_type<T>;
- where Metafunction<channel_mapping_type<T> >;
+ typename channel_mapping_type<T>;
+ where Metafunction<channel_mapping_type<T> >;
where ChannelMappingConcept<channel_mapping_type<T>::type>;
typename is_planar<T>;
where Metafunction<is_planar<T> >;
@@ -847,7 +837,7 @@ struct PixelBasedConcept {
/**
\code
concept HomogeneousPixelBasedConcept<PixelBasedConcept T> {
- typename channel_type<T>;
+ typename channel_type<T>;
where Metafunction<channel_type<T> >;
where ChannelConcept<channel_type<T>::type>;
};
@@ -858,7 +848,7 @@ struct HomogeneousPixelBasedConcept {
void constraints() {
gil_function_requires<PixelBasedConcept<P> >();
typedef typename channel_type<P>::type channel_t;
- gil_function_requires<ChannelConcept<channel_t> >();
+ gil_function_requires<ChannelConcept<channel_t> >();
}
};
@@ -867,23 +857,23 @@ struct HomogeneousPixelBasedConcept {
/// \ingroup PixelConcept
/**
\code
-concept PixelConcept<typename P> : ColorBaseConcept<P>, PixelBasedConcept<P> {
+concept PixelConcept<typename P> : ColorBaseConcept<P>, PixelBasedConcept<P> {
where is_pixel<P>::type::value==true;
// where for each K [0..size<P>::value-1]:
// ChannelConcept<kth_element_type<P,K> >;
-
+
typename P::value_type; where PixelValueConcept<value_type>;
typename P::reference; where PixelConcept<reference>;
typename P::const_reference; where PixelConcept<const_reference>;
static const bool P::is_mutable;
- template <PixelConcept P2> where { PixelConcept<P,P2> }
+ template <PixelConcept P2> where { PixelConcept<P,P2> }
P::P(P2);
- template <PixelConcept P2> where { PixelConcept<P,P2> }
+ template <PixelConcept P2> where { PixelConcept<P,P2> }
bool operator==(const P&, const P2&);
- template <PixelConcept P2> where { PixelConcept<P,P2> }
+ template <PixelConcept P2> where { PixelConcept<P,P2> }
bool operator!=(const P&, const P2&);
-};
+};
\endcode
*/
@@ -928,7 +918,7 @@ struct MutablePixelConcept {
/// \ingroup PixelConcept
/**
\code
-concept HomogeneousPixelConcept<PixelConcept P> : HomogeneousColorBaseConcept<P>, HomogeneousPixelBasedConcept<P> {
+concept HomogeneousPixelConcept<PixelConcept P> : HomogeneousColorBaseConcept<P>, HomogeneousPixelBasedConcept<P> {
P::template element_const_reference_type<P>::type operator[](P p, std::size_t i) const { return dynamic_at_c(p,i); }
};
\endcode
@@ -948,7 +938,7 @@ struct HomogeneousPixelConcept {
/// \ingroup PixelConcept
/**
\code
-concept MutableHomogeneousPixelConcept<HomogeneousPixelConcept P> : MutableHomogeneousColorBaseConcept<P> {
+concept MutableHomogeneousPixelConcept<HomogeneousPixelConcept P> : MutableHomogeneousColorBaseConcept<P> {
P::template element_reference_type<P>::type operator[](P p, std::size_t i) { return dynamic_at_c(p,i); }
};
\endcode
@@ -971,7 +961,7 @@ struct MutableHomogeneousPixelConcept {
\code
concept PixelValueConcept<PixelConcept P> : Regular<P> {
where SameType<value_type,P>;
-};
+};
\endcode
*/
template <typename P>
@@ -988,7 +978,7 @@ struct PixelValueConcept {
\code
concept HomogeneousPixelValueConcept<HomogeneousPixelConcept P> : Regular<P> {
where SameType<value_type,P>;
-};
+};
\endcode
*/
template <typename P>
@@ -1002,11 +992,11 @@ struct HomogeneousPixelValueConcept {
namespace detail {
template <typename P1, typename P2, int K>
- struct channels_are_pairwise_compatible : public
+ struct channels_are_pairwise_compatible : public
mpl::and_<channels_are_pairwise_compatible<P1,P2,K-1>,
channels_are_compatible<typename kth_semantic_element_reference_type<P1,K>::type,
typename kth_semantic_element_reference_type<P2,K>::type> > {};
-
+
template <typename P1, typename P2>
struct channels_are_pairwise_compatible<P1,P2,-1> : public mpl::true_ {};
}
@@ -1016,9 +1006,9 @@ namespace detail {
/// Pixels are compatible if their channels and color space types are compatible. Compatible pixels can be assigned and copy constructed from one another.
/// \ingroup PixelAlgorithm
template <typename P1, typename P2> // Models GIL Pixel
-struct pixels_are_compatible
- : public mpl::and_<typename color_spaces_are_compatible<typename color_space_type<P1>::type,
- typename color_space_type<P2>::type>::type,
+struct pixels_are_compatible
+ : public mpl::and_<typename color_spaces_are_compatible<typename color_space_type<P1>::type,
+ typename color_space_type<P2>::type>::type,
detail::channels_are_pairwise_compatible<P1,P2,num_channels<P1>::value-1> > {};
/// \brief Concept for pixel compatibility
@@ -1091,11 +1081,11 @@ concept PixelDereferenceAdaptorConcept<boost::UnaryFunctionConcept D>
template <typename D>
struct PixelDereferenceAdaptorConcept {
void constraints() {
- gil_function_requires< boost::UnaryFunctionConcept<D,
- typename remove_const_and_reference<typename D::result_type>::type,
+ gil_function_requires< boost::UnaryFunctionConcept<D,
+ typename remove_const_and_reference<typename D::result_type>::type,
typename D::argument_type> >();
gil_function_requires< boost::DefaultConstructibleConcept<D> >();
- gil_function_requires< boost::CopyConstructibleConcept<D> >();
+ gil_function_requires< boost::CopyConstructibleConcept<D> >();
gil_function_requires< boost::AssignableConcept<D> >();
gil_function_requires<PixelConcept<typename remove_const_and_reference<typename D::result_type>::type> >();
@@ -1141,7 +1131,7 @@ concept HasDynamicXStepTypeConcept<typename T> {
\endcode
*/
template <typename T>
-struct HasDynamicXStepTypeConcept {
+struct HasDynamicXStepTypeConcept {
void constraints() {
typedef typename dynamic_x_step_type<T>::type type;
}
@@ -1158,7 +1148,7 @@ concept HasDynamicYStepTypeConcept<typename T> {
\endcode
*/
template <typename T>
-struct HasDynamicYStepTypeConcept {
+struct HasDynamicYStepTypeConcept {
void constraints() {
typedef typename dynamic_y_step_type<T>::type type;
}
@@ -1176,7 +1166,7 @@ concept HasTransposedTypeConcept<typename T> {
\endcode
*/
template <typename T>
-struct HasTransposedTypeConcept {
+struct HasTransposedTypeConcept {
void constraints() {
typedef typename transposed_type<T>::type type;
}
@@ -1197,22 +1187,22 @@ GIL's iterators must also provide the following metafunctions:
\code
concept PixelIteratorConcept<typename Iterator> : boost_concepts::RandomAccessTraversalConcept<Iterator>, PixelBasedConcept<Iterator> {
where PixelValueConcept<value_type>;
- typename const_iterator_type<It>::type;
+ typename const_iterator_type<It>::type;
where PixelIteratorConcept<const_iterator_type<It>::type>;
- static const bool iterator_is_mutable<It>::type::value;
+ static const bool iterator_is_mutable<It>::type::value;
static const bool is_iterator_adaptor<It>::type::value; // is it an iterator adaptor
};
\endcode
*/
template <typename Iterator>
-struct PixelIteratorConcept {
+struct PixelIteratorConcept {
void constraints() {
gil_function_requires<boost_concepts::RandomAccessTraversalConcept<Iterator> >();
gil_function_requires<PixelBasedConcept<Iterator> >();
-
+
typedef typename std::iterator_traits<Iterator>::value_type value_type;
gil_function_requires<PixelValueConcept<value_type> >();
-
+
typedef typename const_iterator_type<Iterator>::type const_t;
static const bool is_mut = iterator_is_mutable<Iterator>::type::value; ignore_unused_variable_warning(is_mut);
@@ -1356,8 +1346,8 @@ concept IteratorAdaptorConcept<boost_concepts::ForwardTraversalConcept Iterator>
typename iterator_adaptor_get_base<Iterator>;
where Metafunction<iterator_adaptor_get_base<Iterator> >;
where boost_concepts::ForwardTraversalConcept<iterator_adaptor_get_base<Iterator>::type>;
-
- typename another_iterator;
+
+ typename another_iterator;
typename iterator_adaptor_rebind<Iterator,another_iterator>::type;
where boost_concepts::ForwardTraversalConcept<another_iterator>;
where IteratorAdaptorConcept<iterator_adaptor_rebind<Iterator,another_iterator>::type>;
@@ -1419,18 +1409,18 @@ struct MutableIteratorAdaptorConcept {
/// \brief N-dimensional locator over immutable values
/**
\code
-concept RandomAccessNDLocatorConcept<Regular Loc> {
+concept RandomAccessNDLocatorConcept<Regular Loc> {
typename value_type; // value over which the locator navigates
typename reference; // result of dereferencing
typename difference_type; where PointNDConcept<difference_type>; // return value of operator-.
typename const_t; // same as Loc, but operating over immutable values
typename cached_location_t; // type to store relative location (for efficient repeated access)
typename point_t = difference_type;
-
+
static const size_t num_dimensions; // dimensionality of the locator
where num_dimensions = point_t::num_dimensions;
-
- // The difference_type and iterator type along each dimension. The iterators may only differ in
+
+ // The difference_type and iterator type along each dimension. The iterators may only differ in
// difference_type. Their value_type must be the same as Loc::value_type
template <size_t D> struct axis {
typename coord_t = point_t::axis<D>::coord_t;
@@ -1443,19 +1433,19 @@ concept RandomAccessNDLocatorConcept<Regular Loc> {
typename type; where RandomAccessNDLocatorConcept<type>;
static type make(const Loc& loc, const Deref& deref);
};
-
+
Loc& operator+=(Loc&, const difference_type&);
Loc& operator-=(Loc&, const difference_type&);
Loc operator+(const Loc&, const difference_type&);
Loc operator-(const Loc&, const difference_type&);
-
+
reference operator*(const Loc&);
reference operator[](const Loc&, const difference_type&);
-
- // Storing relative location for faster repeated access and accessing it
+
+ // Storing relative location for faster repeated access and accessing it
cached_location_t Loc::cache_location(const difference_type&) const;
reference operator[](const Loc&,const cached_location_t&);
-
+
// Accessing iterators along a given dimension at the current location or at a given offset
template <size_t D> axis<D>::iterator& Loc::axis_iterator();
template <size_t D> axis<D>::iterator const& Loc::axis_iterator() const;
@@ -1475,7 +1465,7 @@ struct RandomAccessNDLocatorConcept {
typedef typename Loc::const_t const_t; // same as this type, but over const values
typedef typename Loc::point_t point_t; // same as difference_type
static const std::size_t N=Loc::num_dimensions; ignore_unused_variable_warning(N);
-
+
typedef typename Loc::template axis<0>::iterator first_it_type;
typedef typename Loc::template axis<N-1>::iterator last_it_type;
gil_function_requires<boost_concepts::RandomAccessTraversalConcept<first_it_type> >();
@@ -1516,12 +1506,12 @@ struct RandomAccessNDLocatorConcept {
concept RandomAccess2DLocatorConcept<RandomAccessNDLocatorConcept Loc> {
where num_dimensions==2;
where Point2DConcept<point_t>;
-
+
typename x_iterator = axis<0>::iterator;
typename y_iterator = axis<1>::iterator;
typename x_coord_t = axis<0>::coord_t;
typename y_coord_t = axis<1>::coord_t;
-
+
// Only available to locators that have dynamic step in Y
//Loc::Loc(const Loc& loc, y_coord_t);
@@ -1529,14 +1519,14 @@ concept RandomAccess2DLocatorConcept<RandomAccessNDLocatorConcept Loc> {
//Loc::Loc(const Loc& loc, x_coord_t, y_coord_t, bool transposed=false);
x_iterator& Loc::x();
- x_iterator const& Loc::x() const;
+ x_iterator const& Loc::x() const;
y_iterator& Loc::y();
- y_iterator const& Loc::y() const;
-
+ y_iterator const& Loc::y() const;
+
x_iterator Loc::x_at(const difference_type&) const;
y_iterator Loc::y_at(const difference_type&) const;
Loc Loc::xy_at(const difference_type&) const;
-
+
// x/y versions of all methods that can take difference type
x_iterator Loc::x_at(x_coord_t, y_coord_t) const;
y_iterator Loc::y_at(x_coord_t, y_coord_t) const;
@@ -1658,7 +1648,7 @@ namespace detail {
/// \brief N-dimensional locator over mutable pixels
/**
\code
-concept MutableRandomAccessNDLocatorConcept<RandomAccessNDLocatorConcept Loc> {
+concept MutableRandomAccessNDLocatorConcept<RandomAccessNDLocatorConcept Loc> {
where Mutable<reference>;
};
\endcode
@@ -1731,7 +1721,7 @@ concept RandomAccessNDImageViewConcept<Regular View> {
typename point_t; where PointNDConcept<point_t>; // N-dimensional point
typename locator; where RandomAccessNDLocatorConcept<locator>; // N-dimensional locator.
typename iterator; where RandomAccessTraversalConcept<iterator>; // 1-dimensional iterator over all values
- typename reverse_iterator; where RandomAccessTraversalConcept<reverse_iterator>;
+ typename reverse_iterator; where RandomAccessTraversalConcept<reverse_iterator>;
typename size_type; // the return value of size()
// Equivalent to RandomAccessNDLocatorConcept::axis
@@ -1749,10 +1739,10 @@ concept RandomAccessNDImageViewConcept<Regular View> {
};
static const size_t num_dimensions = point_t::num_dimensions;
-
+
// Create from a locator at the top-left corner and dimensions
View::View(const locator&, const point_type&);
-
+
size_type View::size() const; // total number of elements
reference operator[](View, const difference_type&) const; // 1-dimensional reference
iterator View::begin() const;
@@ -1777,15 +1767,17 @@ struct RandomAccessNDImageViewConcept {
typedef typename View::value_type value_type;
typedef typename View::reference reference; // result of dereferencing
+ typedef typename View::pointer pointer;
typedef typename View::difference_type difference_type; // result of operator-(1d_iterator,1d_iterator)
typedef typename View::const_t const_t; // same as this type, but over const values
typedef typename View::point_t point_t; // N-dimensional point
typedef typename View::locator locator; // N-dimensional locator
typedef typename View::iterator iterator;
+ typedef typename View::const_iterator const_iterator;
typedef typename View::reverse_iterator reverse_iterator;
typedef typename View::size_type size_type;
static const std::size_t N=View::num_dimensions;
-
+
gil_function_requires<RandomAccessNDLocatorConcept<locator> >();
gil_function_requires<boost_concepts::RandomAccessTraversalConcept<iterator> >();
gil_function_requires<boost_concepts::RandomAccessTraversalConcept<reverse_iterator> >();
@@ -1822,7 +1814,7 @@ struct RandomAccessNDImageViewConcept {
rit=view.rbegin();
rit=view.rend();
- reference r1=view[d]; ignore_unused_variable_warning(r1); // 1D access
+ reference r1=view[d]; ignore_unused_variable_warning(r1); // 1D access
reference r2=view(p); ignore_unused_variable_warning(r2); // 2D access
// get 1-D iterator of any dimension at a given pixel location
@@ -1847,10 +1839,10 @@ concept RandomAccess2DImageViewConcept<RandomAccessNDImageViewConcept View> {
typename x_coord_t = axis<0>::coord_t;
typename y_coord_t = axis<1>::coord_t;
typename xy_locator = locator;
-
+
x_coord_t View::width() const;
y_coord_t View::height() const;
-
+
// X-navigation
x_iterator View::x_at(const point_t&) const;
x_iterator View::row_begin(y_coord_t) const;
@@ -1860,11 +1852,11 @@ concept RandomAccess2DImageViewConcept<RandomAccessNDImageViewConcept View> {
y_iterator View::y_at(const point_t&) const;
y_iterator View::col_begin(x_coord_t) const;
y_iterator View::col_end (x_coord_t) const;
-
+
// navigating in 2D
xy_locator View::xy_at(const point_t&) const;
- // (x,y) versions of all methods taking point_t
+ // (x,y) versions of all methods taking point_t
View::View(x_coord_t,y_coord_t,const locator&);
iterator View::at(x_coord_t,y_coord_t) const;
reference operator()(View,x_coord_t,y_coord_t) const;
@@ -1921,6 +1913,92 @@ struct RandomAccess2DImageViewConcept {
View view;
};
+/// \brief GIL view as Collection.
+///
+/// \see https://www.boost.org/libs/utility/Collection.html
+template <typename View>
+struct CollectionImageViewConcept
+{
+ void constraints()
+ {
+ using value_type = typename View::value_type;
+ using iterator = typename View::iterator;
+ using const_iterator = typename View::const_iterator;
+ using reference = typename View::reference;
+ using const_reference = typename View::const_reference;
+ using pointer = typename View::pointer;
+ using difference_type = typename View::difference_type;
+ using size_type= typename View::size_type;
+
+ iterator i;
+ i = view1.begin();
+ i = view2.end();
+
+ const_iterator ci;
+ ci = view1.begin();
+ ci = view2.end();
+
+ size_type s;
+ s = view1.size();
+ s = view2.size();
+ boost::ignore_unused(s);
+
+ view1.empty();
+
+ view1.swap(view2);
+ }
+ View view1;
+ View view2;
+};
+
+/// \brief GIL view as ForwardCollection.
+///
+/// \see https://www.boost.org/libs/utility/Collection.html
+template <typename View>
+struct ForwardCollectionImageViewConcept
+{
+ void constraints()
+ {
+ gil_function_requires<CollectionImageViewConcept<View>>();
+
+ using reference = typename View::reference;
+ using const_reference = typename View::const_reference;
+
+ reference r = view.front();
+ boost::ignore_unused(r);
+
+ const_reference cr = view.front();
+ boost::ignore_unused(cr);
+ }
+ View view;
+};
+
+/// \brief GIL view as ReversibleCollection.
+///
+/// \see https://www.boost.org/libs/utility/Collection.html
+template <typename View>
+struct ReversibleCollectionImageViewConcept
+{
+ void constraints()
+ {
+ gil_function_requires<CollectionImageViewConcept<View>>();
+
+ using reverse_iterator = typename View::reverse_iterator;
+ using reference = typename View::reference;
+ using const_reference = typename View::const_reference;
+
+ reverse_iterator i;
+ i = view.rbegin();
+ i = view.rend();
+
+ reference r = view.back();
+ boost::ignore_unused(r);
+
+ const_reference cr = view.back();
+ boost::ignore_unused(cr);
+ }
+ View view;
+};
/// \ingroup PixelImageViewConcept
/// \brief GIL's 2-dimensional view over immutable GIL pixels
@@ -1928,10 +2006,10 @@ struct RandomAccess2DImageViewConcept {
\code
concept ImageViewConcept<RandomAccess2DImageViewConcept View> {
where PixelValueConcept<value_type>;
- where PixelIteratorConcept<x_iterator>;
+ where PixelIteratorConcept<x_iterator>;
where PixelIteratorConcept<y_iterator>;
where x_coord_t == y_coord_t;
-
+
typename coord_t = x_coord_t;
std::size_t View::num_channels() const;
@@ -1945,7 +2023,7 @@ struct ImageViewConcept {
// TODO: This executes the requirements for RandomAccess2DLocatorConcept again. Fix it to improve compile time
gil_function_requires<PixelLocatorConcept<typename View::xy_locator> >();
-
+
BOOST_STATIC_ASSERT((is_same<typename View::x_coord_t, typename View::y_coord_t>::value));
typedef typename View::coord_t coord_t; // 1D difference type (same for all dimensions)
@@ -1978,7 +2056,7 @@ namespace detail {
template <typename View> // preconditions: View Models RandomAccessNDImageViewConcept
struct RandomAccess2DImageViewIsMutableConcept {
- void constraints() {
+ void constraints() {
gil_function_requires<detail::RandomAccessNDImageViewIsMutableConcept<View> >();
typename View::x_coord_t xd=0; ignore_unused_variable_warning(xd);
typename View::y_coord_t yd=0; ignore_unused_variable_warning(yd);
@@ -1990,7 +2068,7 @@ namespace detail {
template <typename View> // preconditions: View Models ImageViewConcept
struct PixelImageViewIsMutableConcept {
- void constraints() {
+ void constraints() {
gil_function_requires<detail::RandomAccess2DImageViewIsMutableConcept<View> >();
}
};
@@ -2065,7 +2143,6 @@ struct ViewsCompatibleConcept {
}
};
-
////////////////////////////////////////////////////////////////////////////////////////
///
/// IMAGE CONCEPTS
@@ -2086,7 +2163,7 @@ concept RandomAccessNDImageConcept<typename Img> : Regular<Img> {
Img::Img(point_t dims, std::size_t alignment=1);
Img::Img(point_t dims, value_type fill_value, std::size_t alignment);
-
+
void Img::recreate(point_t new_dims, std::size_t alignment=1);
void Img::recreate(point_t new_dims, value_type fill_value, std::size_t alignment);
@@ -2133,13 +2210,13 @@ struct RandomAccessNDImageConcept {
concept RandomAccess2DImageConcept<RandomAccessNDImageConcept Img> {
typename x_coord_t = const_view_t::x_coord_t;
typename y_coord_t = const_view_t::y_coord_t;
-
+
Img::Img(x_coord_t width, y_coord_t height, std::size_t alignment=1);
Img::Img(x_coord_t width, y_coord_t height, value_type fill_value, std::size_t alignment);
x_coord_t Img::width() const;
y_coord_t Img::height() const;
-
+
void Img::recreate(x_coord_t width, y_coord_t height, std::size_t alignment=1);
void Img::recreate(x_coord_t width, y_coord_t height, value_type fill_value, std::size_t alignment);
};
@@ -2171,7 +2248,7 @@ struct RandomAccess2DImageConcept {
/// \ingroup ImageConcept
/// \brief 2-dimensional image whose value type models PixelValueConcept
/**
-\code
+\code
concept ImageConcept<RandomAccess2DImageConcept Img> {
where MutableImageViewConcept<view_t>;
typename coord_t = view_t::coord_t;
@@ -2192,9 +2269,9 @@ struct ImageConcept {
Img img;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
#if defined(__GNUC__) && (__GNUC__ >= 4)
#pragma GCC diagnostic pop
diff --git a/boost/gil/deprecated.hpp b/boost/gil/deprecated.hpp
index 84f08fef1a..77459d2c72 100644
--- a/boost/gil/deprecated.hpp
+++ b/boost/gil/deprecated.hpp
@@ -1,32 +1,18 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_DEPRECATED_HPP
-#define GIL_DEPRECATED_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Deprecated names
-/// This file is provided as a courtesy to ease upgrading GIL client code.
-/// Please make sure your code compiles when this file is not included.
-///
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_DEPRECATED_HPP
+#define BOOST_GIL_DEPRECATED_HPP
#include <cstddef>
+/// This file is provided as a courtesy to ease upgrading GIL client code.
+/// Please make sure your code compiles when this file is not included.
+
#define planar_ptr planar_pixel_iterator
#define planar_ref planar_pixel_reference
#define membased_2d_locator memory_based_2d_locator
diff --git a/boost/gil/device_n.hpp b/boost/gil/device_n.hpp
index 830f6866d4..1334687b85 100644
--- a/boost/gil/device_n.hpp
+++ b/boost/gil/device_n.hpp
@@ -1,36 +1,22 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_DEVICE_N_HPP
+#define BOOST_GIL_DEVICE_N_HPP
+
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/utilities.hpp>
- See http://stlab.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_DEVICE_N_H
-#define GIL_DEVICE_N_H
-
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for color space of N channels and variants
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2009 \n Last updated on February 20, 2009
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstddef>
-
-#include <boost/type_traits.hpp>
#include <boost/config.hpp>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/vector_c.hpp>
+#include <boost/type_traits.hpp>
-#include "gil_config.hpp"
-#include "utilities.hpp"
-#include "metafunctions.hpp"
+#include <cstddef>
namespace boost { namespace gil {
diff --git a/boost/gil/extension/dynamic_image/algorithm.hpp b/boost/gil/extension/dynamic_image/algorithm.hpp
index abd5776b0e..1043e76766 100644
--- a/boost/gil/extension/dynamic_image/algorithm.hpp
+++ b/boost/gil/extension/dynamic_image/algorithm.hpp
@@ -1,19 +1,17 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_DYNAMICIMAGE_ALGORITHM_HPP
-#define GIL_DYNAMICIMAGE_ALGORITHM_HPP
-
-#include "../../algorithm.hpp"
-#include "any_image.hpp"
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_ALGORITHM_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_ALGORITHM_HPP
+
+#include <boost/gil/extension/dynamic_image/any_image.hpp>
+
+#include <boost/gil/algorithm.hpp>
+
#include <boost/bind.hpp>
////////////////////////////////////////////////////////////////////////////////////////
@@ -168,6 +166,6 @@ void fill_pixels(const any_image_view<Types>& img_view, const Value& val) {
}
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/extension/dynamic_image/any_image.hpp b/boost/gil/extension/dynamic_image/any_image.hpp
index 3c4445ff10..66d0e47fcd 100644
--- a/boost/gil/extension/dynamic_image/any_image.hpp
+++ b/boost/gil/extension/dynamic_image/any_image.hpp
@@ -1,37 +1,22 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_ANY_IMAGE_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_ANY_IMAGE_HPP
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
+#include <boost/gil/extension/dynamic_image/any_image_view.hpp>
-#ifndef GIL_DYNAMICIMAGE_ANY_IMAGE_HPP
-#define GIL_DYNAMICIMAGE_ANY_IMAGE_HPP
+#include <boost/gil/image.hpp>
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for run-time instantiated images and image views
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-///
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "any_image_view.hpp"
-#include "../../image.hpp"
+#include <boost/config.hpp>
-//#ifdef _MSC_VER
-//#pragma warning(push)
-//#pragma warning(disable : 4244) // conversion from 'std::ptrdiff_t' to 'int', possible loss of data. even if we static-assert the two types are the same (on visual studio 8)
-//#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
namespace boost { namespace gil {
@@ -43,13 +28,15 @@ namespace detail {
template <typename T> struct get_const_view_t { typedef typename T::const_view_t type; };
template <typename Images> struct images_get_const_views_t : public mpl::transform<Images, get_const_view_t<mpl::_1> > {};
- struct recreate_image_fnobj {
+ struct recreate_image_fnobj
+ {
typedef void result_type;
- const point2<std::ptrdiff_t>& _dimensions;
+ point<std::ptrdiff_t> const& _dimensions;
unsigned _alignment;
- recreate_image_fnobj(const point2<std::ptrdiff_t>& dims, unsigned alignment) : _dimensions(dims), _alignment(alignment) {}
- template <typename Image> result_type operator()(Image& img) const { img.recreate(_dimensions,_alignment); }
+ recreate_image_fnobj(point<std::ptrdiff_t> const& dims, unsigned alignment) : _dimensions(dims), _alignment(alignment) {}
+ template <typename Image>
+ result_type operator()(Image& img) const { img.recreate(_dimensions,_alignment); }
};
template <typename AnyView> // Models AnyViewConcept
@@ -68,7 +55,7 @@ namespace detail {
////////////////////////////////////////////////////////////////////////////////////////
/// \ingroup ImageModel
/// \brief Represents a run-time specified image. Note it does NOT model ImageConcept
-///
+///
/// Represents an image whose type (color space, layout, planar/interleaved organization, etc) can be specified at run time.
/// It is the runtime equivalent of \p image.
/// Some of the requirements of ImageConcept, such as the \p value_type typedef cannot be fulfilled, since the language does not allow runtime type specification.
@@ -83,7 +70,7 @@ public:
typedef any_image_view<typename detail::images_get_views_t<ImageTypes>::type> view_t;
typedef std::ptrdiff_t x_coord_t;
typedef std::ptrdiff_t y_coord_t;
- typedef point2<std::ptrdiff_t> point_t;
+ typedef point<std::ptrdiff_t> point_t;
any_image() : parent_t() {}
template <typename T> explicit any_image(const T& obj) : parent_t(obj) {}
@@ -95,8 +82,15 @@ public:
any_image& operator=(const any_image& v) { parent_t::operator=((const parent_t&)v); return *this;}
template <typename Types> any_image& operator=(const any_image<Types>& v) { parent_t::operator=((const variant<Types>&)v); return *this;}
- void recreate(const point_t& dims, unsigned alignment=1) { apply_operation(*this,detail::recreate_image_fnobj(dims,alignment)); }
- void recreate(x_coord_t width, y_coord_t height, unsigned alignment=1) { recreate(point2<std::ptrdiff_t>(width,height),alignment); }
+ void recreate(const point_t& dims, unsigned alignment=1)
+ {
+ apply_operation(*this,detail::recreate_image_fnobj(dims,alignment));
+ }
+
+ void recreate(x_coord_t width, y_coord_t height, unsigned alignment=1)
+ {
+ recreate({width, height}, alignment);
+ }
std::size_t num_channels() const { return apply_operation(*this, detail::any_type_get_num_channels()); }
point_t dimensions() const { return apply_operation(*this, detail::any_type_get_dimensions()); }
@@ -112,25 +106,21 @@ public:
/// \brief Returns the non-constant-pixel view of any image. The returned view is any view.
template <typename Types> BOOST_FORCEINLINE // Models ImageVectorConcept
-typename any_image<Types>::view_t view(any_image<Types>& anyImage) {
+typename any_image<Types>::view_t view(any_image<Types>& anyImage) {
return apply_operation(anyImage, detail::any_image_get_view<typename any_image<Types>::view_t>());
}
/// \brief Returns the constant-pixel view of any image. The returned view is any view.
template <typename Types> BOOST_FORCEINLINE // Models ImageVectorConcept
-typename any_image<Types>::const_view_t const_view(const any_image<Types>& anyImage) {
+typename any_image<Types>::const_view_t const_view(const any_image<Types>& anyImage) {
return apply_operation(anyImage, detail::any_image_get_const_view<typename any_image<Types>::const_view_t>());
}
///@}
-} } // namespace boost::gil
+}} // namespace boost::gil
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-//#ifdef _MSC_VER
-//#pragma warning(pop)
-//#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
#endif
diff --git a/boost/gil/extension/dynamic_image/any_image_view.hpp b/boost/gil/extension/dynamic_image/any_image_view.hpp
index a99e8baaea..7c9bfa08b7 100644
--- a/boost/gil/extension/dynamic_image/any_image_view.hpp
+++ b/boost/gil/extension/dynamic_image/any_image_view.hpp
@@ -1,30 +1,18 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_DYNAMICIMAGE_ANY_IMAGEVIEW_HPP
-#define GIL_DYNAMICIMAGE_ANY_IMAGEVIEW_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for run-time instantiated image view
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-///
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "variant.hpp"
-#include "../../image_view.hpp"
-#include "../../image.hpp"
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_ANY_IMAGE_VIEW_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_ANY_IMAGE_VIEW_HPP
+
+#include <boost/gil/extension/dynamic_image/variant.hpp>
+
+#include <boost/gil/image.hpp>
+#include <boost/gil/image_view.hpp>
+#include <boost/gil/point.hpp>
namespace boost { namespace gil {
@@ -36,13 +24,21 @@ template <typename View> struct dynamic_xy_step_type;
template <typename View> struct dynamic_xy_step_transposed_type;
namespace detail {
- struct any_type_get_num_channels { // works for both image_view and image
+
+ // works for both image_view and image
+ struct any_type_get_num_channels
+ {
typedef int result_type;
- template <typename T> result_type operator()(const T&) const { return num_channels<T>::value; }
+ template <typename T>
+ result_type operator()(const T&) const { return num_channels<T>::value; }
};
- struct any_type_get_dimensions { // works for both image_view and image
- typedef point2<std::ptrdiff_t> result_type;
- template <typename T> result_type operator()(const T& v) const { return v.dimensions(); }
+
+ // works for both image_view and image
+ struct any_type_get_dimensions
+ {
+ using result_type = point<std::ptrdiff_t>;
+ template <typename T>
+ result_type operator()(const T& v) const { return v.dimensions(); }
};
}
@@ -67,7 +63,7 @@ public:
typedef any_image_view<typename detail::views_get_const_t<ImageViewTypes>::type> const_t;
typedef std::ptrdiff_t x_coord_t;
typedef std::ptrdiff_t y_coord_t;
- typedef point2<std::ptrdiff_t> point_t;
+ typedef point<std::ptrdiff_t> point_t;
any_image_view() : parent_t() {}
template <typename T> explicit any_image_view(const T& obj) : parent_t(obj) {}
@@ -112,6 +108,6 @@ struct dynamic_xy_step_transposed_type<any_image_view<IVTypes> > {
typedef any_image_view<typename mpl::transform<IVTypes, dynamic_xy_step_transposed_type<mpl::_1> >::type> type;
};
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/extension/dynamic_image/apply_operation.hpp b/boost/gil/extension/dynamic_image/apply_operation.hpp
index beb79bad77..cebca61ce8 100644
--- a/boost/gil/extension/dynamic_image/apply_operation.hpp
+++ b/boost/gil/extension/dynamic_image/apply_operation.hpp
@@ -1,31 +1,27 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_APPLY_OPERATION_HPP
-#define GIL_APPLY_OPERATION_HPP
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_HPP
+
+#include <boost/gil/extension/dynamic_image/apply_operation_base.hpp>
+#include <boost/gil/extension/dynamic_image/variant.hpp>
+
+#ifdef BOOST_GIL_DOXYGEN_ONLY
+#undef BOOST_GIL_REDUCE_CODE_BLOAT
+#endif
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Implements apply_operation for variants. Optionally performs type reduction
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 4, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
+// Implements apply_operation for variants.
+// Optionally performs type reduction.
+#ifdef BOOST_GIL_REDUCE_CODE_BLOAT
-#include "apply_operation_base.hpp"
-#include "variant.hpp"
+#include <boost/gil/extension/dynamic_image/reduce.hpp>
-#ifndef GIL_REDUCE_CODE_BLOAT
+#else
namespace boost { namespace gil {
@@ -50,12 +46,8 @@ typename BinaryOp::result_type apply_operation(const variant<Types1>& arg1, cons
return apply_operation_base<Types1,Types2>(arg1._bits, arg1._index, arg2._bits, arg2._index, op);
}
-} } // namespace boost::gil
-
-#else
-
-#include "reduce.hpp"
+}} // namespace boost::gil
-#endif
+#endif // defined(BOOST_GIL_REDUCE_CODE_BLOAT)
#endif
diff --git a/boost/gil/extension/dynamic_image/apply_operation_base.hpp b/boost/gil/extension/dynamic_image/apply_operation_base.hpp
index 2204a93b01..1cf21a36ce 100644
--- a/boost/gil/extension/dynamic_image/apply_operation_base.hpp
+++ b/boost/gil/extension/dynamic_image/apply_operation_base.hpp
@@ -1,38 +1,28 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_APPLY_OPERATION_BASE_HPP
-#define GIL_APPLY_OPERATION_BASE_HPP
-
-#include "../../gil_config.hpp"
-#include "../../utilities.hpp"
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_BASE_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_APPLY_OPERATION_BASE_HPP
+
+#include <boost/gil/utilities.hpp>
+
+#include <boost/config.hpp>
#include <boost/mpl/begin.hpp>
#include <boost/mpl/next.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/size.hpp>
#include <boost/preprocessor/repeat.hpp>
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation,
-/// casts the object to its appropriate type and applies the operation
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on November 6, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
namespace boost { namespace gil {
+/// Given an object with run-time specified type (denoted as an array of Bits,
+/// dynamic index, and a static set of Types) and a generic operation,
+/// casts the object to its appropriate type and applies the operation
+
/*
GENERATE_APPLY_FWD_OPS generates for every N functions that look like this (for N==2):
@@ -179,7 +169,6 @@ static typename Op::result_type BOOST_FORCEINLINE apply_operation_base(const Bit
#undef GIL_GENERATE_APPLY_FWD_OPS
#undef BHS
-} } // namespace boost::gil
-
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/extension/dynamic_image/dynamic_at_c.hpp b/boost/gil/extension/dynamic_image/dynamic_at_c.hpp
index 93ab5cdeb6..1de9f248f1 100644
--- a/boost/gil/extension/dynamic_image/dynamic_at_c.hpp
+++ b/boost/gil/extension/dynamic_image/dynamic_at_c.hpp
@@ -1,36 +1,23 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_DYNAMIC_AT_C_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_DYNAMIC_AT_C_HPP
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_DYNAMIC_AT_C_HPP
-#define GIL_DYNAMIC_AT_C_HPP
-
-#include "../../gil_config.hpp"
-#include <cassert>
-#include <stdexcept>
#include <boost/mpl/at.hpp>
#include <boost/mpl/size.hpp>
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Constructs for static-to-dynamic integer convesion
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 4, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <cassert>
+#include <stdexcept>
namespace boost { namespace gil {
+// Constructs for static-to-dynamic integer convesion
+
#define GIL_AT_C_VALUE(z, N, text) mpl::at_c<IntTypes,S+N>::type::value,
#define GIL_DYNAMIC_AT_C_LIMIT 226 // size of the maximum vector to handle
@@ -69,7 +56,7 @@ namespace detail {
const std::size_t REM = SIZE % GIL_DYNAMIC_AT_C_LIMIT;
switch (index / GIL_DYNAMIC_AT_C_LIMIT) {
case 0: return at_c_fn<0 ,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index);
- case 1: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT ,REM >::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT);
+ case 1: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT ,REM >::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT);
};
throw;
}
@@ -84,7 +71,7 @@ namespace detail {
switch (index / GIL_DYNAMIC_AT_C_LIMIT) {
case 0: return at_c_fn<0 ,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index);
case 1: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT ,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT);
- case 2: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT*2,REM >::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT*2);
+ case 2: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT*2,REM >::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT*2);
};
throw;
}
@@ -99,8 +86,8 @@ namespace detail {
switch (index / GIL_DYNAMIC_AT_C_LIMIT) {
case 0: return at_c_fn<0 ,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index);
case 1: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT ,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT);
- case 2: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT*2,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT*2);
- case 3: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT*3,REM >::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT*3);
+ case 2: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT*2,GIL_DYNAMIC_AT_C_LIMIT-1>::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT*2);
+ case 3: return at_c_fn<GIL_DYNAMIC_AT_C_LIMIT*3,REM >::template apply<IntTypes,ValueType>(index - GIL_DYNAMIC_AT_C_LIMIT*3);
};
throw;
}
@@ -115,16 +102,16 @@ namespace detail {
///
////////////////////////////////////////////////////////////////////////////////////
-template <typename IntTypes, typename ValueType> inline
-ValueType at_c(std::size_t index) {
+template <typename IntTypes, typename ValueType> inline
+ValueType at_c(std::size_t index) {
const std::size_t Size=mpl::size<IntTypes>::value;
return detail::at_c::at_c_impl<Size/GIL_DYNAMIC_AT_C_LIMIT>::template apply<IntTypes,ValueType>(index);
-}
+}
#undef GIL_AT_C_VALUE
#undef GIL_DYNAMIC_AT_C_LIMIT
#undef GIL_AT_C_LOOKUP
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/extension/dynamic_image/dynamic_image_all.hpp b/boost/gil/extension/dynamic_image/dynamic_image_all.hpp
index 99cab1fe74..0fa2d39012 100644
--- a/boost/gil/extension/dynamic_image/dynamic_image_all.hpp
+++ b/boost/gil/extension/dynamic_image/dynamic_image_all.hpp
@@ -1,32 +1,18 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_DYNAMIC_IMAGE_ALL_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_DYNAMIC_IMAGE_ALL_HPP
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_DYNAMICIMAGE_ALL_HPP
-#define GIL_DYNAMICIMAGE_ALL_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Includes all of the GIL dynamic image extension files, for convenience
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 8, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "../../gil_all.hpp"
-#include "algorithm.hpp"
-#include "any_image.hpp"
-#include "apply_operation.hpp"
-#include "variant.hpp"
-#include "image_view_factory.hpp"
+#include <boost/gil/extension/dynamic_image/algorithm.hpp>
+#include <boost/gil/extension/dynamic_image/any_image.hpp>
+#include <boost/gil/extension/dynamic_image/apply_operation.hpp>
+#include <boost/gil/extension/dynamic_image/variant.hpp>
+#include <boost/gil/extension/dynamic_image/image_view_factory.hpp>
+#include <boost/gil.hpp> // FIXME: Include what you use!
#endif
diff --git a/boost/gil/extension/dynamic_image/image_view_factory.hpp b/boost/gil/extension/dynamic_image/image_view_factory.hpp
index 69ac4f681d..f46e24a2bf 100644
--- a/boost/gil/extension/dynamic_image/image_view_factory.hpp
+++ b/boost/gil/extension/dynamic_image/image_view_factory.hpp
@@ -1,32 +1,23 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_IMAGE_VIEW_FACTORY_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_IMAGE_VIEW_FACTORY_HPP
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
+#include <boost/gil/extension/dynamic_image/any_image_view.hpp>
-/*************************************************************************************************/
-
-#ifndef GIL_DYNAMICIMAGE_IMAGE_VIEWS_HPP
-#define GIL_DYNAMICIMAGE_IMAGE_VIEWS_HPP
-
-/*!
-/// \file
-/// \brief Methods for constructing any image views from other any image views
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on January 31, 2007
-/// Extends image view factory to runtime type-specified views (any_image_view)
-*/
-
-#include "any_image_view.hpp"
-#include "../../image_view_factory.hpp"
+#include <boost/gil/image_view_factory.hpp>
+#include <boost/gil/point.hpp>
namespace boost { namespace gil {
+// Methods for constructing any image views from other any image views
+// Extends image view factory to runtime type-specified views (any_image_view)
+
namespace detail {
template <typename Result> struct flipped_up_down_view_fn {
typedef Result result_type;
@@ -52,18 +43,40 @@ template <typename Result> struct rotated180_view_fn {
typedef Result result_type;
template <typename View> result_type operator()(const View& src) const { return result_type(rotated180_view(src)); }
};
-template <typename Result> struct subimage_view_fn {
+
+template <typename Result>
+struct subimage_view_fn
+{
typedef Result result_type;
- subimage_view_fn(const point2<std::ptrdiff_t>& topleft, const point2<std::ptrdiff_t>& dimensions) : _topleft(topleft), _size2(dimensions) {}
- point2<std::ptrdiff_t> _topleft,_size2;
- template <typename View> result_type operator()(const View& src) const { return result_type(subimage_view(src,_topleft,_size2)); }
+ subimage_view_fn(point_t const& topleft, point_t const& dimensions)
+ : _topleft(topleft), _size2(dimensions)
+ {}
+
+ template <typename View>
+ result_type operator()(const View& src) const
+ {
+ return result_type(subimage_view(src,_topleft,_size2));
+ }
+
+ point_t _topleft;
+ point_t _size2;
};
-template <typename Result> struct subsampled_view_fn {
+
+template <typename Result>
+struct subsampled_view_fn
+{
typedef Result result_type;
- subsampled_view_fn(const point2<std::ptrdiff_t>& step) : _step(step) {}
- point2<std::ptrdiff_t> _step;
- template <typename View> result_type operator()(const View& src) const { return result_type(subsampled_view(src,_step)); }
+ subsampled_view_fn(point_t const& step) : _step(step) {}
+
+ template <typename View>
+ result_type operator()(const View& src) const
+ {
+ return result_type(subsampled_view(src,_step));
+ }
+
+ point_t _step;
};
+
template <typename Result> struct nth_channel_view_fn {
typedef Result result_type;
nth_channel_view_fn(int n) : _n(n) {}
@@ -84,62 +97,86 @@ template <typename DstP, typename Result, typename CC = default_color_converter>
/// \ingroup ImageViewTransformationsFlipUD
template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_y_step_type<any_image_view<ViewTypes> >::type flipped_up_down_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::flipped_up_down_view_fn<typename dynamic_y_step_type<any_image_view<ViewTypes> >::type>());
+typename dynamic_y_step_type<any_image_view<ViewTypes> >::type flipped_up_down_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::flipped_up_down_view_fn<typename dynamic_y_step_type<any_image_view<ViewTypes> >::type>());
}
/// \ingroup ImageViewTransformationsFlipLR
template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_x_step_type<any_image_view<ViewTypes> >::type flipped_left_right_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::flipped_left_right_view_fn<typename dynamic_x_step_type<any_image_view<ViewTypes> >::type>());
+typename dynamic_x_step_type<any_image_view<ViewTypes> >::type flipped_left_right_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::flipped_left_right_view_fn<typename dynamic_x_step_type<any_image_view<ViewTypes> >::type>());
}
/// \ingroup ImageViewTransformationsTransposed
template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type transposed_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::tranposed_view_fn<typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type>());
+typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type transposed_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::tranposed_view_fn<typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type>());
}
/// \ingroup ImageViewTransformations90CW
template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type rotated90cw_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::rotated90cw_view_fn<typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type>());
+typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type rotated90cw_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::rotated90cw_view_fn<typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type>());
}
/// \ingroup ImageViewTransformations90CCW
template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type rotated90ccw_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::rotated90ccw_view_fn<typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type>());
+typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type rotated90ccw_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::rotated90ccw_view_fn<typename dynamic_xy_step_transposed_type<any_image_view<ViewTypes> >::type>());
}
/// \ingroup ImageViewTransformations180
-template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_xy_step_type<any_image_view<ViewTypes> >::type rotated180_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::rotated180_view_fn<typename dynamic_xy_step_type<any_image_view<ViewTypes> >::type>());
+/// Models MPL Random Access Container of models of ImageViewConcept
+template <typename ViewTypes>
+inline auto rotated180_view(const any_image_view<ViewTypes>& src)
+ -> typename dynamic_xy_step_type<any_image_view<ViewTypes>>::type
+{
+ using step_type = typename dynamic_xy_step_type<any_image_view<ViewTypes>>::type;
+ return apply_operation(src, detail::rotated180_view_fn<step_type>());
}
/// \ingroup ImageViewTransformationsSubimage
-template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-any_image_view<ViewTypes> subimage_view(const any_image_view<ViewTypes>& src, const point2<std::ptrdiff_t>& topleft, const point2<std::ptrdiff_t>& dimensions) {
- return apply_operation(src,detail::subimage_view_fn<any_image_view<ViewTypes> >(topleft,dimensions));
+/// // Models MPL Random Access Container of models of ImageViewConcept
+template <typename ViewTypes>
+inline auto subimage_view(any_image_view<ViewTypes> const& src,
+ point_t const& topleft, point_t const& dimensions)
+ -> any_image_view<ViewTypes>
+{
+ using subimage_view_fn = detail::subimage_view_fn<any_image_view<ViewTypes>>;
+ return apply_operation(src, subimage_view_fn(topleft, dimensions));
}
/// \ingroup ImageViewTransformationsSubimage
-template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-any_image_view<ViewTypes> subimage_view(const any_image_view<ViewTypes>& src, int xMin, int yMin, int width, int height) {
- return apply_operation(src,detail::subimage_view_fn<any_image_view<ViewTypes> >(point2<std::ptrdiff_t>(xMin,yMin),point2<std::ptrdiff_t>(width,height)));
+/// Models MPL Random Access Container of models of ImageViewConcept
+template <typename ViewTypes>
+inline auto subimage_view(any_image_view<ViewTypes> const& src,
+ int xMin, int yMin, int width, int height)
+ -> any_image_view<ViewTypes>
+{
+ using subimage_view_fn = detail::subimage_view_fn<any_image_view<ViewTypes>>;
+ return apply_operation(src, subimage_view_fn(point_t(xMin, yMin),point_t(width, height)));
}
/// \ingroup ImageViewTransformationsSubsampled
-template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_xy_step_type<any_image_view<ViewTypes> >::type subsampled_view(const any_image_view<ViewTypes>& src, const point2<std::ptrdiff_t>& step) {
- return apply_operation(src,detail::subsampled_view_fn<typename dynamic_xy_step_type<any_image_view<ViewTypes> >::type>(step));
+/// Models MPL Random Access Container of models of ImageViewConcept
+template <typename ViewTypes>
+inline auto subsampled_view(any_image_view<ViewTypes> const& src, point_t const& step)
+ -> typename dynamic_xy_step_type<any_image_view<ViewTypes>>::type
+{
+ using step_type = typename dynamic_xy_step_type<any_image_view<ViewTypes>>::type;
+ using subsampled_view = detail::subsampled_view_fn<step_type>;
+ return apply_operation(src, subsampled_view(step));
}
/// \ingroup ImageViewTransformationsSubsampled
-template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename dynamic_xy_step_type<any_image_view<ViewTypes> >::type subsampled_view(const any_image_view<ViewTypes>& src, int xStep, int yStep) {
- return apply_operation(src,detail::subsampled_view_fn<typename dynamic_xy_step_type<any_image_view<ViewTypes> >::type>(point2<std::ptrdiff_t>(xStep,yStep)));
+/// Models MPL Random Access Container of models of ImageViewConcept
+template <typename ViewTypes>
+inline auto subsampled_view(any_image_view<ViewTypes> const& src, int xStep, int yStep)
+ -> typename dynamic_xy_step_type<any_image_view<ViewTypes>>::type
+{
+ using step_type = typename dynamic_xy_step_type<any_image_view<ViewTypes>>::type;
+ using subsampled_view_fn = detail::subsampled_view_fn<step_type>;
+ return apply_operation(src, subsampled_view_fn(point_t(xStep, yStep)));
}
namespace detail {
@@ -156,8 +193,8 @@ struct nth_channel_view_type<any_image_view<ViewTypes> > {
/// \ingroup ImageViewTransformationsNthChannel
template <typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename nth_channel_view_type<any_image_view<ViewTypes> >::type nth_channel_view(const any_image_view<ViewTypes>& src, int n) {
- return apply_operation(src,detail::nth_channel_view_fn<typename nth_channel_view_type<any_image_view<ViewTypes> >::type>(n));
+typename nth_channel_view_type<any_image_view<ViewTypes> >::type nth_channel_view(const any_image_view<ViewTypes>& src, int n) {
+ return apply_operation(src,detail::nth_channel_view_fn<typename nth_channel_view_type<any_image_view<ViewTypes> >::type>(n));
}
namespace detail {
@@ -176,7 +213,7 @@ struct color_converted_view_type<any_image_view<ViewTypes>,DstP,CC> {
/// \brief overload of generic color_converted_view with user defined color-converter
template <typename DstP, typename ViewTypes, typename CC> inline // Models MPL Random Access Container of models of ImageViewConcept
typename color_converted_view_type<any_image_view<ViewTypes>, DstP, CC>::type color_converted_view(const any_image_view<ViewTypes>& src, CC) {
- return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP, CC>::type >());
+ return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP, CC>::type >());
}
/// \ingroup ImageViewTransformationsColorConvert
@@ -189,8 +226,8 @@ struct color_converted_view_type<any_image_view<ViewTypes>,DstP> {
/// \ingroup ImageViewTransformationsColorConvert
/// \brief overload of generic color_converted_view with the default color-converter
template <typename DstP, typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type color_converted_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type >());
+typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type color_converted_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type >());
}
@@ -199,15 +236,15 @@ typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type color_
/// These are workarounds for GCC 3.4, which thinks color_converted_view is ambiguous with the same method for templated views (in gil/image_view_factory.hpp)
template <typename DstP, typename ViewTypes, typename CC> inline // Models MPL Random Access Container of models of ImageViewConcept
typename color_converted_view_type<any_image_view<ViewTypes>, DstP, CC>::type any_color_converted_view(const any_image_view<ViewTypes>& src, CC) {
- return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP, CC>::type >());
+ return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP, CC>::type >());
}
/// \ingroup ImageViewTransformationsColorConvert
/// \brief overload of generic color_converted_view with the default color-converter
/// These are workarounds for GCC 3.4, which thinks color_converted_view is ambiguous with the same method for templated views (in gil/image_view_factory.hpp)
template <typename DstP, typename ViewTypes> inline // Models MPL Random Access Container of models of ImageViewConcept
-typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type any_color_converted_view(const any_image_view<ViewTypes>& src) {
- return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type >());
+typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type any_color_converted_view(const any_image_view<ViewTypes>& src) {
+ return apply_operation(src,detail::color_converted_view_fn<DstP,typename color_converted_view_type<any_image_view<ViewTypes>, DstP>::type >());
}
/// \}
diff --git a/boost/gil/extension/dynamic_image/reduce.hpp b/boost/gil/extension/dynamic_image/reduce.hpp
index 6e86faa991..2ab2589016 100644
--- a/boost/gil/extension/dynamic_image/reduce.hpp
+++ b/boost/gil/extension/dynamic_image/reduce.hpp
@@ -1,50 +1,41 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_GIL_REDUCE_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_GIL_REDUCE_HPP
+
+#ifdef BOOST_GIL_DOXYGEN_ONLY
+#undef BOOST_GIL_REDUCE_CODE_BLOAT
+#endif
-#ifndef GIL_REDUCE_HPP
-#define GIL_REDUCE_HPP
+#ifdef BOOST_GIL_REDUCE_CODE_BLOAT
+
+#include <boost/gil/extension/dynamic_image/dynamic_at_c.hpp>
+
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/typedefs.hpp>
-#include <boost/mpl/insert_range.hpp>
-#include <boost/mpl/range_c.hpp>
-#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/back.hpp>
-#include <boost/mpl/vector.hpp>
+#include <boost/mpl/insert.hpp>
+#include <boost/mpl/insert_range.hpp>
#include <boost/mpl/long.hpp>
#include <boost/mpl/logical.hpp>
+#include <boost/mpl/range_c.hpp>
+#include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/transform.hpp>
-#include <boost/mpl/insert.hpp>
-#include <boost/mpl/transform.hpp>
-
-#include "../../metafunctions.hpp"
-#include "../../typedefs.hpp"
-#include "dynamic_at_c.hpp"
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Constructs for static-to-dynamic integer convesion
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on May 4, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-
-#ifdef GIL_REDUCE_CODE_BLOAT
-
// Max number of cases in the cross-expension of binary operation for it to be reduced as unary
#define GIL_BINARY_REDUCE_LIMIT 226
namespace boost { namespace mpl {
+// Constructs for static-to-dynamic integer convesion
+
///////////////////////////////////////////////////////
/// Mapping vector - represents the mapping of one type vector to another
/// It is not a full-blown MPL Random Access Type sequence; just has at_c and size implemented
@@ -89,7 +80,7 @@ namespace detail {
typedef typename push_front<rest, T>::type type;
};
- template <typename SFirst>
+ template <typename SFirst>
struct copy_to_vector_impl<SFirst,1> {
typedef vector<typename deref<SFirst>::type> type;
};
@@ -111,7 +102,7 @@ namespace boost { namespace gil {
///////////////////////////////////////////////////////
-///
+///
/// unary_reduce, binary_reduce - given an MPL Random Access Sequence,
/// dynamically specified index to that container, the bits of an instance of the corresponding type and
/// a generic operation, invokes the operation on the given type
@@ -122,7 +113,7 @@ namespace boost { namespace gil {
///////////////////////////////////////////////////////
-///
+///
/// \brief Unary reduce.
///
/// Given a set of types and an operation, reduces each type in the set (to reduced_t), then removes duplicates (to unique_t)
@@ -172,7 +163,7 @@ struct unary_reduce<Types,Op,true> : public unary_reduce_impl<Types,Op> {
///////////////////////////////////////////////////////
-///
+///
/// \brief Binary reduce.
///
/// Given two sets of types, Types1 and Types2, first performs unary reduction on each. Then checks if the product of their sizes is above
@@ -200,7 +191,7 @@ namespace detail {
typedef mpl::cross_vector<mpl::vector2<vec1_types, vec2_types>, pair_generator> BIN_TYPES;
typedef unary_reduce<BIN_TYPES,Op> bin_reduced_t;
-
+
static unsigned short inline map_index(std::size_t index1, std::size_t index2) {
unsigned short r1=Unary1::map_index(index1);
unsigned short r2=Unary2::map_index(index2);
@@ -233,7 +224,7 @@ struct binary_reduce {
typedef unary_reduce<Types1,Op> unary1_t;
typedef unary_reduce<Types2,Op> unary2_t;
- static const std::size_t CROSS_SIZE = mpl::size<typename unary1_t::unique_t>::value *
+ static const std::size_t CROSS_SIZE = mpl::size<typename unary1_t::unique_t>::value *
mpl::size<typename unary2_t::unique_t>::value;
typedef detail::binary_reduce_impl<unary1_t,unary2_t,Op, (CROSS_SIZE>GIL_BINARY_REDUCE_LIMIT)> impl;
@@ -255,7 +246,7 @@ BOOST_FORCEINLINE typename UnaryOp::result_type apply_operation(const variant<Ty
}
template <typename Types1, typename Types2, typename BinaryOp>
-BOOST_FORCEINLINE typename BinaryOp::result_type apply_operation(const variant<Types1>& arg1, const variant<Types2>& arg2, BinaryOp op) {
+BOOST_FORCEINLINE typename BinaryOp::result_type apply_operation(const variant<Types1>& arg1, const variant<Types2>& arg2, BinaryOp op) {
return binary_reduce<Types1,Types2,BinaryOp>::template apply(arg1._bits, arg1._index, arg2._bits, arg2._index, op);
}
@@ -268,19 +259,19 @@ namespace boost { namespace mpl {
///////////////////////////////////////////////////////
/// \brief Represents the virtual cross-product of the types generated from VecOfVecs.
/// \ingroup CrossVector
-/// INPUT:
+/// INPUT:
/// VecOfVecs - a vector of vector types. For example [ [A1,A2,A3], [B1,B2], [C1,C2,C3,C4] ]
/// Each element must be a non-empty mpl vector
/// TypeGen - a metafunction that generates a type from a vector of types, each of which can be
/// selected from the corresponding vector in VecOfVecs. For example, [A1, B2, C4]
-///
+///
/// Represents the virtual cross-product of the types generated from VecOfVecs.
/// For example, [ TypeGen[A1,B1,C1], TypeGen[A2,B1,C1], TypeGen[A3,B1,C1],
/// TypeGen[A1,B2,C1], TypeGen[A2,B2,C1], TypeGen[A3,B2,C1],
/// TypeGen[A1,B1,C2], TypeGen[A2,B1,C2], TypeGen[A3,B1,C2], ... ]
-///
+///
/// Models an immutable MPL Random Access Sequence
-/// Traversal, random-access, etc, is defined, but mutable operations,
+/// Traversal, random-access, etc, is defined, but mutable operations,
/// such as push_back and pop_front are not supported
///////////////////////////////////////////////////////
@@ -301,7 +292,7 @@ struct cross_iterator {
/// \brief Dereferences a cross-vector iterator
/// \ingroup CrossVectorIterator
/// Creates a vector of the sizes of each type vector in VecOfVecs, then uses it as a basis
-/// to represent the iterator's position K as a vector of indices. Extracts the corresponding type of
+/// to represent the iterator's position K as a vector of indices. Extracts the corresponding type of
/// each input vector and passes the element types to the type generation function, which returns the dereferenced type
template <typename VecOfVecs, typename TypeGen, std::size_t K>
struct deref<cross_iterator<VecOfVecs,TypeGen,K> > {
@@ -413,13 +404,13 @@ template <typename VecOfVecs, typename TypeGen, typename OPP>
struct transform<cross_vector<VecOfVecs,TypeGen>, OPP > {
typedef typename lambda<OPP>::type Op;
struct adapter {
- template <typename Elements>
+ template <typename Elements>
struct apply {
typedef typename TypeGen::template apply<Elements>::type orig_t;
typedef typename Op::template apply<orig_t>::type type;
};
};
- typedef cross_vector<VecOfVecs, adapter > type;
+ typedef cross_vector<VecOfVecs, adapter > type;
};
} } // boost::mpl
@@ -460,9 +451,9 @@ namespace detail {
};
template <typename Op, typename Loc>
- struct reduce<Op, image_view<Loc> >
+ struct reduce<Op, image_view<Loc> >
: public reduce_view_basic<Op,image_view<Loc>,view_is_basic<image_view<Loc> >::value> {};
-
+
////////////////////////////////////////////////////////
////
//// Unary reduce_image operation. Splits into basic and non-basic images.
@@ -491,7 +482,7 @@ namespace detail {
};
template <typename Op, typename L1, typename L2>
- struct reduce<Op, std::pair<const image_view<L1>*, const image_view<L2>*> >
+ struct reduce<Op, std::pair<const image_view<L1>*, const image_view<L2>*> >
: public reduce_views_basic<Op,image_view<L1>,image_view<L2>,
mpl::and_<view_is_basic<image_view<L1> >, view_is_basic<image_view<L2> > >::value >
{};
@@ -515,20 +506,20 @@ namespace detail {
/*
////////////////////////////////////////////////////////
////
- //// Color space binary reduce operation. Given a source and destination color spaces,
+ //// Color space binary reduce operation. Given a source and destination color spaces,
//// returns a reduced source and destination color spaces that have the same mapping of channels
////
//// Precondition: The two color spaces must be compatible (i.e. must have the same set of channels)
////////////////////////////////////////////////////////
- template <typename Vec, int Basis, int VecSize>
+ template <typename Vec, int Basis, int VecSize>
struct type_vec_to_integer_impl {
typedef typename mpl::back<Vec>::type last;
typedef typename mpl::pop_back<Vec>::type rest;
static const int value = type_vec_to_integer_impl<rest, Basis, VecSize-1>::value * Basis + last::value;
};
- template <typename Vec, int Basis>
+ template <typename Vec, int Basis>
struct type_vec_to_integer_impl<Vec,Basis,0> {
static const int value=0;
};
@@ -608,7 +599,7 @@ namespace detail {
typedef typename channel_order<DstColorSpace>::type dst_order_t;
typedef typename mpl::transform<src_order_t, type_to_index<dst_order_t,mpl::_1> >::type mapping;
static const int mapping_val = type_vec_to_integer<mapping>::value;
-
+
typedef typename reduce_color_spaces_impl<SrcColorSpace,DstColorSpace,mapping_val>::first_t _first_t;
typedef typename reduce_color_spaces_impl<SrcColorSpace,DstColorSpace,mapping_val>::second_t _second_t;
typedef typename mpl::and_<color_space_is_base<DstColorSpace>, mpl::not_< color_space_is_base<_second_t> > > swap_t;
@@ -644,12 +635,12 @@ namespace detail {
};
*/
// Incompatible views cannot be used in copy_pixels - will throw std::bad_cast
- template <typename V1, typename V2, bool Compatible>
+ template <typename V1, typename V2, bool Compatible>
struct reduce_copy_pixop_compat {
typedef error_t type;
};
-
- // For compatible basic views, reduce their color spaces based on their channel mapping.
+
+ // For compatible basic views, reduce their color spaces based on their channel mapping.
// Make the source immutable and the destination mutable (they should already be that way)
template <typename V1, typename V2>
struct reduce_copy_pixop_compat<V1,V2,true> {
@@ -661,10 +652,10 @@ namespace detail {
typedef typename derived_view_type<V1, use_default, L1, use_default, use_default, use_default, mpl::false_>::type DV1;
typedef typename derived_view_type<V2, use_default, L2, use_default, use_default, use_default, mpl::true_ >::type DV2;
-
+
typedef std::pair<const DV1*, const DV2*> type;
};
-
+
// The general 2D version branches into compatible and incompatible views
template <typename V1, typename V2>
struct reduce_views_basic<copy_pixels_fn, V1, V2, true>
@@ -685,7 +676,7 @@ namespace detail {
//// Reduce for get_dimensions (basic views and images have the same structure and the dimensions are contained at the beginning)
////
////////////////////////////////////////////////////////
-
+
struct any_type_get_dimensions;
template <typename View> struct reduce_view_basic<any_type_get_dimensions,View,true> { typedef gray8_view_t type; };
template <typename Img> struct reduce_image_basic<any_type_get_dimensions,Img,true> { typedef gray8_image_t type; };
@@ -695,13 +686,13 @@ namespace detail {
//// Reduce for get_num_channels (only color space matters)
////
////////////////////////////////////////////////////////
-
+
struct any_type_get_num_channels;
- template <typename View> struct reduce_view_basic<any_type_get_num_channels,View,true> {
+ template <typename View> struct reduce_view_basic<any_type_get_num_channels,View,true> {
typedef typename View::color_space_t::base Cs;
typedef typename view_type<uint8_t,typename reduce_color_space<Cs>::type>::type type;
};
- template <typename Img> struct reduce_image_basic<any_type_get_num_channels,Img,true> {
+ template <typename Img> struct reduce_image_basic<any_type_get_num_channels,Img,true> {
typedef typename Img::color_space_t::base Cs;
typedef typename image_type<uint8_t,typename reduce_color_space<Cs>::type>::type type;
};
@@ -711,13 +702,13 @@ namespace detail {
//// Reduce for resample_pixels (same as copy_pixels)
////
////////////////////////////////////////////////////////
-
+
template <typename Sampler, typename MapFn> struct resample_pixels_fn;
- template <typename S, typename M, typename V, bool IsBasic>
+ template <typename S, typename M, typename V, bool IsBasic>
struct reduce_view_basic<resample_pixels_fn<S,M>, V, IsBasic> : public reduce_view_basic<copy_pixels_fn, V, IsBasic> {};
- template <typename S, typename M, typename V1, typename V2, bool IsBasic>
+ template <typename S, typename M, typename V1, typename V2, bool IsBasic>
struct reduce_views_basic<resample_pixels_fn<S,M>, V1, V2, IsBasic> : public reduce_views_basic<copy_pixels_fn, V1, V2, IsBasic> {};
////////////////////////////////////////////////////////
@@ -727,18 +718,18 @@ namespace detail {
////
////////////////////////////////////////////////////////
-
+
template <typename CC> class copy_and_convert_pixels_fn;
// the only thing for 1D reduce is making them all mutable...
- template <typename CC, typename View, bool IsBasic>
- struct reduce_view_basic<copy_and_convert_pixels_fn<CC>, View, IsBasic>
+ template <typename CC, typename View, bool IsBasic>
+ struct reduce_view_basic<copy_and_convert_pixels_fn<CC>, View, IsBasic>
: public derived_view_type<View, use_default, use_default, use_default, use_default, mpl::true_> {
};
// For 2D reduce, if they have the same channels and color spaces (i.e. the same pixels) then copy_and_convert is just copy.
// In this case, reduce their common color space. In general make the first immutable and the second mutable
- template <typename CC, typename V1, typename V2, bool AreBasic>
+ template <typename CC, typename V1, typename V2, bool AreBasic>
struct reduce_views_basic<copy_and_convert_pixels_fn<CC>, V1, V2, AreBasic> {
typedef is_same<typename V1::pixel_t, typename V2::pixel_t> Same;
@@ -748,7 +739,7 @@ namespace detail {
typedef typename derived_view_type<V1, use_default, layout<Cs1, typename V1::channel_mapping_t>, use_default, use_default, mpl::false_>::type DV1;
typedef typename derived_view_type<V2, use_default, layout<Cs2, typename V2::channel_mapping_t>, use_default, use_default, mpl::true_ >::type DV2;
-
+
typedef std::pair<const DV1*, const DV2*> type;
};
@@ -759,11 +750,11 @@ namespace detail {
//fill_converted_pixels_fn
//bind(gil::detail::copy_pixels_fn(), _1, dst)
//bind(gil::detail::copy_pixels_fn(), src,_1)
-
+
//bind(detail::copy_and_convert_pixels_fn(), _1, dst)
//bind(detail::copy_and_convert_pixels_fn(), src, _1)
//gil::detail::fill_pixels_fn<Value>(val)
-
+
//detail::copy_construct_in_place_fn<base_t>
//detail::equal_to_fn<typename variant<Types>::base_t>
@@ -781,9 +772,8 @@ namespace detail {
//detail::color_converted_view_fn<DstP,typename color_convert_view_type<any_image_view<ViewTypes>, DstP>::type >
}
-} } // namespace boost::gil
-
-#endif // GIL_REDUCE_CODE_BLOAT
+}} // namespace boost::gil
+#endif // defined(BOOST_GIL_REDUCE_CODE_BLOAT)
#endif
diff --git a/boost/gil/extension/dynamic_image/variant.hpp b/boost/gil/extension/dynamic_image/variant.hpp
index 1ab53b549d..a0eb0f85db 100644
--- a/boost/gil/extension/dynamic_image/variant.hpp
+++ b/boost/gil/extension/dynamic_image/variant.hpp
@@ -1,46 +1,37 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_VARIANT_HPP
+#define BOOST_GIL_EXTENSION_DYNAMIC_IMAGE_VARIANT_HPP
-#ifndef GIL_DYNAMICIMAGE_VARIANT_HPP
-#define GIL_DYNAMICIMAGE_VARIANT_HPP
+// TODO: Replace with C++17 std::variant?
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for run-time instantiated types
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 18, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/utilities.hpp>
-#include "../../gil_config.hpp"
-#include "../../utilities.hpp"
-#include <cstddef>
-#include <cassert>
-#include <algorithm>
-#include <typeinfo>
#include <boost/bind.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/mpl/at.hpp>
#include <boost/mpl/bool.hpp>
-#include <boost/mpl/transform.hpp>
+#include <boost/mpl/fold.hpp>
+#include <boost/mpl/max.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/sizeof.hpp>
-#include <boost/mpl/max.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/fold.hpp>
+#include <boost/mpl/transform.hpp>
+#include <boost/utility/enable_if.hpp>
+
+#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <typeinfo>
namespace boost { namespace gil {
-namespace detail {
+// Support for run-time instantiated types
+
+namespace detail {
template <typename Types, typename T> struct type_to_index;
template <typename Op, typename T> struct reduce;
struct destructor_op {
@@ -66,21 +57,21 @@ It would be difficult to write a function that reads an image from file preservi
type of the return value is only available at run time. It would be difficult to store images of different color
spaces in the same container or apply operations on them uniformly.
-The variant class addresses this deficiency. It allows for run-time instantiation of a class from a given set of allowed classes
-specified at compile time. For example, the set of allowed classes may include 8-bit and 16-bit RGB and CMYK images. Such a variant
+The variant class addresses this deficiency. It allows for run-time instantiation of a class from a given set of allowed classes
+specified at compile time. For example, the set of allowed classes may include 8-bit and 16-bit RGB and CMYK images. Such a variant
can be constructed with rgb8_image_t and then assigned a cmyk16_image_t.
-The variant has a templated constructor, which allows us to construct it with any concrete type instantiation. It can also perform a generic
+The variant has a templated constructor, which allows us to construct it with any concrete type instantiation. It can also perform a generic
operation on the concrete type via a call to apply_operation. The operation must be provided as a function object whose application
operator has a single parameter which can be instantiated with any of the allowed types of the variant.
-variant breaks down the instantiated type into a non-templated underlying base type and a unique instantiation
+variant breaks down the instantiated type into a non-templated underlying base type and a unique instantiation
type identifier. In the most common implementation the concrete instantiation in stored 'in-place' - in 'bits_t'.
bits_t contains sufficient space to fit the largest of the instantiated objects.
GIL's variant is similar to boost::variant in spirit (hence we borrow the name from there) but it differs in several ways from the current boost
implementation. Most notably, it does not take a variable number of template parameters but a single parameter defining the type enumeration. As
-such it can be used more effectively in generic code.
+such it can be used more effectively in generic code.
The Types parameter specifies the set of allowable types. It models MPL Random Access Container
*/
@@ -162,7 +153,7 @@ namespace detail {
struct equal_to_fn {
const Bits& _dst;
equal_to_fn(const Bits& dst) : _dst(dst) {}
-
+
typedef bool result_type;
template <typename T> result_type operator()(const T& x) const {
return x==*gil_reinterpret_cast_c<const T*>(&_dst);
@@ -178,21 +169,21 @@ namespace detail {
}
// When doSwap is true, swaps obj with the contents of the variant. obj will contain default-constructed instance after the call
-template <typename Types>
+template <typename Types>
template <typename T> variant<Types>::variant(T& obj, bool do_swap) {
- _index=type_id<T>();
- if (_index==NUM_TYPES) throw std::bad_cast();
+ _index=type_id<T>();
+ if (_index==NUM_TYPES) throw std::bad_cast();
if (do_swap) {
new(&_bits) T(); // default construct
swap(obj, *gil_reinterpret_cast<T*>(&_bits));
- } else
+ } else
detail::copy_construct_in_place(const_cast<const T&>(obj), _bits);
}
-template <typename Types>
+template <typename Types>
void swap(variant<Types>& x, variant<Types>& y) {
- std::swap(x._bits,y._bits);
+ std::swap(x._bits,y._bits);
std::swap(x._index, y._index);
}
diff --git a/boost/gil/extension/io/bmp.hpp b/boost/gil/extension/io/bmp.hpp
index d9242dde0c..5ea0d2bfa9 100644
--- a/boost/gil/extension/io/bmp.hpp
+++ b/boost/gil/extension/io/bmp.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/bmp/read.hpp>
#include <boost/gil/extension/io/bmp/write.hpp>
diff --git a/boost/gil/extension/io/bmp/detail/is_allowed.hpp b/boost/gil/extension/io/bmp/detail/is_allowed.hpp
index fab24d58d7..1a9af1bc9c 100644
--- a/boost/gil/extension/io/bmp/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/bmp/detail/is_allowed.hpp
@@ -1,23 +1,16 @@
-/*
- Copyright 2009 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2009 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/channel.hpp>
+
+#include <boost/mpl/bool_fwd.hpp>
namespace boost { namespace gil { namespace detail {
diff --git a/boost/gil/extension/io/bmp/detail/read.hpp b/boost/gil/extension/io/bmp/detail/read.hpp
index 09e5652885..4e9ccbdb56 100644
--- a/boost/gil/extension/io/bmp/detail/read.hpp
+++ b/boost/gil/extension/io/bmp/detail/read.hpp
@@ -1,40 +1,29 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_READ_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
-
-#include <boost/mpl/and.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/gil/extension/io/bmp/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/bmp/detail/reader_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/bit_operations.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/bmp/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/bmp/detail/is_allowed.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/utility/enable_if.hpp>
+
+#include <vector>
namespace boost { namespace gil {
diff --git a/boost/gil/extension/io/bmp/detail/reader_backend.hpp b/boost/gil/extension/io/bmp/detail/reader_backend.hpp
index 589a5e3c4f..e84e22a34f 100644
--- a/boost/gil/extension/io/bmp/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/bmp/detail/reader_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/bmp/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
/// Color channel mask
@@ -154,7 +143,7 @@ public:
}
else if (_info._header_size > bmp_header_size::_win32_info_size)
{
- // could be v4 or v5
+ // could be v4 or v5
// see MSDN: Bitmap Header Types ( BITMAPV4HEADER or BITMAPV5HEADER )
_info._width = _io_dev.read_uint32();
@@ -248,9 +237,9 @@ public:
color_mask _mask;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/bmp/detail/scanline_read.hpp b/boost/gil/extension/io/bmp/detail/scanline_read.hpp
index fdc1e54f68..b23c3f991f 100644
--- a/boost/gil/extension/io/bmp/detail/scanline_read.hpp
+++ b/boost/gil/extension/io/bmp/detail/scanline_read.hpp
@@ -1,39 +1,28 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_SCANLINE_READ_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_SCANLINE_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 - 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
-
-#include <boost/function.hpp>
+#include <boost/gil/extension/io/bmp/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/bmp/detail/reader_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/bit_operations.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/bmp/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/bmp/detail/is_allowed.hpp>
+#include <boost/function.hpp>
+
+#include <vector>
namespace boost { namespace gil {
diff --git a/boost/gil/extension/io/bmp/detail/supported_types.hpp b/boost/gil/extension/io/bmp/detail/supported_types.hpp
index 89765594aa..3b5bb06e1b 100644
--- a/boost/gil/extension/io/bmp/detail/supported_types.hpp
+++ b/boost/gil/extension/io/bmp/detail/supported_types.hpp
@@ -1,34 +1,21 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-
+#include <boost/gil/bit_aligned_pixel_reference.hpp>
#include <boost/gil/channel.hpp>
#include <boost/gil/color_base.hpp>
-#include <boost/gil/bit_aligned_pixel_reference.hpp>
#include <boost/gil/packed_pixel.hpp>
-
#include <boost/gil/io/base.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/type_traits/is_same.hpp>
namespace boost { namespace gil { namespace detail {
@@ -76,7 +63,7 @@ struct bmp_read_support<uint8_t
{
static const bmp_bits_per_pixel::type bpp = 8;
};
-
+
template<>
@@ -124,7 +111,7 @@ struct is_read_supported< Pixel
>
: mpl::bool_< detail::bmp_read_support< typename channel_type< Pixel >::type
, typename color_space_type< Pixel >::type
- >::is_supported
+ >::is_supported
>
{
typedef detail::bmp_read_support< typename channel_type< Pixel >::type
@@ -146,5 +133,4 @@ struct is_write_supported< Pixel
} // namespace gil
} // namespace boost
-
#endif
diff --git a/boost/gil/extension/io/bmp/detail/write.hpp b/boost/gil/extension/io/bmp/detail/write.hpp
index 08ea24bae0..c0032c5962 100644
--- a/boost/gil/extension/io/bmp/detail/write.hpp
+++ b/boost/gil/extension/io/bmp/detail/write.hpp
@@ -1,38 +1,26 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
+#include <boost/gil/extension/io/bmp/tags.hpp>
+#include <boost/gil/extension/io/bmp/detail/writer_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/device.hpp>
-#include <boost/gil/extension/io/bmp/tags.hpp>
-
-#include <boost/gil/extension/io/bmp/detail/writer_backend.hpp>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
namespace detail {
@@ -68,7 +56,7 @@ class writer< Device
public:
writer( const Device& io_dev
- , const image_write_info< bmp_tag >& info
+ , const image_write_info< bmp_tag >& info
)
: backend_t( io_dev
, info
@@ -116,8 +104,8 @@ private:
*/
std::size_t spn = ( view.width() * num_channels< View >::value + 3 ) & ~3;
- std::size_t ofs = bmp_header_size::_size
- + bmp_header_size::_win32_info_size
+ std::size_t ofs = bmp_header_size::_size
+ + bmp_header_size::_win32_info_size
+ entries * 4;
std::size_t siz = ofs + spn * view.height();
@@ -220,9 +208,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/bmp/detail/writer_backend.hpp b/boost/gil/extension/io/bmp/detail/writer_backend.hpp
index a5147859f8..9ae4eb64f0 100644
--- a/boost/gil/extension/io/bmp/detail/writer_backend.hpp
+++ b/boost/gil/extension/io/bmp/detail/writer_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_DETAIL_WRITER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_DETAIL_WRITER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/bmp/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -56,9 +45,9 @@ public:
image_write_info< bmp_tag > _info;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/bmp/old.hpp b/boost/gil/extension/io/bmp/old.hpp
index b265ca1960..3a7e496c57 100644
--- a/boost/gil/extension/io/bmp/old.hpp
+++ b/boost/gil/extension/io/bmp/old.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_OLD_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_OLD_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/bmp.hpp>
namespace boost { namespace gil {
@@ -26,24 +15,14 @@ namespace boost { namespace gil {
/// \ingroup BMP_IO
/// \brief Returns the width and height of the BMP file at the specified location.
/// Throws std::ios_base::failure if the location does not correspond to a valid BMP file
-template< typename String >
-inline
-point2< std::ptrdiff_t > bmp_read_dimensions( const String& filename )
+template<typename String>
+inline point_t bmp_read_dimensions(String const& filename)
{
- typedef typename get_reader_backend< String
- , bmp_tag
- >::type backend_t;
-
- backend_t backend = read_image_info( filename
- , bmp_tag()
- );
-
- return point2< std::ptrdiff_t >( backend._info._width
- , backend._info._height
- );
+ using backend_t = typename get_reader_backend<String, bmp_tag>::type;
+ backend_t backend = read_image_info(filename, bmp_tag());
+ return { backend._info._width, backend._info._height };
}
-
/// \ingroup BMP_IO
/// \brief Loads the image specified by the given bmp image file name into the given view.
/// Triggers a compile assert if the view color space and channel depth are not supported by the BMP library or by the I/O extension.
diff --git a/boost/gil/extension/io/bmp/read.hpp b/boost/gil/extension/io/bmp/read.hpp
index e28c169bdf..b105c5772c 100644
--- a/boost/gil/extension/io/bmp/read.hpp
+++ b/boost/gil/extension/io/bmp/read.hpp
@@ -1,43 +1,30 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_READ_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_READ_HPP
-#define BOOST_GIL_EXTENSION_IO_BMP_READ_ENABLED
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#define BOOST_GIL_EXTENSION_IO_BMP_READ_ENABLED // TODO: Document, explain, review
#include <boost/gil/extension/io/bmp/tags.hpp>
-#include <boost/gil/extension/io/bmp/detail/supported_types.hpp>
#include <boost/gil/extension/io/bmp/detail/read.hpp>
#include <boost/gil/extension/io/bmp/detail/scanline_read.hpp>
+#include <boost/gil/extension/io/bmp/detail/supported_types.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_image.hpp>
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image_info.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/bmp/tags.hpp b/boost/gil/extension/io/bmp/tags.hpp
index ec8c4a15f8..37921e1922 100644
--- a/boost/gil/extension/io/bmp/tags.hpp
+++ b/boost/gil/extension/io/bmp/tags.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_TAGS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/io/base.hpp>
namespace boost { namespace gil {
@@ -110,7 +99,7 @@ struct image_read_info< bmp_tag >
/// The compression method being used. See above for a list of possible values.
bmp_compression::type _compression;
- /// The image size. This is the size of the raw bitmap data (see below),
+ /// The image size. This is the size of the raw bitmap data (see below),
/// and should not be confused with the file size.
bmp_image_size::type _image_size;
@@ -123,7 +112,7 @@ struct image_read_info< bmp_tag >
/// The number of colors in the color palette, or 0 to default to 2^n - 1.
bmp_num_colors::type _num_colors;
- /// The number of important colors used, or 0 when every color is important;
+ /// The number of important colors used, or 0 when every color is important;
/// generally ignored.
bmp_num_important_colors::type _num_important_colors;
diff --git a/boost/gil/extension/io/bmp/write.hpp b/boost/gil/extension/io/bmp/write.hpp
index 634bf3bd89..49991c55e8 100644
--- a/boost/gil/extension/io/bmp/write.hpp
+++ b/boost/gil/extension/io/bmp/write.hpp
@@ -1,31 +1,19 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_BMP_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_BMP_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/bmp/tags.hpp>
#include <boost/gil/extension/io/bmp/detail/supported_types.hpp>
#include <boost/gil/extension/io/bmp/detail/write.hpp>
#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/make_dynamic_image_writer.hpp>
-
#include <boost/gil/io/write_view.hpp>
#endif
diff --git a/boost/gil/extension/io/jpeg.hpp b/boost/gil/extension/io/jpeg.hpp
index 8f4b5db410..0e52e57ac0 100644
--- a/boost/gil/extension/io/jpeg.hpp
+++ b/boost/gil/extension/io/jpeg.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/jpeg/read.hpp>
#include <boost/gil/extension/io/jpeg/write.hpp>
diff --git a/boost/gil/extension/io/jpeg/detail/base.hpp b/boost/gil/extension/io/jpeg/detail/base.hpp
index 551c4759d1..b639462abd 100644
--- a/boost/gil/extension/io/jpeg/detail/base.hpp
+++ b/boost/gil/extension/io/jpeg/detail/base.hpp
@@ -1,29 +1,21 @@
-/*
- Copyright 2010 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_BASE_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_BASE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
#include <boost/gil/extension/io/jpeg/tags.hpp>
-namespace boost { namespace gil {
+#include <csetjmp>
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
+namespace boost { namespace gil {
+
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
#pragma warning(disable:4324) //structure was padded due to __declspec(align())
#endif
@@ -36,9 +28,9 @@ protected:
jmp_buf _mark;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/jpeg/detail/is_allowed.hpp b/boost/gil/extension/io/jpeg/detail/is_allowed.hpp
index cf8015492e..e2992dae71 100644
--- a/boost/gil/extension/io/jpeg/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/jpeg/detail/is_allowed.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2009 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2009 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
namespace boost { namespace gil { namespace detail {
template< typename View >
diff --git a/boost/gil/extension/io/jpeg/detail/read.hpp b/boost/gil/extension/io/jpeg/detail/read.hpp
index f3f5a8afef..b9b713b9a5 100644
--- a/boost/gil/extension/io/jpeg/detail/read.hpp
+++ b/boost/gil/extension/io/jpeg/detail/read.hpp
@@ -1,43 +1,32 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_READ_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <csetjmp>
-#include <vector>
#include <boost/gil/extension/io/jpeg/tags.hpp>
+#include <boost/gil/extension/io/jpeg/detail/base.hpp>
+#include <boost/gil/extension/io/jpeg/detail/is_allowed.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/jpeg/detail/base.hpp>
-#include <boost/gil/extension/io/jpeg/detail/is_allowed.hpp>
+#include <csetjmp>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
+#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
///
@@ -144,7 +133,7 @@ public:
{
this->_scanline_length = this->_info._width * num_channels< rgb8_view_t >::value;
- read_rows< rgb8_pixel_t >( view );
+ read_rows< rgb8_pixel_t >( view );
break;
}
@@ -231,7 +220,7 @@ private:
}
};
-namespace detail {
+namespace detail {
struct jpeg_type_format_checker
{
@@ -321,9 +310,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/jpeg/detail/reader_backend.hpp b/boost/gil/extension/io/jpeg/detail/reader_backend.hpp
index 71c446af4f..72b9d61472 100644
--- a/boost/gil/extension/io/jpeg/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/jpeg/detail/reader_backend.hpp
@@ -1,37 +1,27 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/jpeg/tags.hpp>
+#include <csetjmp>
#include <memory>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
+#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
-namespace detail {
+namespace detail {
///
/// Wrapper for libjpeg's decompress object. Implements value semantics.
@@ -116,7 +106,7 @@ public:
}
_src._jsrc.bytes_in_buffer = 0;
- _src._jsrc.next_input_byte = buffer;
+ _src._jsrc.next_input_byte = buffer_;
_src._jsrc.init_source = reinterpret_cast< void(*) ( j_decompress_ptr )>( &reader_backend< Device, jpeg_tag >::init_device );
_src._jsrc.fill_input_buffer = reinterpret_cast< boolean(*)( j_decompress_ptr )>( &reader_backend< Device, jpeg_tag >::fill_buffer );
_src._jsrc.skip_input_data = reinterpret_cast< void(*) ( j_decompress_ptr
@@ -190,7 +180,7 @@ public:
{
return _settings;
}
-
+
/// Return image header info.
const image_read_info< jpeg_tag >& get_info()
{
@@ -257,23 +247,23 @@ private:
{
gil_jpeg_source_mgr* src = reinterpret_cast< gil_jpeg_source_mgr* >( cinfo->src );
src->_jsrc.bytes_in_buffer = 0;
- src->_jsrc.next_input_byte = src->_this->buffer;
+ src->_jsrc.next_input_byte = src->_this->buffer_;
}
static boolean fill_buffer( jpeg_decompress_struct* cinfo )
{
gil_jpeg_source_mgr* src = reinterpret_cast< gil_jpeg_source_mgr* >( cinfo->src );
- size_t count = src->_this->_io_dev.read(src->_this->buffer, sizeof(src->_this->buffer) );
+ size_t count = src->_this->_io_dev.read(src->_this->buffer_, sizeof(src->_this->buffer_) );
if( count <= 0 )
{
// libjpeg does that: adding an EOF marker
- src->_this->buffer[0] = (JOCTET) 0xFF;
- src->_this->buffer[1] = (JOCTET) JPEG_EOI;
+ src->_this->buffer_[0] = (JOCTET) 0xFF;
+ src->_this->buffer_[1] = (JOCTET) JPEG_EOI;
count = 2;
}
- src->_jsrc.next_input_byte = src->_this->buffer;
+ src->_jsrc.next_input_byte = src->_this->buffer_;
src->_jsrc.bytes_in_buffer = count;
return TRUE;
@@ -316,12 +306,12 @@ public:
gil_jpeg_source_mgr _src;
// libjpeg default is 4096 - see jdatasrc.c
- JOCTET buffer[4096];
+ JOCTET buffer_[4096];
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/jpeg/detail/scanline_read.hpp b/boost/gil/extension/io/jpeg/detail/scanline_read.hpp
index ee33154c61..6171811d8a 100644
--- a/boost/gil/extension/io/jpeg/detail/scanline_read.hpp
+++ b/boost/gil/extension/io/jpeg/detail/scanline_read.hpp
@@ -1,44 +1,33 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_SCANLINE_READ_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_SCANLINE_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-#include <csetjmp>
-#include <vector>
+#include <boost/gil/extension/io/jpeg/detail/base.hpp>
+#include <boost/gil/extension/io/jpeg/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/jpeg/detail/reader_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#include <boost/gil/io/typedefs.hpp>
-
-#include <boost/gil/extension/io/jpeg/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/jpeg/detail/base.hpp>
-#include <boost/gil/extension/io/jpeg/detail/is_allowed.hpp>
+#include <csetjmp>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
///
@@ -153,9 +142,9 @@ private:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/jpeg/detail/supported_types.hpp b/boost/gil/extension/io/jpeg/detail/supported_types.hpp
index 209a99f857..fdaf707364 100644
--- a/boost/gil/extension/io/jpeg/detail/supported_types.hpp
+++ b/boost/gil/extension/io/jpeg/detail/supported_types.hpp
@@ -1,30 +1,19 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-
#include <boost/gil/channel.hpp>
#include <boost/gil/color_base.hpp>
+#include <boost/mpl/bool_fwd.hpp>
+#include <boost/type_traits/is_same.hpp>
+
namespace boost { namespace gil { namespace detail {
// Read support
@@ -90,7 +79,7 @@ struct jpeg_write_support<uint8_t
template< typename Pixel >
struct is_read_supported< Pixel
, jpeg_tag
- >
+ >
: mpl::bool_< detail::jpeg_read_support< typename channel_type< Pixel >::type
, typename color_space_type< Pixel >::type
>::is_supported
@@ -110,12 +99,10 @@ struct is_write_supported< Pixel
: mpl::bool_< detail::jpeg_write_support< typename channel_type< Pixel >::type
, typename color_space_type< Pixel >::type
>::is_supported
- >
+ >
{};
-
} // namespace gil
} // namespace boost
-
#endif
diff --git a/boost/gil/extension/io/jpeg/detail/write.hpp b/boost/gil/extension/io/jpeg/detail/write.hpp
index f9d2abfb57..f03d4f7820 100644
--- a/boost/gil/extension/io/jpeg/detail/write.hpp
+++ b/boost/gil/extension/io/jpeg/detail/write.hpp
@@ -1,43 +1,31 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
+#include <boost/gil/extension/io/jpeg/tags.hpp>
+#include <boost/gil/extension/io/jpeg/detail/supported_types.hpp>
+#include <boost/gil/extension/io/jpeg/detail/writer_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/device.hpp>
-#include <boost/gil/extension/io/jpeg/tags.hpp>
-
-#include <boost/gil/extension/io/jpeg/detail/supported_types.hpp>
-#include <boost/gil/extension/io/jpeg/detail/writer_backend.hpp>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
+#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
-namespace detail {
+namespace detail {
struct jpeg_write_is_supported
{
@@ -184,9 +172,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/jpeg/detail/writer_backend.hpp b/boost/gil/extension/io/jpeg/detail/writer_backend.hpp
index 962c46df69..d3dc3c6fbb 100644
--- a/boost/gil/extension/io/jpeg/detail/writer_backend.hpp
+++ b/boost/gil/extension/io/jpeg/detail/writer_backend.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_WRITER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_DETAIL_WRITER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/jpeg/tags.hpp>
#include <boost/gil/extension/io/jpeg/detail/base.hpp>
@@ -26,13 +15,13 @@
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
-namespace detail {
+namespace detail {
///
/// Wrapper for libjpeg's compress object. Implements value semantics.
@@ -193,9 +182,9 @@ public:
JOCTET buffer[buffer_size];
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/jpeg/old.hpp b/boost/gil/extension/io/jpeg/old.hpp
index 3b3dd2a89b..5abc0af1a1 100644
--- a/boost/gil/extension/io/jpeg/old.hpp
+++ b/boost/gil/extension/io/jpeg/old.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_OLD_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_OLD_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/jpeg.hpp>
namespace boost { namespace gil {
@@ -26,33 +15,23 @@ namespace boost { namespace gil {
/// \ingroup JPEG_IO
/// \brief Returns the width and height of the JPEG file at the specified location.
/// Throws std::ios_base::failure if the location does not correspond to a valid JPEG file
-template< typename String >
-inline
-point2< std::ptrdiff_t > jpeg_read_dimensions( const String& filename )
+template<typename String>
+inline point_t jpeg_read_dimensions(String const& filename)
{
- typedef typename get_reader_backend< String
- , jpeg_tag
- >::type backend_t;
-
- backend_t backend = read_image_info( filename
- , jpeg_tag()
- );
-
- return point2< std::ptrdiff_t >( backend._info._width
- , backend._info._height
- );
+ using backend_t = typename get_reader_backend<String, jpeg_tag>::type;
+ backend_t backend = read_image_info(filename, jpeg_tag());
+ return { backend._info._width, backend._info._height };
}
-
/// \ingroup JPEG_IO
/// \brief Loads the image specified by the given jpeg image file name into the given view.
/// Triggers a compile assert if the view color space and channel depth are not supported by the JPEG library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid JPEG file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid JPEG file, or if its color space or channel depth are not
/// compatible with the ones specified by View, or if its dimensions don't match the ones of the view.
template< typename String
, typename View
>
-inline
+inline
void jpeg_read_view( const String& filename
, const View& view
)
@@ -66,12 +45,12 @@ void jpeg_read_view( const String& filename
/// \ingroup JPEG_IO
/// \brief Allocates a new image whose dimensions are determined by the given jpeg image file, and loads the pixels into it.
/// Triggers a compile assert if the image color space or channel depth are not supported by the JPEG library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid JPEG file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid JPEG file, or if its color space or channel depth are not
/// compatible with the ones specified by Image
template< typename String
, typename Image
>
-inline
+inline
void jpeg_read_image( const String& filename
, Image& img
)
@@ -89,7 +68,7 @@ template< typename String
, typename View
, typename CC
>
-inline
+inline
void jpeg_read_and_convert_view( const String& filename
, const View& view
, CC cc
@@ -108,7 +87,7 @@ void jpeg_read_and_convert_view( const String& filename
template< typename String
, typename View
>
-inline
+inline
void jpeg_read_and_convert_view( const String& filename
, const View& view
)
@@ -126,7 +105,7 @@ template< typename String
, typename Image
, typename CC
>
-inline
+inline
void jpeg_read_and_convert_image( const String& filename
, Image& img
, CC cc
@@ -145,7 +124,7 @@ void jpeg_read_and_convert_image( const String& filename
template< typename String
, typename Image
>
-inline
+inline
void jpeg_read_and_convert_image( const String filename
, Image& img
)
diff --git a/boost/gil/extension/io/jpeg/read.hpp b/boost/gil/extension/io/jpeg/read.hpp
index ada31ff5bf..f5bc2fff17 100644
--- a/boost/gil/extension/io/jpeg/read.hpp
+++ b/boost/gil/extension/io/jpeg/read.hpp
@@ -1,43 +1,30 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_READ_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_READ_HPP
-#define BOOST_GIL_EXTENSION_IO_JPEG_READ_ENABLED
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#define BOOST_GIL_EXTENSION_IO_JPEG_READ_ENABLED // TODO: Document, explain, review
#include <boost/gil/extension/io/jpeg/tags.hpp>
-#include <boost/gil/extension/io/jpeg/detail/supported_types.hpp>
#include <boost/gil/extension/io/jpeg/detail/read.hpp>
#include <boost/gil/extension/io/jpeg/detail/scanline_read.hpp>
+#include <boost/gil/extension/io/jpeg/detail/supported_types.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_image.hpp>
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image_info.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/jpeg/tags.hpp b/boost/gil/extension/io/jpeg/tags.hpp
index 047b5cbfd5..a12c237df6 100644
--- a/boost/gil/extension/io/jpeg/tags.hpp
+++ b/boost/gil/extension/io/jpeg/tags.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_TAGS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief All supported jpeg tags by the gil io extension.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
// taken from jpegxx - https://bitbucket.org/edd/jpegxx/src/ea2492a1a4a6/src/ijg_headers.hpp
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_C_LIB_COMPILED_AS_CPLUSPLUS
extern "C" {
@@ -32,11 +21,10 @@
#endif
#endif
-//jpeglib doesn't know about FILE
-#include <stdio.h>
+#include <cstdio> // jpeglib doesn't know about FILE
-#include <jpeglib.h>
#include <jerror.h>
+#include <jpeglib.h>
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_C_LIB_COMPILED_AS_CPLUSPLUS
}
@@ -172,7 +160,7 @@ struct image_read_settings< jpeg_tag > : public image_read_settings_base
, _dct_method( dct_method )
{}
- /// The dct ( discrete cosine transformation ) method.
+ /// The dct ( discrete cosine transformation ) method.
jpeg_dct_method::type _dct_method;
};
@@ -205,7 +193,7 @@ struct image_write_info< jpeg_tag >
/// The jpeg quality.
jpeg_quality::type _quality;
- /// The dct ( discrete cosine transformation ) method.
+ /// The dct ( discrete cosine transformation ) method.
jpeg_dct_method::type _dct_method;
/// Density conversion unit.
@@ -237,7 +225,6 @@ private:
};
-
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/jpeg/write.hpp b/boost/gil/extension/io/jpeg/write.hpp
index e04967b0ec..e5c59a95cf 100644
--- a/boost/gil/extension/io/jpeg/write.hpp
+++ b/boost/gil/extension/io/jpeg/write.hpp
@@ -1,31 +1,19 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_JPEG_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_JPEG_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/jpeg/tags.hpp>
#include <boost/gil/extension/io/jpeg/detail/supported_types.hpp>
#include <boost/gil/extension/io/jpeg/detail/write.hpp>
#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/make_dynamic_image_writer.hpp>
-
#include <boost/gil/io/write_view.hpp>
#endif
diff --git a/boost/gil/extension/io/png.hpp b/boost/gil/extension/io/png.hpp
index 648170b1c0..f035673801 100644
--- a/boost/gil/extension/io/png.hpp
+++ b/boost/gil/extension/io/png.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/png/read.hpp>
#include <boost/gil/extension/io/png/write.hpp>
diff --git a/boost/gil/extension/io/png/detail/base.hpp b/boost/gil/extension/io/png/detail/base.hpp
index a58d033d10..7feb6f8f09 100644
--- a/boost/gil/extension/io/png/detail/base.hpp
+++ b/boost/gil/extension/io/png/detail/base.hpp
@@ -1,22 +1,13 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_BASE_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_BASE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/png/tags.hpp>
#include <memory>
@@ -56,7 +47,7 @@ protected:
png_ptr_wrapper* get() { return _png_ptr.get(); }
const png_ptr_wrapper* get() const { return _png_ptr.get(); }
-
+
png_structp get_struct() { return get()->_struct; }
const png_structp get_struct() const { return get()->_struct; }
diff --git a/boost/gil/extension/io/png/detail/is_allowed.hpp b/boost/gil/extension/io/png/detail/is_allowed.hpp
index cf83dd5f02..ac1f9c1749 100644
--- a/boost/gil/extension/io/png/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/png/detail/is_allowed.hpp
@@ -1,24 +1,14 @@
-/*
- Copyright 2008 Christian Henning, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
+#include <boost/mpl/bool_fwd.hpp>
#include <boost/mpl/for_each.hpp>
namespace boost { namespace gil { namespace detail {
@@ -30,7 +20,7 @@ bool is_allowed( const image_read_info< png_tag >& info
{
typedef typename get_pixel_type< View >::type pixel_t;
- typedef typename channel_traits<
+ typedef typename channel_traits<
typename element_type< pixel_t >::type >::value_type channel_t;
const png_num_channels::type dst_num_channels = num_channels< pixel_t >::value;
diff --git a/boost/gil/extension/io/png/detail/read.hpp b/boost/gil/extension/io/png/detail/read.hpp
index 9c4588c380..f14e32a1cf 100644
--- a/boost/gil/extension/io/png/detail/read.hpp
+++ b/boost/gil/extension/io/png/detail/read.hpp
@@ -1,43 +1,30 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_READ_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/png/tags.hpp>
+#include <boost/gil/extension/io/png/detail/reader_backend.hpp>
+#include <boost/gil/extension/io/png/detail/is_allowed.hpp>
-#include <boost/gil.hpp>
-
+#include <boost/gil.hpp> // FIXME: Include what you use!
#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/typedefs.hpp>
+#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/row_buffer_helper.hpp>
-
-#include <boost/gil/extension/io/png/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/png/detail/is_allowed.hpp>
+#include <boost/gil/io/typedefs.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -243,7 +230,7 @@ private:
, typename View
>
void read_rows( const View& view )
- {
+ {
typedef detail::row_buffer_helper_view< ImagePixel > row_buffer_helper_t;
typedef typename row_buffer_helper_t::iterator_t it_t;
@@ -434,9 +421,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/png/detail/reader_backend.hpp b/boost/gil/extension/io/png/detail/reader_backend.hpp
index 914d4c7505..18085b8746 100644
--- a/boost/gil/extension/io/png/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/png/detail/reader_backend.hpp
@@ -1,34 +1,23 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/png/tags.hpp>
-
#include <boost/gil/extension/io/png/detail/base.hpp>
+#include <boost/gil/extension/io/png/detail/supported_types.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
+#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
///
@@ -80,7 +69,7 @@ public:
void read_header()
{
using boost::gil::detail::PNG_BYTES_TO_CHECK;
-
+
// check the file's first few bytes
byte_t buf[PNG_BYTES_TO_CHECK];
@@ -688,9 +677,9 @@ public:
std::size_t _number_passes;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/png/detail/scanline_read.hpp b/boost/gil/extension/io/png/detail/scanline_read.hpp
index 33b1dcba31..99374f164a 100644
--- a/boost/gil/extension/io/png/detail/scanline_read.hpp
+++ b/boost/gil/extension/io/png/detail/scanline_read.hpp
@@ -1,38 +1,26 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_SCANLINE_READ_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_SCANLINE_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/gil.hpp>
+#include <boost/gil/extension/io/png/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/png/detail/reader_backend.hpp>
+#include <boost/gil.hpp> // FIXME: Include what you use!
#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/typedefs.hpp>
+#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
+#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/png/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/png/detail/is_allowed.hpp>
-
-namespace boost { namespace gil {
+namespace boost { namespace gil {
///
/// PNG Reader
diff --git a/boost/gil/extension/io/png/detail/supported_types.hpp b/boost/gil/extension/io/png/detail/supported_types.hpp
index 165e8f4877..ed98917ffc 100644
--- a/boost/gil/extension/io/png/detail/supported_types.hpp
+++ b/boost/gil/extension/io/png/detail/supported_types.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#ifdef BOOST_GIL_IO_ENABLE_GRAY_ALPHA
#include <boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp>
#endif // BOOST_GIL_IO_ENABLE_GRAY_ALPHA
@@ -168,7 +157,7 @@ template< typename BitField
struct png_write_support< packed_dynamic_channel_reference< BitField
, 1
, Mutable
- >
+ >
, gray_t
> : write_support_true
, png_rw_support_base< 1
@@ -196,7 +185,7 @@ template< typename BitField
struct png_write_support< packed_dynamic_channel_reference< BitField
, 2
, Mutable
- >
+ >
, gray_t
> : write_support_true
, png_rw_support_base< 2
@@ -224,7 +213,7 @@ template< typename BitField
struct png_write_support< packed_dynamic_channel_reference< BitField
, 4
, Mutable
- >
+ >
, gray_t
> : write_support_true
, png_rw_support_base< 4
@@ -349,7 +338,7 @@ struct is_write_supported< Pixel
: mpl::bool_< detail::png_write_support< typename channel_type< Pixel >::type
, typename color_space_type< Pixel >::type
>::is_supported
- >
+ >
{
typedef detail::png_write_support< typename channel_type< Pixel >::type
, typename color_space_type< Pixel >::type
@@ -362,5 +351,4 @@ struct is_write_supported< Pixel
} // namespace gil
} // namespace boost
-
#endif
diff --git a/boost/gil/extension/io/png/detail/write.hpp b/boost/gil/extension/io/png/detail/write.hpp
index e571c09459..cf1ef2a2a7 100644
--- a/boost/gil/extension/io/png/detail/write.hpp
+++ b/boost/gil/extension/io/png/detail/write.hpp
@@ -1,39 +1,28 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/io/png/detail/writer_backend.hpp>
+
+#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/equal_to.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/not.hpp>
-#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-
-#include <boost/gil/extension/io/png/detail/writer_backend.hpp>
-
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
namespace detail {
@@ -41,7 +30,7 @@ namespace detail {
struct png_write_is_supported
{
template< typename View >
- struct apply
+ struct apply
: public is_write_supported< typename get_pixel_type< View >::type
, png_tag
>
@@ -56,7 +45,7 @@ struct png_write_is_supported
template< typename Device >
class writer< Device
, png_tag
- >
+ >
: public writer_backend< Device
, png_tag
>
@@ -191,7 +180,7 @@ private:
void set_swap( typename enable_if< mpl::and_< mpl::not_< is_less_than_eight< Info > >
, mpl::not_< is_equal_to_sixteen< Info > >
>
- >::type* /* ptr */ = 0
+ >::type* /* ptr */ = 0
)
{}
};
@@ -232,9 +221,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/png/detail/writer_backend.hpp b/boost/gil/extension/io/png/detail/writer_backend.hpp
index e018df79ea..659be4fa36 100644
--- a/boost/gil/extension/io/png/detail/writer_backend.hpp
+++ b/boost/gil/extension/io/png/detail/writer_backend.hpp
@@ -1,38 +1,26 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_DETAIL_WRITER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_DETAIL_WRITER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/io/base.hpp>
-
#include <boost/gil/extension/io/png/tags.hpp>
-
#include <boost/gil/extension/io/png/detail/base.hpp>
#include <boost/gil/extension/io/png/detail/supported_types.hpp>
+#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/typedefs.hpp>
+
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
+#pragma warning(disable:4611) //interaction between '_setjmp' and C++ object destruction is non-portable
#endif
///
@@ -82,7 +70,7 @@ public:
, "png_writer: fail to call png_create_write_struct()"
);
- // Allocate/initialize the image information data. REQUIRED
+ // Allocate/initialize the image information data. REQUIRED
get()->_info = png_create_info_struct( get_struct() );
if( get_info() == NULL )
@@ -288,7 +276,7 @@ protected:
#ifndef BOOST_GIL_IO_PNG_1_4_OR_LOWER
-#ifdef BOOST_GIL_IO_PNG_FLOATING_POINT_SUPPORTED
+#ifdef BOOST_GIL_IO_PNG_FLOATING_POINT_SUPPORTED
if( _info._valid_scale_factors )
{
png_set_sCAL( get_struct()
@@ -358,11 +346,11 @@ protected:
int sample_max = ( 1u << _info._bit_depth );
/* libpng doesn't reject a tRNS chunk with out-of-range samples */
- if( !( ( _info._color_type == PNG_COLOR_TYPE_GRAY
+ if( !( ( _info._color_type == PNG_COLOR_TYPE_GRAY
&& (int) _info._trans_values[0].gray > sample_max
)
|| ( _info._color_type == PNG_COLOR_TYPE_RGB
- &&( (int) _info._trans_values[0].red > sample_max
+ &&( (int) _info._trans_values[0].red > sample_max
|| (int) _info._trans_values[0].green > sample_max
|| (int) _info._trans_values[0].blue > sample_max
)
@@ -408,7 +396,7 @@ protected:
);
#ifdef BOOST_GIL_IO_PNG_DITHERING_SUPPORTED
- // Dithering
+ // Dithering
if( _info._set_dithering )
{
png_set_dither( get_struct()
@@ -506,9 +494,9 @@ public:
image_write_info< png_tag > _info;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/png/old.hpp b/boost/gil/extension/io/png/old.hpp
index 217633661e..f0300d25c6 100644
--- a/boost/gil/extension/io/png/old.hpp
+++ b/boost/gil/extension/io/png/old.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_OLD_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_OLD_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/png.hpp>
namespace boost { namespace gil {
@@ -26,32 +15,23 @@ namespace boost { namespace gil {
/// \ingroup PNG_IO
/// \brief Returns the width and height of the PNG file at the specified location.
/// Throws std::ios_base::failure if the location does not correspond to a valid PNG file
-template< typename String >
-inline
-point2< std::ptrdiff_t > png_read_dimensions( const String& filename )
+template<typename String>
+inline point_t png_read_dimensions(String const& filename)
{
- typedef typename get_reader_backend< String
- , png_tag
- >::type backend_t;
-
- backend_t backend = read_image_info( filename
- , png_tag()
- );
-
- return point2< std::ptrdiff_t >( backend._info._width
- , backend._info._height
- );
+ using backend_t = typename get_reader_backend<String, png_tag>::type;
+ backend_t backend = read_image_info(filename, png_tag());
+ return { backend._info._width, backend._info._height };
}
/// \ingroup PNG_IO
/// \brief Loads the image specified by the given png image file name into the given view.
/// Triggers a compile assert if the view color space and channel depth are not supported by the PNG library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid PNG file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid PNG file, or if its color space or channel depth are not
/// compatible with the ones specified by View, or if its dimensions don't match the ones of the view.
template< typename String
, typename View
>
-inline
+inline
void png_read_view( const String& filename
, const View& view
)
@@ -65,12 +45,12 @@ void png_read_view( const String& filename
/// \ingroup PNG_IO
/// \brief Allocates a new image whose dimensions are determined by the given png image file, and loads the pixels into it.
/// Triggers a compile assert if the image color space or channel depth are not supported by the PNG library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid PNG file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid PNG file, or if its color space or channel depth are not
/// compatible with the ones specified by Image
template< typename String
, typename Image
>
-inline
+inline
void png_read_image( const String& filename
, Image& img
)
@@ -88,7 +68,7 @@ template< typename String
, typename View
, typename CC
>
-inline
+inline
void png_read_and_convert_view( const String& filename
, const View& view
, CC cc
@@ -107,7 +87,7 @@ void png_read_and_convert_view( const String& filename
template< typename String
, typename View
>
-inline
+inline
void png_read_and_convert_view( const String& filename
, const View& view
)
@@ -125,7 +105,7 @@ template< typename String
, typename Image
, typename CC
>
-inline
+inline
void png_read_and_convert_image( const String& filename
, Image& img
, CC cc
@@ -144,7 +124,7 @@ void png_read_and_convert_image( const String& filename
template< typename String
, typename Image
>
-inline
+inline
void png_read_and_convert_image( const String filename
, Image& img
)
diff --git a/boost/gil/extension/io/png/read.hpp b/boost/gil/extension/io/png/read.hpp
index 32bbd7e01b..db0cfeba74 100644
--- a/boost/gil/extension/io/png/read.hpp
+++ b/boost/gil/extension/io/png/read.hpp
@@ -1,43 +1,30 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_READ_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_READ_HPP
-#define BOOST_GIL_EXTENSION_IO_PNG_READ_ENABLED
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#define BOOST_GIL_EXTENSION_IO_PNG_READ_ENABLED // TODO: Document, explain, review
#include <boost/gil/extension/io/png/tags.hpp>
-#include <boost/gil/extension/io/png/detail/supported_types.hpp>
#include <boost/gil/extension/io/png/detail/read.hpp>
#include <boost/gil/extension/io/png/detail/scanline_read.hpp>
+#include <boost/gil/extension/io/png/detail/supported_types.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_image.hpp>
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image_info.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/png/tags.hpp b/boost/gil/extension/io/png/tags.hpp
index 79e3b489a0..d2fa4ddeda 100644
--- a/boost/gil/extension/io/png/tags.hpp
+++ b/boost/gil/extension/io/png/tags.hpp
@@ -1,23 +1,17 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_TAGS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/base.hpp>
+
+#include <string>
+#include <vector>
#ifdef BOOST_GIL_IO_PNG_FLOATING_POINT_SUPPORTED
#ifdef BOOST_GIL_IO_PNG_FIXED_POINT_SUPPORTED
@@ -47,11 +41,6 @@
#endif // PNG_LIBPNG_VER_MAJOR == 1
#endif // PNG_LIBPNG_VER_MINOR <= 4
-#include <string>
-#include <vector>
-
-#include <boost/gil/io/base.hpp>
-
namespace boost { namespace gil {
/// Defines png tag.
@@ -94,7 +83,7 @@ struct png_num_channels : property_base< png_byte > {};
/// Defines type for physical scale property.
struct png_scale : property_base< double > {};
-#else
+#else
/// Defines type for CIE chromacities property.
struct png_chromacities_type : property_base< png_fixed_point > {};
@@ -207,7 +196,7 @@ struct png_compression_type : property_base< png_byte >
static const type default_value = PNG_COMPRESSION_TYPE_BASE;
};
-// compression level - default values taken from libpng manual.
+// compression level - default values taken from libpng manual.
// Look for png_set_compression_level
struct png_compression_level : property_base< int >
{
@@ -326,7 +315,7 @@ struct png_info_base
, _valid_file_gamma( 0 )
, _file_gamma ( 1.0 )
-#else
+#else
, _valid_cie_colors( 0 )
, _white_x ( 0 )
, _white_y ( 0 )
diff --git a/boost/gil/extension/io/png/write.hpp b/boost/gil/extension/io/png/write.hpp
index 47d2a8ae78..9642ec4285 100644
--- a/boost/gil/extension/io/png/write.hpp
+++ b/boost/gil/extension/io/png/write.hpp
@@ -1,31 +1,19 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNG_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_PNG_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/png/tags.hpp>
#include <boost/gil/extension/io/png/detail/supported_types.hpp>
#include <boost/gil/extension/io/png/detail/write.hpp>
-#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/make_dynamic_image_writer.hpp>
-
+#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/write_view.hpp>
#endif
diff --git a/boost/gil/extension/io/pnm.hpp b/boost/gil/extension/io/pnm.hpp
index 8e69277fce..c0e3c3adcb 100644
--- a/boost/gil/extension/io/pnm.hpp
+++ b/boost/gil/extension/io/pnm.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/pnm/read.hpp>
#include <boost/gil/extension/io/pnm/write.hpp>
diff --git a/boost/gil/extension/io/pnm/detail/is_allowed.hpp b/boost/gil/extension/io/pnm/detail/is_allowed.hpp
index 91be3091fa..30fd9693c4 100644
--- a/boost/gil/extension/io/pnm/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/pnm/detail/is_allowed.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2009 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2009 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
namespace boost { namespace gil { namespace detail {
template< typename View >
diff --git a/boost/gil/extension/io/pnm/detail/read.hpp b/boost/gil/extension/io/pnm/detail/read.hpp
index 5f267ada5e..52a697e70f 100644
--- a/boost/gil/extension/io/pnm/detail/read.hpp
+++ b/boost/gil/extension/io/pnm/detail/read.hpp
@@ -1,45 +1,35 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_READ_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
-#include <boost/bind.hpp>
-#include <boost/gil.hpp>
#include <boost/gil/extension/io/pnm/tags.hpp>
+#include <boost/gil/extension/io/pnm/detail/reader_backend.hpp>
+#include <boost/gil/extension/io/pnm/detail/is_allowed.hpp>
+#include <boost/gil.hpp> // FIXME: Include what you use!
#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/bit_operations.hpp>
-#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/pnm/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/pnm/detail/is_allowed.hpp>
+#include <boost/bind.hpp>
+
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -119,7 +109,7 @@ public:
{
this->_scanline_length = this->_info._width;
- read_text_data< gray8_view_t >( view );
+ read_text_data< gray8_view_t >( view );
break;
}
@@ -364,7 +354,7 @@ private:
};
-namespace detail {
+namespace detail {
struct pnm_type_format_checker
{
@@ -455,9 +445,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/pnm/detail/reader_backend.hpp b/boost/gil/extension/io/pnm/detail/reader_backend.hpp
index 01ab7a0aaa..2497ee2878 100644
--- a/boost/gil/extension/io/pnm/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/pnm/detail/reader_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/pnm/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -51,7 +40,7 @@ public:
, _scanline_length( 0 )
{
- read_header();
+ read_header();
if( _settings._dim.x == 0 )
{
@@ -182,9 +171,9 @@ public:
std::size_t _scanline_length;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/pnm/detail/scanline_read.hpp b/boost/gil/extension/io/pnm/detail/scanline_read.hpp
index b109528145..242d8b6097 100644
--- a/boost/gil/extension/io/pnm/detail/scanline_read.hpp
+++ b/boost/gil/extension/io/pnm/detail/scanline_read.hpp
@@ -1,41 +1,30 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_SCANLINE_READ_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_SCANLINE_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
-#include <boost/bind.hpp>
-#include <boost/function.hpp>
-
-#include <boost/gil.hpp>
+#include <boost/gil/extension/io/pnm/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/pnm/detail/reader_backend.hpp>
+#include <boost/gil.hpp> // FIXME: Include what you use!
#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/bit_operations.hpp>
-#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/pnm/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/pnm/detail/is_allowed.hpp>
+#include <boost/bind.hpp>
+#include <boost/function.hpp>
+
+#include <vector>
namespace boost { namespace gil {
@@ -93,7 +82,7 @@ private:
switch( this->_info._type )
{
// reading mono text is reading grayscale but with only two values
- case pnm_image_type::mono_asc_t::value:
+ case pnm_image_type::mono_asc_t::value:
case pnm_image_type::gray_asc_t::value:
{
this->_scanline_length = this->_info._width;
@@ -108,7 +97,7 @@ private:
{
this->_scanline_length = this->_info._width * num_channels< rgb8_view_t >::value;
- _read_function = boost::mem_fn( &this_t::read_text_row );
+ _read_function = boost::mem_fn( &this_t::read_text_row );
_skip_function = boost::mem_fn( &this_t::skip_text_row );
break;
@@ -131,8 +120,8 @@ private:
// gray8_image_t
this->_scanline_length = this->_info._width;
- _read_function = boost::mem_fn( &this_t::read_binary_byte_row );
- _skip_function = boost::mem_fn( &this_t::skip_binary_row );
+ _read_function = boost::mem_fn( &this_t::read_binary_byte_row );
+ _skip_function = boost::mem_fn( &this_t::skip_binary_row );
break;
}
@@ -142,7 +131,7 @@ private:
// rgb8_image_t
this->_scanline_length = this->_info._width * num_channels< rgb8_view_t >::value;
- _read_function = boost::mem_fn( &this_t::read_binary_byte_row );
+ _read_function = boost::mem_fn( &this_t::read_binary_byte_row );
_skip_function = boost::mem_fn( &this_t::skip_binary_row );
break;
diff --git a/boost/gil/extension/io/pnm/detail/supported_types.hpp b/boost/gil/extension/io/pnm/detail/supported_types.hpp
index 7bede91402..e7298b6020 100644
--- a/boost/gil/extension/io/pnm/detail/supported_types.hpp
+++ b/boost/gil/extension/io/pnm/detail/supported_types.hpp
@@ -1,30 +1,19 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/channel.hpp>
+#include <boost/gil/color_base.hpp>
#include <boost/mpl/not.hpp>
#include <boost/type_traits/is_same.hpp>
-#include <boost/gil/channel.hpp>
-#include <boost/gil/color_base.hpp>
-
namespace boost { namespace gil { namespace detail {
// Read Support
@@ -142,5 +131,4 @@ struct is_write_supported< Pixel
} // namespace gil
} // namespace boost
-
#endif
diff --git a/boost/gil/extension/io/pnm/detail/write.hpp b/boost/gil/extension/io/pnm/detail/write.hpp
index f92307c9c8..79ee35fdc9 100644
--- a/boost/gil/extension/io/pnm/detail/write.hpp
+++ b/boost/gil/extension/io/pnm/detail/write.hpp
@@ -1,39 +1,27 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstdlib>
-#include <string>
-
#include <boost/gil/extension/io/pnm/tags.hpp>
+#include <boost/gil/extension/io/pnm/detail/writer_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/device.hpp>
-#include <boost/gil/extension/io/pnm/detail/writer_backend.hpp>
+#include <cstdlib>
+#include <string>
-namespace boost { namespace gil {
+namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
namespace detail {
@@ -41,7 +29,7 @@ namespace detail {
struct pnm_write_is_supported
{
template< typename View >
- struct apply
+ struct apply
: public is_write_supported< typename get_pixel_type< View >::type
, pnm_tag
>
@@ -258,9 +246,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/pnm/detail/writer_backend.hpp b/boost/gil/extension/io/pnm/detail/writer_backend.hpp
index 38672e6f71..a970da1aee 100644
--- a/boost/gil/extension/io/pnm/detail/writer_backend.hpp
+++ b/boost/gil/extension/io/pnm/detail/writer_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_DETAIL_WRITER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_DETAIL_WRITER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/pnm/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -56,9 +45,9 @@ public:
image_write_info< pnm_tag > _info;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/pnm/old.hpp b/boost/gil/extension/io/pnm/old.hpp
index a9a1529ca0..b09e21b198 100644
--- a/boost/gil/extension/io/pnm/old.hpp
+++ b/boost/gil/extension/io/pnm/old.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_OLD_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_OLD_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/pnm.hpp>
namespace boost { namespace gil {
@@ -26,33 +15,23 @@ namespace boost { namespace gil {
/// \ingroup PNM_IO
/// \brief Returns the width and height of the PNM file at the specified location.
/// Throws std::ios_base::failure if the location does not correspond to a valid PNM file
-template< typename String >
-inline
-point2< std::ptrdiff_t > pnm_read_dimensions( const String& filename )
+template<typename String>
+inline point_t pnm_read_dimensions(String const& filename)
{
- typedef typename get_reader_backend< String
- , pnm_tag
- >::type backend_t;
-
- backend_t backend = read_image_info( filename
- , pnm_tag()
- );
-
- return point2< std::ptrdiff_t >( backend._info._width
- , backend._info._height
- );
+ using backend_t = typename get_reader_backend<String, pnm_tag>::type;
+ backend_t backend = read_image_info(filename, pnm_tag());
+ return { backend._info._width, backend._info._height };
}
-
/// \ingroup PNM_IO
/// \brief Loads the image specified by the given pnm image file name into the given view.
/// Triggers a compile assert if the view color space and channel depth are not supported by the PNM library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid PNM file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid PNM file, or if its color space or channel depth are not
/// compatible with the ones specified by View, or if its dimensions don't match the ones of the view.
template< typename String
, typename View
>
-inline
+inline
void pnm_read_view( const String& filename
, const View& view
)
@@ -66,12 +45,12 @@ void pnm_read_view( const String& filename
/// \ingroup PNM_IO
/// \brief Allocates a new image whose dimensions are determined by the given pnm image file, and loads the pixels into it.
/// Triggers a compile assert if the image color space or channel depth are not supported by the PNM library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid PNM file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid PNM file, or if its color space or channel depth are not
/// compatible with the ones specified by Image
template< typename String
, typename Image
>
-inline
+inline
void pnm_read_image( const String& filename
, Image& img
)
@@ -89,7 +68,7 @@ template< typename String
, typename View
, typename CC
>
-inline
+inline
void pnm_read_and_convert_view( const String& filename
, const View& view
, CC cc
@@ -108,7 +87,7 @@ void pnm_read_and_convert_view( const String& filename
template< typename String
, typename View
>
-inline
+inline
void pnm_read_and_convert_view( const String& filename
, const View& view
)
@@ -126,7 +105,7 @@ template< typename String
, typename Image
, typename CC
>
-inline
+inline
void pnm_read_and_convert_image( const String& filename
, Image& img
, CC cc
@@ -145,7 +124,7 @@ void pnm_read_and_convert_image( const String& filename
template< typename String
, typename Image
>
-inline
+inline
void pnm_read_and_convert_image( const String filename
, Image& img
)
diff --git a/boost/gil/extension/io/pnm/read.hpp b/boost/gil/extension/io/pnm/read.hpp
index 67ec2635d8..87b3d5cea9 100644
--- a/boost/gil/extension/io/pnm/read.hpp
+++ b/boost/gil/extension/io/pnm/read.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_READ_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/pnm/tags.hpp>
#include <boost/gil/extension/io/pnm/detail/supported_types.hpp>
#include <boost/gil/extension/io/pnm/detail/read.hpp>
@@ -26,16 +15,14 @@
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_image.hpp>
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image_info.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/pnm/tags.hpp b/boost/gil/extension/io/pnm/tags.hpp
index 2151c373ed..b49ca72b3c 100644
--- a/boost/gil/extension/io/pnm/tags.hpp
+++ b/boost/gil/extension/io/pnm/tags.hpp
@@ -1,30 +1,19 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_TAGS_HPP
-#define BOOST_GIL_EXTENSION_IO_PNM_READ_ENABLED
+#define BOOST_GIL_EXTENSION_IO_PNM_READ_ENABLED // TODO: Document, explain, review
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/base.hpp>
#include <boost/mpl/integral_c.hpp>
-#include <boost/gil/io/base.hpp>
-
namespace boost { namespace gil {
/// Defines pnm tag.
diff --git a/boost/gil/extension/io/pnm/write.hpp b/boost/gil/extension/io/pnm/write.hpp
index 1a90483cd8..43e810b450 100644
--- a/boost/gil/extension/io/pnm/write.hpp
+++ b/boost/gil/extension/io/pnm/write.hpp
@@ -1,31 +1,19 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_PNM_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_PNM_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/pnm/tags.hpp>
#include <boost/gil/extension/io/pnm/detail/supported_types.hpp>
#include <boost/gil/extension/io/pnm/detail/write.hpp>
-#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/make_dynamic_image_writer.hpp>
-
+#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/write_view.hpp>
#endif
diff --git a/boost/gil/extension/io/raw.hpp b/boost/gil/extension/io/raw.hpp
index c3a3626c75..152fb2106e 100644
--- a/boost/gil/extension/io/raw.hpp
+++ b/boost/gil/extension/io/raw.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2013 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2013 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Olivier tournaire \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/raw/read.hpp>
#endif
diff --git a/boost/gil/extension/io/raw/detail/device.hpp b/boost/gil/extension/io/raw/detail/device.hpp
index 7f93336d51..d9c122c073 100644
--- a/boost/gil/extension/io/raw/detail/device.hpp
+++ b/boost/gil/extension/io/raw/detail/device.hpp
@@ -1,30 +1,21 @@
-/*
- Copyright 2007-2012 Olivier Tournaire, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Olivier Tournaire
+// Copyright 2007 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_DETAIL_DEVICE_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_DETAIL_DEVICE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Olivier Tournaire \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/utility/enable_if.hpp>
-
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/utility/enable_if.hpp>
+
#include <memory>
+#include <string>
namespace boost { namespace gil { namespace detail {
@@ -107,7 +98,7 @@ public:
, read_tag = read_tag()
)
{
- io_error_if( _processor_ptr.get()->open_file( file_name.c_str() ) != LIBRAW_SUCCESS
+ io_error_if( _processor_ptr.get()->open_file( file_name.c_str() ) != LIBRAW_SUCCESS
, "file_stream_device: failed to open file"
);
}
@@ -119,7 +110,7 @@ public:
, read_tag = read_tag()
)
{
- io_error_if( _processor_ptr.get()->open_file( file_name ) != LIBRAW_SUCCESS
+ io_error_if( _processor_ptr.get()->open_file( file_name ) != LIBRAW_SUCCESS
, "file_stream_device: failed to open file"
);
}
diff --git a/boost/gil/extension/io/raw/detail/is_allowed.hpp b/boost/gil/extension/io/raw/detail/is_allowed.hpp
index 852378abae..eb4959eca1 100644
--- a/boost/gil/extension/io/raw/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/raw/detail/is_allowed.hpp
@@ -1,26 +1,14 @@
-/*
- Copyright 2009 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2009 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Olivier Tournaire \n
-///
-/// \date 2011 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/io/base.hpp>
-#include <iostream>
namespace boost { namespace gil { namespace detail {
diff --git a/boost/gil/extension/io/raw/detail/read.hpp b/boost/gil/extension/io/raw/detail/read.hpp
index 6406d6575e..24213dd61f 100644
--- a/boost/gil/extension/io/raw/detail/read.hpp
+++ b/boost/gil/extension/io/raw/detail/read.hpp
@@ -1,45 +1,34 @@
-/*
- Copyright 2012 Olivier Tournaire, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Olivier Tournaire, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_DETAIL_READ_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_DETAIL_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Olivier Tournaire, Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstdio>
-#include <vector>
#include <boost/gil/extension/io/raw/tags.hpp>
+#include <boost/gil/extension/io/raw/detail/device.hpp>
+#include <boost/gil/extension/io/raw/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/raw/detail/reader_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/bit_operations.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/raw/detail/is_allowed.hpp>
-#include <boost/gil/extension/io/raw/detail/device.hpp>
-#include <boost/gil/extension/io/raw/detail/reader_backend.hpp>
+#include <cstdio>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
#define BUILD_INTERLEAVED_VIEW(color_layout, bits_per_pixel) \
@@ -249,9 +238,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/raw/detail/reader_backend.hpp b/boost/gil/extension/io/raw/detail/reader_backend.hpp
index ad03a946f7..758a295029 100644
--- a/boost/gil/extension/io/raw/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/raw/detail/reader_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/raw/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -50,7 +39,7 @@ public:
, _info()
, _scanline_length( 0 )
{
- read_header();
+ read_header();
if( _settings._dim.x == 0 )
{
@@ -141,9 +130,9 @@ public:
std::size_t _scanline_length;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/raw/detail/supported_types.hpp b/boost/gil/extension/io/raw/detail/supported_types.hpp
index 4175db9571..4358028ca8 100644
--- a/boost/gil/extension/io/raw/detail/supported_types.hpp
+++ b/boost/gil/extension/io/raw/detail/supported_types.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Olivier Tournaire \n
-///
-/// \date 2011 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
+#include <boost/gil/io/base.hpp>
#include <boost/gil/channel.hpp>
#include <boost/gil/color_base.hpp>
-#include <boost/gil/io/base.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/type_traits/is_same.hpp>
namespace boost { namespace gil { namespace detail {
diff --git a/boost/gil/extension/io/raw/read.hpp b/boost/gil/extension/io/raw/read.hpp
index f670d68576..3e685f0285 100644
--- a/boost/gil/extension/io/raw/read.hpp
+++ b/boost/gil/extension/io/raw/read.hpp
@@ -1,40 +1,28 @@
-/*
- Copyright 2013 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2013 Christian Henning
+// Copyright 2012 Olivier Tournaire
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_READ_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Olivier Tournaire \n
-///
-/// \date 2011 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/raw/tags.hpp>
#include <boost/gil/extension/io/raw/detail/supported_types.hpp>
#include <boost/gil/extension/io/raw/detail/read.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_image_info.hpp>
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/raw/tags.hpp b/boost/gil/extension/io/raw/tags.hpp
index 684a24cbe0..4b232925a9 100644
--- a/boost/gil/extension/io/raw/tags.hpp
+++ b/boost/gil/extension/io/raw/tags.hpp
@@ -1,24 +1,14 @@
-/*
- Copyright 2013 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2013 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_RAW_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_RAW_TAGS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief All supported raw tags by the gil io extension.
-/// \author Olivier Tournaire \n
-///
-/// \date 2011 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
+#include <boost/gil/io/base.hpp>
#ifndef BOOST_GIL_EXTENSION_IO_RAW_C_LIB_COMPILED_AS_CPLUSPLUS
extern "C" {
@@ -30,8 +20,6 @@
}
#endif
-#include <boost/gil/io/base.hpp>
-
namespace boost { namespace gil {
/// Defines tiff tag.
diff --git a/boost/gil/extension/io/targa.hpp b/boost/gil/extension/io/targa.hpp
index 8ff4cb9302..21d3f6c983 100644
--- a/boost/gil/extension/io/targa.hpp
+++ b/boost/gil/extension/io/targa.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2010 Kenneth Riddile
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Kenneth Riddile
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/targa/read.hpp>
#include <boost/gil/extension/io/targa/write.hpp>
diff --git a/boost/gil/extension/io/targa/detail/is_allowed.hpp b/boost/gil/extension/io/targa/detail/is_allowed.hpp
index 0033ba6e54..11d6797743 100644
--- a/boost/gil/extension/io/targa/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/targa/detail/is_allowed.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2010 Kenneth Riddile
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Kenneth Riddile
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
namespace boost { namespace gil { namespace detail {
template< typename View >
diff --git a/boost/gil/extension/io/targa/detail/read.hpp b/boost/gil/extension/io/targa/detail/read.hpp
index b208a679f4..9cd50cdaba 100644
--- a/boost/gil/extension/io/targa/detail/read.hpp
+++ b/boost/gil/extension/io/targa/detail/read.hpp
@@ -1,44 +1,32 @@
-/*
- Copyright 2012 Kenneth Riddile, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Kenneth Riddile, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_READ_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile, Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
-
#include <boost/gil/extension/io/targa/tags.hpp>
+#include <boost/gil/extension/io/targa/detail/reader_backend.hpp>
+#include <boost/gil/extension/io/targa/detail/is_allowed.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/bit_operations.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/targa/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/targa/detail/is_allowed.hpp>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -80,7 +68,7 @@ public:
, ConversionPolicy
>()
, backend_t( io_dev
- , settings
+ , settings
)
{}
@@ -106,7 +94,7 @@ public:
io_error_if( !detail::is_allowed< View >( this->_info, is_read_and_convert_t() )
, "Image types aren't compatible."
);
-
+
switch( this->_info._image_type )
{
case targa_image_type::_rgb:
@@ -115,12 +103,12 @@ public:
{
io_error( "Inconsistent color map type and image type in targa file." );
}
-
+
if( this->_info._color_map_length != 0 )
{
io_error( "Non-indexed targa files containing a palette are not supported." );
}
-
+
switch( this->_info._bits_per_pixel )
{
case 24:
@@ -159,7 +147,7 @@ public:
break;
}
}
-
+
break;
}
case targa_image_type::_rle_rgb:
@@ -168,12 +156,12 @@ public:
{
io_error( "Inconsistent color map type and image type in targa file." );
}
-
+
if( this->_info._color_map_length != 0 )
{
io_error( "Non-indexed targa files containing a palette are not supported." );
}
-
+
switch( this->_info._bits_per_pixel )
{
case 24:
@@ -206,7 +194,7 @@ public:
break;
}
}
-
+
break;
}
default:
@@ -257,13 +245,13 @@ private:
targa_depth::type bytes_per_pixel = this->_info._bits_per_pixel / 8;
size_t image_size = this->_info._width * this->_info._height * bytes_per_pixel;
byte_vector_t image_data( image_size );
-
+
this->_io_dev.seek( static_cast< long >( this->_info._offset ));
-
+
for( size_t pixel = 0; pixel < image_size; )
{
targa_offset::type current_byte = this->_io_dev.read_uint8();
-
+
if( current_byte & 0x80 ) // run length chunk (high bit = 1)
{
uint8_t chunk_length = current_byte - 127;
@@ -272,7 +260,7 @@ private:
{
pixel_data[channel] = this->_io_dev.read_uint8();
}
-
+
// Repeat the next pixel chunk_length times
for( uint8_t i = 0; i < chunk_length; ++i, pixel += bytes_per_pixel )
{
@@ -282,7 +270,7 @@ private:
else // raw chunk
{
uint8_t chunk_length = current_byte + 1;
-
+
// Write the next chunk_length pixels directly
size_t pixels_written = chunk_length * bytes_per_pixel;
this->_io_dev.read( &image_data[pixel], pixels_written );
@@ -304,7 +292,7 @@ private:
}
};
-namespace detail {
+namespace detail {
class targa_type_format_checker
{
@@ -407,9 +395,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/targa/detail/reader_backend.hpp b/boost/gil/extension/io/targa/detail/reader_backend.hpp
index cbf216aacd..ab26562f04 100644
--- a/boost/gil/extension/io/targa/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/targa/detail/reader_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/targa/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -50,7 +39,7 @@ public:
, _settings( settings )
, _info()
{
- read_header();
+ read_header();
if( _settings._dim.x == 0 )
{
@@ -66,19 +55,19 @@ public:
void read_header()
{
_info._header_size = targa_header_size::_size;
-
+
_info._offset = _io_dev.read_uint8() + _info._header_size;
-
+
_info._color_map_type = _io_dev.read_uint8();
_info._image_type = _io_dev.read_uint8();
-
+
_info._color_map_start = _io_dev.read_uint16();
_info._color_map_length = _io_dev.read_uint16();
_info._color_map_depth = _io_dev.read_uint8();
-
+
_info._x_origin = _io_dev.read_uint16();
_info._y_origin = _io_dev.read_uint16();
-
+
_info._width = _io_dev.read_uint16();
_info._height = _io_dev.read_uint16();
@@ -86,13 +75,13 @@ public:
{
io_error( "Invalid dimension for targa file" );
}
-
+
_info._bits_per_pixel = _io_dev.read_uint8();
if( _info._bits_per_pixel != 24 && _info._bits_per_pixel != 32 )
{
io_error( "Unsupported bit depth for targa file" );
}
-
+
_info._descriptor = _io_dev.read_uint8();
// According to TGA specs, http://www.gamers.org/dEngine/quake3/TGA.txt,
@@ -128,7 +117,7 @@ public:
{
_info._screen_origin_bit = true;
}
-
+
_info._valid = true;
}
@@ -165,9 +154,9 @@ public:
image_read_info< targa_tag > _info;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/targa/detail/scanline_read.hpp b/boost/gil/extension/io/targa/detail/scanline_read.hpp
index 7fbd0b05b0..c53cc14f34 100644
--- a/boost/gil/extension/io/targa/detail/scanline_read.hpp
+++ b/boost/gil/extension/io/targa/detail/scanline_read.hpp
@@ -1,37 +1,26 @@
-/*
- Copyright 2012 Kenneth Riddile and Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Kenneth Riddile, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_SCANLINE_READ_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_SCANLINE_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile and Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
+#include <boost/gil/extension/io/targa/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/targa/detail/reader_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/bit_operations.hpp>
#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/reader_base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/io/targa/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/targa/detail/is_allowed.hpp>
+#include <vector>
namespace boost { namespace gil {
@@ -75,9 +64,9 @@ public:
// jump to scanline
long offset = this->_info._offset
+ ( this->_info._height - 1 - pos ) * static_cast< long >( this->_scanline_length );
-
+
this->_io_dev.seek( offset );
-
+
read_row( dst );
}
@@ -101,7 +90,7 @@ private:
{
io_error( "scanline reader cannot read indexed targa files." );
}
-
+
if( this->_info._image_type != targa_image_type::_rgb )
{
io_error( "scanline reader cannot read this targa image type." );
@@ -115,7 +104,7 @@ private:
{
io_error( "Inconsistent color map type and image type in targa file." );
}
-
+
if( this->_info._color_map_length != 0 )
{
io_error( "Non-indexed targa files containing a palette are not supported." );
@@ -125,7 +114,7 @@ private:
{
io_error( "scanline reader cannot read targa files which have screen origin bit set." );
}
-
+
switch( this->_info._bits_per_pixel )
{
case 24:
@@ -144,7 +133,7 @@ private:
break;
}
}
-
+
break;
}
default:
diff --git a/boost/gil/extension/io/targa/detail/supported_types.hpp b/boost/gil/extension/io/targa/detail/supported_types.hpp
index 0cefcb4a5b..7a13495130 100644
--- a/boost/gil/extension/io/targa/detail/supported_types.hpp
+++ b/boost/gil/extension/io/targa/detail/supported_types.hpp
@@ -1,32 +1,20 @@
-/*
- Copyright 2010 Kenneth Riddile
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Kenneth Riddile
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-
#include <boost/gil/channel.hpp>
#include <boost/gil/color_base.hpp>
-
#include <boost/gil/io/base.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/type_traits/is_same.hpp>
+
namespace boost { namespace gil { namespace detail {
// Read support
@@ -84,7 +72,7 @@ struct is_read_supported< Pixel
>
: mpl::bool_< detail::targa_read_support< typename channel_type< Pixel >::type
, typename color_space_type< Pixel >::type
- >::is_supported
+ >::is_supported
>
{
typedef detail::targa_read_support< typename channel_type< Pixel >::type
diff --git a/boost/gil/extension/io/targa/detail/write.hpp b/boost/gil/extension/io/targa/detail/write.hpp
index 223c1b2161..5a4145cbc5 100644
--- a/boost/gil/extension/io/targa/detail/write.hpp
+++ b/boost/gil/extension/io/targa/detail/write.hpp
@@ -1,38 +1,26 @@
-/*
- Copyright 2010-2012 Kenneth Riddile, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010-2012 Kenneth Riddile, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile, Christian Henning \n
-///
-/// \date 2010-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
+#include <boost/gil/extension/io/targa/tags.hpp>
+#include <boost/gil/extension/io/targa/detail/writer_backend.hpp>
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/device.hpp>
-#include <boost/gil/extension/io/targa/tags.hpp>
-
-#include <boost/gil/extension/io/targa/detail/writer_backend.hpp>
+#include <vector>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
namespace detail {
@@ -187,9 +175,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // gil
} // boost
diff --git a/boost/gil/extension/io/targa/detail/writer_backend.hpp b/boost/gil/extension/io/targa/detail/writer_backend.hpp
index 0dfec2c185..2d853e6314 100644
--- a/boost/gil/extension/io/targa/detail/writer_backend.hpp
+++ b/boost/gil/extension/io/targa/detail/writer_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_WRITER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_DETAIL_WRITER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/targa/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -56,9 +45,9 @@ public:
image_write_info< targa_tag > _info;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/targa/old.hpp b/boost/gil/extension/io/targa/old.hpp
index 05a3d680b5..18c095f307 100644
--- a/boost/gil/extension/io/targa/old.hpp
+++ b/boost/gil/extension/io/targa/old.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2010 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_OLD_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_OLD_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/targa.hpp>
namespace boost { namespace gil {
@@ -26,33 +15,23 @@ namespace boost { namespace gil {
/// \ingroup BMP_IO
/// \brief Returns the width and height of the BMP file at the specified location.
/// Throws std::ios_base::failure if the location does not correspond to a valid BMP file
-template< typename String >
-inline
-point2< std::ptrdiff_t > targa_read_dimensions( const String& filename )
+template<typename String>
+inline point_t targa_read_dimensions(String const& filename)
{
- typedef typename get_reader_backend< String
- , targa_tag
- >::type backend_t;
-
- backend_t backend = read_image_info( filename
- , targa_tag()
- );
-
- return point2< std::ptrdiff_t >( backend._info._width
- , backend._info._height
- );
+ using backend_t = typename get_reader_backend<String, targa_tag>::type;
+ backend_t backend = read_image_info(filename, targa_tag());
+ return { backend._info._width, backend._info._height };
}
-
/// \ingroup BMP_IO
/// \brief Loads the image specified by the given targa image file name into the given view.
/// Triggers a compile assert if the view color space and channel depth are not supported by the BMP library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid BMP file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid BMP file, or if its color space or channel depth are not
/// compatible with the ones specified by View, or if its dimensions don't match the ones of the view.
template< typename String
, typename View
>
-inline
+inline
void targa_read_view( const String& filename
, const View& view
)
@@ -66,12 +45,12 @@ void targa_read_view( const String& filename
/// \ingroup BMP_IO
/// \brief Allocates a new image whose dimensions are determined by the given bmp image file, and loads the pixels into it.
/// Triggers a compile assert if the image color space or channel depth are not supported by the BMP library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid BMP file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid BMP file, or if its color space or channel depth are not
/// compatible with the ones specified by Image
template< typename String
, typename Image
>
-inline
+inline
void targa_read_image( const String& filename
, Image& img
)
@@ -89,7 +68,7 @@ template< typename String
, typename View
, typename CC
>
-inline
+inline
void targa_read_and_convert_view( const String& filename
, const View& view
, CC cc
@@ -108,7 +87,7 @@ void targa_read_and_convert_view( const String& filename
template< typename String
, typename View
>
-inline
+inline
void targa_read_and_convert_view( const String& filename
, const View& view
)
@@ -126,7 +105,7 @@ template< typename String
, typename Image
, typename CC
>
-inline
+inline
void targa_read_and_convert_image( const String& filename
, Image& img
, CC cc
@@ -145,7 +124,7 @@ void targa_read_and_convert_image( const String& filename
template< typename String
, typename Image
>
-inline
+inline
void targa_read_and_convert_image( const String filename
, Image& img
)
diff --git a/boost/gil/extension/io/targa/read.hpp b/boost/gil/extension/io/targa/read.hpp
index 41caaa7d58..85bc51b3b5 100644
--- a/boost/gil/extension/io/targa/read.hpp
+++ b/boost/gil/extension/io/targa/read.hpp
@@ -1,41 +1,28 @@
-/*
- Copyright 2010-2012 Kenneth Riddile and Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010-2012 Kenneth Riddile, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_READ_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile and Christian Henning \n
-///
-/// \date 2010-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/targa/tags.hpp>
-#include <boost/gil/extension/io/targa/detail/supported_types.hpp>
#include <boost/gil/extension/io/targa/detail/read.hpp>
#include <boost/gil/extension/io/targa/detail/scanline_read.hpp>
+#include <boost/gil/extension/io/targa/detail/supported_types.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_image.hpp>
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image_info.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/targa/tags.hpp b/boost/gil/extension/io/targa/tags.hpp
index dce128b32c..f56a1e20b4 100644
--- a/boost/gil/extension/io/targa/tags.hpp
+++ b/boost/gil/extension/io/targa/tags.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2010 Kenneth Riddile
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Kenneth Riddile
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_TAGS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/io/base.hpp>
namespace boost { namespace gil {
@@ -95,40 +84,40 @@ struct image_read_info< targa_tag >
/// The size of this header:
targa_header_size::type _header_size;
-
+
/// The offset, i.e. starting address, of the byte where the targa data can be found.
targa_offset::type _offset;
-
+
/// The type of color map used by the image, i.e. RGB or indexed.
targa_color_map_type::type _color_map_type;
-
+
/// The type of image data, i.e compressed, indexed, uncompressed RGB, etc.
targa_image_type::type _image_type;
-
+
/// Index of first entry in the color map table.
targa_color_map_start::type _color_map_start;
-
+
/// Number of entries in the color map table.
targa_color_map_length::type _color_map_length;
-
+
/// Bit depth for each color map entry.
targa_color_map_depth::type _color_map_depth;
-
+
/// X coordinate of the image origin.
targa_origin_element::type _x_origin;
-
+
/// Y coordinate of the image origin.
targa_origin_element::type _y_origin;
-
+
/// Width of the image in pixels.
targa_dimension::type _width;
-
+
/// Height of the image in pixels.
targa_dimension::type _height;
-
+
/// Bit depth of the image.
targa_depth::type _bits_per_pixel;
-
+
/// The targa image descriptor.
targa_descriptor::type _descriptor;
diff --git a/boost/gil/extension/io/targa/write.hpp b/boost/gil/extension/io/targa/write.hpp
index 3edecc7d63..6ec423549d 100644
--- a/boost/gil/extension/io/targa/write.hpp
+++ b/boost/gil/extension/io/targa/write.hpp
@@ -1,31 +1,19 @@
-/*
- Copyright 2010 Kenneth Riddile
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2010 Kenneth Riddile
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TARGA_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_TARGA_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Kenneth Riddile \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/targa/tags.hpp>
#include <boost/gil/extension/io/targa/detail/supported_types.hpp>
#include <boost/gil/extension/io/targa/detail//write.hpp>
-#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/make_dynamic_image_writer.hpp>
-
+#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/write_view.hpp>
#endif
diff --git a/boost/gil/extension/io/tiff.hpp b/boost/gil/extension/io/tiff.hpp
index 0d7e6c8cd5..6af181b4e0 100644
--- a/boost/gil/extension/io/tiff.hpp
+++ b/boost/gil/extension/io/tiff.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/tiff/read.hpp>
#include <boost/gil/extension/io/tiff/write.hpp>
diff --git a/boost/gil/extension/io/tiff/detail/device.hpp b/boost/gil/extension/io/tiff/detail/device.hpp
index aebc9846c8..83c40dbcd3 100644
--- a/boost/gil/extension/io/tiff/detail/device.hpp
+++ b/boost/gil/extension/io/tiff/detail/device.hpp
@@ -1,25 +1,23 @@
-/*
- Copyright 2007-2008 Andreas Pokorny, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Andreas Pokorny, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_DEVICE_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_DEVICE_HPP
-#include <algorithm>
+#include <boost/gil/extension/io/tiff/detail/log.hpp>
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Andreas Pokorny, Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/device.hpp>
+
+#include <boost/mpl/size.hpp>
+#include <boost/utility/enable_if.hpp>
+
+#include <algorithm>
+#include <memory>
// taken from jpegxx - https://bitbucket.org/edd/jpegxx/src/ea2492a1a4a6/src/ijg_headers.hpp
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_C_LIB_COMPILED_AS_CPLUSPLUS
@@ -35,15 +33,6 @@
#include <tiffio.hxx>
-#include <boost/mpl/size.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/device.hpp>
-#include <boost/gil/extension/io/tiff/detail/log.hpp>
-
-#include <memory>
-
namespace boost { namespace gil { namespace detail {
template <int n_args>
@@ -58,7 +47,7 @@ struct set_property_f {
bool call_me(const typename Property:: type& value, std::shared_ptr<TIFF>& file) const;
};
-template <> struct get_property_f <1>
+template <> struct get_property_f <1>
{
// For single-valued properties
template <typename Property>
@@ -117,7 +106,7 @@ template <> struct set_property_f <2>
bool call_me(typename Property:: type const & values, std::shared_ptr<TIFF>& file) const
{
typename mpl:: at <typename Property:: arg_types, mpl::int_<0> >:: type const length = values. size ();
- typename mpl:: at <typename Property:: arg_types, mpl::int_<1> >:: type const pointer = & (values. front ());
+ typename mpl:: at <typename Property:: arg_types, mpl::int_<1> >:: type const pointer = & (values. front ());
return (1 == TIFFSetField( file.get()
, Property:: tag
, length
@@ -153,9 +142,9 @@ public:
return set_property_f <mpl:: size <typename Property:: arg_types>::value > ().template call_me<Property> (value, _tiff_file);
}
- // TIFFIsByteSwapped returns a non-zero value if the image data was in a different
- // byte-order than the host machine. Zero is returned if the TIFF file and local
- // host byte-orders are the same. Note that TIFFReadTile(), TIFFReadStrip() and TIFFReadScanline()
+ // TIFFIsByteSwapped returns a non-zero value if the image data was in a different
+ // byte-order than the host machine. Zero is returned if the TIFF file and local
+ // host byte-orders are the same. Note that TIFFReadTile(), TIFFReadStrip() and TIFFReadScanline()
// functions already normally perform byte swapping to local host order if needed.
bool are_bytes_swapped()
{
@@ -255,7 +244,7 @@ public:
io_error_if( TIFFWriteScanline( _tiff_file.get()
, &buffer.front()
, row
- , plane
+ , plane
) == -1
, "Write error"
);
@@ -269,7 +258,7 @@ public:
io_error_if( TIFFWriteScanline( _tiff_file.get()
, buffer
, row
- , plane
+ , plane
) == -1
, "Write error"
);
diff --git a/boost/gil/extension/io/tiff/detail/is_allowed.hpp b/boost/gil/extension/io/tiff/detail/is_allowed.hpp
index d88413a63e..417a467c98 100644
--- a/boost/gil/extension/io/tiff/detail/is_allowed.hpp
+++ b/boost/gil/extension/io/tiff/detail/is_allowed.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2008 Christian Henning, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2008 Christian Henning, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_IS_ALLOWED_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_IS_ALLOWED_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/base.hpp>
#include <boost/mpl/for_each.hpp>
-#include <boost/gil/io/base.hpp>
-
namespace boost { namespace gil { namespace detail {
typedef std::vector< tiff_bits_per_sample::type > channel_sizes_t;
@@ -42,7 +31,7 @@ template< typename View, typename Channel > struct Format_Type< View
template< typename View, typename Channel > struct Format_Type< View
, Channel
, typename boost::enable_if< mpl::and_< mpl::not_< typename is_bit_aligned< typename get_pixel_type< View >::type >::type >
- , is_unsigned< Channel >
+ , is_unsigned< Channel >
>
>::type
>
@@ -54,7 +43,7 @@ template< typename View, typename Channel > struct Format_Type< View
template< typename View, typename Channel > struct Format_Type< View
, Channel
, typename boost::enable_if< mpl::and_< mpl::not_< typename is_bit_aligned< typename get_pixel_type< View >::type >::type >
- , is_signed< Channel >
+ , is_signed< Channel >
>
>::type
>
@@ -66,7 +55,7 @@ template< typename View, typename Channel > struct Format_Type< View
template< typename View, typename Channel > struct Format_Type< View
, Channel
, typename boost::enable_if< mpl::and_< mpl::not_< typename is_bit_aligned< typename get_pixel_type< View >::type >::type >
- , is_floating_point< Channel >
+ , is_floating_point< Channel >
>
>::type
>
diff --git a/boost/gil/extension/io/tiff/detail/log.hpp b/boost/gil/extension/io/tiff/detail/log.hpp
index 965a576d28..2299ee9d1a 100644
--- a/boost/gil/extension/io/tiff/detail/log.hpp
+++ b/boost/gil/extension/io/tiff/detail/log.hpp
@@ -1,30 +1,19 @@
-/*
- Copyright 2009 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2009 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_LOG_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_LOG_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2009 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <iostream>
extern "C" {
#include "tiffio.h"
}
-#include <iostream>
-
namespace boost { namespace gil {
class tiff_no_log
diff --git a/boost/gil/extension/io/tiff/detail/read.hpp b/boost/gil/extension/io/tiff/detail/read.hpp
index 2471ff544e..e25c833a2f 100644
--- a/boost/gil/extension/io/tiff/detail/read.hpp
+++ b/boost/gil/extension/io/tiff/detail/read.hpp
@@ -1,23 +1,29 @@
-/*
- Copyright 2007-2012 Christian Henning, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_READER_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_READER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/io/tiff/detail/device.hpp>
+#include <boost/gil/extension/io/tiff/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/tiff/detail/reader_backend.hpp>
+
+#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/bit_operations.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
+#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
+
+#include <boost/static_assert.hpp>
+
+#include <algorithm>
+#include <string>
+#include <vector>
// taken from jpegxx - https://bitbucket.org/edd/jpegxx/src/ea2492a1a4a6/src/ijg_headers.hpp
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_C_LIB_COMPILED_AS_CPLUSPLUS
@@ -31,29 +37,11 @@
}
#endif
-#include <algorithm>
-#include <string>
-#include <vector>
-
-#include <boost/static_assert.hpp>
-
-#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/bit_operations.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/reader_base.hpp>
-
-#include <boost/gil/extension/io/tiff/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/tiff/detail/device.hpp>
-#include <boost/gil/extension/io/tiff/detail/is_allowed.hpp>
-
-
-namespace boost { namespace gil {
+namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
template < int K >
@@ -157,8 +145,8 @@ public:
{
if( this->_info._photometric_interpretation == PHOTOMETRIC_PALETTE )
{
- this->_scanline_length = this->_info._width
- * num_channels< rgb16_view_t >::value
+ this->_scanline_length = this->_info._width
+ * num_channels< rgb16_view_t >::value
* sizeof( channel_type<rgb16_view_t>::type );
// Steps:
@@ -218,7 +206,7 @@ public:
}
}
}
-
+
private:
template< typename View >
@@ -442,7 +430,7 @@ private:
, int plane
)
{
- ///@todo: why is
+ ///@todo: why is
/// typedef Buffer row_buffer_helper_t;
/// not working? I get compiler error with MSVC10.
/// read_stripped_data IS working.
@@ -565,7 +553,7 @@ private:
, int plane
)
{
- ///@todo: why is
+ ///@todo: why is
/// typedef Buffer row_buffer_helper_t;
/// not working? I get compiler error with MSVC10.
/// read_stripped_data IS working.
@@ -643,7 +631,7 @@ private:
it_t first = begin + this->_settings._top_left.x;
it_t last = first + this->_settings._dim.x; // one after last element
- // I don't think tiff allows for random access of row, that's why we need
+ // I don't think tiff allows for random access of row, that's why we need
// to read and discard rows when reading subimages.
skip_over_rows( row_buffer_helper.buffer()
, plane
@@ -653,7 +641,7 @@ private:
std::ptrdiff_t row_end = row + this->_settings._dim.y;
std::ptrdiff_t dst_row = 0;
- for(
+ for(
; row < row_end
; ++row, ++dst_row
)
@@ -791,9 +779,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/tiff/detail/reader_backend.hpp b/boost/gil/extension/io/tiff/detail/reader_backend.hpp
index d2a308f7d7..6de7e61688 100644
--- a/boost/gil/extension/io/tiff/detail/reader_backend.hpp
+++ b/boost/gil/extension/io/tiff/detail/reader_backend.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_READER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_READER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/tiff/tags.hpp>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -144,7 +133,7 @@ private:
{
_io_dev.set_directory( settings._directory );
}
- }
+ }
public:
@@ -163,9 +152,9 @@ public:
rgb16_planar_view_t _palette;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/tiff/detail/scanline_read.hpp b/boost/gil/extension/io/tiff/detail/scanline_read.hpp
index 7e7e2cc8b7..e07e391801 100644
--- a/boost/gil/extension/io/tiff/detail/scanline_read.hpp
+++ b/boost/gil/extension/io/tiff/detail/scanline_read.hpp
@@ -1,23 +1,31 @@
-/*
- Copyright 2007-2012 Christian Henning, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_SCANLINE_READ_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_SCANLINE_READ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/io/tiff/detail/device.hpp>
+#include <boost/gil/extension/io/tiff/detail/is_allowed.hpp>
+#include <boost/gil/extension/io/tiff/detail/reader_backend.hpp>
+
+#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/bit_operations.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
+#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/reader_base.hpp>
+#include <boost/gil/io/row_buffer_helper.hpp>
+#include <boost/gil/io/scanline_read_iterator.hpp>
+
+#include <boost/function.hpp>
+#include <boost/static_assert.hpp>
+
+#include <algorithm>
+#include <string>
+#include <vector>
// taken from jpegxx - https://bitbucket.org/edd/jpegxx/src/ea2492a1a4a6/src/ijg_headers.hpp
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_C_LIB_COMPILED_AS_CPLUSPLUS
@@ -31,26 +39,6 @@
}
#endif
-#include <algorithm>
-#include <string>
-#include <vector>
-
-#include <boost/function.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
-#include <boost/gil/io/bit_operations.hpp>
-#include <boost/gil/io/row_buffer_helper.hpp>
-#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/reader_base.hpp>
-#include <boost/gil/io/scanline_read_iterator.hpp>
-
-#include <boost/gil/extension/io/tiff/detail/reader_backend.hpp>
-#include <boost/gil/extension/io/tiff/detail/device.hpp>
-#include <boost/gil/extension/io/tiff/detail/is_allowed.hpp>
-
-
namespace boost { namespace gil {
///
@@ -88,7 +76,7 @@ public:
void read( byte_t* dst, int pos )
{
_read_function( this, dst, pos );
- }
+ }
/// Skip over a scanline.
void skip( byte_t* dst, int pos )
@@ -110,8 +98,8 @@ private:
if( this->_info._photometric_interpretation == PHOTOMETRIC_PALETTE )
{
- this->_scanline_length = this->_info._width
- * num_channels< rgb16_view_t >::value
+ this->_scanline_length = this->_info._width
+ * num_channels< rgb16_view_t >::value
* sizeof( channel_type<rgb16_view_t>::type );
this->_io_dev.get_field_defaulted( this->_red
@@ -179,7 +167,7 @@ private:
break;
}
- case 8:
+ case 8:
{
typedef channel_type< get_pixel_type< gray8_image_t::view_t >::type >::type channel_t;
@@ -278,16 +266,16 @@ private:
{
switch( this->_info._bits_per_sample )
{
- case 1:
- case 2:
+ case 1:
+ case 2:
case 4:
- case 6:
- case 8:
- case 10:
- case 12:
- case 14:
- case 16:
- case 24:
+ case 6:
+ case 8:
+ case 10:
+ case 12:
+ case 14:
+ case 16:
+ case 24:
case 32: { _read_function = boost::mem_fn( &this_t::read_row ); break; }
default: { io_error( "Image type is not supported." ); }
}
@@ -303,14 +291,14 @@ private:
{
switch( this->_info._bits_per_sample )
{
- case 2:
- case 4:
- case 8:
- case 10:
- case 12:
- case 14:
- case 16:
- case 24:
+ case 2:
+ case 4:
+ case 8:
+ case 10:
+ case 12:
+ case 14:
+ case 16:
+ case 24:
case 32: { _read_function = boost::mem_fn( &this_t::read_row ); break; }
default: { io_error( "Image type is not supported." ); }
}
@@ -322,14 +310,14 @@ private:
{
switch( this->_info._bits_per_sample )
{
- case 2:
- case 4:
- case 8:
- case 10:
- case 12:
- case 14:
- case 16:
- case 24:
+ case 2:
+ case 4:
+ case 8:
+ case 10:
+ case 12:
+ case 14:
+ case 16:
+ case 24:
case 32: { _read_function = boost::mem_fn( &this_t::read_row ); break; }
default: { io_error( "Image type is not supported." ); }
}
@@ -346,14 +334,14 @@ private:
{
switch( this->_info._bits_per_sample )
{
- case 2:
- case 4:
- case 8:
- case 10:
- case 12:
- case 14:
- case 16:
- case 24:
+ case 2:
+ case 4:
+ case 8:
+ case 10:
+ case 12:
+ case 14:
+ case 16:
+ case 24:
case 32: { _read_function = boost::mem_fn( &this_t::read_row ); break; }
default: { io_error( "Image type is not supported." ); }
}
@@ -426,7 +414,7 @@ private:
{
read_n_bits_row< gray8_image_t::view_t >( dst, pos );
}
-
+
void read_16_bits_index_image( byte_t* dst, int pos )
{
read_n_bits_row< gray16_image_t::view_t >( dst, pos );
diff --git a/boost/gil/extension/io/tiff/detail/supported_types.hpp b/boost/gil/extension/io/tiff/detail/supported_types.hpp
index 7e08dffb55..f654482670 100644
--- a/boost/gil/extension/io/tiff/detail/supported_types.hpp
+++ b/boost/gil/extension/io/tiff/detail/supported_types.hpp
@@ -1,37 +1,26 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_SUPPORTED_TYPES_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_SUPPORTED_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/channel.hpp>
+#include <boost/gil/color_base.hpp>
#include <boost/mpl/not.hpp>
#include <boost/type_traits/is_same.hpp>
-#include <boost/gil/channel.hpp>
-#include <boost/gil/color_base.hpp>
-
namespace boost{ namespace gil {
namespace detail {
// Read support
-// TIFF virtually supports everything
+// TIFF virtually supports everything
struct tiff_read_support : read_support_true
{};
@@ -46,13 +35,13 @@ struct tiff_write_support : write_support_true
template< typename Pixel >
struct is_read_supported< Pixel
, tiff_tag
- >
+ >
: mpl::bool_< detail::tiff_read_support::is_supported > {};
template< typename Pixel >
struct is_write_supported< Pixel
, tiff_tag
- >
+ >
: mpl::bool_< detail::tiff_write_support::is_supported >
{};
diff --git a/boost/gil/extension/io/tiff/detail/write.hpp b/boost/gil/extension/io/tiff/detail/write.hpp
index 06b72858d8..a0e4645bb7 100644
--- a/boost/gil/extension/io/tiff/detail/write.hpp
+++ b/boost/gil/extension/io/tiff/detail/write.hpp
@@ -1,49 +1,37 @@
-/*
- Copyright 2007-2012 Christian Henning, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/io/tiff/tags.hpp>
+#include <boost/gil/extension/io/tiff/detail/writer_backend.hpp>
+#include <boost/gil/extension/io/tiff/detail/device.hpp>
-extern "C" {
-#include "tiff.h"
-#include "tiffio.h"
-}
+#include <boost/gil/premultiply.hpp>
+#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/device.hpp>
+
+#include <boost/static_assert.hpp>
#include <algorithm>
#include <string>
#include <vector>
-#include <boost/static_assert.hpp>
-
-#include <boost/gil/premultiply.hpp>
-
-#include <boost/gil/extension/io/tiff/tags.hpp>
-#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/device.hpp>
-
-#include <boost/gil/extension/io/tiff/detail/writer_backend.hpp>
-#include <boost/gil/extension/io/tiff/detail/device.hpp>
+extern "C" {
+#include "tiff.h"
+#include "tiffio.h"
+}
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
namespace detail {
@@ -85,7 +73,7 @@ struct my_interleaved_pixel_iterator_type_from_pixel_reference< const bit_aligne
struct tiff_write_is_supported
{
template< typename View >
- struct apply
+ struct apply
: public is_write_supported< typename get_pixel_type< View >::type
, tiff_tag
>
@@ -226,7 +214,7 @@ private:
// @todo: do optional bit swapping here if you need to...
}
}
-
+
/////////////////////////////
template< typename View >
@@ -239,9 +227,9 @@ private:
typedef mpl::bool_<mpl::contains<colour_space_t, alpha_t>::value> has_alpha_t;
write_bit_aligned_view_to_dev(view, row_size_in_bytes, has_alpha_t());
-
+
}
-
+
template< typename View>
void write_tiled_data( const View& view
, tiff_tile_width::type tw
@@ -339,7 +327,7 @@ private:
, it
);
}
-
+
/////////////////////////////
@@ -369,7 +357,7 @@ private:
, static_cast< int >( tw )
, static_cast< int >( th )
);
-
+
typedef typename color_space_type<typename View::value_type>::type colour_space_t;
typedef mpl::bool_<mpl::contains<colour_space_t, alpha_t>::value> has_alpha_t;
@@ -453,9 +441,9 @@ public:
}
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/tiff/detail/writer_backend.hpp b/boost/gil/extension/io/tiff/detail/writer_backend.hpp
index c7ed63a3e5..65b32942bd 100644
--- a/boost/gil/extension/io/tiff/detail/writer_backend.hpp
+++ b/boost/gil/extension/io/tiff/detail/writer_backend.hpp
@@ -1,33 +1,22 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_WRITER_BACKEND_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_DETAIL_WRITER_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/io/tiff/tags.hpp>
#include <boost/mpl/contains.hpp>
-#include <boost/gil/extension/io/tiff/tags.hpp>
-
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
///
@@ -135,9 +124,9 @@ public:
image_write_info< tiff_tag > _info;
};
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/extension/io/tiff/old.hpp b/boost/gil/extension/io/tiff/old.hpp
index d0fa548a37..cd2d97e2ec 100644
--- a/boost/gil/extension/io/tiff/old.hpp
+++ b/boost/gil/extension/io/tiff/old.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_OLD_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_OLD_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/tiff.hpp>
namespace boost { namespace gil {
@@ -26,32 +15,23 @@ namespace boost { namespace gil {
/// \ingroup TIFF_IO
/// \brief Returns the width and height of the TIFF file at the specified location.
/// Throws std::ios_base::failure if the location does not correspond to a valid TIFF file
-template< typename String >
-inline
-point2< std::ptrdiff_t > tiff_read_dimensions( const String& filename )
+template<typename String>
+inline point_t tiff_read_dimensions(String const& filename)
{
- typedef typename get_reader_backend< String
- , tiff_tag
- >::type backend_t;
-
- backend_t backend = read_image_info( filename
- , tiff_tag()
- );
-
- return point2< std::ptrdiff_t >( backend._info._width
- , backend._info._height
- );
+ using backend_t = typename get_reader_backend<String, tiff_tag>::type;
+ backend_t backend = read_image_info(filename, tiff_tag());
+ return { backend._info._width, backend._info._height };
}
/// \ingroup TIFF_IO
/// \brief Loads the image specified by the given tiff image file name into the given view.
/// Triggers a compile assert if the view color space and channel depth are not supported by the TIFF library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid TIFF file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid TIFF file, or if its color space or channel depth are not
/// compatible with the ones specified by View, or if its dimensions don't match the ones of the view.
template< typename String
, typename View
>
-inline
+inline
void tiff_read_view( const String& filename
, const View& view
)
@@ -65,12 +45,12 @@ void tiff_read_view( const String& filename
/// \ingroup TIFF_IO
/// \brief Allocates a new image whose dimensions are determined by the given tiff image file, and loads the pixels into it.
/// Triggers a compile assert if the image color space or channel depth are not supported by the TIFF library or by the I/O extension.
-/// Throws std::ios_base::failure if the file is not a valid TIFF file, or if its color space or channel depth are not
+/// Throws std::ios_base::failure if the file is not a valid TIFF file, or if its color space or channel depth are not
/// compatible with the ones specified by Image
template< typename String
, typename Image
>
-inline
+inline
void tiff_read_image( const String& filename
, Image& img
)
@@ -88,7 +68,7 @@ template< typename String
, typename View
, typename CC
>
-inline
+inline
void tiff_read_and_convert_view( const String& filename
, const View& view
, CC cc
@@ -107,7 +87,7 @@ void tiff_read_and_convert_view( const String& filename
template< typename String
, typename View
>
-inline
+inline
void tiff_read_and_convert_view( const String& filename
, const View& view
)
@@ -125,7 +105,7 @@ template< typename String
, typename Image
, typename CC
>
-inline
+inline
void tiff_read_and_convert_image( const String& filename
, Image& img
, CC cc
@@ -144,7 +124,7 @@ void tiff_read_and_convert_image( const String& filename
template< typename String
, typename Image
>
-inline
+inline
void tiff_read_and_convert_image( const String filename
, Image& img
)
diff --git a/boost/gil/extension/io/tiff/read.hpp b/boost/gil/extension/io/tiff/read.hpp
index 285a8bf331..af7b4bcef2 100644
--- a/boost/gil/extension/io/tiff/read.hpp
+++ b/boost/gil/extension/io/tiff/read.hpp
@@ -1,43 +1,30 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_READ_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_READ_HPP
-#define BOOST_GIL_EXTENSION_IO_TIFF_READ_ENABLED
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#define BOOST_GIL_EXTENSION_IO_TIFF_READ_ENABLED // TODO: Document, explain, review
#include <boost/gil/extension/io/tiff/tags.hpp>
-#include <boost/gil/extension/io/tiff/detail/supported_types.hpp>
#include <boost/gil/extension/io/tiff/detail/read.hpp>
#include <boost/gil/extension/io/tiff/detail/scanline_read.hpp>
+#include <boost/gil/extension/io/tiff/detail/supported_types.hpp>
#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/make_backend.hpp>
-#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_dynamic_image_reader.hpp>
+#include <boost/gil/io/make_reader.hpp>
#include <boost/gil/io/make_scanline_reader.hpp>
-
-#include <boost/gil/io/read_view.hpp>
-#include <boost/gil/io/read_image.hpp>
-#include <boost/gil/io/read_image_info.hpp>
#include <boost/gil/io/read_and_convert_image.hpp>
#include <boost/gil/io/read_and_convert_view.hpp>
-
+#include <boost/gil/io/read_image.hpp>
+#include <boost/gil/io/read_image_info.hpp>
+#include <boost/gil/io/read_view.hpp>
#include <boost/gil/io/scanline_read_iterator.hpp>
#endif
diff --git a/boost/gil/extension/io/tiff/tags.hpp b/boost/gil/extension/io/tiff/tags.hpp
index 2242e969ea..fc21c48261 100644
--- a/boost/gil/extension/io/tiff/tags.hpp
+++ b/boost/gil/extension/io/tiff/tags.hpp
@@ -1,23 +1,16 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_TAGS_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_TAGS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief All supported tiff tags by the gil io extension.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/io/tiff/detail/log.hpp>
+
+#include <boost/gil/io/base.hpp>
#include <boost/mpl/vector.hpp>
@@ -32,9 +25,6 @@
}
#endif
-#include <boost/gil/io/base.hpp>
-#include <boost/gil/extension/io/tiff/detail/log.hpp>
-
namespace boost { namespace gil {
/// Defines tiff tag.
diff --git a/boost/gil/extension/io/tiff/write.hpp b/boost/gil/extension/io/tiff/write.hpp
index 1969a951fe..a96470afc3 100644
--- a/boost/gil/extension/io/tiff/write.hpp
+++ b/boost/gil/extension/io/tiff/write.hpp
@@ -1,32 +1,19 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_IO_TIFF_WRITE_HPP
#define BOOST_GIL_EXTENSION_IO_TIFF_WRITE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/io/tiff/tags.hpp>
#include <boost/gil/extension/io/tiff/detail/supported_types.hpp>
#include <boost/gil/extension/io/tiff/detail/write.hpp>
-#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/make_dynamic_image_writer.hpp>
-
+#include <boost/gil/io/make_writer.hpp>
#include <boost/gil/io/write_view.hpp>
-
#endif
diff --git a/boost/gil/extension/numeric/affine.hpp b/boost/gil/extension/numeric/affine.hpp
index 6a77070063..ebef93afca 100644
--- a/boost/gil/extension/numeric/affine.hpp
+++ b/boost/gil/extension/numeric/affine.hpp
@@ -1,26 +1,14 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_AFFINE_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_AFFINE_HPP
-#include <boost/gil/utilities.hpp> // point2
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief support for affine transformations
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/point.hpp>
namespace boost { namespace gil {
@@ -40,11 +28,17 @@ public:
matrix3x2& operator*=(const matrix3x2& m) { (*this) = (*this)*m; return *this; }
static matrix3x2 get_rotate(T rads) { T c=std::cos(rads); T s=std::sin(rads); return matrix3x2(c,s,-s,c,0,0); }
- static matrix3x2 get_translate(const point2<T>& t) { return matrix3x2(1 ,0,0,1 ,t.x,t.y); }
+ static matrix3x2 get_translate(point<T> const& t)
+ {
+ return matrix3x2(1, 0, 0, 1, t.x, t.y);
+ }
static matrix3x2 get_translate(T x, T y) { return matrix3x2(1 ,0,0,1 ,x, y ); }
- static matrix3x2 get_scale (const point2<T>& s) { return matrix3x2(s.x,0,0,s.y,0 ,0 ); }
- static matrix3x2 get_scale (T x, T y) { return matrix3x2(x, 0,0,y, 0 ,0 ); }
- static matrix3x2 get_scale (T s) { return matrix3x2(s ,0,0,s ,0 ,0 ); }
+ static matrix3x2 get_scale(point<T> const& s)
+ {
+ return matrix3x2(s.x, 0, 0, s.y, 0, 0);
+ }
+ static matrix3x2 get_scale(T x, T y) { return matrix3x2(x, 0,0,y, 0 ,0 ); }
+ static matrix3x2 get_scale(T s) { return matrix3x2(s ,0,0,s ,0 ,0 ); }
T a,b,c,d,e,f;
};
@@ -60,9 +54,11 @@ matrix3x2<T> operator*(const matrix3x2<T>& m1, const matrix3x2<T>& m2) {
m1.e * m2.b + m1.f * m2.d + m2.f );
}
-template <typename T, typename F> BOOST_FORCEINLINE
-point2<F> operator*(const point2<T>& p, const matrix3x2<F>& m) {
- return point2<F>(m.a*p.x + m.c*p.y + m.e, m.b*p.x + m.d*p.y + m.f);
+template <typename T, typename F>
+BOOST_FORCEINLINE
+point<F> operator*(point<T> const& p, matrix3x2<F> const& m)
+{
+ return { m.a*p.x + m.c*p.y + m.e, m.b*p.x + m.d*p.y + m.f };
}
////////////////////////////////////////////////////////////////////////////////////////
@@ -74,20 +70,25 @@ concept MappingFunctionConcept {
typename mapping_traits<MapFn>::result_type; where PointNDConcept<result_type>;
template <typename Domain> { where PointNDConcept<Domain> }
- result_type transform(MapFn&, const Domain& src);
+ result_type transform(MapFn&, const Domain& src);
};
*/
template <typename T> struct mapping_traits;
template <typename F>
-struct mapping_traits<matrix3x2<F> > {
- typedef point2<F> result_type;
+struct mapping_traits<matrix3x2<F>>
+{
+ using result_type = point<F>;
};
-template <typename F, typename F2> BOOST_FORCEINLINE
-point2<F> transform(const matrix3x2<F>& mat, const point2<F2>& src) { return src * mat; }
+template <typename F, typename F2>
+BOOST_FORCEINLINE
+point<F> transform(matrix3x2<F> const& mat, point<F2> const& src)
+{
+ return src * mat;
+}
-} } // namespace boost::gil
+}} // namespace boost::gil
-#endif // BOOST_GIL_EXTENSION_NUMERIC_AFFINE_HPP
+#endif
diff --git a/boost/gil/extension/numeric/algorithm.hpp b/boost/gil/extension/numeric/algorithm.hpp
index b7c175985f..8dd2850857 100644
--- a/boost/gil/extension/numeric/algorithm.hpp
+++ b/boost/gil/extension/numeric/algorithm.hpp
@@ -1,33 +1,21 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_ALGORITHM_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_ALGORITHM_HPP
-/*!
-/// \file
-/// \brief Numeric algorithms
-/// \author Hailin Jin and Lubomir Bourdev \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-*/
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/pixel_iterator.hpp>
+#include <algorithm>
#include <cassert>
#include <iterator>
-#include <algorithm>
#include <numeric>
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/pixel_iterator.hpp>
-#include <boost/gil/metafunctions.hpp>
-
namespace boost { namespace gil {
/// \brief Returns the reference proxy associated with a type that has a \p "reference" member typedef.
@@ -47,7 +35,7 @@ BinaryFunction for_each(Iterator1 first1,Iterator1 last1,Iterator2 first2,Binary
template <typename SrcIterator,typename DstIterator>
inline DstIterator assign_pixels(SrcIterator src,SrcIterator src_end,DstIterator dst) {
for_each(src,src_end,dst,pixel_assigns_t<typename pixel_proxy<typename std::iterator_traits<SrcIterator>::value_type>::type,
- typename pixel_proxy<typename std::iterator_traits<DstIterator>::value_type>::type>());
+ typename pixel_proxy<typename std::iterator_traits<DstIterator>::value_type>::type>());
return dst+(src_end-src);
}
@@ -56,8 +44,8 @@ template <std::size_t Size>
struct inner_product_k_t {
template <class _InputIterator1, class _InputIterator2, class _Tp,
class _BinaryOperation1, class _BinaryOperation2>
- static _Tp apply(_InputIterator1 __first1,
- _InputIterator2 __first2, _Tp __init,
+ static _Tp apply(_InputIterator1 __first1,
+ _InputIterator2 __first2, _Tp __init,
_BinaryOperation1 __binary_op1,
_BinaryOperation2 __binary_op2) {
__init = __binary_op1(__init, __binary_op2(*__first1, *__first2));
@@ -70,8 +58,8 @@ template <>
struct inner_product_k_t<0> {
template <class _InputIterator1, class _InputIterator2, class _Tp,
class _BinaryOperation1, class _BinaryOperation2>
- static _Tp apply(_InputIterator1 __first1,
- _InputIterator2 __first2, _Tp __init,
+ static _Tp apply(_InputIterator1 __first1,
+ _InputIterator2 __first2, _Tp __init,
_BinaryOperation1 __binary_op1,
_BinaryOperation2 __binary_op2) {
return __init;
@@ -84,9 +72,9 @@ template <std::size_t Size,
class _InputIterator1, class _InputIterator2, class _Tp,
class _BinaryOperation1, class _BinaryOperation2>
BOOST_FORCEINLINE
-_Tp inner_product_k(_InputIterator1 __first1,
+_Tp inner_product_k(_InputIterator1 __first1,
_InputIterator2 __first2,
- _Tp __init,
+ _Tp __init,
_BinaryOperation1 __binary_op1,
_BinaryOperation2 __binary_op2) {
return detail::inner_product_k_t<Size>::template apply(__first1,__first2,__init,
@@ -153,6 +141,6 @@ inline void view_multiplies_scalar(const SrcView& src,const Scalar& scalar,const
}
}
-} } // namespace boost::gil
+}} // namespace boost::gil
-#endif // BOOST_GIL_EXTENSION_NUMERIC_ALGORITHM_HPP
+#endif
diff --git a/boost/gil/extension/numeric/channel_numeric_operations.hpp b/boost/gil/extension/numeric/channel_numeric_operations.hpp
index d2407f9814..d456f06eba 100644
--- a/boost/gil/extension/numeric/channel_numeric_operations.hpp
+++ b/boost/gil/extension/numeric/channel_numeric_operations.hpp
@@ -1,37 +1,25 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_CHANNEL_NUMERIC_OPERATIONS_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_CHANNEL_NUMERIC_OPERATIONS_HPP
-/*!
-/// \file
-/// \brief Structures for channel-wise numeric operations
-/// \author Hailin Jin and Lubomir Bourdev \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-/// Currently defined structures:
-/// channel_plus_t (+), channel_minus_t (-),
-/// channel_multiplies_t (*), channel_divides_t (/),
-/// channel_plus_scalar_t (+s), channel_minus_scalar_t (-s),
-/// channel_multiplies_scalar_t (*s), channel_divides_scalar_t (/s),
-/// channel_halves_t (/=2), channel_zeros_t (=0), channel_assigns_t (=)
-*/
-
#include <functional>
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/channel.hpp>
-
namespace boost { namespace gil {
+// Structures for channel-wise numeric operations
+// Currently defined structures:
+// channel_plus_t (+), channel_minus_t (-),
+// channel_multiplies_t (*), channel_divides_t (/),
+// channel_plus_scalar_t (+s), channel_minus_scalar_t (-s),
+// channel_multiplies_scalar_t (*s), channel_divides_scalar_t (/s),
+// channel_halves_t (/=2), channel_zeros_t (=0), channel_assigns_t (=)
+
/// \ingroup ChannelNumericOperations
/// structure for adding one channel to another
/// this is a generic implementation; user should specialize it for better performance
@@ -154,6 +142,6 @@ struct channel_assigns_t : public std::binary_function<Channel1,Channel2,Channel
}
};
-} } // namespace boost::gil
+}} // namespace boost::gil
-#endif // BOOST_GIL_EXTENSION_NUMERIC_CHANNEL_NUMERIC_OPERATIONS_HPP
+#endif
diff --git a/boost/gil/extension/numeric/convolve.hpp b/boost/gil/extension/numeric/convolve.hpp
index ba840aec71..152ffd776a 100644
--- a/boost/gil/extension/numeric/convolve.hpp
+++ b/boost/gil/extension/numeric/convolve.hpp
@@ -1,47 +1,36 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_CONVOLVE_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_CONVOLVE_HPP
-/*!
-/// \file
-/// \brief 2D seperable convolutions and correlations
-///
-/// \author Hailin Jin and Lubomir Bourdev \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-*/
+#include <boost/gil/extension/numeric/algorithm.hpp>
+#include <boost/gil/extension/numeric/pixel_numeric_operations.hpp>
+#include <boost/gil/algorithm.hpp>
+#include <boost/gil/image_view_factory.hpp>
+#include <boost/gil/metafunctions.hpp>
-#include <cstddef>
-#include <cassert>
#include <algorithm>
-#include <vector>
+#include <cassert>
+#include <cstddef>
#include <functional>
-
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/image_view_factory.hpp>
-#include <boost/gil/algorithm.hpp>
-#include <boost/gil/metafunctions.hpp>
-#include <boost/gil/extension/numeric/pixel_numeric_operations.hpp>
-#include <boost/gil/extension/numeric/algorithm.hpp>
+#include <vector>
namespace boost { namespace gil {
+// 2D seperable convolutions and correlations
+
/// \ingroup ImageAlgorithms
/// Boundary options for 1D correlations/convolutions
enum convolve_boundary_option {
convolve_option_output_ignore, /// do nothing to the output
convolve_option_output_zero, /// set the output to zero
- convolve_option_extend_padded, /// assume the source boundaries to be padded already
+ convolve_option_extend_padded, /// assume the source boundaries to be padded already
convolve_option_extend_zero, /// assume the source boundaries to be zero
convolve_option_extend_constant /// assume the source boundaries to be the boundary value
};
@@ -83,7 +72,7 @@ void correlate_rows_imp(const SrcView& src, const Kernel& ker, const DstView& ds
correlator(&buffer.front(),&buffer.front()+width+1-ker.size(),
ker.begin(),it_dst);
it_dst+=width+1-ker.size();
- if (option==convolve_option_output_zero)
+ if (option==convolve_option_output_zero)
std::fill_n(it_dst,ker.right_size(),dst_zero);
}
}
@@ -214,6 +203,6 @@ void convolve_cols_fixed(const SrcView& src, const Kernel& ker, const DstView& d
convolve_rows_fixed<PixelAccum>(transposed_view(src),ker,transposed_view(dst),option);
}
-} } // namespace boost::gil
+}} // namespace boost::gil
-#endif // BOOST_GIL_EXTENSION_NUMERIC_CONVOLVE_HPP
+#endif
diff --git a/boost/gil/extension/numeric/kernel.hpp b/boost/gil/extension/numeric/kernel.hpp
index 012874d72a..000d17094b 100644
--- a/boost/gil/extension/numeric/kernel.hpp
+++ b/boost/gil/extension/numeric/kernel.hpp
@@ -1,36 +1,26 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_KERNEL_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_KERNEL_HPP
-/*!
-/// \file
-/// \brief Definitions of 1D fixed-size and variable-size kernels and related operations
-/// \author Hailin Jin and Lubomir Bourdev \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-*/
+#include <boost/gil/utilities.hpp>
-#include <cstddef>
-#include <cassert>
-#include <array>
#include <algorithm>
-#include <vector>
+#include <array>
+#include <cassert>
+#include <cstddef>
#include <memory>
-
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/utilities.hpp>
+#include <vector>
namespace boost { namespace gil {
+// Definitions of 1D fixed-size and variable-size kernels and related operations
+
namespace detail {
/// \brief kernel adaptor for one-dimensional cores
@@ -81,7 +71,7 @@ class kernel_1d_fixed : public detail::kernel_1d_adaptor<std::array<T,Size> > {
public:
kernel_1d_fixed() {}
explicit kernel_1d_fixed(std::size_t center_in) : parent_t(center_in) {}
-
+
template <typename FwdIterator>
explicit kernel_1d_fixed(FwdIterator elements, std::size_t center_in) : parent_t(center_in) {
detail::copy_n(elements,Size,this->begin());
@@ -98,7 +88,6 @@ inline Kernel reverse_kernel(const Kernel& kernel) {
return result;
}
+}} // namespace boost::gil
-} } // namespace boost::gil
-
-#endif // BOOST_GIL_EXTENSION_NUMERIC_KERNEL_HPP
+#endif
diff --git a/boost/gil/extension/numeric/pixel_numeric_operations.hpp b/boost/gil/extension/numeric/pixel_numeric_operations.hpp
index f5fc7c3e5a..cc055f39b1 100644
--- a/boost/gil/extension/numeric/pixel_numeric_operations.hpp
+++ b/boost/gil/extension/numeric/pixel_numeric_operations.hpp
@@ -1,39 +1,29 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_PIXEL_NUMERIC_OPERATIONS_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_PIXEL_NUMERIC_OPERATIONS_HPP
-/*!
-/// \file
-/// \brief Structures for pixel-wise numeric operations
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-/// Currently defined structures:
-/// pixel_plus_t (+), pixel_minus_t (-)
-/// pixel_multiplies_scalar_t (*), pixel_divides_scalar_t (/)
-/// pixel_halves_t (/=2), pixel_zeros_t (=0)
-/// pixel_assigns_t (=)
-*/
-
-#include <functional>
+#include <boost/gil/extension/numeric/channel_numeric_operations.hpp>
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/pixel.hpp>
#include <boost/gil/color_base_algorithm.hpp>
+#include <boost/gil/pixel.hpp>
-#include <boost/gil/extension/numeric/channel_numeric_operations.hpp>
+#include <functional>
namespace boost { namespace gil {
+// Structures for pixel-wise numeric operations
+// Currently defined structures:
+// pixel_plus_t (+), pixel_minus_t (-)
+// pixel_multiplies_scalar_t (*), pixel_divides_scalar_t (/)
+// pixel_halves_t (/=2), pixel_zeros_t (=0)
+// pixel_assigns_t (=)
+
/// \ingroup PixelNumericOperations
/// \brief construct for adding two pixels
template <typename PixelRef1, // models pixel concept
@@ -78,9 +68,10 @@ struct pixel_multiplies_scalar_t {
const Scalar& s) const {
PixelR result;
static_transform(p,result,
- std::bind2nd(channel_multiplies_scalar_t<typename channel_type<PixelRef>::type,
- Scalar,
- typename channel_type<PixelR>::type>(),s));
+ std::bind(channel_multiplies_scalar_t<typename channel_type<PixelRef>::type,
+ Scalar,
+ typename channel_type<PixelR>::type>(),
+ std::placeholders::_1, s));
return result;
}
};
@@ -112,9 +103,10 @@ struct pixel_divides_scalar_t {
const Scalar& s) const {
PixelR result;
static_transform(p,result,
- std::bind2nd(channel_divides_scalar_t<typename channel_type<PixelRef>::type,
- Scalar,
- typename channel_type<PixelR>::type>(),s));
+ std::bind(channel_divides_scalar_t<typename channel_type<PixelRef>::type,
+ Scalar,
+ typename channel_type<PixelR>::type>(),
+ std::placeholders::_1, s));
return result;
}
};
@@ -177,6 +169,6 @@ struct pixel_assigns_t {
}
};
-} } // namespace boost::gil
+}} // namespace boost::gil
-#endif // BOOST_GIL_EXTENSION_NUMERIC_PIXEL_NUMERIC_OPERATIONS_HPP
+#endif
diff --git a/boost/gil/extension/numeric/resample.hpp b/boost/gil/extension/numeric/resample.hpp
index ec619d57a1..e2e63a11e0 100644
--- a/boost/gil/extension/numeric/resample.hpp
+++ b/boost/gil/extension/numeric/resample.hpp
@@ -1,35 +1,24 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_RESAMPLE_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_RESAMPLE_HPP
-#include <boost/lambda/lambda.hpp>
-#include <boost/lambda/bind.hpp>
-
-#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
-
#include <boost/gil/extension/numeric/affine.hpp>
+#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief support for generic image resampling
-/// NOTE: The code is for example use only. It is not optimized for performance
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/lambda/bind.hpp>
+#include <boost/lambda/lambda.hpp>
namespace boost { namespace gil {
+// Support for generic image resampling
+// NOTE: The code is for example use only. It is not optimized for performance
+
///////////////////////////////////////////////////////////////////////////
////
//// resample_pixels: set each pixel in the destination view as the result of a sampling function over the transformed coordinates of the source view
@@ -61,7 +50,7 @@ void resample_pixels(const SrcView& src_view, const DstView& dst_view, const Map
///////////////////////////////////////////////////////////////////////////
////
-//// resample_pixels when one or both image views are run-time instantiated.
+//// resample_pixels when one or both image views are run-time instantiated.
////
///////////////////////////////////////////////////////////////////////////
@@ -72,8 +61,8 @@ namespace detail {
Sampler _sampler;
resample_pixels_fn(const MapFn& dst_to_src, const Sampler& sampler) : _dst_to_src(dst_to_src), _sampler(sampler) {}
- template <typename SrcView, typename DstView> BOOST_FORCEINLINE void apply_compatible(const SrcView& src, const DstView& dst) const {
- resample_pixels(src, dst, _dst_to_src, _sampler);
+ template <typename SrcView, typename DstView> BOOST_FORCEINLINE void apply_compatible(const SrcView& src, const DstView& dst) const {
+ resample_pixels(src, dst, _dst_to_src, _sampler);
}
};
}
@@ -97,7 +86,7 @@ void resample_pixels(const V1& src, const any_image_view<Types2>& dst, const Map
/// \brief resample_pixels when both the source and the destination are run-time specified
/// If invoked on incompatible views, throws std::bad_cast()
/// \ingroup ImageAlgorithms
-template <typename Sampler, typename SrcTypes, typename DstTypes, typename MapFn>
+template <typename Sampler, typename SrcTypes, typename DstTypes, typename MapFn>
void resample_pixels(const any_image_view<SrcTypes>& src, const any_image_view<DstTypes>& dst, const MapFn& dst_to_src, Sampler sampler=Sampler()) {
apply_operation(src,dst,detail::resample_pixels_fn<Sampler,MapFn>(dst_to_src,sampler));
}
@@ -111,8 +100,8 @@ void resample_pixels(const any_image_view<SrcTypes>& src, const any_image_view<D
// Extract into dst the rotated bounds [src_min..src_max] rotated at 'angle' from the source view 'src'
// The source coordinates are in the coordinate space of the source image
// Note that the views could also be variants (i.e. any_image_view)
-template <typename Sampler, typename SrcMetaView, typename DstMetaView>
-void resample_subimage(const SrcMetaView& src, const DstMetaView& dst,
+template <typename Sampler, typename SrcMetaView, typename DstMetaView>
+void resample_subimage(const SrcMetaView& src, const DstMetaView& dst,
double src_min_x, double src_min_y,
double src_max_x, double src_max_y,
double angle, const Sampler& sampler=Sampler()) {
@@ -121,8 +110,8 @@ void resample_subimage(const SrcMetaView& src, const DstMetaView& dst,
double dst_width = std::max<double>((double)(dst.width()-1),1);
double dst_height = std::max<double>((double)(dst.height()-1),1);
- matrix3x2<double> mat =
- matrix3x2<double>::get_translate(-dst_width/2.0, -dst_height/2.0) *
+ matrix3x2<double> mat =
+ matrix3x2<double>::get_translate(-dst_width/2.0, -dst_height/2.0) *
matrix3x2<double>::get_scale(src_width / dst_width, src_height / dst_height)*
matrix3x2<double>::get_rotate(-angle)*
matrix3x2<double>::get_translate(src_min_x + src_width/2.0, src_min_y + src_height/2.0);
@@ -135,7 +124,7 @@ void resample_subimage(const SrcMetaView& src, const DstMetaView& dst,
////
///////////////////////////////////////////////////////////////////////////
-template <typename Sampler, typename SrcMetaView, typename DstMetaView>
+template <typename Sampler, typename SrcMetaView, typename DstMetaView>
void resize_view(const SrcMetaView& src, const DstMetaView& dst, const Sampler& sampler=Sampler()) {
resample_subimage(src,dst,0.0,0.0,(double)src.width(),(double)src.height(),0.0,sampler);
}
diff --git a/boost/gil/extension/numeric/sampler.hpp b/boost/gil/extension/numeric/sampler.hpp
index 494611a314..ba8fa05225 100644
--- a/boost/gil/extension/numeric/sampler.hpp
+++ b/boost/gil/extension/numeric/sampler.hpp
@@ -1,32 +1,21 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_NUMERIC_SAMPLER_HPP
#define BOOST_GIL_EXTENSION_NUMERIC_SAMPLER_HPP
-#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
-
#include <boost/gil/extension/numeric/pixel_numeric_operations.hpp>
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Nearest-neighbor and bilinear image samplers.
-/// NOTE: The code is for example use only. It is not optimized for performance
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
namespace boost { namespace gil {
+// Nearest-neighbor and bilinear image samplers.
+// NOTE: The code is for example use only. It is not optimized for performance
+
///////////////////////////////////////////////////////////////////////////
////
//// resample_pixels: set each pixel in the destination view as the result of a sampling function over the transformed coordinates of the source view
@@ -47,9 +36,11 @@ concept SamplerConcept {
struct nearest_neighbor_sampler {};
template <typename DstP, typename SrcView, typename F>
-bool sample(nearest_neighbor_sampler, const SrcView& src, const point2<F>& p, DstP& result) {
+bool sample(nearest_neighbor_sampler, SrcView const& src, point<F> const& p, DstP& result)
+{
typename SrcView::point_t center(iround(p));
- if (center.x>=0 && center.y>=0 && center.x<src.width() && center.y<src.height()) {
+ if (center.x >= 0 && center.y >= 0 && center.x < src.width() && center.y < src.height())
+ {
result=src(center.x,center.y);
return true;
}
@@ -96,20 +87,19 @@ struct add_dst_mul_src {
};
} // namespace detail
-/// \brief A sampler that sets the destination pixel as the bilinear interpolation of the four closest pixels from the source.
+/// \brief A sampler that sets the destination pixel as the bilinear interpolation of the four closest pixels from the source.
/// If outside the bounds, it doesn't change the destination
/// \ingroup ImageAlgorithms
struct bilinear_sampler {};
template <typename DstP, typename SrcView, typename F>
-bool sample(bilinear_sampler, const SrcView& src, const point2<F>& p, DstP& result)
+bool sample(bilinear_sampler, SrcView const& src, point<F> const& p, DstP& result)
{
- typedef typename SrcView::value_type SrcP;
-
- point2<ptrdiff_t> p0(ifloor(p.x), ifloor(p.y)); // the closest integer coordinate top left from p
- point2<F> frac(p.x-p0.x, p.y-p0.y);
+ using SrcP = typename SrcView::value_type;
+ point_t p0(ifloor(p.x), ifloor(p.y)); // the closest integer coordinate top left from p
+ point<F> frac(p.x-p0.x, p.y-p0.y);
- if (p0.x < -1 || p0.y < -1 || p0.x>=src.width() || p0.y>=src.height())
+ if (p0.x < -1 || p0.y < -1 || p0.x>=src.width() || p0.y>=src.height())
{
return false;
}
@@ -194,7 +184,6 @@ bool sample(bilinear_sampler, const SrcView& src, const point2<F>& p, DstP& resu
return true;
}
-} // namespace gil
-} // namespace boost
+}} // namespace boost::gil
-#endif // BOOST_GIL_EXTENSION_NUMERIC_SAMPLER_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_converters.hpp b/boost/gil/extension/toolbox/color_converters.hpp
index 5286ac14d6..6f1a0dcb33 100644
--- a/boost/gil/extension/toolbox/color_converters.hpp
+++ b/boost/gil/extension/toolbox/color_converters.hpp
@@ -1,25 +1,14 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file color_converters.hpp
-/// \brief Color converters for toolbox extension.
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/toolbox/color_converters/gray_to_rgba.hpp>
#include <boost/gil/extension/toolbox/color_converters/rgb_to_luminance.hpp>
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_converters/gray_to_rgba.hpp b/boost/gil/extension/toolbox/color_converters/gray_to_rgba.hpp
index 1cfc873ac6..7890eb03f5 100644
--- a/boost/gil/extension/toolbox/color_converters/gray_to_rgba.hpp
+++ b/boost/gil/extension/toolbox/color_converters/gray_to_rgba.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_GRAY_TO_RGBA_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_GRAY_TO_RGBA_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/color_convert.hpp>
namespace boost{ namespace gil {
@@ -42,8 +31,6 @@ struct default_color_converter_impl<gray_t,rgba_t>
}
};
-} // namespace gil
-} // namespace boost
-
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_GRAY_TO_RGBA_HPP
+}} // namespace boost::gil
+#endif
diff --git a/boost/gil/extension/toolbox/color_converters/rgb_to_luminance.hpp b/boost/gil/extension/toolbox/color_converters/rgb_to_luminance.hpp
index e4daa6570b..ccce774e48 100644
--- a/boost/gil/extension/toolbox/color_converters/rgb_to_luminance.hpp
+++ b/boost/gil/extension/toolbox/color_converters/rgb_to_luminance.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_RGB_TO_LUMINANCE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_RGB_TO_LUMINANCE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/color_convert.hpp>
namespace boost{ namespace gil { namespace detail {
@@ -40,4 +29,4 @@ struct rgb_to_luminance_fn< double, double, double, GrayChannelValue >
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_CONVERTERS_RGB_TO_LUMINANCE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces.hpp b/boost/gil/extension/toolbox/color_spaces.hpp
index acb3a9dea3..d34af0b64a 100644
--- a/boost/gil/extension/toolbox/color_spaces.hpp
+++ b/boost/gil/extension/toolbox/color_spaces.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file color_spaces.hpp
-/// \brief Color spaces for toolbox extension.
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/toolbox/color_spaces/cmyka.hpp>
#include <boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp>
#include <boost/gil/extension/toolbox/color_spaces/hsl.hpp>
@@ -26,4 +15,4 @@
#include <boost/gil/extension/toolbox/color_spaces/lab.hpp>
#include <boost/gil/extension/toolbox/color_spaces/xyz.hpp>
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces/cmyka.hpp b/boost/gil/extension/toolbox/color_spaces/cmyka.hpp
index e6c3572b92..8631aa6656 100644
--- a/boost/gil/extension/toolbox/color_spaces/cmyka.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/cmyka.hpp
@@ -1,30 +1,20 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_CMYKA_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_CMYKA_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file cmyka.hpp
-/// \brief Support for cmyka color space.
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/gil/rgba.hpp>
#include <boost/gil/cmyk.hpp>
-
#include <boost/gil/color_convert.hpp>
+#include <boost/gil/rgba.hpp>
#include <boost/gil/typedefs.hpp>
+#include <boost/mpl/vector.hpp>
+
namespace boost{ namespace gil {
/// \ingroup ColorSpaceModel
@@ -49,8 +39,8 @@ GIL_DEFINE_ALL_TYPEDEFS(32f, float32_t, cmyka)
// void operator()(const P1& src, P2& dst) const {
// typedef typename channel_type<P1>::type T1;
// default_color_converter_impl<cmyk_t,C2>()(
-// pixel<T1,cmyk_layout_t>(channel_multiply(get_color(src,cyan_t()), get_color(src,alpha_t())),
-// channel_multiply(get_color(src,magenta_t()),get_color(src,alpha_t())),
+// pixel<T1,cmyk_layout_t>(channel_multiply(get_color(src,cyan_t()), get_color(src,alpha_t())),
+// channel_multiply(get_color(src,magenta_t()),get_color(src,alpha_t())),
// channel_multiply(get_color(src,yellow_t()), get_color(src,alpha_t())),
// channel_multiply(get_color(src,black_t()), get_color(src,alpha_t())))
// ,dst);
@@ -62,8 +52,8 @@ struct default_color_converter_impl<cmyka_t,rgba_t> {
void operator()(const P1& src, P2& dst) const {
typedef typename channel_type<P1>::type T1;
default_color_converter_impl<cmyk_t,rgba_t>()(
- pixel<T1,cmyk_layout_t>(get_color(src,cyan_t()),
- get_color(src,magenta_t()),
+ pixel<T1,cmyk_layout_t>(get_color(src,cyan_t()),
+ get_color(src,magenta_t()),
get_color(src,yellow_t()),
get_color(src,black_t()))
,dst);
@@ -83,4 +73,4 @@ struct default_color_converter_impl<cmyka_t,cmyka_t> {
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_CMYKA_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp b/boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp
index f32a95a541..0ada701a44 100644
--- a/boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Andreas Pokorny
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Andreas Pokorny
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_GRAY_ALPHA_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_GRAY_ALPHA_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file gray_alpha.hpp
-/// \brief Support for gray_alpha color space.
-/// \author Andreas Pokorny \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/contains.hpp>
-
-#include <boost/gil/gil_config.hpp>
#include <boost/gil/color_convert.hpp>
#include <boost/gil/gray.hpp>
#include <boost/gil/typedefs.hpp>
+#include <boost/mpl/contains.hpp>
+#include <boost/mpl/vector.hpp>
+
namespace boost{ namespace gil {
typedef mpl::vector2<gray_color_t,alpha_t> gray_alpha_t;
@@ -73,15 +62,15 @@ struct default_color_converter_impl<gray_alpha_t,rgb_t> {
void operator()(const P1& src, P2& dst) const {
get_color(dst,red_t()) =
channel_convert<typename color_element_type<P2, red_t>::type>(
- channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
+ channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
);
get_color(dst,green_t()) =
channel_convert<typename color_element_type<P2, green_t>::type>(
- channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
+ channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
);
get_color(dst,blue_t()) =
channel_convert<typename color_element_type<P2, blue_t>::type>(
- channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
+ channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
);
}
};
@@ -93,7 +82,7 @@ struct default_color_converter_impl<gray_alpha_t,gray_t> {
void operator()(const P1& src, P2& dst) const {
get_color(dst,gray_color_t()) =
channel_convert<typename color_element_type<P2, gray_color_t>::type>(
- channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
+ channel_multiply(get_color(src,gray_color_t()),get_color(src,alpha_t()) )
);
}
};
@@ -101,4 +90,4 @@ struct default_color_converter_impl<gray_alpha_t,gray_t> {
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_GRAY_ALPHA_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces/hsl.hpp b/boost/gil/extension/toolbox/color_spaces/hsl.hpp
index d5fb48e3f4..a2e6a1e040 100644
--- a/boost/gil/extension/toolbox/color_spaces/hsl.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/hsl.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HSL_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HSL_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file hsl.hpp
-/// \brief Support for HSL color space
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/typedefs.hpp>
namespace boost{ namespace gil {
@@ -265,4 +254,4 @@ struct default_color_converter_impl<hsl_t,rgb_t>
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HSL_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces/hsv.hpp b/boost/gil/extension/toolbox/color_spaces/hsv.hpp
index 6e0b332c3f..823755057c 100644
--- a/boost/gil/extension/toolbox/color_spaces/hsv.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/hsv.hpp
@@ -1,28 +1,22 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HSV_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HSV_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file hsv.hpp
-/// \brief Support for HSV color space
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/numeric/conversion/cast.hpp>
#include <boost/gil/typedefs.hpp>
+#include <boost/mpl/vector.hpp>
+
+#include <algorithm>
+#include <cmath>
+
namespace boost{ namespace gil {
/// \addtogroup ColorNameModel
@@ -95,7 +89,7 @@ struct default_color_converter_impl< rgb_t, hsv_t >
hue = ( temp_green - temp_blue )
/ diff;
}
- else if( temp_green == max_color )
+ else if( temp_green >= max_color ) // means == but >= avoids compiler warning; color is never greater than max
{
hue = 2.f + ( temp_blue - temp_red )
/ diff;
@@ -234,4 +228,4 @@ struct default_color_converter_impl<hsv_t,rgb_t>
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_HSV_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces/lab.hpp b/boost/gil/extension/toolbox/color_spaces/lab.hpp
index 140c79f763..ec5d955d31 100644
--- a/boost/gil/extension/toolbox/color_spaces/lab.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/lab.hpp
@@ -1,27 +1,19 @@
-/*
- Copyright 2012 Chung-Lin Wen
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Chung-Lin Wen
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_LAB_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_LAB_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file lab.hpp
-/// \brief Support for CIE Lab color space
-/// \author Chung-Lin Wen \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/gil/gil_all.hpp> // FIXME: Include what you use, not everything, even in extensions!
#include <boost/gil/extension/toolbox/color_spaces/xyz.hpp>
+#include <boost/gil.hpp> // FIXME: Include what you use, not everything, even in extensions!
+
+#include <boost/mpl/vector.hpp>
+
namespace boost{ namespace gil {
/// \addtogroup ColorNameModel
@@ -175,4 +167,4 @@ struct default_color_converter_impl<lab_t,rgb_t>
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_LAB_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/color_spaces/xyz.hpp b/boost/gil/extension/toolbox/color_spaces/xyz.hpp
index a9973adf82..637002d81d 100644
--- a/boost/gil/extension/toolbox/color_spaces/xyz.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/xyz.hpp
@@ -1,26 +1,17 @@
-/*
- Copyright 2012 Chung-Lin Wen, Davide Anastasia
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Chung-Lin Wen, Davide Anastasia
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_XYZ_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_XYZ_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file xyz.hpp
-/// \brief Support for CIE XYZ color space
-/// \author Chung-Lin Wen, Davide Anastasia \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/typedefs.hpp>
+#include <boost/mpl/vector.hpp>
+
namespace boost{ namespace gil {
/// \addtogroup ColorNameModel
diff --git a/boost/gil/extension/toolbox/color_spaces/ycbcr.hpp b/boost/gil/extension/toolbox/color_spaces/ycbcr.hpp
index e8e282f6a5..7c35ba1d9b 100644
--- a/boost/gil/extension/toolbox/color_spaces/ycbcr.hpp
+++ b/boost/gil/extension/toolbox/color_spaces/ycbcr.hpp
@@ -1,31 +1,22 @@
-/*
- Copyright 2013 Juan V. Puertos G-Cluster, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2013 Juan V. Puertos G-Cluster, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_YCBCR_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_COLOR_SPACES_YCBCR_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file ycbcr.hpp
-/// \brief Support for ycbcr ITU.BT-601 color space
-/// \author Juan V. Puertos G-Cluster 2013 \n
-///
-/// \date 2013 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp>
-#include <cstdint>
-#include <boost/algorithm/clamp.hpp>
+#include <boost/gil.hpp> // FIXME: Include what you use!
+
+#include <boost/mpl/identity.hpp>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/vector_c.hpp>
-#include <boost/gil/gil_all.hpp>
-#include <boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp>
+#include <cstdint>
namespace boost{ namespace gil {
@@ -64,6 +55,21 @@ typedef boost::gil::layout<ycbcr_709__t> ycbcr_709__layout_t;
GIL_DEFINE_ALL_TYPEDEFS(8, uint8_t, ycbcr_601_)
GIL_DEFINE_ALL_TYPEDEFS(8, uint8_t, ycbcr_709_)
+namespace detail {
+
+// Source:boost/algorithm/clamp.hpp
+template<typename T>
+constexpr T const& clamp(T const& val,
+ typename boost::mpl::identity<T>::type const & lo,
+ typename boost::mpl::identity<T>::type const & hi)
+{
+ // assert ( !p ( hi, lo )); // Can't assert p ( lo, hi ) b/c they might be equal
+ auto const p = std::less<T>();
+ return p(val, lo) ? lo : p(hi, val) ? hi : val;
+}
+
+} // namespace detail
+
/*
* 601 Source: http://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion
* 709 Source: http://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.709_conversion
@@ -100,7 +106,6 @@ private:
, mpl::true_ // is 8 bit channel
) const
{
- using namespace boost::algorithm;
using namespace ycbcr_601_color_space;
typedef typename channel_type< Src_Pixel >::type src_channel_t;
@@ -114,9 +119,9 @@ private:
std::int_fast16_t c = y - 16;
std::int_fast16_t d = cb - 128;
std::int_fast16_t e = cr - 128;
- std::int_fast16_t red = clamp((( 298 * c + 409 * e + 128) >> 8), 0, 255);
- std::int_fast16_t green = clamp((( 298 * c - 100 * d - 208 * e + 128) >> 8), 0, 255);
- std::int_fast16_t blue = clamp((( 298 * c + 516 * d + 128) >> 8), 0, 255);
+ std::int_fast16_t red = detail::clamp((( 298 * c + 409 * e + 128) >> 8), 0, 255);
+ std::int_fast16_t green = detail::clamp((( 298 * c - 100 * d - 208 * e + 128) >> 8), 0, 255);
+ std::int_fast16_t blue = detail::clamp((( 298 * c + 516 * d + 128) >> 8), 0, 255);
get_color( dst, red_t() ) = (dst_channel_t) red;
get_color( dst, green_t() ) = (dst_channel_t) green;
@@ -132,7 +137,6 @@ private:
, mpl::false_ // is 8 bit channel
) const
{
- using namespace boost::algorithm;
using namespace ycbcr_601_color_space;
typedef typename channel_type< Dst_Pixel >::type dst_channel_t;
@@ -141,20 +145,14 @@ private:
double cb = get_color( src, cb_t() );
double cr = get_color( src, cr_t() );
- get_color(dst, red_t()) = (dst_channel_t) clamp( 1.6438 * ( y - 16.0 ) + 1.5960 * ( cr -128.0 )
- , 0.0
- , 255.0
- );
+ get_color(dst, red_t()) = static_cast<dst_channel_t>(
+ detail::clamp(1.6438 * (y - 16.0) + 1.5960 * (cr -128.0), 0.0, 255.0));
- get_color(dst, green_t()) = (dst_channel_t) clamp( 1.6438 * ( y - 16.0 ) - 0.3917 * ( cb - 128.0 ) + 0.8129 * ( cr -128.0 )
- , 0.0
- , 255.0
- );
+ get_color(dst, green_t()) = static_cast<dst_channel_t>(
+ detail::clamp(1.6438 * (y - 16.0) - 0.3917 * (cb - 128.0) + 0.8129 * (cr -128.0), 0.0, 255.0));
- get_color(dst, blue_t()) = (dst_channel_t) clamp( 1.6438 * ( y - 16.0 ) - 2.0172 * ( cb -128.0 )
- , 0.0
- , 255.0
- );
+ get_color(dst, blue_t()) = static_cast<dst_channel_t>(
+ detail::clamp(1.6438 * ( y - 16.0 ) - 2.0172 * ( cb -128.0 ), 0.0, 255.0));
}
};
diff --git a/boost/gil/extension/toolbox/dynamic_images.hpp b/boost/gil/extension/toolbox/dynamic_images.hpp
index f0993599eb..17c4ca34cd 100644
--- a/boost/gil/extension/toolbox/dynamic_images.hpp
+++ b/boost/gil/extension/toolbox/dynamic_images.hpp
@@ -1,30 +1,17 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_DYNAMIC_IMAGES_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_DYNAMIC_IMAGES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file dynamic_images.hpp
-/// \brief Generic io functions for dealing with dynamic images.
-/// \author Hailin Jin, Lubomir Bourdev, and Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/size.hpp>
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
namespace boost { namespace gil {
@@ -120,7 +107,6 @@ struct color_space_type< any_image_pixel_t >
typedef any_image_color_space_t type;
};
+}} // namespace boost::gil
-} } // namespace boost::gil
-
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_DYNAMIC_IMAGES_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/image_types.hpp b/boost/gil/extension/toolbox/image_types.hpp
index 94d52fad63..4d21f1f7c4 100644
--- a/boost/gil/extension/toolbox/image_types.hpp
+++ b/boost/gil/extension/toolbox/image_types.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IMAGE_TYPES_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IMAGE_TYPES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file image_types.hpp
-/// \brief Image Types for toolbox extension.
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/toolbox/image_types/indexed_image.hpp>
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IMAGE_TYPES_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/image_types/indexed_image.hpp b/boost/gil/extension/toolbox/image_types/indexed_image.hpp
index c413f67533..4ee7966f30 100644
--- a/boost/gil/extension/toolbox/image_types/indexed_image.hpp
+++ b/boost/gil/extension/toolbox/image_types/indexed_image.hpp
@@ -1,35 +1,27 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_IMAGE_TYPES_INDEXED_IMAGE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_IMAGE_TYPES_INDEXED_IMAGE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file indexed_image.hpp
-/// \brief Indexed Image extension
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp>
+
+#include <boost/gil/image.hpp>
+#include <boost/gil/point.hpp>
+#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/image.hpp>
-#include <boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp>
-
+#include <cstddef>
+#include <memory>
namespace boost{ namespace gil {
-typedef boost::gil::point2< std::ptrdiff_t > point_t;
-
template< typename Locator >
struct get_pixel_type_locator : mpl::if_< typename is_bit_aligned< typename Locator::value_type >::type
, typename Locator::reference
@@ -211,7 +203,7 @@ private:
template<typename Index_View, typename Palette_View>
indexed_image_view
<
- typename indexed_image_locator_type
+ typename indexed_image_locator_type
<
typename Index_View::locator
, typename Palette_View::locator
@@ -219,14 +211,14 @@ indexed_image_view
>
view(Index_View iv, Palette_View pv)
{
- typedef indexed_image_view<
+ typedef indexed_image_view<
typename indexed_image_locator_type<
typename Index_View::locator
, typename Palette_View::locator
>::type
> view_t;
- typedef indexed_image_deref_fn<
+ typedef indexed_image_deref_fn<
typename Index_View::locator
, typename Palette_View::locator
> defer_fn_t;
@@ -389,4 +381,4 @@ void fill_pixels( const indexed_image_view< Locator >& view
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_IMAGE_TYPES_INDEXED_IMAGE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/image_types/subchroma_image.hpp b/boost/gil/extension/toolbox/image_types/subchroma_image.hpp
index e98abe0f1c..be2a7baa80 100644
--- a/boost/gil/extension/toolbox/image_types/subchroma_image.hpp
+++ b/boost/gil/extension/toolbox/image_types/subchroma_image.hpp
@@ -1,37 +1,28 @@
-/*
- Copyright 2013 Christian Henning and Juan V. Puertos
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2013 Christian Henning and Juan V. Puertos
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_IMAGE_TYPES_SUBCHROMA_IMAGE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_IMAGE_TYPES_SUBCHROMA_IMAGE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file subchroma_image.hpp
-/// \brief Subchroma Image extension
-/// \author Christian Henning and Juan V. Puertos\n
-///
-/// \date 2013 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/image.hpp>
+#include <boost/gil/point.hpp>
#include <boost/mpl/divides.hpp>
#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/int.hpp>
#include <boost/mpl/if.hpp>
+#include <boost/mpl/int.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/vector_c.hpp>
-#include <boost/gil/image.hpp>
+#include <cstddef>
+#include <memory>
namespace boost{ namespace gil {
-typedef boost::gil::point2< std::ptrdiff_t > point_t;
-
////////////////////////////////////////////////////////////////////////////////////////
/// \class subchroma_image_deref_fn
/// \ingroup PixelLocatorModel PixelBasedModel
@@ -68,7 +59,7 @@ struct subchroma_image_deref_fn
{}
/// operator()
- typename result_type operator()( const point_t& p ) const
+ result_type operator()( const point_t& p ) const
{
typedef Scaling_Factors< mpl::at_c< Factors, 0 >::type::value
, mpl::at_c< Factors, 1 >::type::value
@@ -85,13 +76,13 @@ struct subchroma_image_deref_fn
);
}
- ///
+ ///
const plane_locator_t& y_locator() const { return _y_locator; }
const plane_locator_t& v_locator() const { return _v_locator; }
const plane_locator_t& u_locator() const { return _u_locator; }
private:
-
+
plane_locator_t _y_locator;
plane_locator_t _v_locator;
plane_locator_t _u_locator;
@@ -101,7 +92,7 @@ private:
////////////////////////////////////////////////////////////////////////////////////////
/// \class subchroma_image_locator_type
/// \ingroup PixelLocatorModel PixelBasedModel
-/// \brief
+/// \brief
///
////////////////////////////////////////////////////////////////////////////////////////
template< typename Locator
@@ -122,19 +113,19 @@ struct subchroma_image_locator
/////////////////////////////
template < typename Locator, typename Factors >
-struct channel_type< subchroma_image_locator< Locator, Factors > >
+struct channel_type< subchroma_image_locator< Locator, Factors > >
: public channel_type< typename subchroma_image_locator< Locator, Factors >::type > {};
template < typename Locator, typename Factors >
-struct color_space_type< subchroma_image_locator< Locator, Factors > >
+struct color_space_type< subchroma_image_locator< Locator, Factors > >
: public color_space_type< typename subchroma_image_locator< Locator, Factors >::type > {};
template < typename Locator, typename Factors >
-struct channel_mapping_type< subchroma_image_locator< Locator, Factors > >
+struct channel_mapping_type< subchroma_image_locator< Locator, Factors > >
: public channel_mapping_type< typename subchroma_image_locator< Locator, Factors >::type > {};
template < typename Locator, typename Factors >
-struct is_planar< subchroma_image_locator< Locator, Factors > >
+struct is_planar< subchroma_image_locator< Locator, Factors > >
: public is_planar< typename subchroma_image_locator< Locator, Factors >::type > {};
/////////////////////////////
@@ -176,7 +167,7 @@ struct transposed_type< subchroma_image_locator< Locator, Factors > >
///
////////////////////////////////////////////////////////////////////////////////////////
template< typename Locator
- , typename Factors = mpl::vector_c< int, 4, 4, 4 >
+ , typename Factors = mpl::vector_c< int, 4, 4, 4 >
>
class subchroma_image_view : public image_view< Locator >
{
@@ -207,7 +198,7 @@ public:
, _v_dimensions( v_dimensions )
, _u_dimensions( u_dimensions )
{}
-
+
/// copy constructor
template< typename Subchroma_View >
subchroma_image_view( const Subchroma_View& v )
@@ -249,11 +240,11 @@ private:
/////////////////////////////
template < typename Locator, typename Factors >
-struct channel_type< subchroma_image_view< Locator, Factors > >
- : public channel_type< Locator > {};
+struct channel_type< subchroma_image_view< Locator, Factors > >
+ : public channel_type< Locator > {};
template < typename Locator, typename Factors >
-struct color_space_type< subchroma_image_view< Locator, Factors > >
+struct color_space_type< subchroma_image_view< Locator, Factors > >
: public color_space_type< Locator > {};
template < typename Locator, typename Factors >
@@ -261,7 +252,7 @@ struct channel_mapping_type< subchroma_image_view< Locator, Factors > >
: public channel_mapping_type< Locator > {};
template < typename Locator, typename Factors >
-struct is_planar< subchroma_image_view< Locator, Factors > >
+struct is_planar< subchroma_image_view< Locator, Factors > >
: public is_planar< Locator > {};
/////////////////////////////
@@ -309,7 +300,7 @@ struct Scaling_Factors
, mpl::equal_to< mpl::int_< a >, mpl::int_< 1 > >
>
>::type::value
- ));
+ ));
BOOST_STATIC_ASSERT(( mpl::or_< mpl::equal_to< mpl::int_< b >, mpl::int_< 4 > >
, mpl::or_< mpl::equal_to< mpl::int_< b >, mpl::int_< 2 > >
@@ -318,7 +309,7 @@ struct Scaling_Factors
>
>
>::type::value
- ));
+ ));
BOOST_STATIC_CONSTANT( int, ss_X = ( mpl::divides< mpl::int_< J >
, mpl::int_< a >
@@ -345,7 +336,7 @@ struct Scaling_Factors
///
////////////////////////////////////////////////////////////////////////////////////////
template< typename Pixel
- , typename Factors = mpl::vector_c< int, 4, 4, 4 >
+ , typename Factors = mpl::vector_c< int, 4, 4, 4 >
, typename Allocator = std::allocator< unsigned char >
>
class subchroma_image : public Scaling_Factors< mpl::at_c< Factors, 0 >::type::value
@@ -355,7 +346,7 @@ class subchroma_image : public Scaling_Factors< mpl::at_c< Factors, 0 >::type::v
{
public:
-
+
typedef typename channel_type< Pixel >::type channel_t;
typedef pixel< channel_t, gray_layout_t> pixel_t;
@@ -419,7 +410,7 @@ private:
, locator
);
}
-
+
private:
@@ -516,7 +507,7 @@ typename subchroma_image< Pixel
std::size_t u_channel_size = 1;
unsigned char* u_base = y_base + ( y_width * y_height * y_channel_size );
- unsigned char* v_base = u_base + ( y_width / scaling_factors_t::ss_X )
+ unsigned char* v_base = u_base + ( y_width / scaling_factors_t::ss_X )
* u_channel_size;
typedef subchroma_image< Pixel, Factors >::plane_view_t plane_view_t;
@@ -549,7 +540,7 @@ typename subchroma_image< Pixel
, v_plane.xy_at( 0, 0 )
, u_plane.xy_at( 0, 0 )
);
-
+
typedef subchroma_image< Pixel
, Factors
@@ -574,4 +565,4 @@ typename subchroma_image< Pixel
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_IMAGE_TYPES_SUBCHROMA_IMAGE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions.hpp b/boost/gil/extension/toolbox/metafunctions.hpp
index 1912ed0023..16d7ee0184 100644
--- a/boost/gil/extension/toolbox/metafunctions.hpp
+++ b/boost/gil/extension/toolbox/metafunctions.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file metafunctions.hpp
-/// \brief Header for toolbox's metafunctions.
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/toolbox/metafunctions/channel_type.hpp>
#include <boost/gil/extension/toolbox/metafunctions/channel_view.hpp>
#include <boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp>
@@ -28,4 +17,4 @@
#include <boost/gil/extension/toolbox/metafunctions/is_similar.hpp>
#include <boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp>
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/channel_type.hpp b/boost/gil/extension/toolbox/metafunctions/channel_type.hpp
index 13550b43e3..a2489a7cc6 100644
--- a/boost/gil/extension/toolbox/metafunctions/channel_type.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/channel_type.hpp
@@ -1,42 +1,29 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_CHANNEL_TYPE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_CHANNEL_TYPE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file channel_type.hpp
-/// \brief channel_type metafunction.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/mpl/at.hpp>
+#include <boost/gil/extension/toolbox/dynamic_images.hpp>
+#include <boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp>
+#include <boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp>
#include <boost/gil/bit_aligned_pixel_reference.hpp>
#include <boost/gil/channel.hpp>
-#include <boost/gil/extension/toolbox/dynamic_images.hpp>
-
-#include <boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp>
-#include <boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp>
+#include <boost/mpl/at.hpp>
+#include <boost/utility/enable_if.hpp>
namespace boost{ namespace gil {
/// channel_type metafunction
-/// \brief Generates the channel type for
+/// \brief Generates the channel type for
-template <typename B, typename C, typename L, bool M>
+template <typename B, typename C, typename L, bool M>
struct gen_chan_ref
{
typedef packed_dynamic_channel_reference< B
@@ -45,25 +32,25 @@ struct gen_chan_ref
> type;
};
-//! This implementation works for bit_algined_pixel_reference
-//! with a homogeneous channel layout.
-//! The result type will be a packed_dynamic_channel_reference, since the
-//! offset info will be missing.
+//! This implementation works for bit_algined_pixel_reference
+//! with a homogeneous channel layout.
+//! The result type will be a packed_dynamic_channel_reference, since the
+//! offset info will be missing.
// bit_aligned_pixel_reference
-template <typename B, typename C, typename L, bool M>
-struct channel_type< bit_aligned_pixel_reference<B,C,L,M> >
+template <typename B, typename C, typename L, bool M>
+struct channel_type< bit_aligned_pixel_reference<B,C,L,M> >
: lazy_enable_if< is_homogeneous< bit_aligned_pixel_reference< B, C, L, M > >
, gen_chan_ref< B, C, L, M >
> {};
-template <typename B, typename C, typename L, bool M>
-struct channel_type<const bit_aligned_pixel_reference<B,C,L,M> >
+template <typename B, typename C, typename L, bool M>
+struct channel_type<const bit_aligned_pixel_reference<B,C,L,M> >
: lazy_enable_if< is_homogeneous< bit_aligned_pixel_reference< B, C, L, M > >
, gen_chan_ref< B, C, L, M >
> {};
-template <typename B, typename C, typename L>
+template <typename B, typename C, typename L>
struct gen_chan_ref_p
{
typedef packed_dynamic_channel_reference< B
@@ -92,8 +79,8 @@ struct channel_type< packed_pixel< BitField
>
> {};
-template <typename B, typename C, typename L>
-struct channel_type< const packed_pixel< B, C, L > >
+template <typename B, typename C, typename L>
+struct channel_type< const packed_pixel< B, C, L > >
: lazy_enable_if< is_homogeneous<packed_pixel< B, C, L > >
, gen_chan_ref_p< B, C, L >
>
@@ -108,4 +95,4 @@ struct channel_type< any_image_pixel_t >
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_CHANNEL_TYPE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/channel_view.hpp b/boost/gil/extension/toolbox/metafunctions/channel_view.hpp
index 4d42ff3ac1..454155b05d 100644
--- a/boost/gil/extension/toolbox/metafunctions/channel_view.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/channel_view.hpp
@@ -1,23 +1,12 @@
-/*
- Copyright 2010 Fabien Castan, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
-#ifndef BOOST_GIL_EXTENSION_TOOLBOX_CHANNEL_VIEW_HPP_INCLUDED
-#define BOOST_GIL_EXTENSION_TOOLBOX_CHANNEL_VIEW_HPP_INCLUDED
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file channel_view.hpp
-/// \brief Helper to generate channel_view type.
-/// \author Fabien Castan, Christian Henning \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2010 Fabien Castan, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_EXTENSION_TOOLBOX_CHANNEL_VIEW_HPP
+#define BOOST_GIL_EXTENSION_TOOLBOX_CHANNEL_VIEW_HPP
#include <boost/gil/image_view_factory.hpp>
@@ -76,4 +65,4 @@ typename channel_view_type< Channel
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_CHANNEL_VIEW_HPP_INCLUDED
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp b/boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp
index 9cec37eac4..3721c4939b 100644
--- a/boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/get_num_bits.hpp
@@ -1,27 +1,17 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_GET_NUM_BITS_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_GET_NUM_BITS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file get_num_bits.hpp
-/// \brief get_num_bits metafunction.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/channel.hpp>
#include <boost/mpl/int.hpp>
+#include <boost/mpl/size_t.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_class.hpp>
#include <boost/utility/enable_if.hpp>
@@ -60,14 +50,14 @@ struct get_num_bits< const packed_channel_value< N > > : mpl::int_< N >
template< typename T >
struct get_num_bits< T
- , typename enable_if< mpl::and_< is_integral< T >
+ , typename enable_if< mpl::and_< is_integral< T >
, mpl::not_< is_class< T > >
>
>::type
- > : mpl::int_< sizeof(T) * 8 >
+ > : mpl::size_t< sizeof(T) * 8 >
{};
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_GET_NUM_BITS_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/get_pixel_type.hpp b/boost/gil/extension/toolbox/metafunctions/get_pixel_type.hpp
index dc0876c1ae..59710c3079 100644
--- a/boost/gil/extension/toolbox/metafunctions/get_pixel_type.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/get_pixel_type.hpp
@@ -1,31 +1,20 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_GET_PIXEL_TYPE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_GET_PIXEL_TYPE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file get_pixel_type.hpp
-/// \brief get_pixel_type metafunction.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/toolbox/dynamic_images.hpp>
#include <boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp>
namespace boost{ namespace gil {
/// get_pixel_type metafunction
-/// \brief Depending on Image this function generates either
+/// \brief Depending on Image this function generates either
/// the pixel type or the reference type in case
/// the image is bit_aligned.
template< typename View >
@@ -43,4 +32,4 @@ struct get_pixel_type< any_image_view< ImageViewTypes > >
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_GET_PIXEL_TYPE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/gil_extensions.hpp b/boost/gil/extension/toolbox/metafunctions/gil_extensions.hpp
deleted file mode 100644
index 927a2194c7..0000000000
--- a/boost/gil/extension/toolbox/metafunctions/gil_extensions.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Copyright 2010 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
-#ifndef BOOST_GIL_EXTENSION_TOOLBOX_GIL_EXTENSIONS_HPP_INCLUDED
-#define BOOST_GIL_EXTENSION_TOOLBOX_GIL_EXTENSIONS_HPP_INCLUDED
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Definitions of is_bit_aligned, is_homogeneous, and is_similar metafunctions and
-/// some other goodies.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/gil/gil_all.hpp>
-
-
-#include <boost/mpl/if.hpp>
-
-#include <boost/gil/extension/toolbox/dynamic_images.hpp>
-
-namespace boost { namespace gil {
-
-
-/// other goodies
-
-
-
-
-
-} // namespace gil
-} // namespace boost
-
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_GIL_EXTENSIONS_HPP_INCLUDED
diff --git a/boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp b/boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp
index 369f8cbab5..87a7e8a8f3 100644
--- a/boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_BIT_ALIGNED_TYPE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_BIT_ALIGNED_TYPE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file is_bit_aligned.hpp
-/// \brief is_bit_aligned metafunction.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/bit_aligned_pixel_reference.hpp>
namespace boost{ namespace gil {
@@ -29,19 +18,19 @@ namespace boost{ namespace gil {
template< typename PixelRef >
struct is_bit_aligned : mpl::false_{};
-template <typename B, typename C, typename L, bool M>
+template <typename B, typename C, typename L, bool M>
struct is_bit_aligned<bit_aligned_pixel_reference<B,C,L,M> > : mpl::true_{};
-template <typename B, typename C, typename L, bool M>
+template <typename B, typename C, typename L, bool M>
struct is_bit_aligned<const bit_aligned_pixel_reference<B,C,L,M> > : mpl::true_{};
-template <typename B, typename C, typename L>
+template <typename B, typename C, typename L>
struct is_bit_aligned<packed_pixel<B,C,L> > : mpl::true_{};
-template <typename B, typename C, typename L>
+template <typename B, typename C, typename L>
struct is_bit_aligned<const packed_pixel<B,C,L> > : mpl::true_{};
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_BIT_ALIGNED_TYPE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp b/boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp
index 9770d2bb2b..586afa44f1 100644
--- a/boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_HOMOGENEOUS_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_HOMOGENEOUS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file is_homogeneous.hpp
-/// \brief is_homogeneous metafunction
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/at.hpp>
-
#include <boost/gil/pixel.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/at.hpp>
namespace boost{ namespace gil {
@@ -58,8 +47,8 @@ struct is_homogeneous_impl_p {};
// for packed_pixel
template <typename B, typename C, typename L >
-struct is_homogeneous<packed_pixel< B, C, L > >
- : is_homogeneous_impl_p< C
+struct is_homogeneous<packed_pixel< B, C, L > >
+ : is_homogeneous_impl_p< C
, typename mpl::at_c< C, 0 >::type
, 1
, mpl::size< C >::type::value
@@ -68,8 +57,8 @@ struct is_homogeneous<packed_pixel< B, C, L > >
template< typename B
, typename C
, typename L
- >
-struct is_homogeneous< const packed_pixel< B, C, L > >
+ >
+struct is_homogeneous< const packed_pixel< B, C, L > >
: is_homogeneous_impl_p< C
, typename mpl::at_c<C,0>::type
, 1
@@ -77,17 +66,17 @@ struct is_homogeneous< const packed_pixel< B, C, L > >
> {};
// for bit_aligned_pixel_reference
-template <typename B, typename C, typename L, bool M>
-struct is_homogeneous<bit_aligned_pixel_reference<B,C,L,M> >
+template <typename B, typename C, typename L, bool M>
+struct is_homogeneous<bit_aligned_pixel_reference<B,C,L,M> >
: is_homogeneous_impl<C,typename mpl::at_c<C,0>::type,1,mpl::size<C>::type::value>
{};
-template <typename B, typename C, typename L, bool M>
-struct is_homogeneous<const bit_aligned_pixel_reference<B,C,L,M> >
+template <typename B, typename C, typename L, bool M>
+struct is_homogeneous<const bit_aligned_pixel_reference<B,C,L,M> >
: is_homogeneous_impl<C,typename mpl::at_c<C,0>::type,1,mpl::size<C>::type::value>
{};
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_HOMOGENEOUS_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/is_similar.hpp b/boost/gil/extension/toolbox/metafunctions/is_similar.hpp
index 74af5c915d..9ac2fbd0bb 100644
--- a/boost/gil/extension/toolbox/metafunctions/is_similar.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/is_similar.hpp
@@ -1,24 +1,13 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_SIMILAR_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_SIMILAR_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file is_similar.hpp
-/// \brief is_similar metafunction.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/channel.hpp>
namespace boost{ namespace gil {
@@ -40,4 +29,4 @@ struct is_similar< packed_channel_reference< B, I, S, M >
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_IS_SIMILAR_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp b/boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp
index cff9a49bb7..709b4d9954 100644
--- a/boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp
+++ b/boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp
@@ -1,35 +1,24 @@
-/*
- Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_PIXEL_BIT_SIZE_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_PIXEL_BIT_SIZE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file pixel_bit_size.hpp
-/// \brief pixel_bit_size metafunction.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/accumulate.hpp>
-
#include <boost/gil/bit_aligned_pixel_reference.hpp>
#include <boost/gil/packed_pixel.hpp>
+#include <boost/mpl/accumulate.hpp>
+#include <boost/mpl/int.hpp>
+
namespace boost{ namespace gil {
/// pixel_bit_size metafunctions
/// \brief Accumulates the all channel size.
-///
+///
/// \code
/// typedef bit_aligned_image5_type< 16, 16, 16, 8, 8, devicen_layout_t< 5 > >::type image_t;
/// const int size = pixel_bit_size<image_t::view_t::reference>::value;
@@ -37,19 +26,19 @@ namespace boost{ namespace gil {
template< typename PixelRef >
struct pixel_bit_size : mpl::int_<0> {};
-template <typename B, typename C, typename L, bool M>
+template <typename B, typename C, typename L, bool M>
struct pixel_bit_size<bit_aligned_pixel_reference<B,C,L,M> > : mpl::int_< mpl::accumulate< C, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value >{};
-template <typename B, typename C, typename L, bool M>
+template <typename B, typename C, typename L, bool M>
struct pixel_bit_size<const bit_aligned_pixel_reference<B,C,L,M> > : mpl::int_< mpl::accumulate< C, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value >{};
-template <typename B, typename C, typename L>
+template <typename B, typename C, typename L>
struct pixel_bit_size<packed_pixel<B,C,L> > : mpl::int_< mpl::accumulate< C, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value >{};
-template <typename B, typename C, typename L>
+template <typename B, typename C, typename L>
struct pixel_bit_size<const packed_pixel<B,C,L> > : mpl::int_< mpl::accumulate< C, mpl::int_<0>, mpl::plus<mpl::_1, mpl::_2> >::type::value >{};
} // namespace gil
} // namespace boost
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_METAFUNCTIONS_PIXEL_BIT_SIZE_HPP
+#endif
diff --git a/boost/gil/extension/toolbox/toolbox.hpp b/boost/gil/extension/toolbox/toolbox.hpp
index 07f10736db..557af11c9e 100644
--- a/boost/gil/extension/toolbox/toolbox.hpp
+++ b/boost/gil/extension/toolbox/toolbox.hpp
@@ -1,29 +1,17 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_EXTENSION_TOOLBOX_TOOLBOX_HPP
#define BOOST_GIL_EXTENSION_TOOLBOX_TOOLBOX_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file toolbox.hpp
-/// \brief Main header for toolbox extension.
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/extension/toolbox/color_converters.hpp>
#include <boost/gil/extension/toolbox/color_spaces.hpp>
+#include <boost/gil/extension/toolbox/dynamic_images.hpp>
#include <boost/gil/extension/toolbox/image_types.hpp>
#include <boost/gil/extension/toolbox/metafunctions.hpp>
-#include <boost/gil/extension/toolbox/dynamic_images.hpp>
-
-#endif // BOOST_GIL_EXTENSION_TOOLBOX_TOOLBOX_HPP
+#endif
diff --git a/boost/gil/gil_all.hpp b/boost/gil/gil_all.hpp
deleted file mode 100644
index 17065b967f..0000000000
--- a/boost/gil/gil_all.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_ALL_HPP
-#define GIL_ALL_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Includes all GIL files for convenience
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-///
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "gil_config.hpp"
-#include "channel_algorithm.hpp"
-#include "algorithm.hpp"
-#include "pixel.hpp"
-#include "packed_pixel.hpp"
-#include "planar_pixel_reference.hpp"
-#include "planar_pixel_iterator.hpp"
-#include "pixel_iterator_adaptor.hpp"
-#include "step_iterator.hpp"
-#include "iterator_from_2d.hpp"
-#include "image.hpp"
-#include "image_view_factory.hpp"
-#include "typedefs.hpp"
-#include "metafunctions.hpp"
-#include "color_convert.hpp"
-#include "device_n.hpp"
-#include "virtual_locator.hpp"
-#include "bit_aligned_pixel_iterator.hpp"
-// Uncomment this line to help in porting your code from an older version of GIL
-//#include "deprecated.hpp"
-
-#endif
diff --git a/boost/gil/gil_config.hpp b/boost/gil/gil_config.hpp
deleted file mode 100644
index fdd39f3cdf..0000000000
--- a/boost/gil/gil_config.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
- Copyright 2018 Mateusz Loskot <mateusz at loskot dot net>
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_CONFIG_HPP
-#define GIL_CONFIG_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief GIL configuration file
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/config.hpp>
-#include <boost/config/pragma_message.hpp>
-
-#if defined(BOOST_GIL_DOXYGEN_ONLY)
-/// \def BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS
-/// \brief Define to allow unaligned memory access
-/// Theoretically (or historically?) on platforms which support dereferencing on
-/// non-word memory boundary, unaligned access may result in performance improvement.
-/// \warning Unfortunately, this optimization may be a C/C++ strict aliasing rules
-/// violation, if accessed data buffer has effective type that cannot be aliased
-/// without leading to undefined behaviour.
-#define BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS
-#endif
-
-#if defined(BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS)
-#if defined(sun) || defined(__sun) || \ // SunOS
- defined(__osf__) || defined(__osf) || \ // Tru64
- defined(_hpux) || defined(hpux) || \ // HP-UX
- defined(__arm__) || defined(__ARM_ARCH) || \ // ARM
- defined(_AIX) // AIX
-#error Unaligned access strictly disabled for some UNIX platforms or ARM architecture
-#elif defined(__i386__) || defined(__x86_64__) || defined(__vax__)
- // The check for little-endian architectures that tolerate unaligned memory
- // accesses is just an optimization. Nothing will break if it fails to detect
- // a suitable architecture.
- //
- // Unfortunately, this optimization may be a C/C++ strict aliasing rules violation
- // if accessed data buffer has effective type that cannot be aliased
- // without leading to undefined behaviour.
-BOOST_PRAGMA_MESSAGE("CAUTION: Unaligned access tolerated on little-endian may cause undefined behaviour")
-#else
-#error Unaligned access disabled for unknown platforms and architectures
-#endif
-#endif // defined(BOOST_GIL_CONFIG_HAS_UNALIGNED_ACCESS)
-
-#endif
diff --git a/boost/gil/gray.hpp b/boost/gil/gray.hpp
index 25e47ab214..e27ca17bcb 100644
--- a/boost/gil/gray.hpp
+++ b/boost/gil/gray.hpp
@@ -1,31 +1,18 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_GRAY_H
-#define GIL_GRAY_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for grayscale color space and variants
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on March 8, 2006
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "gil_config.hpp"
-#include "utilities.hpp"
-#include <boost/type_traits.hpp>
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_GRAY_HPP
+#define BOOST_GIL_GRAY_HPP
+
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/vector_c.hpp>
+#include <boost/type_traits.hpp>
+
+#include <boost/gil/utilities.hpp>
namespace boost { namespace gil {
diff --git a/boost/gil/image.hpp b/boost/gil/image.hpp
index 577f69d4c6..c1b2f106a1 100644
--- a/boost/gil/image.hpp
+++ b/boost/gil/image.hpp
@@ -1,46 +1,26 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_IMAGE_H
-#define GIL_IMAGE_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Templated image
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstddef>
-#include <memory>
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_IMAGE_HPP
+#define BOOST_GIL_IMAGE_HPP
+
+#include <boost/gil/algorithm.hpp>
+#include <boost/gil/image_view.hpp>
+#include <boost/gil/metafunctions.hpp>
+#include <boost/mpl/arithmetic.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/if.hpp>
-#include <boost/mpl/arithmetic.hpp>
-
-#include "gil_config.hpp"
-#include "image_view.hpp"
-#include "metafunctions.hpp"
-#include "algorithm.hpp"
+#include <cstddef>
+#include <memory>
namespace boost { namespace gil {
-//#ifdef _MSC_VER
-//#pragma warning(push)
-//#pragma warning(disable : 4244) // conversion from 'gil::image<V,Alloc>::coord_t' to 'int', possible loss of data (visual studio compiler doesn't realize that the two types are the same)
-//#endif
-
////////////////////////////////////////////////////////////////////////////////////////
/// \ingroup ImageModel PixelBasedModel
/// \brief container interface over image view. Models ImageConcept, PixelBasedConcept
@@ -502,10 +482,6 @@ struct channel_mapping_type<image<Pixel,IsPlanar,Alloc> > : public channel_mappi
template <typename Pixel, bool IsPlanar, typename Alloc>
struct is_planar<image<Pixel,IsPlanar,Alloc> > : public mpl::bool_<IsPlanar> {};
-//#ifdef _MSC_VER
-//#pragma warning(pop)
-//#endif
-
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/image_view.hpp b/boost/gil/image_view.hpp
index fb42ef9f3b..34fd3da6fc 100644
--- a/boost/gil/image_view.hpp
+++ b/boost/gil/image_view.hpp
@@ -1,35 +1,17 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_IMAGE_VIEW_H
-#define GIL_IMAGE_VIEW_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief image view class
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_IMAGE_VIEW_HPP
+#define BOOST_GIL_IMAGE_VIEW_HPP
+
+#include <boost/gil/iterator_from_2d.hpp>
#include <cstddef>
#include <iterator>
-#include "gil_config.hpp"
-#include "iterator_from_2d.hpp"
-
-//#ifdef _MSC_VER
-//#pragma warning(push)
-//#pragma warning(disable : 4244) // conversion from 'gil::image<V,Alloc>::coord_t' to 'int', possible loss of data (visual studio compiler doesn't realize that the two types are the same)
-//#endif
namespace boost { namespace gil {
@@ -45,8 +27,8 @@ namespace boost { namespace gil {
/// that don't own the pixels. It is the user's responsibility that the underlying data remains
/// valid for the lifetime of the image view.
///
-/// Similar to iterators and ranges, constness of views does not extend to constness of pixels.
-/// A const \p image_view does not allow changing its location in memory (resizing, moving) but does
+/// Similar to iterators and ranges, constness of views does not extend to constness of pixels.
+/// A const \p image_view does not allow changing its location in memory (resizing, moving) but does
/// not prevent one from changing the pixels. The latter requires an image view whose value_type
/// is const.
///
@@ -82,6 +64,9 @@ public:
typedef typename Loc::template axis<D>::iterator iterator; // 1D iterator type along each dimension
};
typedef iterator_from_2d<Loc> iterator; // 1D iterator type for each pixel left-to-right inside top-to-bottom
+ typedef typename const_t::iterator const_iterator; // may be used to examine, but not to modify values
+ typedef typename const_t::reference const_reference; // behaves as a const reference
+ typedef typename std::iterator_traits<iterator>::pointer pointer; // behaves as a pointer to the value type
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::size_t size_type;
@@ -111,6 +96,35 @@ public:
template <typename L2> friend void swap(image_view<L2>& x, image_view<L2>& y);
+ /// \brief Exchanges the elements of the current view with those of \a other
+ /// in constant time.
+ ///
+ /// \note Required by the Collection concept
+ /// \see https://www.boost.org/libs/utility/Collection.html
+ void swap(image_view<Loc>& other)
+ {
+ using boost::gil::swap;
+ swap(*this, other);
+ }
+
+ /// \brief Returns true if the view has no elements, false otherwise.
+ ///
+ /// \note Required by the Collection concept
+ /// \see https://www.boost.org/libs/utility/Collection.html
+ bool empty() const { return !(width() > 0 && height() > 0); }
+
+ /// \brief Returns a reference to the first element in raster order.
+ ///
+ /// \note Required by the ForwardCollection, since view model the concept.
+ /// \see https://www.boost.org/libs/utility/Collection.html
+ reference front() const { return *begin(); }
+
+ /// \brief Returns a reference to the last element in raster order.
+ ///
+ /// \note Required by the ForwardCollection, since view model the concept.
+ /// \see https://www.boost.org/libs/utility/Collection.html
+ reference back() const { return *rbegin(); }
+
const point_t& dimensions() const { return _dimensions; }
const locator& pixels() const { return _pixels; }
x_coord_t width() const { return dimensions().x; }
@@ -120,7 +134,7 @@ public:
//\{@
/// \name 1D navigation
- size_type size() const { return width()*height(); }
+ size_type size() const { return width()*height(); }
iterator begin() const { return iterator(_pixels,_dimensions.x); }
iterator end() const { return begin()+(difference_type)size(); } // potential performance problem!
reverse_iterator rbegin() const { return reverse_iterator(end()); }
@@ -136,7 +150,7 @@ public:
/// \name 2-D navigation
reference operator()(const point_t& p) const { return _pixels(p.x,p.y); }
reference operator()(x_coord_t x, y_coord_t y)const { return _pixels(x,y); }
- template <std::size_t D> typename axis<D>::iterator axis_iterator(const point_t& p) const { return _pixels.axis_iterator<D>(p); }
+ template <std::size_t D> typename axis<D>::iterator axis_iterator(const point_t& p) const { return _pixels.template axis_iterator<D>(p); }
xy_locator xy_at(x_coord_t x, y_coord_t y) const { return _pixels+point_t(x_coord_t(x),y_coord_t(y)); }
locator xy_at(const point_t& p) const { return _pixels+p; }
//\}@
@@ -164,10 +178,10 @@ private:
xy_locator _pixels;
};
-template <typename L2>
-inline void swap(image_view<L2>& x, image_view<L2>& y) {
+template <typename L2>
+inline void swap(image_view<L2>& x, image_view<L2>& y) {
using std::swap;
- swap(x._dimensions,y._dimensions);
+ swap(x._dimensions,y._dimensions);
swap(x._pixels, y._pixels); // TODO: Extend further
}
@@ -176,16 +190,16 @@ inline void swap(image_view<L2>& x, image_view<L2>& y) {
/////////////////////////////
template <typename L>
-struct channel_type<image_view<L> > : public channel_type<L> {};
+struct channel_type<image_view<L> > : public channel_type<L> {};
template <typename L>
-struct color_space_type<image_view<L> > : public color_space_type<L> {};
+struct color_space_type<image_view<L> > : public color_space_type<L> {};
template <typename L>
-struct channel_mapping_type<image_view<L> > : public channel_mapping_type<L> {};
+struct channel_mapping_type<image_view<L> > : public channel_mapping_type<L> {};
template <typename L>
-struct is_planar<image_view<L> > : public is_planar<L> {};
+struct is_planar<image_view<L> > : public is_planar<L> {};
/////////////////////////////
// HasDynamicXStepTypeConcept
@@ -214,10 +228,6 @@ struct transposed_type<image_view<L> > {
typedef image_view<typename transposed_type<L>::type> type;
};
-} } // namespace boost::gil
-
-//#ifdef _MSC_VER
-//#pragma warning(pop)
-//#endif
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/image_view_factory.hpp b/boost/gil/image_view_factory.hpp
index 49ef336848..bfd76630ff 100644
--- a/boost/gil/image_view_factory.hpp
+++ b/boost/gil/image_view_factory.hpp
@@ -1,35 +1,24 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_IMAGE_VIEW_FACTORY_HPP
-#define GIL_IMAGE_VIEW_FACTORY_HPP
-
-/*!
-/// \file
-/// \brief Methods for constructing image views from raw data or other image views
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on March 9, 2007
-/// Methods for creating shallow image views from raw pixel data or from other image views -
-/// flipping horizontally or vertically, axis-aligned rotation, a subimage, subsampled
-/// or n-th channel image view. Derived image views are shallow copies and are fast to construct.
-*/
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_IMAGE_VIEW_FACTORY_HPP
+#define BOOST_GIL_IMAGE_VIEW_FACTORY_HPP
+
+#include <boost/gil/color_convert.hpp>
+#include <boost/gil/gray.hpp>
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/point.hpp>
#include <cassert>
#include <cstddef>
-#include "gil_config.hpp"
-#include "metafunctions.hpp"
-#include "gray.hpp"
-#include "color_convert.hpp"
+
+/// Methods for creating shallow image views from raw pixel data or from other image views -
+/// flipping horizontally or vertically, axis-aligned rotation, a subimage, subsampled
+/// or n-th channel image view. Derived image views are shallow copies and are fast to construct.
/// \defgroup ImageViewConstructors Image View From Raw Data
/// \ingroup ImageViewAlgorithm
@@ -48,12 +37,12 @@ template <typename T> struct transposed_type;
/// \brief Returns the type of a view that has a dynamic step along both X and Y
/// \ingroup ImageViewTransformations
-template <typename View>
+template <typename View>
struct dynamic_xy_step_type : public dynamic_y_step_type<typename dynamic_x_step_type<View>::type> {};
/// \brief Returns the type of a transposed view that has a dynamic step along both X and Y
/// \ingroup ImageViewTransformations
-template <typename View>
+template <typename View>
struct dynamic_xy_step_transposed_type : public dynamic_xy_step_type<typename transposed_type<View>::type> {};
@@ -70,10 +59,11 @@ interleaved_view(std::size_t width, std::size_t height,
/// \ingroup ImageViewConstructors
/// \brief Constructing image views from raw interleaved pixel data
template <typename Iterator>
-typename type_from_x_iterator<Iterator>::view_t
-interleaved_view(point2<std::size_t> dim,
- Iterator pixels, std::ptrdiff_t rowsize_in_bytes) {
- typedef typename type_from_x_iterator<Iterator>::view_t RView;
+auto interleaved_view(point<std::size_t> dim, Iterator pixels,
+ std::ptrdiff_t rowsize_in_bytes)
+ -> typename type_from_x_iterator<Iterator>::view_t
+{
+ using RView = typename type_from_x_iterator<Iterator>::view_t;
return RView(dim, typename RView::locator(pixels, rowsize_in_bytes));
}
@@ -158,7 +148,7 @@ namespace detail {
} // namespace detail
-/// \brief Returns the type of a view that does color conversion upon dereferencing its pixels
+/// \brief Returns the type of a view that does color conversion upon dereferencing its pixels
/// \ingroup ImageViewTransformationsColorConvert
template <typename SrcView, typename DstP, typename CC=default_color_converter>
struct color_converted_view_type : public detail::_color_converted_view_type<SrcView,
@@ -190,7 +180,7 @@ color_converted_view(const View& src) {
/// \ingroup ImageViewTransformationsFlipUD
template <typename View>
-inline typename dynamic_y_step_type<View>::type flipped_up_down_view(const View& src) {
+inline typename dynamic_y_step_type<View>::type flipped_up_down_view(const View& src) {
typedef typename dynamic_y_step_type<View>::type RView;
return RView(src.dimensions(),typename RView::xy_locator(src.xy_at(0,src.height()-1),-1));
}
@@ -200,7 +190,7 @@ inline typename dynamic_y_step_type<View>::type flipped_up_down_view(const View&
/// \brief view of a view flipped left-to-right
/// \ingroup ImageViewTransformationsFlipLR
-template <typename View>
+template <typename View>
inline typename dynamic_x_step_type<View>::type flipped_left_right_view(const View& src) {
typedef typename dynamic_x_step_type<View>::type RView;
return RView(src.dimensions(),typename RView::xy_locator(src.xy_at(src.width()-1,0),-1,1));
@@ -222,7 +212,7 @@ inline typename dynamic_xy_step_transposed_type<View>::type transposed_view(cons
/// \brief view of a view rotated 90 degrees clockwise
/// \ingroup ImageViewTransformations90CW
-template <typename View>
+template <typename View>
inline typename dynamic_xy_step_transposed_type<View>::type rotated90cw_view(const View& src) {
typedef typename dynamic_xy_step_transposed_type<View>::type RView;
return RView(src.height(),src.width(),typename RView::xy_locator(src.xy_at(0,src.height()-1),-1,1,true));
@@ -233,7 +223,7 @@ inline typename dynamic_xy_step_transposed_type<View>::type rotated90cw_view(con
/// \brief view of a view rotated 90 degrees counter-clockwise
/// \ingroup ImageViewTransformations90CCW
-template <typename View>
+template <typename View>
inline typename dynamic_xy_step_transposed_type<View>::type rotated90ccw_view(const View& src) {
typedef typename dynamic_xy_step_transposed_type<View>::type RView;
return RView(src.height(),src.width(),typename RView::xy_locator(src.xy_at(src.width()-1,0),1,-1,true));
@@ -244,7 +234,7 @@ inline typename dynamic_xy_step_transposed_type<View>::type rotated90ccw_view(co
/// \brief view of a view rotated 180 degrees
/// \ingroup ImageViewTransformations180
-template <typename View>
+template <typename View>
inline typename dynamic_xy_step_type<View>::type rotated180_view(const View& src) {
typedef typename dynamic_xy_step_type<View>::type RView;
return RView(src.dimensions(),typename RView::xy_locator(src.xy_at(src.width()-1,src.height()-1),-1,-1));
@@ -255,13 +245,13 @@ inline typename dynamic_xy_step_type<View>::type rotated180_view(const View& src
/// \brief view of an axis-aligned rectangular area within an image_view
/// \ingroup ImageViewTransformationsSubimage
-template <typename View>
+template <typename View>
inline View subimage_view(const View& src, const typename View::point_t& topleft, const typename View::point_t& dimensions) {
return View(dimensions,src.xy_at(topleft));
}
/// \ingroup ImageViewTransformationsSubimage
-template <typename View>
+template <typename View>
inline View subimage_view(const View& src, int xMin, int yMin, int width, int height) {
return View(width,height,src.xy_at(xMin,yMin));
}
@@ -271,7 +261,7 @@ inline View subimage_view(const View& src, int xMin, int yMin, int width, int he
/// \brief view of a subsampled version of an image_view, stepping over a number of channels in X and number of rows in Y
/// \ingroup ImageViewTransformationsSubsampled
-template <typename View>
+template <typename View>
inline typename dynamic_xy_step_type<View>::type subsampled_view(const View& src, typename View::coord_t xStep, typename View::coord_t yStep) {
assert(xStep>0 && yStep>0);
typedef typename dynamic_xy_step_type<View>::type RView;
@@ -280,8 +270,8 @@ inline typename dynamic_xy_step_type<View>::type subsampled_view(const View& src
}
/// \ingroup ImageViewTransformationsSubsampled
-template <typename View>
-inline typename dynamic_xy_step_type<View>::type subsampled_view(const View& src, const typename View::point_t& step) {
+template <typename View>
+inline typename dynamic_xy_step_type<View>::type subsampled_view(const View& src, const typename View::point_t& step) {
return subsampled_view(src,step.x,step.y);
}
@@ -292,7 +282,7 @@ inline typename dynamic_xy_step_type<View>::type subsampled_view(const View& src
namespace detail {
template <typename View, bool AreChannelsTogether> struct __nth_channel_view_basic;
- // nth_channel_view when the channels are not adjacent in memory. This can happen for multi-channel interleaved images
+ // nth_channel_view when the channels are not adjacent in memory. This can happen for multi-channel interleaved images
// or images with a step
template <typename View>
struct __nth_channel_view_basic<View,false> {
@@ -364,8 +354,8 @@ namespace detail {
int _n; // the channel to use
- result_type operator()(argument_type srcP) const {
- return result_type(srcP[_n]);
+ result_type operator()(argument_type srcP) const {
+ return result_type(srcP[_n]);
}
};
@@ -417,7 +407,7 @@ typename nth_channel_view_type<View>::type nth_channel_view(const View& src, int
namespace detail {
template <int K, typename View, bool AreChannelsTogether> struct __kth_channel_view_basic;
- // kth_channel_view when the channels are not adjacent in memory. This can happen for multi-channel interleaved images
+ // kth_channel_view when the channels are not adjacent in memory. This can happen for multi-channel interleaved images
// or images with a step
template <int K, typename View>
struct __kth_channel_view_basic<K,View,false> {
@@ -493,7 +483,7 @@ namespace detail {
kth_channel_deref_fn() {}
template <typename P> kth_channel_deref_fn(const kth_channel_deref_fn<K,P>&) {}
- result_type operator()(argument_type srcP) const {
+ result_type operator()(argument_type srcP) const {
return result_type(gil::at_c<K>(srcP));
}
};
diff --git a/boost/gil/io/base.hpp b/boost/gil/io/base.hpp
index fddfa45c8e..9748cfcfc5 100644
--- a/boost/gil/io/base.hpp
+++ b/boost/gil/io/base.hpp
@@ -1,46 +1,34 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_BASE_HPP
#define BOOST_GIL_IO_BASE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <ostream>
-#include <istream>
-#include <vector>
-
-#include <boost/bind.hpp>
-#include <boost/type_traits/is_base_of.hpp>
+#include <boost/gil/extension/toolbox/toolbox.hpp>
-#include <boost/gil/utilities.hpp>
-#include <boost/gil/color_convert.hpp>
#include <boost/gil/bit_aligned_pixel_reference.hpp>
#include <boost/gil/bit_aligned_pixel_iterator.hpp>
+#include <boost/gil/color_convert.hpp>
+#include <boost/gil/utilities.hpp>
+#include <boost/gil/io/error.hpp>
+#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/extension/toolbox/toolbox.hpp>
+#include <boost/bind.hpp>
+#include <boost/type_traits/is_base_of.hpp>
-#include <boost/gil/io/typedefs.hpp>
-#include <boost/gil/io/error.hpp>
+#include <istream>
+#include <ostream>
+#include <vector>
namespace boost { namespace gil {
struct format_tag {};
-template< typename Property >
+template< typename Property >
struct property_base
{
typedef Property type;
@@ -84,11 +72,11 @@ public:
};
/**
- * Boolean meta function, mpl::true_ if the pixel type \a PixelType is supported
+ * Boolean meta function, mpl::true_ if the pixel type \a PixelType is supported
* by the image format identified with \a FormatTag.
* \todo the name is_supported is to generic, pick something more IO realted.
*/
-// Depending on image type the parameter Pixel can be a reference type
+// Depending on image type the parameter Pixel can be a reference type
// for bit_aligned images or a pixel for byte images.
template< typename Pixel, typename FormatTag > struct is_read_supported {};
template< typename Pixel, typename FormatTag > struct is_write_supported {};
@@ -96,7 +84,7 @@ template< typename Pixel, typename FormatTag > struct is_write_supported {};
namespace detail {
-template< typename Property >
+template< typename Property >
struct property_base
{
typedef Property type;
diff --git a/boost/gil/io/bit_operations.hpp b/boost/gil/io/bit_operations.hpp
index 245c7458d2..11dc124d60 100644
--- a/boost/gil/io/bit_operations.hpp
+++ b/boost/gil/io/bit_operations.hpp
@@ -1,26 +1,19 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_BIT_OPERATIONS_HPP
#define BOOST_GIL_IO_BIT_OPERATIONS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/typedefs.hpp>
#include <boost/bind.hpp>
+#include <boost/mpl/bool.hpp>
+#include <cstddef>
#include <array>
namespace boost { namespace gil { namespace detail {
@@ -107,7 +100,7 @@ private:
return result;
}
-
+
private:
bool _apply_operation;
diff --git a/boost/gil/io/conversion_policies.hpp b/boost/gil/io/conversion_policies.hpp
index 079e478ee2..d9c90e4e95 100644
--- a/boost/gil/io/conversion_policies.hpp
+++ b/boost/gil/io/conversion_policies.hpp
@@ -1,31 +1,22 @@
-/*
- Copyright 2007-2008 Andreas Pokorny, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_CONVERSION_POLICIES_HPP
#define BOOST_GIL_IO_CONVERSION_POLICIES_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Andreas Pokorny, Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/image_view_factory.hpp>
+#include <boost/gil/io/error.hpp>
#include <algorithm>
#include <iterator>
-#include <boost/gil/image_view_factory.hpp>
namespace boost{namespace gil{ namespace detail {
-struct read_and_no_convert
+struct read_and_no_convert
{
public:
typedef void* color_converter_type;
@@ -38,7 +29,7 @@ public:
, OutIterator /* out */
, typename disable_if< typename pixels_are_compatible< typename std::iterator_traits<InIterator>::value_type
, typename std::iterator_traits<OutIterator>::value_type
- >::type
+ >::type
>::type* /* ptr */ = 0
)
{
@@ -53,7 +44,7 @@ public:
, OutIterator out
, typename enable_if< typename pixels_are_compatible< typename std::iterator_traits<InIterator>::value_type
, typename std::iterator_traits<OutIterator>::value_type
- >::type
+ >::type
>::type* /* ptr */ = 0
)
{
diff --git a/boost/gil/io/device.hpp b/boost/gil/io/device.hpp
index f453c376cf..7f180120ac 100644
--- a/boost/gil/io/device.hpp
+++ b/boost/gil/io/device.hpp
@@ -1,39 +1,28 @@
-/*
- Copyright 2007-2012 Andreas Pokorny, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_DEVICE_HPP
#define BOOST_GIL_IO_DEVICE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Andreas Pokorny, Christian Henning \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstdio>
+#include <boost/gil/io/base.hpp>
+#include <boost/core/ignore_unused.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/base.hpp>
+#include <cstdio>
#include <memory>
namespace boost { namespace gil {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4512) //assignment operator could not be generated
#endif
-
namespace detail {
template < typename T > struct buff_item
@@ -46,7 +35,6 @@ template <> struct buff_item< void >
static const unsigned int size = 1;
};
-
/*!
* Implements the IODevice concept c.f. to \ref IODevice required by Image libraries like
* libjpeg and libpng.
@@ -306,7 +294,7 @@ public:
);
return pos;
- }
+ }
void flush()
{
@@ -323,6 +311,7 @@ public:
);
assert( num_elements == line.size() );
+ boost::ignore_unused(num_elements);
}
int error()
@@ -338,7 +327,7 @@ private:
{
fclose( file );
}
- }
+ }
private:
@@ -742,9 +731,9 @@ struct is_dynamic_image_writer< dynamic_image_writer< Device
} // namespace detail
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
} // namespace gil
} // namespace boost
diff --git a/boost/gil/io/dynamic_io_new.hpp b/boost/gil/io/dynamic_io_new.hpp
index 8ec01970eb..79ec66f48e 100644
--- a/boost/gil/io/dynamic_io_new.hpp
+++ b/boost/gil/io/dynamic_io_new.hpp
@@ -1,29 +1,19 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_DYNAMIC_IO_NEW_HPP
#define BOOST_GIL_IO_DYNAMIC_IO_NEW_HPP
-/// \file
-/// \brief Generic io functions for dealing with dynamic images
-//
-/// \author Hailin Jin and Lubomir Bourdev \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated May 30, 2006
+#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
+
+#include <boost/gil/io/error.hpp>
#include <boost/mpl/at.hpp>
#include <boost/mpl/size.hpp>
-#include <boost/gil/gil_config.hpp>
-#include <boost/gil/io/error.hpp>
-#include <boost/gil/extension/dynamic_image/dynamic_image_all.hpp>
namespace boost { namespace gil {
diff --git a/boost/gil/io/error.hpp b/boost/gil/io/error.hpp
index 4920e8fc05..d51ead7411 100644
--- a/boost/gil/io/error.hpp
+++ b/boost/gil/io/error.hpp
@@ -1,37 +1,26 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_ERROR_HPP
#define BOOST_GIL_IO_ERROR_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2010 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <ios>
namespace boost { namespace gil {
-inline
-void io_error( const char* descr )
+inline void io_error(const char* descr)
{
- throw std::ios_base::failure( descr );
+ throw std::ios_base::failure(descr);
}
-inline
-void io_error_if( bool expr, const char* descr )
+inline void io_error_if(bool expr, const char* descr)
{
- if( expr )
- io_error( descr );
+ if (expr)
+ io_error(descr);
}
} // namespace gil
diff --git a/boost/gil/io/get_read_device.hpp b/boost/gil/io/get_read_device.hpp
index 547fbb7cb8..70e4064f51 100644
--- a/boost/gil/io/get_read_device.hpp
+++ b/boost/gil/io/get_read_device.hpp
@@ -1,30 +1,19 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_GET_READ_DEVICE_HPP
#define BOOST_GIL_IO_GET_READ_DEVICE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/path_spec.hpp>
#include <boost/mpl/and.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/path_spec.hpp>
-
namespace boost { namespace gil {
template< typename T
diff --git a/boost/gil/io/get_reader.hpp b/boost/gil/io/get_reader.hpp
index 858e86583b..4222bf929a 100644
--- a/boost/gil/io/get_reader.hpp
+++ b/boost/gil/io/get_reader.hpp
@@ -1,25 +1,14 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_GET_READER_HPP
#define BOOST_GIL_IO_GET_READER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "get_read_device.hpp"
+#include <boost/gil/io/get_read_device.hpp>
namespace boost { namespace gil {
diff --git a/boost/gil/io/get_write_device.hpp b/boost/gil/io/get_write_device.hpp
index 638e595093..189dea773d 100644
--- a/boost/gil/io/get_write_device.hpp
+++ b/boost/gil/io/get_write_device.hpp
@@ -1,28 +1,18 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_GET_WRITE_DEVICE_HPP
#define BOOST_GIL_IO_GET_WRITE_DEVICE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/path_spec.hpp>
#include <boost/mpl/and.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/path_spec.hpp>
-#include <boost/gil/io/device.hpp>
namespace boost { namespace gil {
diff --git a/boost/gil/io/get_writer.hpp b/boost/gil/io/get_writer.hpp
index 85ef72b71a..d693043499 100644
--- a/boost/gil/io/get_writer.hpp
+++ b/boost/gil/io/get_writer.hpp
@@ -1,25 +1,14 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_GET_WRITER_HPP
#define BOOST_GIL_IO_GET_WRITER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include "get_write_device.hpp"
+#include <boost/gil/io/get_write_device.hpp>
namespace boost { namespace gil {
diff --git a/boost/gil/io/io.hpp b/boost/gil/io/io.hpp
index f581e3a245..86c32e7541 100644
--- a/boost/gil/io/io.hpp
+++ b/boost/gil/io/io.hpp
@@ -1,35 +1,24 @@
-/*
- Copyright 2007-2008 Christian Henning, Andreas Pokorny
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning, Andreas Pokorny
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_IO_HPP
#define BOOST_GIL_IO_IO_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-/*!
+/*!
* \page iobackend Adding a new io backend
* \section Overview of backend requirements
* To add support for a new IO backend the following is required:
* - a format tag, to identify the image format, derived from boost::gil::format_tag
- * - boolean meta function is_supported<PixelType,FormatTag> must be implemented for
+ * - boolean meta function is_supported<PixelType,FormatTag> must be implemented for
* the new format tag
* - explicit specialisation of image_read_info<FormatTag> must be provided, containing
* runtime information available before/at reading the image
- * - explicit specialisation of image_write_info<FormatTag> must be provided, containing
- * runtime encoding parameters for writing an image
+ * - explicit specialisation of image_write_info<FormatTag> must be provided, containing
+ * runtime encoding parameters for writing an image
* - An image reader must be specialized:
* \code
* template<typename IODevice, typename ConversionPolicy>
@@ -37,7 +26,7 @@
* {
* reader( IODevice & device )
* reader( IODevice & device, typename ConversionPolicy::color_converter_type const& cc )
- * image_read_info<FormatTag> get_info();
+ * image_read_info<FormatTag> get_info();
* template<typename Image>
* void read_image( Image &, point_t const& top_left );
* template<typename View>
@@ -57,28 +46,28 @@
* };
* \endcode
*
- * Or instead of the items above implement overloads of read_view, read_and_convert_view, read_image,
+ * Or instead of the items above implement overloads of read_view, read_and_convert_view, read_image,
* read_and_convert_image, write_view and read_image_info.
*
- * \section ConversionPolicy Interface of the ConversionPolicy
+ * \section ConversionPolicy Interface of the ConversionPolicy
* There are two different conversion policies in use, when reading images:
- * read_and_convert<ColorConverter> and read_and_no_convert. ColorConverter
- * can be a user defined color converter.
- *
- * \code
+ * read_and_convert<ColorConverter> and read_and_no_convert. ColorConverter
+ * can be a user defined color converter.
+ *
+ * \code
* struct ConversionPolicy
* {
* template<typename InputIterator,typename OutputIterator>
- * void read( InputIterator in_begin, InputIterator in_end,
+ * void read( InputIterator in_begin, InputIterator in_end,
* OutputIterator out_end );
* };
* \endcode
*
- * Methods like read_view and read_image are supposed to bail out with an
- * exception instead of converting the image
+ * Methods like read_view and read_image are supposed to bail out with an
+ * exception instead of converting the image
*
* \section IODevice Concept of IO Device
- * A Device is simply an object used to read and write data to and from a stream.
+ * A Device is simply an object used to read and write data to and from a stream.
* The IODevice was added as a template paramter to be able to replace the file_name
* access functionality. This is only an interim solution, as soon as boost provides
* a good IO library, interfaces/constraints provided by that library could be used.
@@ -94,13 +83,13 @@
* \endcode
*
* For the time being a boolean meta function must be specialized:
- * \code
+ * \code
* namespace boost{namespace gil{namespace detail{
- * template<typename Device>
- * struct detail::is_input_device;
+ * template<typename Device>
+ * struct detail::is_input_device;
* }}}
* \endcode
- *
+ *
*/
#endif
diff --git a/boost/gil/io/make_backend.hpp b/boost/gil/io/make_backend.hpp
index c18775c2e6..e0a4a1f5dd 100644
--- a/boost/gil/io/make_backend.hpp
+++ b/boost/gil/io/make_backend.hpp
@@ -1,28 +1,18 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_MAKE_BACKEND_HPP
#define BOOST_GIL_IO_MAKE_BACKEND_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/get_reader.hpp>
#include <boost/utility/enable_if.hpp>
-#include "get_reader.hpp"
-
namespace boost { namespace gil {
template< typename String
@@ -63,7 +53,7 @@ make_reader_backend( const std::wstring& file_name
typedef typename get_read_device< std::wstring
, FormatTag
>::type device_t;
-
+
const char* str = detail::convert_to_native_string( file_name );
device_t device( str
diff --git a/boost/gil/io/make_dynamic_image_reader.hpp b/boost/gil/io/make_dynamic_image_reader.hpp
index 05c47d04d4..ffc9bd2735 100644
--- a/boost/gil/io/make_dynamic_image_reader.hpp
+++ b/boost/gil/io/make_dynamic_image_reader.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_MAKE_DYNAMIC_IMAGE_READER_HPP
#define BOOST_GIL_IO_MAKE_DYNAMIC_IMAGE_READER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/get_reader.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/get_reader.hpp>
-
namespace boost { namespace gil {
template< typename String
diff --git a/boost/gil/io/make_dynamic_image_writer.hpp b/boost/gil/io/make_dynamic_image_writer.hpp
index f4e21407dd..6610a613ed 100644
--- a/boost/gil/io/make_dynamic_image_writer.hpp
+++ b/boost/gil/io/make_dynamic_image_writer.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_MAKE_DYNAMIC_IMAGE_WRITER_HPP
#define BOOST_GIL_IO_MAKE_DYNAMIC_IMAGE_WRITER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/get_writer.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/get_writer.hpp>
-
namespace boost { namespace gil {
template< typename String
diff --git a/boost/gil/io/make_reader.hpp b/boost/gil/io/make_reader.hpp
index 3782e46f34..1ae2386a8f 100644
--- a/boost/gil/io/make_reader.hpp
+++ b/boost/gil/io/make_reader.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_MAKE_READER_HPP
#define BOOST_GIL_IO_MAKE_READER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/get_reader.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/get_reader.hpp>
-
namespace boost { namespace gil {
template< typename String
diff --git a/boost/gil/io/make_scanline_reader.hpp b/boost/gil/io/make_scanline_reader.hpp
index c3bf6c1012..6142f52167 100644
--- a/boost/gil/io/make_scanline_reader.hpp
+++ b/boost/gil/io/make_scanline_reader.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_MAKE_SCANLINE_READER_HPP
#define BOOST_GIL_IO_MAKE_SCANLINE_READER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/get_reader.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/get_reader.hpp>
-
namespace boost { namespace gil {
template< typename String
diff --git a/boost/gil/io/make_writer.hpp b/boost/gil/io/make_writer.hpp
index 9c266ddf65..46fe4153a5 100644
--- a/boost/gil/io/make_writer.hpp
+++ b/boost/gil/io/make_writer.hpp
@@ -1,28 +1,17 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2012 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_MAKE_WRITER_HPP
#define BOOST_GIL_IO_MAKE_WRITER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/get_writer.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/get_writer.hpp>
-
namespace boost { namespace gil {
template< typename String
diff --git a/boost/gil/io/path_spec.hpp b/boost/gil/io/path_spec.hpp
index 4686d7495c..f1ed379c8b 100644
--- a/boost/gil/io/path_spec.hpp
+++ b/boost/gil/io/path_spec.hpp
@@ -1,34 +1,23 @@
-/*
- Copyright 2007-2008 Andreas Pokorny, Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Andreas Pokorny, Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_PATH_SPEC_HPP
#define BOOST_GIL_IO_PATH_SPEC_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Andreas Pokorny, Christian Henning \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstdlib>
-#include <string>
-
-#include <boost/mpl/bool_fwd.hpp>
-
#ifdef BOOST_GIL_IO_ADD_FS_PATH_SUPPORT
#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem/path.hpp>
#endif // BOOST_GIL_IO_ADD_FS_PATH_SUPPORT
+#include <boost/mpl/bool.hpp> // for complete types of true_ and false_
+
+#include <cstdlib>
+#include <string>
+
namespace boost { namespace gil { namespace detail {
template<typename P> struct is_supported_path_spec : mpl::false_ {};
diff --git a/boost/gil/io/read_and_convert_image.hpp b/boost/gil/io/read_and_convert_image.hpp
index a1ba856bf2..456cfbc975 100644
--- a/boost/gil/io/read_and_convert_image.hpp
+++ b/boost/gil/io/read_and_convert_image.hpp
@@ -1,32 +1,22 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_READ_AND_CONVERT_IMAGE_HPP
#define BOOST_GIL_IO_READ_AND_CONVERT_IMAGE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/utility/enable_if.hpp>
-
#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/path_spec.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
+
+#include <boost/mpl/and.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
namespace boost{ namespace gil {
diff --git a/boost/gil/io/read_and_convert_view.hpp b/boost/gil/io/read_and_convert_view.hpp
index 51f913eced..a8ef788a78 100644
--- a/boost/gil/io/read_and_convert_view.hpp
+++ b/boost/gil/io/read_and_convert_view.hpp
@@ -1,32 +1,22 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_READ_AND_CONVERT_VIEW_HPP
#define BOOST_GIL_IO_READ_AND_CONVERT_VIEW_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/utility/enable_if.hpp>
-
#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/path_spec.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
+
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/utility/enable_if.hpp>
namespace boost{ namespace gil {
@@ -140,7 +130,7 @@ void read_and_convert_view( const String& file_name
/// \param file_name File name. Must satisfy is_supported_path_spec metafunction.
/// \param view The image view in which the data is read into.
/// \param cc Color converter function object.
-/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
+/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \throw std::ios_base::failure
template < typename String
, typename View
@@ -177,7 +167,7 @@ void read_and_convert_view( const String& file_name
/// \param file It's a device. Must satisfy is_input_device metafunction or is_adaptable_input_device.
/// \param view The image view in which the data is read into.
/// \param cc Color converter function object.
-/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
+/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \throw std::ios_base::failure
template < typename Device
, typename View
@@ -286,7 +276,7 @@ void read_and_convert_view( Device& device
/// \brief Reads and color-converts an image view. No memory is allocated.
/// \param file_name File name. Must satisfy is_supported_path_spec metafunction.
/// \param view The image view in which the data is read into.
-/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
+/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \throw std::ios_base::failure
template < typename String
, typename View
@@ -320,7 +310,7 @@ void read_and_convert_view( const String& file_name
/// \brief Reads and color-converts an image view. No memory is allocated.
/// \param file It's a device. Must satisfy is_input_device metafunction or is_adaptable_input_device.
/// \param view The image view in which the data is read into.
-/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
+/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \throw std::ios_base::failure
template < typename Device
, typename View
diff --git a/boost/gil/io/read_image.hpp b/boost/gil/io/read_image.hpp
index 5f2b3c4681..1d64221178 100644
--- a/boost/gil/io/read_image.hpp
+++ b/boost/gil/io/read_image.hpp
@@ -1,35 +1,24 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_READ_IMAGE_HPP
#define BOOST_GIL_IO_READ_IMAGE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/algorithm/string.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/utility/enable_if.hpp>
-
#include <boost/gil/extension/toolbox/dynamic_images.hpp>
#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/path_spec.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
+
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/utility/enable_if.hpp>
namespace boost{ namespace gil {
diff --git a/boost/gil/io/read_image_info.hpp b/boost/gil/io/read_image_info.hpp
index a3c7e54f3e..cf19dc27a0 100644
--- a/boost/gil/io/read_image_info.hpp
+++ b/boost/gil/io/read_image_info.hpp
@@ -1,32 +1,22 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_READ_IMAGE_INFO_HPP
#define BOOST_GIL_IO_READ_IMAGE_INFO_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/utility/enable_if.hpp>
-
#include <boost/gil/io/base.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/get_reader.hpp>
#include <boost/gil/io/path_spec.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/utility/enable_if.hpp>
+
namespace boost{ namespace gil {
/// \ingroup IO
@@ -58,7 +48,7 @@ read_image_info( Device& file
/// \brief Returns the image format backend. Backend is format specific.
/// \param file It's a device. Must satisfy is_adaptable_input_device metafunction.
-/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
+/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \return image_read_info object dependent on the image format.
/// \throw std::ios_base::failure
template< typename Device
@@ -91,7 +81,7 @@ read_image_info( Device& file
template< typename String
, typename FormatTag
>
-inline
+inline
typename get_reader_backend< String
, FormatTag
>::type
@@ -108,13 +98,13 @@ read_image_info( const String& file_name
/// \brief Returns the image format backend. Backend is format specific.
/// \param file_name File name. Must satisfy is_supported_path_spec metafunction.
-/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
+/// \param tag Defines the image format. Must satisfy is_format_tag metafunction.
/// \return image_read_info object dependent on the image format.
/// \throw std::ios_base::failure
template< typename String
, typename FormatTag
>
-inline
+inline
typename get_reader_backend< String
, FormatTag
>::type
diff --git a/boost/gil/io/read_view.hpp b/boost/gil/io/read_view.hpp
index 1a03733a3a..5bae9c6cd2 100644
--- a/boost/gil/io/read_view.hpp
+++ b/boost/gil/io/read_view.hpp
@@ -1,32 +1,23 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_READ_VIEW_HPP
#define BOOST_GIL_IO_READ_VIEW_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
+#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/get_reader.hpp>
+#include <boost/gil/io/path_spec.hpp>
#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/mpl/and.hpp>
#include <boost/utility/enable_if.hpp>
-#include <boost/gil/io/base.hpp>
-#include <boost/gil/io/device.hpp>
-#include <boost/gil/io/path_spec.hpp>
-
namespace boost{ namespace gil {
/// \ingroup IO
diff --git a/boost/gil/io/reader_base.hpp b/boost/gil/io/reader_base.hpp
index 1a7966d6cf..a2100faf4e 100644
--- a/boost/gil/io/reader_base.hpp
+++ b/boost/gil/io/reader_base.hpp
@@ -1,30 +1,19 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_READER_BASE_HPP
#define BOOST_GIL_IO_READER_BASE_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
#include <boost/gil/io/base.hpp>
-namespace boost { namespace gil {
+namespace boost { namespace gil {
/// Reader Base Class
-///
+///
/// It provides some basic functionality which is shared for all readers.
/// For instance, it recreates images when necessary. It checks whether
/// user supplied coordinates are valid.
diff --git a/boost/gil/io/row_buffer_helper.hpp b/boost/gil/io/row_buffer_helper.hpp
index f9ab1e13ed..e06b98363b 100644
--- a/boost/gil/io/row_buffer_helper.hpp
+++ b/boost/gil/io/row_buffer_helper.hpp
@@ -1,29 +1,25 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_ROW_BUFFER_HELPER_HPP
#define BOOST_GIL_IO_ROW_BUFFER_HELPER_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Helper for having one read implementation used for
-/// bit_aligned and byte images.
-/// \author Christian Henning, Andreas Pokorny, Lubomir Bourdev \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
+// TODO: Shall we move toolbox to core?
#include <boost/gil/extension/toolbox/metafunctions/is_bit_aligned.hpp>
+#include <boost/gil/extension/toolbox/metafunctions/is_homogeneous.hpp>
+#include <boost/gil/extension/toolbox/metafunctions/pixel_bit_size.hpp>
#include <boost/gil/io/typedefs.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/utility/enable_if.hpp>
+
+#include <cstddef>
+#include <vector>
namespace boost { namespace gil { namespace detail {
@@ -67,10 +63,10 @@ struct row_buffer_helper< Pixel
row_buffer_helper( std::size_t width
, bool in_bytes
)
- : _c( ( width
+ : _c( ( width
* pixel_bit_size< pixel_type >::value
)
- >> 3
+ >> 3
)
, _r( width
@@ -111,13 +107,19 @@ private:
buffer_t _row_buffer;
};
-template<typename Pixel >
-struct row_buffer_helper< Pixel
- , typename boost::enable_if< typename mpl::and_< typename is_bit_aligned< Pixel >::type
- , typename is_homogeneous< Pixel >::type
- >::type
- >
- >
+template<typename Pixel>
+struct row_buffer_helper
+<
+ Pixel,
+ typename boost::enable_if
+ <
+ typename mpl::and_
+ <
+ typename is_bit_aligned<Pixel>::type,
+ typename is_homogeneous<Pixel>::type
+ >::type
+ >
+>
{
typedef byte_t element_t;
typedef std::vector< element_t > buffer_t;
@@ -127,16 +129,16 @@ struct row_buffer_helper< Pixel
row_buffer_helper( std::size_t width
, bool in_bytes
)
- : _c( ( width
+ : _c( ( width
* num_channels< pixel_type >::type::value
* channel_type< pixel_type >::type::num_bits
)
- >> 3
+ >> 3
)
, _r( width
- * num_channels< pixel_type >::type::value
- * channel_type< pixel_type >::type::num_bits
+ * num_channels< pixel_type >::type::value
+ * channel_type< pixel_type >::type::num_bits
- ( _c << 3 )
)
{
@@ -190,14 +192,14 @@ struct row_buffer_helper_view : row_buffer_helper< typename View::value_type >
template< typename View >
struct row_buffer_helper_view< View
- , typename enable_if< typename is_bit_aligned< typename View::value_type
+ , typename enable_if< typename is_bit_aligned< typename View::value_type
>::type
>::type
> : row_buffer_helper< typename View::reference >
{
row_buffer_helper_view( std::size_t width
, bool in_bytes
- )
+ )
: row_buffer_helper< typename View::reference >( width
, in_bytes
)
diff --git a/boost/gil/io/scanline_read_iterator.hpp b/boost/gil/io/scanline_read_iterator.hpp
index 3f812b9fa7..61528ea244 100644
--- a/boost/gil/io/scanline_read_iterator.hpp
+++ b/boost/gil/io/scanline_read_iterator.hpp
@@ -1,29 +1,21 @@
-/*
- Copyright 2012 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_SCANLINE_READ_ITERATOR_HPP
#define BOOST_GIL_IO_SCANLINE_READ_ITERATOR_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning
-///
-/// \date 2012 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/gil/io/error.hpp>
+#include <boost/gil/io/typedefs.hpp>
#include <boost/iterator/iterator_facade.hpp>
-#include <boost/gil/io/error.hpp>
-
+#include <iterator>
#include <memory>
+#include <vector>
namespace boost { namespace gil {
diff --git a/boost/gil/io/typedefs.hpp b/boost/gil/io/typedefs.hpp
index 294fb2eabd..20914baf4c 100644
--- a/boost/gil/io/typedefs.hpp
+++ b/boost/gil/io/typedefs.hpp
@@ -1,49 +1,37 @@
-/*
- Copyright 2007-2008 Christian Henning
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2008 Christian Henning
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_TYPEDEFS_HPP
#define BOOST_GIL_IO_TYPEDEFS_HPP
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief
-/// \author Christian Henning \n
-///
-/// \date 2007-2008 \n
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <vector>
-
-#include <boost/type_traits/is_base_of.hpp>
+#ifdef BOOST_GIL_IO_ENABLE_GRAY_ALPHA
+#include <boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp>
+#endif // BOOST_GIL_IO_ENABLE_GRAY_ALPHA
#include <boost/gil/image.hpp>
+#include <boost/gil/point.hpp>
#include <boost/gil/utilities.hpp>
-#ifdef BOOST_GIL_IO_ENABLE_GRAY_ALPHA
-#include <boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp>
-#endif // BOOST_GIL_IO_ENABLE_GRAY_ALPHA
+#include <boost/type_traits/is_base_of.hpp>
-namespace boost { namespace gil {
+#include <vector>
+
+namespace boost { namespace gil {
struct double_zero { static double apply() { return 0.0; } };
struct double_one { static double apply() { return 1.0; } };
-typedef unsigned char byte_t;
-typedef std::vector< byte_t > byte_vector_t;
-
-typedef point2< std::ptrdiff_t > point_t;
+using byte_t = unsigned char;
+using byte_vector_t = std::vector<byte_t>;
} // namespace gil
} // namespace boost
-namespace boost {
+namespace boost {
template<> struct is_floating_point<gil::float32_t> : mpl::true_ {};
template<> struct is_floating_point<gil::float64_t> : mpl::true_ {};
diff --git a/boost/gil/io/write_view.hpp b/boost/gil/io/write_view.hpp
index 16d496ef1a..26f3caa1bd 100644
--- a/boost/gil/io/write_view.hpp
+++ b/boost/gil/io/write_view.hpp
@@ -1,24 +1,22 @@
-/*
- Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2007-2012 Christian Henning, Andreas Pokorny, Lubomir Bourdev
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_IO_WRITE_VIEW_HPP
#define BOOST_GIL_IO_WRITE_VIEW_HPP
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/utility/enable_if.hpp>
-
#include <boost/gil/io/base.hpp>
+#include <boost/gil/io/conversion_policies.hpp>
#include <boost/gil/io/device.hpp>
+#include <boost/gil/io/get_writer.hpp>
#include <boost/gil/io/path_spec.hpp>
-#include <boost/gil/io/conversion_policies.hpp>
+
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/utility/enable_if.hpp>
////////////////////////////////////////////////////////////////////////////////////////
/// \file
diff --git a/boost/gil/iterator_from_2d.hpp b/boost/gil/iterator_from_2d.hpp
index 767ad699d1..c75b4b2f91 100644
--- a/boost/gil/iterator_from_2d.hpp
+++ b/boost/gil/iterator_from_2d.hpp
@@ -1,37 +1,28 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_ITERATOR_FROM_2D_HPP
+#define BOOST_GIL_ITERATOR_FROM_2D_HPP
+
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/locator.hpp>
+#include <boost/gil/pixel_iterator.hpp>
+#include <boost/gil/point.hpp>
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_ITERATOR_FROM_2D_H
-#define GIL_ITERATOR_FROM_2D_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel step iterator, pixel image iterator and pixel dereference iterator
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 18, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/iterator/iterator_facade.hpp>
#include <cassert>
-#include <boost/iterator/iterator_facade.hpp>
-#include "gil_concept.hpp"
-#include "gil_config.hpp"
-#include "pixel_iterator.hpp"
-#include "locator.hpp"
namespace boost { namespace gil {
+/// pixel step iterator, pixel image iterator and pixel dereference iterator
+
////////////////////////////////////////////////////////////////////////////////////////
-///
+///
/// ITERATOR FROM 2D ADAPTOR
///
////////////////////////////////////////////////////////////////////////////////////////
@@ -45,7 +36,7 @@ namespace boost { namespace gil {
/// \ingroup PixelIteratorModelFromLocator PixelBasedModel
/// \brief Provides 1D random-access navigation to the pixels of the image. Models: PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept
///
-/// Pixels are traversed from the top to the bottom row and from the left to the right
+/// Pixels are traversed from the top to the bottom row and from the left to the right
/// within each row
template <typename Loc2> // Models PixelLocatorConcept
@@ -93,7 +84,7 @@ private:
_coords.x=0;
++_coords.y;
_p+=point_t(-_width,1);
- }
+ }
}
void decrement() {
--_coords.x;
@@ -105,7 +96,7 @@ private:
}
}
- BOOST_FORCEINLINE void advance(difference_type d) {
+ BOOST_FORCEINLINE void advance(difference_type d) {
if (_width==0) return; // unfortunately we need to check for that. Default-constructed images have width of 0 and the code below will throw if executed.
point_t delta;
if (_coords.x+d>=0) { // not going back to a previous row?
@@ -114,13 +105,13 @@ private:
} else {
delta.x=(_coords.x+(std::ptrdiff_t)d*(1-_width))%_width -_coords.x;
delta.y=-(_width-_coords.x-(std::ptrdiff_t)d-1)/_width;
- }
+ }
_p+=delta;
_coords.x+=delta.x;
_coords.y+=delta.y;
}
- difference_type distance_to(const iterator_from_2d& it) const {
+ difference_type distance_to(const iterator_from_2d& it) const {
if (_width==0) return 0;
return (it.y_pos()-_coords.y)*_width + (it.x_pos()-_coords.x);
}
@@ -130,7 +121,7 @@ private:
return _coords==it._coords && _p==it._p;
}
- point2<std::ptrdiff_t> _coords;
+ point_t _coords;
std::ptrdiff_t _width;
Loc2 _p;
};
diff --git a/boost/gil/locator.hpp b/boost/gil/locator.hpp
index 50d78f740e..69a623b732 100644
--- a/boost/gil/locator.hpp
+++ b/boost/gil/locator.hpp
@@ -1,42 +1,29 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_LOCATOR_HPP
+#define BOOST_GIL_LOCATOR_HPP
+
+#include <boost/gil/pixel_iterator.hpp>
+#include <boost/gil/point.hpp>
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_LOCATOR_H
-#define GIL_LOCATOR_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel 2D locator
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n September 20, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstddef>
#include <cassert>
-#include "pixel_iterator.hpp"
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// Pixel 2D LOCATOR
-////////////////////////////////////////////////////////////////////////////////////////
+#include <cstddef>
namespace boost { namespace gil {
+
+/// Pixel 2D locator
+
//forward declarations
template <typename P> std::ptrdiff_t memunit_step(const P*);
template <typename P> P* memunit_advanced(const P* p, std::ptrdiff_t diff);
template <typename P> P& memunit_advanced_ref(P* p, std::ptrdiff_t diff);
template <typename Iterator, typename D> struct iterator_add_deref;
-template <typename T> class point2;
+template <typename T> class point;
namespace detail {
// helper class specialized for each axis of pixel_2d_locator
template <std::size_t D, typename Loc> class locator_axis;
@@ -125,7 +112,7 @@ public:
typedef typename std::iterator_traits<x_iterator>::value_type value_type;
typedef typename std::iterator_traits<x_iterator>::reference reference; // result of dereferencing
typedef typename std::iterator_traits<x_iterator>::difference_type coord_t; // 1D difference type (same for all dimensions)
- typedef point2<coord_t> difference_type; // result of operator-(locator,locator)
+ typedef point<coord_t> difference_type; // result of operator-(locator,locator)
typedef difference_type point_t;
template <std::size_t D> struct axis {
typedef typename detail::locator_axis<D,Loc>::coord_t coord_t;
diff --git a/boost/gil/metafunctions.hpp b/boost/gil/metafunctions.hpp
index ee446778f3..f67cd81bbd 100644
--- a/boost/gil/metafunctions.hpp
+++ b/boost/gil/metafunctions.hpp
@@ -1,29 +1,16 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_METAFUNCTIONS_HPP
-#define GIL_METAFUNCTIONS_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief metafunctions that construct types or return type properties
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-///
-/// \date 2005-2007 \n Last updated on February 6, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_METAFUNCTIONS_HPP
+#define BOOST_GIL_METAFUNCTIONS_HPP
+
+#include <boost/gil/channel.hpp>
+#include <boost/gil/concepts.hpp>
-#include <iterator>
#include <boost/mpl/accumulate.hpp>
#include <boost/mpl/back.hpp>
#include <boost/mpl/bool.hpp>
@@ -34,9 +21,8 @@
#include <boost/mpl/vector.hpp>
#include <boost/mpl/vector_c.hpp>
#include <boost/type_traits.hpp>
-#include "gil_config.hpp"
-#include "gil_concept.hpp"
-#include "channel.hpp"
+
+#include <iterator>
namespace boost { namespace gil {
@@ -115,7 +101,7 @@ template <typename View> struct view_is_basic : public mpl::false_ {};
template <typename Loc> struct view_is_basic<image_view<Loc> > : public locator_is_basic<Loc> {};
/// \ingroup GILIsBasic
-/// \brief Basic images must use basic views and std::allocator of char
+/// \brief Basic images must use basic views and std::allocator
template <typename Img> struct image_is_basic : public mpl::false_ {};
template <typename Pixel, bool IsPlanar, typename Alloc> struct image_is_basic<image<Pixel,IsPlanar,Alloc> > : public mpl::true_ {};
@@ -487,9 +473,6 @@ public:
typedef typename image_type<channel_t, layout_t, planar>::type type;
};
-
-
-
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/packed_pixel.hpp b/boost/gil/packed_pixel.hpp
index 414d5dbbdf..9777f44b13 100644
--- a/boost/gil/packed_pixel.hpp
+++ b/boost/gil/packed_pixel.hpp
@@ -1,37 +1,27 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_PACKED_PIXEL_H
-#define GIL_PACKED_PIXEL_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief A model of a heterogeneous pixel whose channels are bit ranges. For example 16-bit RGB in '565' format
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2009 \n Last updated on February 20, 2009
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_PACKED_PIXEL_HPP
+#define BOOST_GIL_PACKED_PIXEL_HPP
+
+#include <boost/gil/pixel.hpp>
-#include <functional>
#include <boost/core/ignore_unused.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/front.hpp>
-#include "gil_config.hpp"
-#include "pixel.hpp"
+
+#include <functional>
namespace boost { namespace gil {
+/// A model of a heterogeneous pixel whose channels are bit ranges.
+/// For example 16-bit RGB in '565' format.
+
/// \defgroup ColorBaseModelPackedPixel packed_pixel
/// \ingroup ColorBaseModel
/// \brief A heterogeneous color base whose elements are reference proxies to channels in a pixel. Models ColorBaseValueConcept. This class is used to model packed pixels, such as 16-bit packed RGB.
diff --git a/boost/gil/pixel.hpp b/boost/gil/pixel.hpp
index df48cc667a..ee7c5c5286 100644
--- a/boost/gil/pixel.hpp
+++ b/boost/gil/pixel.hpp
@@ -1,39 +1,27 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_PIXEL_H
-#define GIL_PIXEL_H
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_PIXEL_HPP
+#define BOOST_GIL_PIXEL_HPP
+
+#include <boost/gil/channel.hpp>
+#include <boost/gil/color_base.hpp>
+#include <boost/gil/color_base_algorithm.hpp>
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/utilities.hpp>
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel class and related utilities
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 28, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <functional>
#include <boost/core/ignore_unused.hpp>
-#include <boost/utility/enable_if.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/front.hpp>
#include <boost/type_traits.hpp>
-#include "gil_config.hpp"
-#include "color_base.hpp"
-#include "gil_concept.hpp"
-#include "channel.hpp"
-#include "metafunctions.hpp"
-#include "utilities.hpp"
-#include "color_base_algorithm.hpp"
+#include <boost/utility/enable_if.hpp>
+
+#include <functional>
namespace boost { namespace gil {
@@ -207,10 +195,11 @@ struct channel_type<pixel<ChannelValue,Layout> > {
typedef ChannelValue type;
};
-} } // namespace boost::gil
+}} // namespace boost::gil
namespace boost {
template <typename ChannelValue, typename Layout>
struct has_trivial_constructor<gil::pixel<ChannelValue,Layout> > : public has_trivial_constructor<ChannelValue> {};
}
+
#endif
diff --git a/boost/gil/pixel_iterator.hpp b/boost/gil/pixel_iterator.hpp
index 0353d47668..c5a5e1cf36 100644
--- a/boost/gil/pixel_iterator.hpp
+++ b/boost/gil/pixel_iterator.hpp
@@ -1,33 +1,19 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_PIXEL_ITERATOR_H
-#define GIL_PIXEL_ITERATOR_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel iterator support
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n May 16, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_PIXEL_ITERATOR_HPP
+#define BOOST_GIL_PIXEL_ITERATOR_HPP
+
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/utilities.hpp>
+#include <boost/gil/pixel.hpp>
#include <cassert>
#include <iterator>
-#include "gil_config.hpp"
-#include "gil_concept.hpp"
-#include "utilities.hpp"
-#include "pixel.hpp"
namespace boost { namespace gil {
diff --git a/boost/gil/pixel_iterator_adaptor.hpp b/boost/gil/pixel_iterator_adaptor.hpp
index f488f5693a..3783c5136c 100644
--- a/boost/gil/pixel_iterator_adaptor.hpp
+++ b/boost/gil/pixel_iterator_adaptor.hpp
@@ -1,41 +1,26 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_PIXEL_ITERATOR_ADAPTOR_H
-#define GIL_PIXEL_ITERATOR_ADAPTOR_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel step iterator, pixel image iterator and pixel dereference iterator
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 16, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_PIXEL_ITERATOR_ADAPTOR_HPP
+#define BOOST_GIL_PIXEL_ITERATOR_ADAPTOR_HPP
+
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/pixel_iterator.hpp>
-#include <iterator>
#include <boost/iterator/iterator_facade.hpp>
-#include "gil_config.hpp"
-#include "gil_concept.hpp"
-#include "pixel_iterator.hpp"
-namespace boost { namespace gil {
+#include <iterator>
+namespace boost { namespace gil {
/// \defgroup PixelIteratorModelDerefPtr dereference_iterator_adaptor
/// \ingroup PixelIteratorModel
/// \brief An iterator that invokes a provided function object upon dereference. Models: IteratorAdaptorConcept, PixelIteratorConcept
-
/// \ingroup PixelIteratorModelDerefPtr PixelBasedModel
/// \brief An adaptor over an existing iterator that provides for custom filter on dereferencing the object. Models: IteratorAdaptorConcept, PixelIteratorConcept
@@ -203,6 +188,6 @@ struct iterator_add_deref<dereference_iterator_adaptor<Iterator, PREV_DEREF>,Der
}
};
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/planar_pixel_iterator.hpp b/boost/gil/planar_pixel_iterator.hpp
index 9585e84574..856b3d3fbf 100644
--- a/boost/gil/planar_pixel_iterator.hpp
+++ b/boost/gil/planar_pixel_iterator.hpp
@@ -1,33 +1,20 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_PLANAR_PIXEL_ITERATOR_HPP
+#define BOOST_GIL_PLANAR_PIXEL_ITERATOR_HPP
+
+#include <boost/gil/pixel.hpp>
+#include <boost/gil/step_iterator.hpp>
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_PLANAR_PTR_H
-#define GIL_PLANAR_PTR_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief planar pixel pointer class
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/iterator/iterator_facade.hpp>
#include <cassert>
#include <iterator>
-#include <boost/iterator/iterator_facade.hpp>
-#include "gil_config.hpp"
-#include "pixel.hpp"
-#include "step_iterator.hpp"
namespace boost { namespace gil {
//forward declaration (as this file is included in planar_pixel_reference.hpp)
@@ -114,11 +101,7 @@ private:
void increment() { static_transform(*this,*this,detail::inc<ChannelPtr>()); }
void decrement() { static_transform(*this,*this,detail::dec<ChannelPtr>()); }
-#ifdef BOOST_NO_CXX98_BINDERS
void advance(std::ptrdiff_t d){ static_transform(*this,*this,std::bind(detail::plus_asymmetric<ChannelPtr,std::ptrdiff_t>(),std::placeholders::_1,d)); }
-#else
- void advance(std::ptrdiff_t d){ static_transform(*this,*this,std::bind2nd(detail::plus_asymmetric<ChannelPtr,std::ptrdiff_t>(),d)); }
-#endif
reference dereference() const { return this->template deref<reference>(); }
std::ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return gil::at_c<0>(it)-gil::at_c<0>(*this); }
diff --git a/boost/gil/planar_pixel_reference.hpp b/boost/gil/planar_pixel_reference.hpp
index 2d71842992..e020650bab 100644
--- a/boost/gil/planar_pixel_reference.hpp
+++ b/boost/gil/planar_pixel_reference.hpp
@@ -1,43 +1,29 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://stlab.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_PLANAR_REF_H
-#define GIL_PLANAR_REF_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief planar pixel reference class
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 28, 2006
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_PLANAR_PIXEL_REFERENCE_HPP
+#define BOOST_GIL_PLANAR_PIXEL_REFERENCE_HPP
+
+#include <boost/gil/channel.hpp>
+#include <boost/gil/color_base.hpp>
+#include <boost/gil/concepts.hpp>
+#include <boost/gil/pixel.hpp>
+#include <boost/gil/planar_pixel_iterator.hpp>
#include <boost/mpl/range_c.hpp>
-#include "gil_config.hpp"
-#include "gil_concept.hpp"
-#include "color_base.hpp"
-#include "channel.hpp"
-#include "pixel.hpp"
-#include "planar_pixel_iterator.hpp"
namespace boost { namespace gil {
-/// \defgroup ColorBaseModelPlanarRef planar_pixel_reference
+/// \defgroup ColorBaseModelPlanarRef planar_pixel_reference
/// \ingroup ColorBaseModel
/// \brief A homogeneous color base whose element is a channel reference. Models HomogeneousColorBaseConcept, HomogeneousPixelConcept.
/// This class is used as a reference proxy to a planar pixel.
-/// \defgroup PixelModelPlanarRef planar_pixel_reference
+/// \defgroup PixelModelPlanarRef planar_pixel_reference
/// \ingroup PixelModel
/// \brief A reference proxy to a planar pixel. Models HomogeneousColorBaseConcept, HomogeneousPixelConcept.
@@ -46,9 +32,9 @@ namespace boost { namespace gil {
/// \brief A reference proxy to a planar pixel. Models: HomogeneousColorBaseConcept, HomogeneousPixelConcept
///
/// A reference to a planar pixel is a proxy class containing references to each of the corresponding channels.
-///
+///
template <typename ChannelReference, typename ColorSpace> // ChannelReference is a channel reference (const or mutable)
-struct planar_pixel_reference
+struct planar_pixel_reference
: public detail::homogeneous_color_base<ChannelReference,layout<ColorSpace>,mpl::size<ColorSpace>::value> {
typedef detail::homogeneous_color_base<ChannelReference,layout<ColorSpace>,mpl::size<ColorSpace>::value> parent_t;
private:
@@ -64,7 +50,7 @@ public:
planar_pixel_reference(ChannelReference v0, ChannelReference v1) : parent_t(v0,v1) {}
planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2) : parent_t(v0,v1,v2) {}
planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3) : parent_t(v0,v1,v2,v3) {}
- planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4) : parent_t(v0,v1,v2,v3,v4) {}
+planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4) : parent_t(v0,v1,v2,v3,v4) {}
planar_pixel_reference(ChannelReference v0, ChannelReference v1, ChannelReference v2, ChannelReference v3, ChannelReference v4, ChannelReference v5) : parent_t(v0,v1,v2,v3,v4,v5) {}
template <typename P> planar_pixel_reference(const P& p) : parent_t(p) { check_compatible<P>();}
@@ -161,7 +147,7 @@ struct channel_type<planar_pixel_reference<ChannelReference,ColorSpace> > {
typedef typename channel_traits<ChannelReference>::value_type type;
};
-} } // namespace boost::gil
+}} // namespace boost::gil
namespace std {
// We are forced to define swap inside std namespace because on some platforms (Visual Studio 8) STL calls swap qualified.
@@ -178,7 +164,6 @@ void swap(const boost::gil::planar_pixel_reference<CR,CS> x, R& y) {
boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
}
-
/// \brief swap for planar_pixel_reference
/// \ingroup PixelModelPlanarRef
template <typename CR, typename CS> inline
@@ -186,13 +171,13 @@ void swap(typename boost::gil::planar_pixel_reference<CR,CS>::value_type& x, con
boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
}
-
/// \brief swap for planar_pixel_reference
/// \ingroup PixelModelPlanarRef
template <typename CR, typename CS> inline
void swap(const boost::gil::planar_pixel_reference<CR,CS> x, const boost::gil::planar_pixel_reference<CR,CS> y) {
boost::gil::swap_proxy<typename boost::gil::planar_pixel_reference<CR,CS>::value_type>(x,y);
}
+
} // namespace std
#endif
diff --git a/boost/gil/point.hpp b/boost/gil/point.hpp
new file mode 100644
index 0000000000..ffba0044e5
--- /dev/null
+++ b/boost/gil/point.hpp
@@ -0,0 +1,277 @@
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_POINT_HPP
+#define BOOST_GIL_POINT_HPP
+
+#include <boost/gil/utilities.hpp>
+
+#include <boost/config.hpp>
+
+#include <cstddef>
+#include <type_traits>
+
+namespace boost { namespace gil {
+
+/// \addtogroup PointModel
+///
+/// Example:
+/// \code
+/// point<std::ptrdiff_t> p(3,2);
+/// assert((p[0] == p.x) && (p[1] == p.y));
+/// assert(axis_value<0>(p) == 3);
+/// assert(axis_value<1>(p) == 2);
+/// \endcode
+
+/// \brief 2D point both axes of which have the same dimension type
+/// \ingroup PointModel
+/// Models: Point2DConcept
+template <typename T>
+class point
+{
+public:
+ using value_type = T;
+
+ template<std::size_t D>
+ struct axis
+ {
+ using coord_t = value_type;
+ };
+
+ static constexpr std::size_t num_dimensions = 2;
+
+ point() = default;
+ point(T px, T py) : x(px), y(py) {}
+
+ point operator<<(std::ptrdiff_t shift) const
+ {
+ return point(x << shift, y << shift);
+ }
+
+ point operator>>(std::ptrdiff_t shift) const
+ {
+ return point(x >> shift, y >> shift);
+ }
+
+ point& operator+=(point const& p)
+ {
+ x += p.x;
+ y += p.y;
+ return *this;
+ }
+
+ point& operator-=(point const& p)
+ {
+ x -= p.x;
+ y -= p.y;
+ return *this;
+ }
+
+ point& operator/=(double d)
+ {
+ if (d < 0 || 0 < d)
+ {
+ x = static_cast<T>(x / d);
+ y = static_cast<T>(y / d);
+ }
+ return *this;
+ }
+
+ point& operator*=(double d)
+ {
+ x = static_cast<T>(x * d);
+ y = static_cast<T>(y * d);
+ return *this;
+ }
+
+ T const& operator[](std::size_t i) const
+ {
+ return this->*mem_array[i];
+ }
+
+ T& operator[](std::size_t i)
+ {
+ return this->*mem_array[i];
+ }
+
+ T x{0};
+ T y{0};
+
+private:
+ // this static array of pointers to member variables makes operator[] safe
+ // and doesn't seem to exhibit any performance penalty.
+ static T point<T>::* const mem_array[num_dimensions];
+};
+
+/// Alias template for backward compatibility with Boost <=1.68.
+template <typename T>
+using point2 = point<T>;
+
+/// Common type to represent 2D dimensions or in-memory size of image or view.
+/// @todo TODO: rename to dims_t or dimensions_t for purpose clarity?
+using point_t = point<std::ptrdiff_t>;
+
+template <typename T>
+T point<T>::* const point<T>::mem_array[point<T>::num_dimensions] =
+{
+ &point<T>::x,
+ &point<T>::y
+};
+
+/// \ingroup PointModel
+template <typename T>
+BOOST_FORCEINLINE
+bool operator==(const point<T>& p1, const point<T>& p2)
+{
+ return p1.x == p2.x && p1.y == p2.y;
+}
+
+/// \ingroup PointModel
+template <typename T>
+BOOST_FORCEINLINE
+bool operator!=(const point<T>& p1, const point<T>& p2)
+{
+ return p1.x != p2.x || p1.y != p2.y;
+}
+
+/// \ingroup PointModel
+template <typename T>
+BOOST_FORCEINLINE
+point<T> operator+(const point<T>& p1, const point<T>& p2)
+{
+ return { p1.x + p2.x, p1.y + p2.y };
+}
+
+/// \ingroup PointModel
+template <typename T>
+BOOST_FORCEINLINE
+point<T> operator-(const point<T>& p)
+{
+ return { -p.x, -p.y };
+}
+
+/// \ingroup PointModel
+template <typename T>
+BOOST_FORCEINLINE
+point<T> operator-(const point<T>& p1, const point<T>& p2)
+{
+ return { p1.x - p2.x, p1.y - p2.y };
+}
+
+/// \ingroup PointModel
+template <typename T, typename D>
+BOOST_FORCEINLINE
+auto operator/(point<T> const& p, D d) -> point<typename std::common_type<T, D>::type>
+{
+ static_assert(std::is_arithmetic<D>::value, "denominator is not arithmetic type");
+ using result_type = typename std::common_type<T, D>::type;
+ if (d < 0 || 0 < d)
+ {
+ double const x = p.x / static_cast<double>(d);
+ double const y = p.y / static_cast<double>(d);
+ return point<result_type>{
+ static_cast<result_type>(iround(x)),
+ static_cast<result_type>(iround(y))};
+ }
+ else
+ {
+ return point<result_type>{0, 0};
+ }
+}
+
+/// \ingroup PointModel
+template <typename T, typename M>
+BOOST_FORCEINLINE
+auto operator*(point<T> const& p, M m) -> point<typename std::common_type<T, M>::type>
+{
+ static_assert(std::is_arithmetic<M>::value, "multiplier is not arithmetic type");
+ using result_type = typename std::common_type<T, M>::type;
+ return point<result_type>{p.x * m, p.y * m};
+}
+
+/// \ingroup PointModel
+template <typename T, typename M>
+BOOST_FORCEINLINE
+auto operator*(M m, point<T> const& p) -> point<typename std::common_type<T, M>::type>
+{
+ static_assert(std::is_arithmetic<M>::value, "multiplier is not arithmetic type");
+ using result_type = typename std::common_type<T, M>::type;
+ return point<result_type>{p.x * m, p.y * m};
+}
+
+/// \ingroup PointModel
+template <std::size_t K, typename T>
+BOOST_FORCEINLINE
+T const& axis_value(point<T> const& p)
+{
+ static_assert(K < point<T>::num_dimensions, "axis index out of range");
+ return p[K];
+}
+
+/// \ingroup PointModel
+template <std::size_t K, typename T>
+BOOST_FORCEINLINE
+T& axis_value(point<T>& p)
+{
+ static_assert(K < point<T>::num_dimensions, "axis index out of range");
+ return p[K];
+}
+
+/// \addtogroup PointAlgorithm
+///
+/// Example:
+/// \code
+/// assert(iround(point<double>(3.1, 3.9)) == point<std::ptrdiff_t>(3,4));
+/// \endcode
+
+/// \ingroup PointAlgorithm
+template <typename T>
+inline point<std::ptrdiff_t> iround(point<T> const& p)
+{
+ static_assert(std::is_integral<T>::value, "T is not integer");
+ return { static_cast<std::ptrdiff_t>(p.x), static_cast<std::ptrdiff_t>(p.y) };
+}
+
+/// \ingroup PointAlgorithm
+inline point<std::ptrdiff_t> iround(point<float> const& p)
+{
+ return { iround(p.x), iround(p.y) };
+}
+
+/// \ingroup PointAlgorithm
+inline point<std::ptrdiff_t> iround(point<double> const& p)
+{
+ return { iround(p.x), iround(p.y) };
+}
+
+/// \ingroup PointAlgorithm
+inline point<std::ptrdiff_t> ifloor(point<float> const& p)
+{
+ return { ifloor(p.x), ifloor(p.y) };
+}
+
+/// \ingroup PointAlgorithm
+inline point<std::ptrdiff_t> ifloor(point<double> const& p)
+{
+ return { ifloor(p.x), ifloor(p.y) };
+}
+
+/// \ingroup PointAlgorithm
+inline point<std::ptrdiff_t> iceil(point<float> const& p)
+{
+ return { iceil(p.x), iceil(p.y) };
+}
+
+/// \ingroup PointAlgorithm
+inline point<std::ptrdiff_t> iceil(point<double> const& p)
+{
+ return { iceil(p.x), iceil(p.y) };
+}
+
+}} // namespace boost::gil
+
+#endif
diff --git a/boost/gil/position_iterator.hpp b/boost/gil/position_iterator.hpp
index df97611c15..747123c1ac 100644
--- a/boost/gil/position_iterator.hpp
+++ b/boost/gil/position_iterator.hpp
@@ -1,29 +1,16 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_POSITION_ITERATOR_HPP
-#define GIL_POSITION_ITERATOR_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Locator for virtual image views
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_POSITION_ITERATOR_HPP
+#define BOOST_GIL_POSITION_ITERATOR_HPP
+
+#include <boost/gil/locator.hpp>
#include <boost/iterator/iterator_facade.hpp>
-#include "locator.hpp"
namespace boost { namespace gil {
diff --git a/boost/gil/premultiply.hpp b/boost/gil/premultiply.hpp
index eb865d3af1..e7fb315c65 100644
--- a/boost/gil/premultiply.hpp
+++ b/boost/gil/premultiply.hpp
@@ -1,69 +1,76 @@
-/*
- Copyright 2014
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-*/
-
-/*************************************************************************************************/
-
+//
+// Copyright 2014 Bill Gallafent
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
#ifndef BOOST_GIL_PREMULTIPLY_HPP
#define BOOST_GIL_PREMULTIPLY_HPP
-#include <iostream>
-
#include <boost/gil/rgba.hpp>
+
+#include <boost/core/ignore_unused.hpp>
+#include <boost/mpl/for_each.hpp>
#include <boost/mpl/remove.hpp>
namespace boost { namespace gil {
template <typename SrcP, typename DstP>
-struct channel_premultiply {
- channel_premultiply (SrcP const & src, DstP & dst)
- : src_ (src), dst_ (dst)
- {}
-
- template <typename Channel>
- void operator () (Channel c) const {
- // @todo: need to do a “channel_convert†too, in case the channel types aren't the same?
- get_color (dst_, Channel()) = channel_multiply(get_color(src_,Channel()), alpha_or_max(src_));
- }
- SrcP const & src_;
- DstP & dst_;
-};
+struct channel_premultiply
+{
+ channel_premultiply(SrcP const & src, DstP & dst)
+ : src_(src), dst_(dst)
+ {}
+
+ template <typename Channel>
+ void operator()(Channel c) const
+ {
+ // FIXME: Is c input paramater not used intentionally? Add comment on relation between src_ vs c.
+ // @todo: need to do a “channel_convert†too, in case the channel types aren't the same?
+ get_color(dst_, Channel()) = channel_multiply(get_color(src_,Channel()), alpha_or_max(src_));
+ }
+ SrcP const & src_;
+ DstP & dst_;
+};
namespace detail
{
- template <typename SrcP, typename DstP>
- void assign_alpha_if(mpl::true_, SrcP const &src, DstP &dst)
- {
- get_color (dst,alpha_t()) = alpha_or_max (src);
- };
-
- template <typename SrcP, typename DstP>
- void assign_alpha_if(mpl::false_, SrcP const &src, DstP &dst)
- {
- // nothing to do
- };
+ template <typename SrcP, typename DstP>
+ void assign_alpha_if(mpl::true_, SrcP const &src, DstP &dst)
+ {
+ get_color(dst,alpha_t()) = alpha_or_max(src);
+ }
+
+ template <typename SrcP, typename DstP>
+ void assign_alpha_if(mpl::false_, SrcP const& src, DstP& dst)
+ {
+ // nothing to do
+ boost::ignore_unused(src);
+ boost::ignore_unused(dst);
+ }
}
-struct premultiply {
- template <typename SrcP, typename DstP>
- void operator()(const SrcP& src, DstP& dst) const {
- typedef typename color_space_type<SrcP>::type src_colour_space_t;
- typedef typename color_space_type<DstP>::type dst_colour_space_t;
- typedef typename mpl:: remove <src_colour_space_t, alpha_t>:: type src_colour_channels;
-
- typedef mpl::bool_<mpl::contains<dst_colour_space_t, alpha_t>::value> has_alpha_t;
- mpl:: for_each <src_colour_channels> ( channel_premultiply <SrcP, DstP> (src, dst) );
- detail::assign_alpha_if(has_alpha_t(), src, dst);
- }
+struct premultiply
+{
+ template <typename SrcP, typename DstP>
+ void operator()(const SrcP& src, DstP& dst) const
+ {
+ typedef typename color_space_type<SrcP>::type src_colour_space_t;
+ typedef typename color_space_type<DstP>::type dst_colour_space_t;
+ typedef typename mpl::remove <src_colour_space_t, alpha_t>::type src_colour_channels;
+
+ typedef mpl::bool_<mpl::contains<dst_colour_space_t, alpha_t>::value> has_alpha_t;
+ mpl::for_each<src_colour_channels>(channel_premultiply<SrcP, DstP>(src, dst));
+ detail::assign_alpha_if(has_alpha_t(), src, dst);
+ }
};
template <typename SrcConstRefP, // const reference to the source pixel
typename DstP> // Destination pixel value (models PixelValueConcept)
-class premultiply_deref_fn {
+class premultiply_deref_fn
+{
public:
typedef premultiply_deref_fn const_t;
typedef DstP value_type;
@@ -73,15 +80,17 @@ public:
typedef reference result_type;
BOOST_STATIC_CONSTANT(bool, is_mutable=false);
- result_type operator()(argument_type srcP) const {
+ result_type operator()(argument_type srcP) const
+ {
result_type dstP;
- premultiply () (srcP,dstP);
+ premultiply()(srcP,dstP);
return dstP;
}
};
template <typename SrcView, typename DstP>
-struct premultiplied_view_type {
+struct premultiplied_view_type
+{
private:
typedef typename SrcView::const_t::reference src_pix_ref; // const reference to pixel in SrcView
typedef premultiply_deref_fn<src_pix_ref, DstP> deref_t; // the dereference adaptor that performs color conversion
@@ -92,11 +101,11 @@ public:
};
template <typename DstP, typename View> inline
-typename premultiplied_view_type<View,DstP>::type premultiply_view(const View& src) {
+typename premultiplied_view_type<View,DstP>::type premultiply_view(const View& src)
+{
return premultiplied_view_type<View,DstP>::make(src);
}
- }
-}
+}} // namespace boost::gil
-#endif // BOOST_GIL_PREMULTIPLY_HPP
+#endif
diff --git a/boost/gil/promote_integral.hpp b/boost/gil/promote_integral.hpp
index 82441d4c3b..ea7868ba51 100644
--- a/boost/gil/promote_integral.hpp
+++ b/boost/gil/promote_integral.hpp
@@ -16,16 +16,16 @@
#ifndef BOOST_GIL_PROMOTE_INTEGRAL_HPP
#define BOOST_GIL_PROMOTE_INTEGRAL_HPP
-#include <climits>
-#include <cstddef>
-#include <type_traits>
-
#include <boost/mpl/begin.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/end.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/next.hpp>
+#include <climits>
+#include <cstddef>
+#include <type_traits>
+
namespace boost { namespace gil
{
diff --git a/boost/gil/rgb.hpp b/boost/gil/rgb.hpp
index 64e3aca6cd..15d2291710 100644
--- a/boost/gil/rgb.hpp
+++ b/boost/gil/rgb.hpp
@@ -1,32 +1,20 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_RGB_HPP
+#define BOOST_GIL_RGB_HPP
+
+#include <boost/gil/metafunctions.hpp>
+#include <boost/gil/planar_pixel_iterator.hpp>
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_RGB_H
-#define GIL_RGB_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for RGB color space and variants
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on October 10, 2007
-////////////////////////////////////////////////////////////////////////////////////////
-
-#include <cstddef>
#include <boost/mpl/range_c.hpp>
#include <boost/mpl/vector_c.hpp>
-#include "gil_config.hpp"
-#include "metafunctions.hpp"
-#include "planar_pixel_iterator.hpp"
+
+#include <cstddef>
namespace boost { namespace gil {
@@ -65,6 +53,6 @@ planar_rgb_view(std::size_t width, std::size_t height,
rowsize_in_bytes));
}
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/rgba.hpp b/boost/gil/rgba.hpp
index 209d702e42..ec4fcf5b0c 100644
--- a/boost/gil/rgba.hpp
+++ b/boost/gil/rgba.hpp
@@ -1,30 +1,20 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-/*************************************************************************************************/
-
-#ifndef GIL_RGBA_H
-#define GIL_RGBA_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Support for RGBA color space and variants
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on October 10, 2007
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_RGBA_HPP
+#define BOOST_GIL_RGBA_HPP
+
+#include <boost/gil/planar_pixel_iterator.hpp>
+#include <boost/gil/rgb.hpp>
-#include <cstddef>
-#include "gil_config.hpp"
#include <boost/mpl/contains.hpp>
-#include "rgb.hpp"
-#include "planar_pixel_iterator.hpp"
+#include <boost/mpl/vector.hpp>
+
+#include <cstddef>
namespace boost { namespace gil {
@@ -51,13 +41,14 @@ inline
typename type_from_x_iterator<planar_pixel_iterator<IC,rgba_t> >::view_t
planar_rgba_view(std::size_t width, std::size_t height,
IC r, IC g, IC b, IC a,
- std::ptrdiff_t rowsize_in_bytes) {
+ std::ptrdiff_t rowsize_in_bytes)
+{
typedef typename type_from_x_iterator<planar_pixel_iterator<IC,rgba_t> >::view_t RView;
return RView(width, height,
typename RView::locator(planar_pixel_iterator<IC,rgba_t>(r,g,b,a),
rowsize_in_bytes));
}
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/step_iterator.hpp b/boost/gil/step_iterator.hpp
index b62249f3c5..afc465f745 100644
--- a/boost/gil/step_iterator.hpp
+++ b/boost/gil/step_iterator.hpp
@@ -1,34 +1,21 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_STEP_ITERATOR_HPP
+#define BOOST_GIL_STEP_ITERATOR_HPP
+
+#include <boost/gil/pixel_iterator.hpp>
+#include <boost/gil/pixel_iterator_adaptor.hpp>
+#include <boost/gil/utilities.hpp>
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_STEP_ITERATOR_H
-#define GIL_STEP_ITERATOR_H
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief pixel step iterator
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 18, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <boost/iterator/iterator_facade.hpp>
#include <cstddef>
#include <iterator>
-#include <boost/iterator/iterator_facade.hpp>
-#include "gil_config.hpp"
-#include "utilities.hpp"
-#include "pixel_iterator.hpp"
-#include "pixel_iterator_adaptor.hpp"
namespace boost { namespace gil {
@@ -36,7 +23,6 @@ namespace boost { namespace gil {
/// \ingroup PixelIteratorModel
/// \brief Iterators that allow for specifying the step between two adjacent values
-
namespace detail {
/// \ingroup PixelIteratorModelStepPtr
@@ -315,6 +301,6 @@ typename dynamic_x_step_type<I>::type make_step_iterator(const I& it, std::ptrdi
return detail::make_step_iterator_impl(it, step, typename is_iterator_adaptor<I>::type());
}
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/typedefs.hpp b/boost/gil/typedefs.hpp
index 09797f29af..d1f5170afa 100644
--- a/boost/gil/typedefs.hpp
+++ b/boost/gil/typedefs.hpp
@@ -9,22 +9,16 @@
#ifndef BOOST_GIL_TYPEDEFS_HPP
#define BOOST_GIL_TYPEDEFS_HPP
-/// \file
-/// \brief Useful public typedefs
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-
-#include "gil_config.hpp"
+#include <boost/gil/cmyk.hpp>
+#include <boost/gil/device_n.hpp>
+#include <boost/gil/gray.hpp>
+#include <boost/gil/point.hpp>
+#include <boost/gil/rgb.hpp>
+#include <boost/gil/rgba.hpp>
#include <cstdint>
#include <memory>
-#include "cmyk.hpp"
-#include "device_n.hpp"
-#include "gray.hpp"
-#include "rgb.hpp"
-#include "rgba.hpp"
-
// B - bits size/signedness, CM - channel model, CS - colour space, LAYOUT - pixel layout
// Example: B = '8', CM = 'uint8_t', CS = 'bgr, LAYOUT='bgr_layout_t'
#define GIL_DEFINE_BASE_TYPEDEFS_INTERNAL(B, CM, CS, LAYOUT) \
@@ -32,7 +26,7 @@
template <typename, typename> struct planar_pixel_reference; \
template <typename, typename> struct planar_pixel_iterator; \
template <typename> class memory_based_step_iterator; \
- template <typename> class point2; \
+ template <typename> class point; \
template <typename> class memory_based_2d_locator; \
template <typename> class image_view; \
template <typename, bool, typename> class image; \
diff --git a/boost/gil/utilities.hpp b/boost/gil/utilities.hpp
index 977df99839..e17b1ccd7f 100644
--- a/boost/gil/utilities.hpp
+++ b/boost/gil/utilities.hpp
@@ -1,185 +1,94 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_UTILITIES_HPP
+#define BOOST_GIL_UTILITIES_HPP
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_UTILITIES_H
-#define GIL_UTILITIES_H
-
-#include "gil_config.hpp"
-#include <functional>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <cstddef>
-#include <algorithm>
-#include <utility>
-#include <iterator>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/distance.hpp>
#include <boost/mpl/begin.hpp>
+#include <boost/mpl/distance.hpp>
#include <boost/mpl/find.hpp>
#include <boost/mpl/range_c.hpp>
+#include <boost/mpl/size.hpp>
#include <boost/iterator/iterator_adaptor.hpp>
#include <boost/iterator/iterator_facade.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/type_traits.hpp>
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Various utilities not specific to the image library. Some are non-standard STL extensions or generic iterator adaptors
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on September 18, 2007
-///
-///
-////////////////////////////////////////////////////////////////////////////////////////
+#include <algorithm>
+#include <cmath>
+#include <cstddef>
+#include <functional>
+#include <iterator>
+#include <utility>
namespace boost { namespace gil {
-/**
-\addtogroup PointModel
+/// Various utilities not specific to the image library.
+/// Some are non-standard STL extensions or generic iterator adaptors
-Example:
-\code
-point2<std::ptrdiff_t> p(3,2);
-assert((p[0] == p.x) && (p[1] == p.y));
-assert(axis_value<0>(p) == 3);
-assert(axis_value<1>(p) == 2);
-\endcode
-*/
+////////////////////////////////////////////////////////////////////////////////
+/// Rounding of real numbers / points to integers / integer points
+////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////////////
-// CLASS point2
-///
-/// \brief 2D point both axes of which have the same dimension type
-/// \ingroup PointModel
-/// Models: Point2DConcept
-///
-////////////////////////////////////////////////////////////////////////////////////////
+inline std::ptrdiff_t iround(float x)
+{
+ return static_cast<std::ptrdiff_t>(x + (x < 0.0f ? -0.5f : 0.5f));
+}
-template <typename T>
-class point2 {
-public:
- typedef T value_type;
- template <std::size_t D> struct axis { typedef value_type coord_t; };
- static const std::size_t num_dimensions=2;
-
- point2() : x(0), y(0) {}
- point2(T newX, T newY) : x(newX), y(newY) {}
- point2(const point2& p) : x(p.x), y(p.y) {}
- ~point2() {}
-
- point2& operator=(const point2& p) { x=p.x; y=p.y; return *this; }
-
- point2 operator<<(std::ptrdiff_t shift) const { return point2(x<<shift,y<<shift); }
- point2 operator>>(std::ptrdiff_t shift) const { return point2(x>>shift,y>>shift); }
- point2& operator+=(const point2& p) { x+=p.x; y+=p.y; return *this; }
- point2& operator-=(const point2& p) { x-=p.x; y-=p.y; return *this; }
- point2& operator/=(double t) { if (t<0 || 0<t) { x/=t; y/=t; } return *this; }
-
- const T& operator[](std::size_t i) const { return this->*mem_array[i]; }
- T& operator[](std::size_t i) { return this->*mem_array[i]; }
-
- T x,y;
-private:
- // this static array of pointers to member variables makes operator[] safe and doesn't seem to exhibit any performance penalty
- static T point2<T>::* const mem_array[num_dimensions];
-};
+inline std::ptrdiff_t iround(double x)
+{
+ return static_cast<std::ptrdiff_t>(x + (x < 0.0 ? -0.5 : 0.5));
+}
-template <typename T>
-T point2<T>::* const point2<T>::mem_array[point2<T>::num_dimensions] = { &point2<T>::x, &point2<T>::y };
-
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-bool operator==(const point2<T>& p1, const point2<T>& p2) { return (p1.x==p2.x && p1.y==p2.y); }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-bool operator!=(const point2<T>& p1, const point2<T>& p2) { return p1.x!=p2.x || p1.y!=p2.y; }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-point2<T> operator+(const point2<T>& p1, const point2<T>& p2) { return point2<T>(p1.x+p2.x,p1.y+p2.y); }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-point2<T> operator-(const point2<T>& p) { return point2<T>(-p.x,-p.y); }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-point2<T> operator-(const point2<T>& p1, const point2<T>& p2) { return point2<T>(p1.x-p2.x,p1.y-p2.y); }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-point2<double> operator/(const point2<T>& p, double t) { return (t<0 || 0<t) ? point2<double>(p.x/t,p.y/t) : point2<double>(0,0); }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-point2<T> operator*(const point2<T>& p, std::ptrdiff_t t) { return point2<T>(p.x*t,p.y*t); }
-/// \ingroup PointModel
-template <typename T> BOOST_FORCEINLINE
-point2<T> operator*(std::ptrdiff_t t, const point2<T>& p) { return point2<T>(p.x*t,p.y*t); }
-
-/// \ingroup PointModel
-template <std::size_t K, typename T> BOOST_FORCEINLINE
-const T& axis_value(const point2<T>& p) { return p[K]; }
-
-/// \ingroup PointModel
-template <std::size_t K, typename T> BOOST_FORCEINLINE
- T& axis_value( point2<T>& p) { return p[K]; }
-
-////////////////////////////////////////////////////////////////////////////////////////
-///
-/// Rounding of real numbers / points to integers / integer points
-///
-////////////////////////////////////////////////////////////////////////////////////////
-
-inline std::ptrdiff_t iround(float x ) { return static_cast<std::ptrdiff_t>(x + (x < 0.0f ? -0.5f : 0.5f)); }
-inline std::ptrdiff_t iround(double x) { return static_cast<std::ptrdiff_t>(x + (x < 0.0 ? -0.5 : 0.5)); }
-inline std::ptrdiff_t ifloor(float x ) { return static_cast<std::ptrdiff_t>(std::floor(x)); }
-inline std::ptrdiff_t ifloor(double x) { return static_cast<std::ptrdiff_t>(std::floor(x)); }
-inline std::ptrdiff_t iceil(float x ) { return static_cast<std::ptrdiff_t>(std::ceil(x)); }
-inline std::ptrdiff_t iceil(double x) { return static_cast<std::ptrdiff_t>(std::ceil(x)); }
-
-/**
-\addtogroup PointAlgorithm
-
-Example:
-\code
-assert(iround(point2<double>(3.1, 3.9)) == point2<std::ptrdiff_t>(3,4));
-\endcode
-*/
-
-/// \ingroup PointAlgorithm
-inline point2<std::ptrdiff_t> iround(const point2<float >& p) { return point2<std::ptrdiff_t>(iround(p.x),iround(p.y)); }
-/// \ingroup PointAlgorithm
-inline point2<std::ptrdiff_t> iround(const point2<double>& p) { return point2<std::ptrdiff_t>(iround(p.x),iround(p.y)); }
-/// \ingroup PointAlgorithm
-inline point2<std::ptrdiff_t> ifloor(const point2<float >& p) { return point2<std::ptrdiff_t>(ifloor(p.x),ifloor(p.y)); }
-/// \ingroup PointAlgorithm
-inline point2<std::ptrdiff_t> ifloor(const point2<double>& p) { return point2<std::ptrdiff_t>(ifloor(p.x),ifloor(p.y)); }
-/// \ingroup PointAlgorithm
-inline point2<std::ptrdiff_t> iceil (const point2<float >& p) { return point2<std::ptrdiff_t>(iceil(p.x), iceil(p.y)); }
-/// \ingroup PointAlgorithm
-inline point2<std::ptrdiff_t> iceil (const point2<double>& p) { return point2<std::ptrdiff_t>(iceil(p.x), iceil(p.y)); }
-
-////////////////////////////////////////////////////////////////////////////////////////
-///
+inline std::ptrdiff_t ifloor(float x)
+{
+ return static_cast<std::ptrdiff_t>(std::floor(x));
+}
+
+inline std::ptrdiff_t ifloor(double x)
+{
+ return static_cast<std::ptrdiff_t>(std::floor(x));
+}
+
+inline std::ptrdiff_t iceil(float x)
+{
+ return static_cast<std::ptrdiff_t>(std::ceil(x));
+}
+
+inline std::ptrdiff_t iceil(double x)
+{
+ return static_cast<std::ptrdiff_t>(std::ceil(x));
+}
+
+////////////////////////////////////////////////////////////////////////////////
/// computing size with alignment
-///
-////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
-template <typename T>
-inline T align(T val, std::size_t alignment) {
- return val+(alignment - val%alignment)%alignment;
+template <typename T>
+inline T align(T val, std::size_t alignment)
+{
+ return val+(alignment - val%alignment)%alignment;
}
-/// \brief Helper base class for pixel dereference adaptors.
+/// \brief Helper base class for pixel dereference adaptors.
/// \ingroup PixelDereferenceAdaptorModel
///
-template <typename ConstT, typename Value, typename Reference, typename ConstReference,
- typename ArgType, typename ResultType, bool IsMutable>
-struct deref_base {
+template
+<
+ typename ConstT,
+ typename Value,
+ typename Reference,
+ typename ConstReference,
+ typename ArgType,
+ typename ResultType,
+ bool IsMutable
+>
+struct deref_base
+{
typedef ArgType argument_type;
typedef ResultType result_type;
typedef ConstT const_t;
@@ -193,10 +102,16 @@ struct deref_base {
/// \ingroup PixelDereferenceAdaptorModel
///
template <typename D1, typename D2>
-class deref_compose : public deref_base<
+class deref_compose : public deref_base
+<
deref_compose<typename D1::const_t, typename D2::const_t>,
- typename D1::value_type, typename D1::reference, typename D1::const_reference,
- typename D2::argument_type, typename D1::result_type, D1::is_mutable && D2::is_mutable>
+ typename D1::value_type,
+ typename D1::reference,
+ typename D1::const_reference,
+ typename D2::argument_type,
+ typename D1::result_type,
+ D1::is_mutable && D2::is_mutable
+>
{
public:
D1 _fn1;
@@ -205,35 +120,45 @@ public:
typedef typename D2::argument_type argument_type;
typedef typename D1::result_type result_type;
- deref_compose() {}
+ deref_compose() = default;
deref_compose(const D1& x, const D2& y) : _fn1(x), _fn2(y) {}
deref_compose(const deref_compose& dc) : _fn1(dc._fn1), _fn2(dc._fn2) {}
- template <typename _D1, typename _D2> deref_compose(const deref_compose<_D1,_D2>& dc) : _fn1(dc._fn1), _fn2(dc._fn2) {}
+
+ template <typename _D1, typename _D2>
+ deref_compose(const deref_compose<_D1,_D2>& dc)
+ : _fn1(dc._fn1), _fn2(dc._fn2)
+ {}
result_type operator()(argument_type x) const { return _fn1(_fn2(x)); }
result_type operator()(argument_type x) { return _fn1(_fn2(x)); }
};
// reinterpret_cast is implementation-defined. Static cast is not.
-template <typename OutPtr, typename In> BOOST_FORCEINLINE
- OutPtr gil_reinterpret_cast( In* p) { return static_cast<OutPtr>(static_cast<void*>(p)); }
+template <typename OutPtr, typename In>
+BOOST_FORCEINLINE
+OutPtr gil_reinterpret_cast(In* p)
+{
+ return static_cast<OutPtr>(static_cast<void*>(p));
+}
template <typename OutPtr, typename In> BOOST_FORCEINLINE
-const OutPtr gil_reinterpret_cast_c(const In* p) { return static_cast<const OutPtr>(static_cast<const void*>(p)); }
+const OutPtr gil_reinterpret_cast_c(const In* p)
+{
+ return static_cast<const OutPtr>(static_cast<const void*>(p));
+}
namespace detail {
-////////////////////////////////////////////////////////////////////////////////////////
-///
+////////////////////////////////////////////////////////////////////////////////
/// \brief copy_n taken from SGI STL.
-///
-////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
template <class InputIter, class Size, class OutputIter>
std::pair<InputIter, OutputIter> _copy_n(InputIter first, Size count,
- OutputIter result,
- std::input_iterator_tag) {
- for ( ; count > 0; --count) {
+ OutputIter result, std::input_iterator_tag)
+{
+ for ( ; count > 0; --count)
+ {
*result = *first;
++first;
++result;
@@ -243,100 +168,108 @@ std::pair<InputIter, OutputIter> _copy_n(InputIter first, Size count,
template <class RAIter, class Size, class OutputIter>
inline std::pair<RAIter, OutputIter>
-_copy_n(RAIter first, Size count, OutputIter result, std::random_access_iterator_tag) {
+_copy_n(RAIter first, Size count, OutputIter result, std::random_access_iterator_tag)
+{
RAIter last = first + count;
return std::pair<RAIter, OutputIter>(last, std::copy(first, last, result));
}
template <class InputIter, class Size, class OutputIter>
inline std::pair<InputIter, OutputIter>
-_copy_n(InputIter first, Size count, OutputIter result) {
+_copy_n(InputIter first, Size count, OutputIter result)
+{
return _copy_n(first, count, result, typename std::iterator_traits<InputIter>::iterator_category());
}
template <class InputIter, class Size, class OutputIter>
inline std::pair<InputIter, OutputIter>
-copy_n(InputIter first, Size count, OutputIter result) {
+copy_n(InputIter first, Size count, OutputIter result)
+{
return detail::_copy_n(first, count, result);
}
/// \brief identity taken from SGI STL.
template <typename T>
-struct identity {
+struct identity
+{
typedef T argument_type;
typedef T result_type;
const T& operator()(const T& val) const { return val; }
};
-/*************************************************************************************************/
-
/// \brief plus function object whose arguments may be of different type.
template <typename T1, typename T2>
struct plus_asymmetric {
typedef T1 first_argument_type;
typedef T2 second_argument_type;
typedef T1 result_type;
- T1 operator()(T1 f1, T2 f2) const {
+ T1 operator()(T1 f1, T2 f2) const
+ {
return f1+f2;
}
};
-/*************************************************************************************************/
-
/// \brief operator++ wrapped in a function object
template <typename T>
-struct inc {
+struct inc
+{
typedef T argument_type;
typedef T result_type;
T operator()(T x) const { return ++x; }
};
-/*************************************************************************************************/
-
/// \brief operator-- wrapped in a function object
template <typename T>
-struct dec {
+struct dec
+{
typedef T argument_type;
typedef T result_type;
T operator()(T x) const { return --x; }
};
-/// \brief Returns the index corresponding to the first occurrance of a given given type in
+/// \brief Returns the index corresponding to the first occurrance of a given given type in
// a given MPL RandomAccessSequence (or size if the type is not present)
template <typename Types, typename T>
-struct type_to_index
- : public mpl::distance<typename mpl::begin<Types>::type,
- typename mpl::find<Types,T>::type>::type {};
+struct type_to_index
+ : public mpl::distance
+ <
+ typename mpl::begin<Types>::type,
+ typename mpl::find<Types,T>::type
+ >::type
+ {
+ };
} // namespace detail
-
-
/// \ingroup ColorSpaceAndLayoutModel
/// \brief Represents a color space and ordering of channels in memory
-template <typename ColorSpace, typename ChannelMapping = mpl::range_c<int,0,mpl::size<ColorSpace>::value> >
-struct layout {
+template <typename ColorSpace, typename ChannelMapping = mpl::range_c<int,0,mpl::size<ColorSpace>::value>>
+struct layout
+{
typedef ColorSpace color_space_t;
typedef ChannelMapping channel_mapping_t;
};
/// \brief A version of swap that also works with reference proxy objects
template <typename Value, typename T1, typename T2> // where value_type<T1> == value_type<T2> == Value
-void swap_proxy(T1& left, T2& right) {
+void swap_proxy(T1& left, T2& right)
+{
Value tmp = left;
left = right;
right = tmp;
}
/// \brief Run-time detection of whether the underlying architecture is little endian
-inline bool little_endian() {
+BOOST_FORCEINLINE bool little_endian()
+{
short tester = 0x0001;
return *(char*)&tester!=0;
}
/// \brief Run-time detection of whether the underlying architecture is big endian
-inline bool big_endian() {
+BOOST_FORCEINLINE bool big_endian()
+{
return !little_endian();
}
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/gil/version.hpp b/boost/gil/version.hpp
index 660f97e970..5fd5a51577 100644
--- a/boost/gil/version.hpp
+++ b/boost/gil/version.hpp
@@ -1,27 +1,22 @@
//
// Copyright (c) 2018 Christian Henning (chhenning at gmail dot com)
//
-// 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)
+// 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
//
-// Official repository: https://github.com/boostorg/gil
-//
-
#ifndef BOOST_GIL_VERSION_HPP
#define BOOST_GIL_VERSION_HPP
-/** @def BOOST_GIL_API_VERSION
- Identifies the API version of gil.
- This is a simple integer that is incremented by one every
- time a set of code changes is merged to the develop branch.
-*/
+/// @def BOOST_GIL_API_VERSION
+/// Identifies the API version of gil.
+/// This is a simple integer that is incremented by one every
+/// time a set of code changes is merged to the develop branch.
#define BOOST_GIL_VERSION 22
-/**
-// BOOST_GIL_LIB_VERSION must be defined to be the same as BOOST_GIL_VERSION
-// but as a *string* in the form "x_y[_z]" where x is the major version
-// number, y is the minor version number, and z is the patch level if not 0.
-*/
+// BOOST_GIL_LIB_VERSION must be defined to be the same as BOOST_GIL_VERSION
+// but as a *string* in the form "x_y[_z]" where x is the major version
+// number, y is the minor version number, and z is the patch level if not 0.
#define BOOST_GIL_LIB_VERSION "2_2"
-#endif \ No newline at end of file
+#endif
diff --git a/boost/gil/virtual_locator.hpp b/boost/gil/virtual_locator.hpp
index 2e858f3b2c..44997d559d 100644
--- a/boost/gil/virtual_locator.hpp
+++ b/boost/gil/virtual_locator.hpp
@@ -1,29 +1,16 @@
-/*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-
- See http://opensource.adobe.com/gil for most recent version including documentation.
-*/
-
-/*************************************************************************************************/
-
-#ifndef GIL_VIRTUAL_LOCATOR_HPP
-#define GIL_VIRTUAL_LOCATOR_HPP
-
-////////////////////////////////////////////////////////////////////////////////////////
-/// \file
-/// \brief Locator for virtual image views
-/// \author Lubomir Bourdev and Hailin Jin \n
-/// Adobe Systems Incorporated
-/// \date 2005-2007 \n Last updated on February 12, 2007
-///
-////////////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright 2005-2007 Adobe Systems Incorporated
+//
+// Distributed under the Boost Software License, Version 1.0
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+//
+#ifndef BOOST_GIL_VIRTUAL_LOCATOR_HPP
+#define BOOST_GIL_VIRTUAL_LOCATOR_HPP
+
+#include <boost/gil/position_iterator.hpp>
#include <boost/iterator/iterator_facade.hpp>
-#include "position_iterator.hpp"
namespace boost { namespace gil {
@@ -131,6 +118,6 @@ struct transposed_type<virtual_2d_locator<D,IsTransposed> > {
typedef virtual_2d_locator<D,1-IsTransposed> type;
};
-} } // namespace boost::gil
+}} // namespace boost::gil
#endif
diff --git a/boost/heap/binomial_heap.hpp b/boost/heap/binomial_heap.hpp
index a6f75c3aee..dd2eeda979 100644
--- a/boost/heap/binomial_heap.hpp
+++ b/boost/heap/binomial_heap.hpp
@@ -19,6 +19,7 @@
#include <boost/heap/detail/heap_node.hpp>
#include <boost/heap/detail/stable_heap.hpp>
#include <boost/heap/detail/tree_iterator.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
@@ -48,7 +49,7 @@ struct make_binomial_heap_base
{
static const bool constant_time_size = parameter::binding<Parspec,
tag::constant_time_size,
- boost::mpl::true_
+ boost::true_type
>::type::value;
typedef typename detail::make_heap_base<T, Parspec, constant_time_size>::type base_type;
typedef typename detail::make_heap_base<T, Parspec, constant_time_size>::allocator_argument allocator_argument;
@@ -56,7 +57,11 @@ struct make_binomial_heap_base
typedef parent_pointing_heap_node<typename base_type::internal_type> node_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_argument::template rebind<node_type>::other allocator_type;
+#else
+ typedef typename std::allocator_traits<allocator_argument>::template rebind_alloc<node_type> allocator_type;
+#endif
struct type:
base_type,
@@ -157,8 +162,14 @@ private:
typedef typename base_maker::allocator_type allocator_type;
typedef typename base_maker::node_type node;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_type::pointer node_pointer;
typedef typename allocator_type::const_pointer const_node_pointer;
+#else
+ typedef std::allocator_traits<allocator_type> allocator_traits;
+ typedef typename allocator_traits::pointer node_pointer;
+ typedef typename allocator_traits::const_pointer const_node_pointer;
+#endif
typedef detail::node_handle<node_pointer, super_t, reference> handle_type;
@@ -199,6 +210,9 @@ public:
typedef typename implementation_defined::difference_type difference_type;
typedef typename implementation_defined::value_compare value_compare;
typedef typename implementation_defined::allocator_type allocator_type;
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename implementation_defined::allocator_traits allocator_traits;
+#endif
typedef typename implementation_defined::reference reference;
typedef typename implementation_defined::const_reference const_reference;
typedef typename implementation_defined::pointer pointer;
@@ -303,7 +317,12 @@ public:
/// \copydoc boost::heap::priority_queue::max_size
size_type max_size(void) const
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
return allocator_type::max_size();
+#else
+ const allocator_type& alloc = *this;
+ return allocator_traits::max_size(alloc);
+#endif
}
/// \copydoc boost::heap::priority_queue::clear
@@ -346,9 +365,14 @@ public:
* */
handle_type push(value_type const & v)
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
node_pointer n = allocator_type::allocate(1);
new(n) node_type(super_t::make_node(v));
-
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(v));
+#endif
insert_node(trees.begin(), n);
if (!top_element || super_t::operator()(top_element->value, n->value))
@@ -369,9 +393,14 @@ public:
template <class... Args>
handle_type emplace(Args&&... args)
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
node_pointer n = allocator_type::allocate(1);
new(n) node_type(super_t::make_node(std::forward<Args>(args)...));
-
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(std::forward<Args>(args)...));
+#endif
insert_node(trees.begin(), n);
if (!top_element || super_t::operator()(top_element->value, n->value))
@@ -421,8 +450,14 @@ public:
else
update_top_element();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
element->~node_type();
allocator_type::deallocate(element, 1);
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, element);
+ allocator_traits::deallocate(alloc, element, 1);
+#endif
sanity_check();
}
diff --git a/boost/heap/d_ary_heap.hpp b/boost/heap/d_ary_heap.hpp
index b3194be8a7..12ef99e465 100644
--- a/boost/heap/d_ary_heap.hpp
+++ b/boost/heap/d_ary_heap.hpp
@@ -1,4 +1,4 @@
-// // boost heap: d-ary heap as containter adaptor
+// // boost heap: d-ary heap as container adaptor
//
// Copyright (C) 2010 Tim Blechmann
//
@@ -66,7 +66,11 @@ class d_ary_heap:
typedef typename heap_base_maker::type super_t;
typedef typename super_t::internal_type internal_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename heap_base_maker::allocator_argument::template rebind<internal_type>::other internal_type_allocator;
+#else
+ typedef typename std::allocator_traits<typename heap_base_maker::allocator_argument>::template rebind_alloc<internal_type> internal_type_allocator;
+#endif
typedef std::vector<internal_type, internal_type_allocator> container_type;
typedef typename container_type::const_iterator container_iterator;
@@ -421,7 +425,7 @@ struct select_dary_heap
{
static const bool is_mutable = extract_mutable<BoundArgs>::value;
- typedef typename mpl::if_c< is_mutable,
+ typedef typename boost::conditional< is_mutable,
priority_queue_mutable_wrapper<d_ary_heap<T, BoundArgs, nop_index_updater > >,
d_ary_heap<T, BoundArgs, nop_index_updater >
>::type type;
@@ -585,7 +589,7 @@ public:
}
/// \copydoc boost::heap::priority_queue::push
- typename mpl::if_c<is_mutable, handle_type, void>::type push(value_type const & v)
+ typename boost::conditional<is_mutable, handle_type, void>::type push(value_type const & v)
{
return super_t::push(v);
}
@@ -593,7 +597,7 @@ public:
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
/// \copydoc boost::heap::priority_queue::emplace
template <class... Args>
- typename mpl::if_c<is_mutable, handle_type, void>::type emplace(Args&&... args)
+ typename boost::conditional<is_mutable, handle_type, void>::type emplace(Args&&... args)
{
return super_t::emplace(std::forward<Args>(args)...);
}
diff --git a/boost/heap/detail/heap_comparison.hpp b/boost/heap/detail/heap_comparison.hpp
index ca465ebcef..69d98145e7 100644
--- a/boost/heap/detail/heap_comparison.hpp
+++ b/boost/heap/detail/heap_comparison.hpp
@@ -13,6 +13,7 @@
#include <boost/static_assert.hpp>
#include <boost/concept/assert.hpp>
#include <boost/heap/heap_concepts.hpp>
+#include <boost/type_traits/conditional.hpp>
#ifdef BOOST_HEAP_SANITYCHECKS
#define BOOST_HEAP_ASSERT BOOST_ASSERT
@@ -136,7 +137,7 @@ bool heap_equality(Heap1 const & lhs, Heap2 const & rhs)
{
const bool use_ordered_iterators = Heap1::has_ordered_iterators && Heap2::has_ordered_iterators;
- typedef typename boost::mpl::if_c<use_ordered_iterators,
+ typedef typename boost::conditional<use_ordered_iterators,
heap_equivalence_iteration,
heap_equivalence_copy
>::type equivalence_check;
@@ -225,7 +226,7 @@ bool heap_compare(Heap1 const & lhs, Heap2 const & rhs)
{
const bool use_ordered_iterators = Heap1::has_ordered_iterators && Heap2::has_ordered_iterators;
- typedef typename boost::mpl::if_c<use_ordered_iterators,
+ typedef typename boost::conditional<use_ordered_iterators,
heap_compare_iteration,
heap_compare_copy
>::type compare_check;
diff --git a/boost/heap/detail/heap_node.hpp b/boost/heap/detail/heap_node.hpp
index c2eb011da8..8eb2541d67 100644
--- a/boost/heap/detail/heap_node.hpp
+++ b/boost/heap/detail/heap_node.hpp
@@ -12,7 +12,7 @@
#include <boost/assert.hpp>
#include <boost/static_assert.hpp>
#include <boost/intrusive/list.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/conditional.hpp>
#ifdef BOOST_HEAP_SANITYCHECKS
#define BOOST_HEAP_ASSERT BOOST_ASSERT
@@ -26,11 +26,10 @@ namespace heap {
namespace detail {
namespace bi = boost::intrusive;
-namespace mpl = boost::mpl;
template <bool auto_unlink = false>
struct heap_node_base:
- bi::list_base_hook<typename mpl::if_c<auto_unlink,
+ bi::list_base_hook<typename boost::conditional<auto_unlink,
bi::link_mode<bi::auto_unlink>,
bi::link_mode<bi::safe_link>
>::type
@@ -99,21 +98,35 @@ template <typename Node,
typename Alloc>
struct node_cloner
{
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef std::allocator_traits<Alloc> allocator_traits;
+#endif
+
node_cloner(Alloc & allocator):
allocator(allocator)
{}
Node * operator() (NodeBase const & node)
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
Node * ret = allocator.allocate(1);
new (ret) Node(static_cast<Node const &>(node), allocator);
+#else
+ Node * ret = allocator_traits::allocate(allocator, 1);
+ allocator_traits::construct(allocator, ret, static_cast<Node const &>(node), allocator);
+#endif
return ret;
}
Node * operator() (NodeBase const & node, Node * parent)
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
Node * ret = allocator.allocate(1);
new (ret) Node(static_cast<Node const &>(node), allocator, parent);
+#else
+ Node * ret = allocator_traits::allocate(allocator, 1);
+ allocator_traits::construct(allocator, ret, static_cast<Node const &>(node), allocator, parent);
+#endif
return ret;
}
@@ -132,7 +145,12 @@ template <typename Node,
typename Alloc>
struct node_disposer
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename Alloc::pointer node_pointer;
+#else
+ typedef std::allocator_traits<Alloc> allocator_traits;
+ typedef typename allocator_traits::pointer node_pointer;
+#endif
node_disposer(Alloc & alloc):
alloc_(alloc)
@@ -142,8 +160,13 @@ struct node_disposer
{
node_pointer n = static_cast<node_pointer>(base);
n->clear_subtree(alloc_);
+#ifdef BOOST_NO_CXX11_ALLOCATOR
alloc_.destroy(n);
alloc_.deallocate(n, 1);
+#else
+ allocator_traits::destroy(alloc_, n);
+ allocator_traits::deallocate(alloc_, n, 1);
+#endif
}
Alloc & alloc_;
diff --git a/boost/heap/detail/mutable_heap.hpp b/boost/heap/detail/mutable_heap.hpp
index ba2c43c5ed..f0d2d69551 100644
--- a/boost/heap/detail/mutable_heap.hpp
+++ b/boost/heap/detail/mutable_heap.hpp
@@ -47,7 +47,11 @@ public:
private:
typedef std::pair<value_type, size_type> node_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef std::list<node_type, typename allocator_type::template rebind<node_type>::other> object_list;
+#else
+ typedef std::list<node_type, typename std::allocator_traits<allocator_type>::template rebind_alloc<node_type>> object_list;
+#endif
typedef typename object_list::iterator list_iterator;
typedef typename object_list::const_iterator const_list_iterator;
@@ -296,7 +300,11 @@ public:
}
std::priority_queue<iterator,
+#ifdef BOOST_NO_CXX11_ALLOCATOR
std::vector<iterator, typename allocator_type::template rebind<iterator>::other >,
+#else
+ std::vector<iterator, typename std::allocator_traits<allocator_type>::template rebind_alloc<iterator> >,
+#endif
indirect_cmp
> unvisited_nodes;
const priority_queue_mutable_wrapper * q_;
diff --git a/boost/heap/detail/ordered_adaptor_iterator.hpp b/boost/heap/detail/ordered_adaptor_iterator.hpp
index e2cbf1f39c..e050e1b6ed 100644
--- a/boost/heap/detail/ordered_adaptor_iterator.hpp
+++ b/boost/heap/detail/ordered_adaptor_iterator.hpp
@@ -133,7 +133,11 @@ private:
}
std::priority_queue<size_t,
+#ifdef BOOST_NO_CXX11_ALLOCATOR
std::vector<size_t, typename Alloc::template rebind<size_t>::other >,
+#else
+ std::vector<size_t, typename std::allocator_traits<Alloc>::template rebind_alloc<size_t> >,
+#endif
compare_by_heap_value
> unvisited_nodes;
};
diff --git a/boost/heap/detail/stable_heap.hpp b/boost/heap/detail/stable_heap.hpp
index 29efc48b50..b207ed39af 100644
--- a/boost/heap/detail/stable_heap.hpp
+++ b/boost/heap/detail/stable_heap.hpp
@@ -566,12 +566,22 @@ struct make_heap_base
template <typename Alloc>
struct extract_allocator_types
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename Alloc::size_type size_type;
typedef typename Alloc::difference_type difference_type;
typedef typename Alloc::reference reference;
typedef typename Alloc::const_reference const_reference;
typedef typename Alloc::pointer pointer;
typedef typename Alloc::const_pointer const_pointer;
+#else
+ typedef std::allocator_traits<Alloc> traits;
+ typedef typename traits::size_type size_type;
+ typedef typename traits::difference_type difference_type;
+ typedef typename Alloc::value_type& reference;
+ typedef typename Alloc::value_type const& const_reference;
+ typedef typename traits::pointer pointer;
+ typedef typename traits::const_pointer const_pointer;
+#endif
};
diff --git a/boost/heap/detail/tree_iterator.hpp b/boost/heap/detail/tree_iterator.hpp
index c7ab2e80b3..4a16565f6d 100644
--- a/boost/heap/detail/tree_iterator.hpp
+++ b/boost/heap/detail/tree_iterator.hpp
@@ -13,6 +13,7 @@
#include <vector>
#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <queue>
namespace boost {
@@ -80,7 +81,11 @@ struct unordered_tree_iterator_storage
return data_.empty();
}
+#ifdef BOOST_NO_CXX11_ALLOCATOR
std::vector<HandleType, typename Alloc::template rebind<HandleType>::other > data_;
+#else
+ std::vector<HandleType, typename std::allocator_traits<Alloc>::template rebind_alloc<HandleType> > data_;
+#endif
};
template <typename ValueType,
@@ -133,7 +138,11 @@ struct ordered_tree_iterator_storage:
}
std::priority_queue<HandleType,
+#ifdef BOOST_NO_CXX11_ALLOCATOR
std::vector<HandleType, typename Alloc::template rebind<HandleType>::other>,
+#else
+ std::vector<HandleType, typename std::allocator_traits<Alloc>::template rebind_alloc<HandleType> >,
+#endif
compare_values_by_handle> data_;
};
@@ -187,7 +196,7 @@ class tree_iterator:
friend class boost::iterator_core_access;
- typedef typename boost::mpl::if_c< ordered_iterator,
+ typedef typename boost::conditional< ordered_iterator,
ordered_tree_iterator_storage<ValueType, const Node*, Alloc, ValueCompare, ValueExtractor>,
unordered_tree_iterator_storage<const Node*, Alloc, ValueCompare>
>::type
diff --git a/boost/heap/fibonacci_heap.hpp b/boost/heap/fibonacci_heap.hpp
index 10a1ce3a5e..c54fcb09d3 100644
--- a/boost/heap/fibonacci_heap.hpp
+++ b/boost/heap/fibonacci_heap.hpp
@@ -20,6 +20,7 @@
#include <boost/heap/detail/heap_node.hpp>
#include <boost/heap/detail/stable_heap.hpp>
#include <boost/heap/detail/tree_iterator.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
@@ -50,7 +51,7 @@ struct make_fibonacci_heap_base
{
static const bool constant_time_size = parameter::binding<Parspec,
tag::constant_time_size,
- boost::mpl::true_
+ boost::true_type
>::type::value;
typedef typename detail::make_heap_base<T, Parspec, constant_time_size>::type base_type;
@@ -58,7 +59,11 @@ struct make_fibonacci_heap_base
typedef typename detail::make_heap_base<T, Parspec, constant_time_size>::compare_argument compare_argument;
typedef marked_heap_node<typename base_type::internal_type> node_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_argument::template rebind<node_type>::other allocator_type;
+#else
+ typedef typename std::allocator_traits<allocator_argument>::template rebind_alloc<node_type> allocator_type;
+#endif
struct type:
base_type,
@@ -154,8 +159,14 @@ private:
typedef typename base_maker::compare_argument value_compare;
typedef typename base_maker::allocator_type allocator_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_type::pointer node_pointer;
typedef typename allocator_type::const_pointer const_node_pointer;
+#else
+ typedef std::allocator_traits<allocator_type> allocator_traits;
+ typedef typename allocator_traits::pointer node_pointer;
+ typedef typename allocator_traits::const_pointer const_node_pointer;
+#endif
typedef detail::heap_node_list node_list_type;
typedef typename node_list_type::iterator node_list_iterator;
@@ -201,6 +212,9 @@ public:
typedef typename implementation_defined::difference_type difference_type;
typedef typename implementation_defined::value_compare value_compare;
typedef typename implementation_defined::allocator_type allocator_type;
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename implementation_defined::allocator_traits allocator_traits;
+#endif
typedef typename implementation_defined::reference reference;
typedef typename implementation_defined::const_reference const_reference;
typedef typename implementation_defined::pointer pointer;
@@ -299,7 +313,12 @@ public:
/// \copydoc boost::heap::priority_queue::max_size
size_type max_size(void) const
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
return allocator_type::max_size();
+#else
+ const allocator_type& alloc = *this;
+ return allocator_traits::max_size(alloc);
+#endif
}
/// \copydoc boost::heap::priority_queue::clear
@@ -347,9 +366,14 @@ public:
{
size_holder::increment();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
node_pointer n = allocator_type::allocate(1);
-
new(n) node(super_t::make_node(v));
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(v));
+#endif
roots.push_front(*n);
if (!top_element || super_t::operator()(top_element->value, n->value))
@@ -371,9 +395,14 @@ public:
{
size_holder::increment();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
node_pointer n = allocator_type::allocate(1);
-
new(n) node(super_t::make_node(std::forward<Args>(args)...));
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(std::forward<Args>(args)...));
+#endif
roots.push_front(*n);
if (!top_element || super_t::operator()(top_element->value, n->value))
@@ -741,8 +770,14 @@ private:
{
add_children_to_root(erased_node);
+#ifdef BOOST_NO_CXX11_ALLOCATOR
erased_node->~node();
allocator_type::deallocate(erased_node, 1);
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, erased_node);
+ allocator_traits::deallocate(alloc, erased_node, 1);
+#endif
size_holder::decrement();
if (!empty())
diff --git a/boost/heap/heap_merge.hpp b/boost/heap/heap_merge.hpp
index 615b492ed5..3aaa4cf587 100644
--- a/boost/heap/heap_merge.hpp
+++ b/boost/heap/heap_merge.hpp
@@ -9,8 +9,11 @@
#ifndef BOOST_HEAP_MERGE_HPP
#define BOOST_HEAP_MERGE_HPP
+#include <algorithm>
+
#include <boost/concept/assert.hpp>
#include <boost/heap/heap_concepts.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/type_traits/is_same.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
@@ -39,7 +42,7 @@ struct heap_merge_emulate
}
};
- typedef typename boost::mpl::if_c<Heap1::has_reserve,
+ typedef typename boost::conditional<Heap1::has_reserve,
reserver,
dummy_reserver>::type space_reserver;
@@ -83,7 +86,7 @@ template <typename Heap>
struct heap_merge_same
{
static const bool is_mergable = Heap::is_mergable;
- typedef typename boost::mpl::if_c<is_mergable,
+ typedef typename boost::conditional<is_mergable,
heap_merge_same_mergable<Heap>,
heap_merge_emulate<Heap, Heap>
>::type heap_merger;
@@ -115,7 +118,7 @@ void heap_merge(Heap1 & lhs, Heap2 & rhs)
const bool same_heaps = boost::is_same<Heap1, Heap2>::value;
- typedef typename boost::mpl::if_c<same_heaps,
+ typedef typename boost::conditional<same_heaps,
detail::heap_merge_same<Heap1>,
detail::heap_merge_emulate<Heap1, Heap2>
>::type heap_merger;
diff --git a/boost/heap/pairing_heap.hpp b/boost/heap/pairing_heap.hpp
index a2bf65472c..d402dfc414 100644
--- a/boost/heap/pairing_heap.hpp
+++ b/boost/heap/pairing_heap.hpp
@@ -20,6 +20,7 @@
#include <boost/heap/policies.hpp>
#include <boost/heap/detail/stable_heap.hpp>
#include <boost/heap/detail/tree_iterator.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
@@ -50,7 +51,7 @@ struct make_pairing_heap_base
{
static const bool constant_time_size = parameter::binding<Parspec,
tag::constant_time_size,
- boost::mpl::true_
+ boost::true_type
>::type::value;
typedef typename detail::make_heap_base<T, Parspec, constant_time_size>::type base_type;
typedef typename detail::make_heap_base<T, Parspec, constant_time_size>::allocator_argument allocator_argument;
@@ -58,7 +59,11 @@ struct make_pairing_heap_base
typedef heap_node<typename base_type::internal_type, false> node_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_argument::template rebind<node_type>::other allocator_type;
+#else
+ typedef typename std::allocator_traits<allocator_argument>::template rebind_alloc<node_type> allocator_type;
+#endif
struct type:
base_type,
@@ -158,8 +163,14 @@ private:
typedef typename base_maker::compare_argument value_compare;
typedef typename base_maker::allocator_type allocator_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_type::pointer node_pointer;
typedef typename allocator_type::const_pointer const_node_pointer;
+#else
+ typedef std::allocator_traits<allocator_type> allocator_traits;
+ typedef typename allocator_traits::pointer node_pointer;
+ typedef typename allocator_traits::const_pointer const_node_pointer;
+#endif
typedef detail::heap_node_list node_list_type;
typedef typename node_list_type::iterator node_list_iterator;
@@ -213,6 +224,9 @@ public:
typedef typename implementation_defined::difference_type difference_type;
typedef typename implementation_defined::value_compare value_compare;
typedef typename implementation_defined::allocator_type allocator_type;
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename implementation_defined::allocator_traits allocator_traits;
+#endif
typedef typename implementation_defined::reference reference;
typedef typename implementation_defined::const_reference const_reference;
typedef typename implementation_defined::pointer pointer;
@@ -302,7 +316,12 @@ public:
/// \copydoc boost::heap::priority_queue::max_size
size_type max_size(void) const
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
return allocator_type::max_size();
+#else
+ const allocator_type& alloc = *this;
+ return allocator_traits::max_size(alloc);
+#endif
}
/// \copydoc boost::heap::priority_queue::clear
@@ -312,8 +331,14 @@ public:
return;
root->template clear_subtree<allocator_type>(*this);
+#ifdef BOOST_NO_CXX11_ALLOCATOR
root->~node();
allocator_type::deallocate(root, 1);
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, root);
+ allocator_traits::deallocate(alloc, root, 1);
+#endif
root = NULL;
size_holder::set_size(0);
}
@@ -354,10 +379,14 @@ public:
{
size_holder::increment();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
node_pointer n = allocator_type::allocate(1);
-
new(n) node(super_t::make_node(v));
-
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(v));
+#endif
merge_node(n);
return handle_type(n);
}
@@ -378,10 +407,14 @@ public:
{
size_holder::increment();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
node_pointer n = allocator_type::allocate(1);
-
new(n) node(super_t::make_node(std::forward<Args>(args)...));
-
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(std::forward<Args>(args)...));
+#endif
merge_node(n);
return handle_type(n);
}
@@ -527,8 +560,14 @@ public:
}
size_holder::decrement();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
n->~node();
allocator_type::deallocate(n, 1);
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, n);
+ allocator_traits::deallocate(alloc, n, 1);
+#endif
}
/// \copydoc boost::heap::priority_queue::begin
diff --git a/boost/heap/policies.hpp b/boost/heap/policies.hpp
index 5a44dafd10..6bdba2bff2 100644
--- a/boost/heap/policies.hpp
+++ b/boost/heap/policies.hpp
@@ -10,10 +10,10 @@
#define BOOST_HEAP_POLICIES_HPP
#include <boost/parameter.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/void.hpp>
#include <boost/concept_check.hpp>
+#include <boost/type_traits/conditional.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/is_void.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
@@ -30,14 +30,14 @@ namespace tag { struct stable; }
template <bool T>
struct stable:
- boost::parameter::template_keyword<tag::stable, boost::mpl::bool_<T> >
+ boost::parameter::template_keyword<tag::stable, boost::integral_constant<bool, T> >
{};
namespace tag { struct mutable_; }
template <bool T>
struct mutable_:
- boost::parameter::template_keyword<tag::mutable_, boost::mpl::bool_<T> >
+ boost::parameter::template_keyword<tag::mutable_, boost::integral_constant<bool, T> >
{};
@@ -45,41 +45,39 @@ namespace tag { struct constant_time_size; }
template <bool T>
struct constant_time_size:
- boost::parameter::template_keyword<tag::constant_time_size, boost::mpl::bool_<T> >
+ boost::parameter::template_keyword<tag::constant_time_size, boost::integral_constant<bool, T> >
{};
namespace tag { struct store_parent_pointer; }
template <bool T>
struct store_parent_pointer:
- boost::parameter::template_keyword<tag::store_parent_pointer, boost::mpl::bool_<T> >
+ boost::parameter::template_keyword<tag::store_parent_pointer, boost::integral_constant<bool, T> >
{};
namespace tag { struct arity; }
template <unsigned int T>
struct arity:
- boost::parameter::template_keyword<tag::arity, boost::mpl::int_<T> >
+ boost::parameter::template_keyword<tag::arity, boost::integral_constant<int, T> >
{};
namespace tag { struct objects_per_page; }
template <unsigned int T>
struct objects_per_page:
- boost::parameter::template_keyword<tag::objects_per_page, boost::mpl::int_<T> >
+ boost::parameter::template_keyword<tag::objects_per_page, boost::integral_constant<int, T> >
{};
BOOST_PARAMETER_TEMPLATE_KEYWORD(stability_counter_type)
namespace detail {
-namespace mpl = boost::mpl;
-
template <typename bound_args, typename tag_type>
struct has_arg
{
- typedef typename boost::parameter::binding<bound_args, tag_type, mpl::void_>::type type;
- static const bool value = mpl::is_not_void_<type>::type::value;
+ typedef typename boost::parameter::binding<bound_args, tag_type, void>::type type;
+ static const bool value = !boost::is_void<type>::value;
};
template <typename bound_args>
@@ -87,9 +85,9 @@ struct extract_stable
{
static const bool has_stable = has_arg<bound_args, tag::stable>::value;
- typedef typename mpl::if_c<has_stable,
+ typedef typename boost::conditional<has_stable,
typename has_arg<bound_args, tag::stable>::type,
- mpl::bool_<false>
+ boost::false_type
>::type stable_t;
static const bool value = stable_t::value;
@@ -100,9 +98,9 @@ struct extract_mutable
{
static const bool has_mutable = has_arg<bound_args, tag::mutable_>::value;
- typedef typename mpl::if_c<has_mutable,
+ typedef typename boost::conditional<has_mutable,
typename has_arg<bound_args, tag::mutable_>::type,
- mpl::bool_<false>
+ boost::false_type
>::type mutable_t;
static const bool value = mutable_t::value;
diff --git a/boost/heap/priority_queue.hpp b/boost/heap/priority_queue.hpp
index fe2470dc22..276f192a74 100644
--- a/boost/heap/priority_queue.hpp
+++ b/boost/heap/priority_queue.hpp
@@ -67,7 +67,11 @@ class priority_queue:
typedef typename heap_base_maker::type super_t;
typedef typename super_t::internal_type internal_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename heap_base_maker::allocator_argument::template rebind<internal_type>::other internal_type_allocator;
+#else
+ typedef typename std::allocator_traits<typename heap_base_maker::allocator_argument>::template rebind_alloc<internal_type> internal_type_allocator;
+#endif
typedef std::vector<internal_type, internal_type_allocator> container_type;
template <typename Heap1, typename Heap2>
@@ -83,6 +87,9 @@ class priority_queue:
typedef detail::stable_heap_iterator<T, typename container_type::const_iterator, super_t> iterator;
typedef iterator const_iterator;
typedef typename container_type::allocator_type allocator_type;
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename std::allocator_traits<allocator_type> allocator_traits;
+#endif
};
#endif
@@ -92,6 +99,9 @@ public:
typedef typename implementation_defined::difference_type difference_type;
typedef typename implementation_defined::value_compare value_compare;
typedef typename implementation_defined::allocator_type allocator_type;
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename implementation_defined::allocator_traits allocator_traits;
+#endif
typedef typename implementation_defined::reference reference;
typedef typename implementation_defined::const_reference const_reference;
typedef typename implementation_defined::pointer pointer;
diff --git a/boost/heap/skew_heap.hpp b/boost/heap/skew_heap.hpp
index e68e4e46ab..5199ae66bd 100644
--- a/boost/heap/skew_heap.hpp
+++ b/boost/heap/skew_heap.hpp
@@ -20,6 +20,7 @@
#include <boost/heap/detail/heap_node.hpp>
#include <boost/heap/detail/stable_heap.hpp>
#include <boost/heap/detail/tree_iterator.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
@@ -178,7 +179,7 @@ struct make_skew_heap_base
{
static const bool constant_time_size = parameter::binding<BoundArgs,
tag::constant_time_size,
- boost::mpl::true_
+ boost::true_type
>::type::value;
typedef typename make_heap_base<T, BoundArgs, constant_time_size>::type base_type;
@@ -188,11 +189,15 @@ struct make_skew_heap_base
static const bool is_mutable = extract_mutable<BoundArgs>::value;
static const bool store_parent_pointer = parameter::binding<BoundArgs,
tag::store_parent_pointer,
- boost::mpl::false_>::type::value || is_mutable;
+ boost::false_type>::type::value || is_mutable;
typedef skew_heap_node<typename base_type::internal_type, store_parent_pointer> node_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_argument::template rebind<node_type>::other allocator_type;
+#else
+ typedef typename std::allocator_traits<allocator_argument>::template rebind_alloc<node_type> allocator_type;
+#endif
struct type:
base_type,
@@ -290,15 +295,21 @@ class skew_heap:
typedef typename base_maker::allocator_type allocator_type;
typedef typename base_maker::node_type node;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_type::pointer node_pointer;
typedef typename allocator_type::const_pointer const_node_pointer;
+#else
+ typedef std::allocator_traits<allocator_type> allocator_traits;
+ typedef typename allocator_traits::pointer node_pointer;
+ typedef typename allocator_traits::const_pointer const_node_pointer;
+#endif
typedef detail::value_extractor<value_type, internal_type, super_t> value_extractor;
typedef boost::array<node_pointer, 2> child_list_type;
typedef typename child_list_type::iterator child_list_iterator;
- typedef typename boost::mpl::if_c<false,
+ typedef typename boost::conditional<false,
detail::recursive_tree_iterator<node,
child_list_iterator,
const value_type,
@@ -345,6 +356,9 @@ public:
typedef typename implementation_defined::difference_type difference_type;
typedef typename implementation_defined::value_compare value_compare;
typedef typename implementation_defined::allocator_type allocator_type;
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename implementation_defined::allocator_traits allocator_traits;
+#endif
typedef typename implementation_defined::reference reference;
typedef typename implementation_defined::const_reference const_reference;
typedef typename implementation_defined::pointer pointer;
@@ -362,7 +376,7 @@ public:
static const bool has_reserve = false;
static const bool is_mutable = detail::extract_mutable<bound_args>::value;
- typedef typename mpl::if_c<is_mutable, typename implementation_defined::handle_type, void*>::type handle_type;
+ typedef typename boost::conditional<is_mutable, typename implementation_defined::handle_type, void*>::type handle_type;
/// \copydoc boost::heap::priority_queue::priority_queue(value_compare const &)
explicit skew_heap(value_compare const & cmp = value_compare()):
@@ -420,9 +434,9 @@ public:
* \b Complexity: Logarithmic (amortized).
*
* */
- typename mpl::if_c<is_mutable, handle_type, void>::type push(value_type const & v)
+ typename boost::conditional<is_mutable, handle_type, void>::type push(value_type const & v)
{
- typedef typename mpl::if_c<is_mutable, push_handle, push_void>::type push_helper;
+ typedef typename boost::conditional<is_mutable, push_handle, push_void>::type push_helper;
return push_helper::push(this, v);
}
@@ -434,9 +448,9 @@ public:
*
* */
template <typename... Args>
- typename mpl::if_c<is_mutable, handle_type, void>::type emplace(Args&&... args)
+ typename boost::conditional<is_mutable, handle_type, void>::type emplace(Args&&... args)
{
- typedef typename mpl::if_c<is_mutable, push_handle, push_void>::type push_helper;
+ typedef typename boost::conditional<is_mutable, push_handle, push_void>::type push_helper;
return push_helper::emplace(this, std::forward<Args>(args)...);
}
#endif
@@ -462,7 +476,12 @@ public:
/// \copydoc boost::heap::priority_queue::max_size
size_type max_size(void) const
{
+#ifdef BOOST_NO_CXX11_ALLOCATOR
return allocator_type::max_size();
+#else
+ const allocator_type& alloc = *this;
+ return allocator_traits::max_size(alloc);
+#endif
}
/// \copydoc boost::heap::priority_queue::clear
@@ -472,9 +491,14 @@ public:
return;
root->template clear_subtree<allocator_type>(*this);
+#ifdef BOOST_NO_CXX11_ALLOCATOR
root->~node();
allocator_type::deallocate(root, 1);
-
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, root);
+ allocator_traits::deallocate(alloc, root, 1);
+#endif
root = NULL;
size_holder::set_size(0);
}
@@ -521,7 +545,14 @@ public:
BOOST_HEAP_ASSERT(size_holder::get_size() == 0);
top->~node();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+ top->~node();
allocator_type::deallocate(top, 1);
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, top);
+ allocator_traits::deallocate(alloc, top, 1);
+#endif
sanity_check();
}
@@ -642,8 +673,14 @@ public:
size_holder::decrement();
sanity_check();
+#ifdef BOOST_NO_CXX11_ALLOCATOR
this_node->~node();
allocator_type::deallocate(this_node, 1);
+#else
+ allocator_type& alloc = *this;
+ allocator_traits::destroy(alloc, this_node);
+ allocator_traits::deallocate(alloc, this_node, 1);
+#endif
}
/**
@@ -794,9 +831,14 @@ private:
{
size_holder::increment();
- node_pointer n = super_t::allocate(1);
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+ node_pointer n = allocator_type::allocate(1);
new(n) node(super_t::make_node(v));
-
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(v));
+#endif
merge_node(n);
return n;
}
@@ -807,9 +849,14 @@ private:
{
size_holder::increment();
- node_pointer n = super_t::allocate(1);
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+ node_pointer n = allocator_type::allocate(1);
new(n) node(super_t::make_node(std::forward<Args>(args)...));
-
+#else
+ allocator_type& alloc = *this;
+ node_pointer n = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, n, super_t::make_node(std::forward<Args>(args)...));
+#endif
merge_node(n);
return n;
}
@@ -836,9 +883,14 @@ private:
if (rhs.empty())
return;
+ allocator_type& alloc = *this;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
root = allocator_type::allocate(1);
-
- new(root) node(*rhs.root, static_cast<allocator_type&>(*this), NULL);
+ new(root) node(*rhs.root, alloc, NULL);
+#else
+ root = allocator_traits::allocate(alloc, 1);
+ allocator_traits::construct(alloc, root, *rhs.root, alloc, nullptr);
+#endif
}
void merge_node(node_pointer other)
diff --git a/boost/integer/common_factor_rt.hpp b/boost/integer/common_factor_rt.hpp
index 341b316501..d79a9c574d 100644
--- a/boost/integer/common_factor_rt.hpp
+++ b/boost/integer/common_factor_rt.hpp
@@ -223,7 +223,7 @@ namespace boost {
template <> struct gcd_traits<unsigned char> : public gcd_traits_defaults<unsigned char>
{ BOOST_FORCEINLINE static unsigned make_odd(unsigned char& val)BOOST_NOEXCEPT{ unsigned result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
template <> struct gcd_traits<signed char> : public gcd_traits_defaults<signed char>
- { BOOST_FORCEINLINE static signed make_odd(signed char& val)BOOST_NOEXCEPT{ signed result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
+ { BOOST_FORCEINLINE static unsigned make_odd(signed char& val)BOOST_NOEXCEPT{ unsigned result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
template <> struct gcd_traits<char> : public gcd_traits_defaults<char>
{ BOOST_FORCEINLINE static unsigned make_odd(char& val)BOOST_NOEXCEPT{ unsigned result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
#ifndef BOOST_NO_INTRINSIC_WCHAR_T
@@ -310,7 +310,7 @@ namespace boost {
};
template <> struct gcd_traits<signed char> : public gcd_traits_defaults<signed char>
{
- BOOST_FORCEINLINE static BOOST_CXX14_CONSTEXPR signed make_odd(signed char& val)BOOST_NOEXCEPT { signed result = gcd_traits<unsigned>::find_lsb(val); val >>= result; return result; }
+ BOOST_FORCEINLINE static BOOST_CXX14_CONSTEXPR unsigned make_odd(signed char& val)BOOST_NOEXCEPT { unsigned result = gcd_traits<unsigned>::find_lsb(val); val >>= result; return result; }
};
template <> struct gcd_traits<char> : public gcd_traits_defaults<char>
{
@@ -373,8 +373,8 @@ namespace boost {
if (n == SteinDomain(0))
return m;
// m > 0 && n > 0
- int d_m = gcd_traits<SteinDomain>::make_odd(m);
- int d_n = gcd_traits<SteinDomain>::make_odd(n);
+ unsigned d_m = gcd_traits<SteinDomain>::make_odd(m);
+ unsigned d_n = gcd_traits<SteinDomain>::make_odd(n);
// odd(m) && odd(n)
while (m != n)
{
diff --git a/boost/interprocess/detail/file_wrapper.hpp b/boost/interprocess/detail/file_wrapper.hpp
index 58f28e97f8..99e0fea570 100644
--- a/boost/interprocess/detail/file_wrapper.hpp
+++ b/boost/interprocess/detail/file_wrapper.hpp
@@ -113,12 +113,13 @@ class file_wrapper
bool priv_open_or_create(ipcdetail::create_enum_t type, const char *filename, mode_t mode, const permissions &perm);
file_handle_t m_handle;
- mode_t m_mode;
- std::string m_filename;
+ mode_t m_mode;
+ std::string m_filename;
};
inline file_wrapper::file_wrapper()
- : m_handle(file_handle_t(ipcdetail::invalid_file()))
+ : m_handle(file_handle_t(ipcdetail::invalid_file()))
+ , m_mode(read_only), m_filename()
{}
inline file_wrapper::~file_wrapper()
diff --git a/boost/interprocess/detail/win32_api.hpp b/boost/interprocess/detail/win32_api.hpp
index c948a556bb..bf0c683185 100644
--- a/boost/interprocess/detail/win32_api.hpp
+++ b/boost/interprocess/detail/win32_api.hpp
@@ -99,18 +99,24 @@
//
//////////////////////////////////////////////////////////////////////////////
-//Ignore -pedantic errors here (anonymous structs, etc.)
+
#if defined(BOOST_GCC)
+//Ignore -pedantic errors here (anonymous structs, etc.)
# if (BOOST_GCC >= 40600)
# pragma GCC diagnostic push
-# if (BOOST_GCC >= 60000)
+# if (BOOST_GCC >= 40800)
# pragma GCC diagnostic ignored "-Wpedantic"
# else
# pragma GCC diagnostic ignored "-pedantic"
# endif
+# pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
# else
# pragma GCC system_header
# endif
+//When loading DLLs we have no option but reinterpret casting function types
+# if (BOOST_GCC >= 80000)
+# pragma GCC diagnostic ignored "-Wcast-function-type"
+# endif
#endif
namespace boost {
@@ -1672,8 +1678,8 @@ struct library_unloader
inline bool get_system_time_of_day_information(system_timeofday_information &info)
{
- NtQuerySystemInformation_t pNtQuerySystemInformation = (NtQuerySystemInformation_t)
- dll_func::get(dll_func::NtQuerySystemInformation);
+ NtQuerySystemInformation_t pNtQuerySystemInformation = reinterpret_cast<NtQuerySystemInformation_t>
+ (dll_func::get(dll_func::NtQuerySystemInformation));
unsigned long res;
long status = pNtQuerySystemInformation(system_time_of_day_information, &info, sizeof(info), &res);
if(status){
@@ -1889,9 +1895,9 @@ inline bool unlink_file(const char *filename)
// file name can't be used to open this file again
try{
NtSetInformationFile_t pNtSetInformationFile =
- (NtSetInformationFile_t)dll_func::get(dll_func::NtSetInformationFile);
+ reinterpret_cast<NtSetInformationFile_t>(dll_func::get(dll_func::NtSetInformationFile));
- NtQueryObject_t pNtQueryObject = (NtQueryObject_t)dll_func::get(dll_func::NtQueryObject);
+ NtQueryObject_t pNtQueryObject = reinterpret_cast<NtQueryObject_t>(dll_func::get(dll_func::NtQueryObject));
//First step: Obtain a handle to the file using Win32 rules. This resolves relative paths
void *fh = create_file(filename, generic_read | delete_access, open_existing, 0, 0);
@@ -1963,8 +1969,8 @@ inline bool unlink_file(const char *filename)
{
//Don't use pNtSetInformationFile with file_disposition_information as it can return STATUS_CANNOT_DELETE
//if the file is still mapped. Reopen it with NtOpenFile and file_delete_on_close
- NtOpenFile_t pNtOpenFile = (NtOpenFile_t)dll_func::get(dll_func::NtOpenFile);
- NtClose_t pNtClose = (NtClose_t)dll_func::get(dll_func::NtClose);
+ NtOpenFile_t pNtOpenFile = reinterpret_cast<NtOpenFile_t>(dll_func::get(dll_func::NtOpenFile));
+ NtClose_t pNtClose = reinterpret_cast<NtClose_t>(dll_func::get(dll_func::NtClose));
const wchar_t empty_str [] = L"";
unicode_string_t ustring = { sizeof(empty_str) - sizeof (wchar_t) //length in bytes without null
, sizeof(empty_str) //total size in bytes of memory allocated for Buffer.
@@ -2410,7 +2416,7 @@ inline bool is_directory(const char *path)
inline bool get_file_mapping_size(void *file_mapping_hnd, __int64 &size)
{
NtQuerySection_t pNtQuerySection =
- (NtQuerySection_t)dll_func::get(dll_func::NtQuerySection);
+ reinterpret_cast<NtQuerySection_t>(dll_func::get(dll_func::NtQuerySection));
//Obtain file name
interprocess_section_basic_information info;
unsigned long ntstatus =
@@ -2423,7 +2429,7 @@ inline bool get_semaphore_info(void *handle, long &count, long &limit)
{
winapi::interprocess_semaphore_basic_information info;
winapi::NtQuerySemaphore_t pNtQuerySemaphore =
- (winapi::NtQuerySemaphore_t)dll_func::get(winapi::dll_func::NtQuerySemaphore);
+ reinterpret_cast<winapi::NtQuerySemaphore_t>(dll_func::get(winapi::dll_func::NtQuerySemaphore));
unsigned int ret_len;
long status = pNtQuerySemaphore(handle, winapi::semaphore_basic_information, &info, sizeof(info), &ret_len);
count = info.count;
@@ -2434,21 +2440,21 @@ inline bool get_semaphore_info(void *handle, long &count, long &limit)
inline bool query_timer_resolution(unsigned long *lowres, unsigned long *highres, unsigned long *curres)
{
winapi::NtQueryTimerResolution_t pNtQueryTimerResolution =
- (winapi::NtQueryTimerResolution_t)dll_func::get(winapi::dll_func::NtQueryTimerResolution);
+ reinterpret_cast<winapi::NtQueryTimerResolution_t>(dll_func::get(winapi::dll_func::NtQueryTimerResolution));
return !pNtQueryTimerResolution(lowres, highres, curres);
}
inline bool query_performance_counter(__int64 *lpPerformanceCount)
{
- QueryPerformanceCounter_t pQueryPerformanceCounter = (QueryPerformanceCounter_t)
- dll_func::get(dll_func::QueryPerformanceCounter);
+ QueryPerformanceCounter_t pQueryPerformanceCounter = reinterpret_cast<QueryPerformanceCounter_t>
+ (dll_func::get(dll_func::QueryPerformanceCounter));
return 0 != pQueryPerformanceCounter(lpPerformanceCount);
}
inline bool query_performance_frequency(__int64 *lpFrequency)
{
- QueryPerformanceCounter_t pQueryPerformanceFrequency = (QueryPerformanceFrequency_t)
- dll_func::get(dll_func::QueryPerformanceFrequency);
+ QueryPerformanceCounter_t pQueryPerformanceFrequency = reinterpret_cast<QueryPerformanceFrequency_t>
+ (dll_func::get(dll_func::QueryPerformanceFrequency));
return 0 != pQueryPerformanceFrequency(lpFrequency);
}
diff --git a/boost/interprocess/exceptions.hpp b/boost/interprocess/exceptions.hpp
index 700c4c5034..336a5fce82 100644
--- a/boost/interprocess/exceptions.hpp
+++ b/boost/interprocess/exceptions.hpp
@@ -60,9 +60,9 @@ class BOOST_SYMBOL_VISIBLE interprocess_exception : public std::exception
catch(...){}
}
- virtual ~interprocess_exception() throw(){}
+ virtual ~interprocess_exception() BOOST_NOEXCEPT_OR_NOTHROW {}
- virtual const char * what() const throw()
+ virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW
{ return m_str.c_str(); }
native_error_t get_native_error()const { return m_err.get_native_error(); }
@@ -86,7 +86,7 @@ class BOOST_SYMBOL_VISIBLE lock_exception : public interprocess_exception
: interprocess_exception(lock_error)
{}
- virtual const char* what() const throw()
+ virtual const char* what() const BOOST_NOEXCEPT_OR_NOTHROW
{ return "boost::interprocess::lock_exception"; }
};
@@ -97,7 +97,7 @@ class BOOST_SYMBOL_VISIBLE bad_alloc : public interprocess_exception
{
public:
bad_alloc() : interprocess_exception("::boost::interprocess::bad_alloc"){}
- virtual const char* what() const throw()
+ virtual const char* what() const BOOST_NOEXCEPT_OR_NOTHROW
{ return "boost::interprocess::bad_alloc"; }
};
diff --git a/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp b/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp
index 416f7a4110..3e2b4df3f5 100644
--- a/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp
+++ b/boost/interprocess/smart_ptr/detail/bad_weak_ptr.hpp
@@ -36,7 +36,7 @@ class bad_weak_ptr
{
public:
- virtual char const * what() const throw()
+ virtual char const * what() const BOOST_NOEXCEPT_OR_NOTHROW
{ return "boost::interprocess::bad_weak_ptr"; }
};
diff --git a/boost/interprocess/sync/shm/named_condition_any.hpp b/boost/interprocess/sync/shm/named_condition_any.hpp
index 6eb06b48ef..38da427827 100644
--- a/boost/interprocess/sync/shm/named_condition_any.hpp
+++ b/boost/interprocess/sync/shm/named_condition_any.hpp
@@ -112,25 +112,25 @@ class shm_named_condition_any
//!If there is a thread waiting on *this, change that
//!thread's state to ready. Otherwise there is no effect.*/
void notify_one()
- { m_cond.notify_one(); }
+ { this->internal_cond().notify_one(); }
//!Change the state of all threads waiting on *this to ready.
//!If there are no waiting threads, notify_all() has no effect.
void notify_all()
- { m_cond.notify_all(); }
+ { this->internal_cond().notify_all(); }
//!Releases the lock on the named_mutex object associated with lock, blocks
//!the current thread of execution until readied by a call to
//!this->notify_one() or this->notify_all(), and then reacquires the lock.
template <typename L>
void wait(L& lock)
- { m_cond.wait(lock); }
+ { this->internal_cond().wait(lock); }
//!The same as:
//!while (!pred()) wait(lock)
template <typename L, typename Pr>
void wait(L& lock, Pr pred)
- { m_cond.wait(lock, pred); }
+ { this->internal_cond().wait(lock, pred); }
//!Releases the lock on the named_mutex object associated with lock, blocks
//!the current thread of execution until readied by a call to
@@ -139,14 +139,14 @@ class shm_named_condition_any
//!Returns: false if time abs_time is reached, otherwise true.
template <typename L>
bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time)
- { return m_cond.timed_wait(lock, abs_time); }
+ { return this->internal_cond().timed_wait(lock, abs_time); }
//!The same as: while (!pred()) {
//! if (!timed_wait(lock, abs_time)) return pred();
//! } return true;
template <typename L, typename Pr>
bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time, Pr pred)
- { return m_cond.timed_wait(lock, abs_time, pred); }
+ { return this->internal_cond().timed_wait(lock, abs_time, pred); }
//!Erases a named condition from the system.
//!Returns false on error. Never throws.
@@ -172,7 +172,8 @@ class shm_named_condition_any
typedef ipcdetail::condition_any_wrapper<internal_condition_members> internal_condition;
- internal_condition m_cond;
+ internal_condition &internal_cond()
+ { return *static_cast<internal_condition*>(m_shmem.get_user_address()); }
friend class boost::interprocess::ipcdetail::interprocess_tester;
void dont_close_on_destruction()
diff --git a/boost/intrusive/avltree_algorithms.hpp b/boost/intrusive/avltree_algorithms.hpp
index 1459851fb4..1d206cdc68 100644
--- a/boost/intrusive/avltree_algorithms.hpp
+++ b/boost/intrusive/avltree_algorithms.hpp
@@ -42,18 +42,18 @@ struct avltree_node_cloner
typedef typename NodeTraits::node_ptr node_ptr;
typedef detail::ebo_functor_holder<F> base_t;
- avltree_node_cloner(F f)
+ BOOST_INTRUSIVE_FORCEINLINE avltree_node_cloner(F f)
: base_t(f)
{}
- node_ptr operator()(const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(const node_ptr & p)
{
node_ptr n = base_t::get()(p);
NodeTraits::set_balance(n, NodeTraits::get_balance(p));
return n;
}
- node_ptr operator()(const node_ptr & p) const
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(const node_ptr & p) const
{
node_ptr n = base_t::get()(p);
NodeTraits::set_balance(n, NodeTraits::get_balance(p));
@@ -176,12 +176,12 @@ class avltree_algorithms
static node_ptr end_node(const const_node_ptr & header);
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
- static void swap_tree(const node_ptr & header1, const node_ptr & header2);
+ static void swap_tree(node_ptr header1, node_ptr header2);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr node2)
{
if(node1 == node2)
return;
@@ -190,8 +190,8 @@ class avltree_algorithms
swap_nodes(node1, header1, node2, header2);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2)
{
if(node1 == node2) return;
@@ -202,23 +202,23 @@ class avltree_algorithms
NodeTraits::set_balance(node2, c);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node)
{
if(node_to_be_replaced == new_node)
return;
replace_node(node_to_be_replaced, bstree_algo::get_header(node_to_be_replaced), new_node);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node)
{
bstree_algo::replace_node(node_to_be_replaced, header, new_node);
NodeTraits::set_balance(new_node, NodeTraits::get_balance(node_to_be_replaced));
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(const node_ptr&)
- static void unlink(const node_ptr & node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
+ static void unlink(node_ptr node)
{
node_ptr x = NodeTraits::get_parent(node);
if(x){
@@ -244,7 +244,7 @@ class avltree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
static node_ptr prev_node(const node_ptr & node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
static void init(const node_ptr & node);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
@@ -258,14 +258,14 @@ class avltree_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
- static void init_header(const node_ptr & header)
+ static void init_header(node_ptr header)
{
bstree_algo::init_header(header);
NodeTraits::set_balance(header, NodeTraits::zero());
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
- static node_ptr erase(const node_ptr & header, const node_ptr & z)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
+ static node_ptr erase(node_ptr header, node_ptr z)
{
typename bstree_algo::data_for_rebalance info;
bstree_algo::erase(header, z, info);
@@ -276,7 +276,7 @@ class avltree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
template<class NodePtrCompare>
static bool transfer_unique
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
typename bstree_algo::data_for_rebalance info;
bool const transferred = bstree_algo::transfer_unique(header1, comp, header2, z, info);
@@ -290,7 +290,7 @@ class avltree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
template<class NodePtrCompare>
static void transfer_equal
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
typename bstree_algo::data_for_rebalance info;
bstree_algo::transfer_equal(header1, comp, header2, z, info);
@@ -298,10 +298,10 @@ class avltree_algorithms
rebalance_after_insertion(header1, z);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
template <class Cloner, class Disposer>
static void clone
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer)
+ (const const_node_ptr & source_header, node_ptr target_header, Cloner cloner, Disposer disposer)
{
avltree_node_cloner<NodeTraits, Cloner> new_cloner(cloner);
bstree_algo::clone(source_header, target_header, new_cloner, disposer);
@@ -344,54 +344,54 @@ class avltree_algorithms
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare>
static node_ptr insert_equal_upper_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp)
{
bstree_algo::insert_equal_upper_bound(h, new_node, comp);
rebalance_after_insertion(h, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare>
static node_ptr insert_equal_lower_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp)
{
bstree_algo::insert_equal_lower_bound(h, new_node, comp);
rebalance_after_insertion(h, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare>
static node_ptr insert_equal
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
{
bstree_algo::insert_equal(header, hint, new_node, comp);
rebalance_after_insertion(header, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
static node_ptr insert_before
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node)
+ (node_ptr header, node_ptr pos, node_ptr new_node)
{
bstree_algo::insert_before(header, pos, new_node);
rebalance_after_insertion(header, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
- static void push_back(const node_ptr & header, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
+ static void push_back(node_ptr header, node_ptr new_node)
{
bstree_algo::push_back(header, new_node);
rebalance_after_insertion(header, new_node);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
- static void push_front(const node_ptr & header, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
+ static void push_front(node_ptr header, node_ptr new_node)
{
bstree_algo::push_front(header, new_node);
rebalance_after_insertion(header, new_node);
@@ -411,9 +411,9 @@ class avltree_algorithms
,KeyNodePtrCompare comp, insert_commit_data &commit_data);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data &)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data &)
static void insert_unique_commit
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data)
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data)
{
bstree_algo::insert_unique_commit(header, new_value, commit_data);
rebalance_after_insertion(header, new_value);
@@ -483,7 +483,7 @@ class avltree_algorithms
}
static void rebalance_after_erasure
- ( const node_ptr & header, const node_ptr &z, const typename bstree_algo::data_for_rebalance &info)
+ ( node_ptr header, node_ptr z, const typename bstree_algo::data_for_rebalance &info)
{
if(info.y != z){
NodeTraits::set_balance(info.y, NodeTraits::get_balance(z));
@@ -492,7 +492,7 @@ class avltree_algorithms
rebalance_after_erasure_restore_invariants(header, info.x, info.x_parent);
}
- static void rebalance_after_erasure_restore_invariants(const node_ptr & header, node_ptr x, node_ptr x_parent)
+ static void rebalance_after_erasure_restore_invariants(node_ptr header, node_ptr x, node_ptr x_parent)
{
for ( node_ptr root = NodeTraits::get_parent(header)
; x != root
@@ -560,7 +560,7 @@ class avltree_algorithms
}
}
- static void rebalance_after_insertion(const node_ptr & header, node_ptr x)
+ static void rebalance_after_insertion(node_ptr header, node_ptr x)
{
NodeTraits::set_balance(x, NodeTraits::zero());
// Rebalance.
@@ -605,7 +605,7 @@ class avltree_algorithms
}
}
- static void left_right_balancing(const node_ptr & a, const node_ptr & b, const node_ptr & c)
+ static void left_right_balancing(node_ptr a, node_ptr b, node_ptr c)
{
// balancing...
const balance c_balance = NodeTraits::get_balance(c);
@@ -630,7 +630,7 @@ class avltree_algorithms
}
}
- static node_ptr avl_rotate_left_right(const node_ptr a, const node_ptr a_oldleft, const node_ptr & hdr)
+ static node_ptr avl_rotate_left_right(const node_ptr a, const node_ptr a_oldleft, node_ptr hdr)
{ // [note: 'a_oldleft' is 'b']
// | | //
// a(-2) c //
@@ -650,7 +650,7 @@ class avltree_algorithms
return c;
}
- static node_ptr avl_rotate_right_left(const node_ptr a, const node_ptr a_oldright, const node_ptr & hdr)
+ static node_ptr avl_rotate_right_left(const node_ptr a, const node_ptr a_oldright, node_ptr hdr)
{ // [note: 'a_oldright' is 'b']
// | | //
// a(pos) c //
@@ -670,7 +670,7 @@ class avltree_algorithms
return c;
}
- static void avl_rotate_left(const node_ptr &x, const node_ptr &x_oldright, const node_ptr & hdr)
+ static void avl_rotate_left(node_ptr x, node_ptr x_oldright, node_ptr hdr)
{
bstree_algo::rotate_left(x, x_oldright, NodeTraits::get_parent(x), hdr);
@@ -685,7 +685,7 @@ class avltree_algorithms
}
}
- static void avl_rotate_right(const node_ptr &x, const node_ptr &x_oldleft, const node_ptr & hdr)
+ static void avl_rotate_right(node_ptr x, node_ptr x_oldleft, node_ptr hdr)
{
bstree_algo::rotate_right(x, x_oldleft, NodeTraits::get_parent(x), hdr);
diff --git a/boost/intrusive/bstree_algorithms.hpp b/boost/intrusive/bstree_algorithms.hpp
index e449ebac08..006d9c238b 100644
--- a/boost/intrusive/bstree_algorithms.hpp
+++ b/boost/intrusive/bstree_algorithms.hpp
@@ -277,7 +277,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! node1 and node2 are not equivalent according to the ordering rules.
//!
//!Experimental function
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2)
+ static void swap_nodes(node_ptr node1, node_ptr node2)
{
if(node1 == node2)
return;
@@ -301,7 +301,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! node1 and node2 are not equivalent according to the ordering rules.
//!
//!Experimental function
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2)
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2)
{
if(node1 == node2)
return;
@@ -448,7 +448,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! new_node is not equivalent to node_to_be_replaced according to the
//! ordering rules. This function is faster than erasing and inserting
//! the node, since no rebalancing and comparison is needed. Experimental function
- BOOST_INTRUSIVE_FORCEINLINE static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node)
{
if(node_to_be_replaced == new_node)
return;
@@ -469,7 +469,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! new_node is not equivalent to node_to_be_replaced according to the
//! ordering rules. This function is faster than erasing and inserting
//! the node, since no rebalancing or comparison is needed. Experimental function
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node)
{
if(node_to_be_replaced == new_node)
return;
@@ -559,7 +559,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: Nothing.
//!
//! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
- BOOST_INTRUSIVE_FORCEINLINE static void init(const node_ptr & node)
+ BOOST_INTRUSIVE_FORCEINLINE static void init(node_ptr node)
{
NodeTraits::set_parent(node, node_ptr());
NodeTraits::set_left(node, node_ptr());
@@ -588,7 +588,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: Nothing.
//!
//! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
- BOOST_INTRUSIVE_FORCEINLINE static void init_header(const node_ptr & header)
+ BOOST_INTRUSIVE_FORCEINLINE static void init_header(node_ptr header)
{
NodeTraits::set_parent(header, node_ptr());
NodeTraits::set_left(header, header);
@@ -629,7 +629,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! only be used for more unlink_leftmost_without_rebalance calls.
//! This function is normally used to achieve a step by step
//! controlled destruction of the tree.
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header)
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header)
{
node_ptr leftmost = NodeTraits::get_left(header);
if (leftmost == header)
@@ -684,7 +684,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Complexity</b>: Constant.
//!
//! <b>Throws</b>: Nothing.
- static void swap_tree(const node_ptr & header1, const node_ptr & header2)
+ static void swap_tree(node_ptr header1, node_ptr header2)
{
if(header1 == header2)
return;
@@ -956,7 +956,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! previously executed to fill "commit_data". No value should be inserted or
//! erased between the "insert_check" and "insert_commit" calls.
BOOST_INTRUSIVE_FORCEINLINE static void insert_unique_commit
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data)
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data)
{ return insert_commit(header, new_value, commit_data); }
//! <b>Requires</b>: "header" must be the header node of a tree.
@@ -1112,7 +1112,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: If "comp" throws.
template<class NodePtrCompare>
static node_ptr insert_equal
- (const node_ptr & h, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr h, node_ptr hint, node_ptr new_node, NodePtrCompare comp
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1138,7 +1138,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: If "comp" throws.
template<class NodePtrCompare>
static node_ptr insert_equal_upper_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1164,7 +1164,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: If "comp" throws.
template<class NodePtrCompare>
static node_ptr insert_equal_lower_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1191,7 +1191,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Note</b>: If "pos" is not the successor of the newly inserted "new_node"
//! tree invariants might be broken.
static node_ptr insert_before
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node
+ (node_ptr header, node_ptr pos, node_ptr new_node
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1217,7 +1217,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! tree invariants are broken. This function is slightly faster than
//! using "insert_before".
static void push_back
- (const node_ptr & header, const node_ptr & new_node
+ (node_ptr header, node_ptr new_node
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1242,7 +1242,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! tree invariants are broken. This function is slightly faster than
//! using "insert_before".
static void push_front
- (const node_ptr & header, const node_ptr & new_node
+ (node_ptr header, node_ptr new_node
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1292,7 +1292,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: If cloner functor throws. If this happens target nodes are disposed.
template <class Cloner, class Disposer>
static void clone
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer)
+ (const const_node_ptr & source_header, node_ptr target_header, Cloner cloner, Disposer disposer)
{
if(!unique(target_header)){
clear_and_dispose(target_header, disposer);
@@ -1316,7 +1316,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Complexity</b>: Amortized constant time.
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void erase(const node_ptr & header, const node_ptr & z)
+ BOOST_INTRUSIVE_FORCEINLINE static void erase(node_ptr header, node_ptr z)
{
data_for_rebalance ignored;
erase(header, z, ignored);
@@ -1336,7 +1336,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: If the comparison throws.
template<class NodePtrCompare>
BOOST_INTRUSIVE_FORCEINLINE static bool transfer_unique
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
data_for_rebalance ignored;
return transfer_unique(header1, comp, header2, z, ignored);
@@ -1353,7 +1353,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: If the comparison throws.
template<class NodePtrCompare>
BOOST_INTRUSIVE_FORCEINLINE static void transfer_equal
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
data_for_rebalance ignored;
transfer_equal(header1, comp, header2, z, ignored);
@@ -1366,7 +1366,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Complexity</b>: Average complexity is constant time.
//!
//! <b>Throws</b>: Nothing.
- static void unlink(const node_ptr & node)
+ static void unlink(node_ptr node)
{
node_ptr x = NodeTraits::get_parent(node);
if(x){
@@ -1383,7 +1383,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear.
- static void rebalance(const node_ptr & header)
+ static void rebalance(node_ptr header)
{
node_ptr root = NodeTraits::get_parent(header);
if(root){
@@ -1400,7 +1400,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear.
- static node_ptr rebalance_subtree(const node_ptr & old_root)
+ static node_ptr rebalance_subtree(node_ptr old_root)
{
//Taken from:
//"Tree rebalancing in optimal time and space"
@@ -1476,7 +1476,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
template<class NodePtrCompare>
static bool transfer_unique
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z, data_for_rebalance &info)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z, data_for_rebalance &info)
{
insert_commit_data commit_data;
bool const transferable = insert_unique_check(header1, z, comp, commit_data).second;
@@ -1489,7 +1489,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
template<class NodePtrCompare>
static void transfer_equal
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z, data_for_rebalance &info)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z, data_for_rebalance &info)
{
insert_commit_data commit_data;
insert_equal_upper_bound_check(header1, z, comp, commit_data);
@@ -1497,7 +1497,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
insert_commit(header1, z, commit_data);
}
- static void erase(const node_ptr & header, const node_ptr & z, data_for_rebalance &info)
+ static void erase(node_ptr header, node_ptr z, data_for_rebalance &info)
{
node_ptr y(z);
node_ptr x;
@@ -1643,7 +1643,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
{ return NodeTraits::get_right(NodeTraits::get_parent(p)) == p; }
static void insert_before_check
- (const node_ptr &header, const node_ptr & pos
+ (node_ptr header, node_ptr pos
, insert_commit_data &commit_data
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
@@ -1662,7 +1662,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
static void push_back_check
- (const node_ptr & header, insert_commit_data &commit_data
+ (node_ptr header, insert_commit_data &commit_data
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1677,7 +1677,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
static void push_front_check
- (const node_ptr & header, insert_commit_data &commit_data
+ (node_ptr header, insert_commit_data &commit_data
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
, std::size_t *pdepth = 0
#endif
@@ -1693,7 +1693,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
template<class NodePtrCompare>
static void insert_equal_check
- (const node_ptr &header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp
, insert_commit_data &commit_data
/// @cond
, std::size_t *pdepth = 0
@@ -1722,7 +1722,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
template<class NodePtrCompare>
static void insert_equal_upper_bound_check
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
{
std::size_t depth = 0;
node_ptr y(h);
@@ -1741,7 +1741,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
template<class NodePtrCompare>
static void insert_equal_lower_bound_check
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
{
std::size_t depth = 0;
node_ptr y(h);
@@ -1759,7 +1759,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
static void insert_commit
- (const node_ptr & header, const node_ptr & new_node, const insert_commit_data &commit_data)
+ (node_ptr header, node_ptr new_node, const insert_commit_data &commit_data)
{
//Check if commit_data has not been initialized by a insert_unique_check call.
BOOST_INTRUSIVE_INVARIANT_ASSERT(commit_data.node != node_ptr());
@@ -1785,7 +1785,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
//Fix header and own's parent data when replacing x with own, providing own's old data with parent
- static void set_child(const node_ptr & header, const node_ptr & new_child, const node_ptr & new_parent, const bool link_left)
+ static void set_child(node_ptr header, node_ptr new_child, node_ptr new_parent, const bool link_left)
{
if(new_parent == header)
NodeTraits::set_parent(header, new_child);
@@ -1796,7 +1796,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
// rotate p to left (no header and p's parent fixup)
- static void rotate_left_no_parent_fix(const node_ptr & p, const node_ptr &p_right)
+ static void rotate_left_no_parent_fix(node_ptr p, node_ptr p_right)
{
node_ptr p_right_left(NodeTraits::get_left(p_right));
NodeTraits::set_right(p, p_right_left);
@@ -1808,7 +1808,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
// rotate p to left (with header and p's parent fixup)
- static void rotate_left(const node_ptr & p, const node_ptr & p_right, const node_ptr & p_parent, const node_ptr & header)
+ static void rotate_left(node_ptr p, node_ptr p_right, node_ptr p_parent, node_ptr header)
{
const bool p_was_left(NodeTraits::get_left(p_parent) == p);
rotate_left_no_parent_fix(p, p_right);
@@ -1817,7 +1817,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
// rotate p to right (no header and p's parent fixup)
- static void rotate_right_no_parent_fix(const node_ptr & p, const node_ptr &p_left)
+ static void rotate_right_no_parent_fix(node_ptr p, node_ptr p_left)
{
node_ptr p_left_right(NodeTraits::get_right(p_left));
NodeTraits::set_left(p, p_left_right);
@@ -1829,7 +1829,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
// rotate p to right (with header and p's parent fixup)
- static void rotate_right(const node_ptr & p, const node_ptr & p_left, const node_ptr & p_parent, const node_ptr & header)
+ static void rotate_right(node_ptr p, node_ptr p_left, node_ptr p_parent, node_ptr header)
{
const bool p_was_left(NodeTraits::get_left(p_parent) == p);
rotate_right_no_parent_fix(p, p_left);
@@ -1883,7 +1883,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
}
}
- static void vine_to_subtree(const node_ptr & super_root, std::size_t count)
+ static void vine_to_subtree(node_ptr super_root, std::size_t count)
{
const std::size_t one_szt = 1u;
std::size_t leaf_nodes = count + one_szt - std::size_t(one_szt << detail::floor_log2(count + one_szt));
@@ -1927,7 +1927,7 @@ class bstree_algorithms : public bstree_algorithms_base<NodeTraits>
template <class Cloner, class Disposer>
static node_ptr clone_subtree
- (const const_node_ptr &source_parent, const node_ptr &target_parent
+ (const const_node_ptr &source_parent, node_ptr target_parent
, Cloner cloner, Disposer disposer
, node_ptr &leftmost_out, node_ptr &rightmost_out
)
diff --git a/boost/intrusive/circular_list_algorithms.hpp b/boost/intrusive/circular_list_algorithms.hpp
index 0bc4d9de90..e5d4175046 100644
--- a/boost/intrusive/circular_list_algorithms.hpp
+++ b/boost/intrusive/circular_list_algorithms.hpp
@@ -67,7 +67,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void init(const node_ptr &this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void init(node_ptr this_node)
{
const node_ptr null_node = node_ptr();
NodeTraits::set_next(this_node, null_node);
@@ -91,7 +91,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void init_header(const node_ptr &this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void init_header(node_ptr this_node)
{
NodeTraits::set_next(this_node, this_node);
NodeTraits::set_previous(this_node, this_node);
@@ -138,7 +138,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr unlink(const node_ptr &this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr unlink(node_ptr this_node)
{
node_ptr next(NodeTraits::get_next(this_node));
node_ptr prev(NodeTraits::get_previous(this_node));
@@ -154,7 +154,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void unlink(const node_ptr &b, const node_ptr &e)
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink(node_ptr b, node_ptr e)
{
if (b != e) {
node_ptr prevb(NodeTraits::get_previous(b));
@@ -170,7 +170,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void link_before(const node_ptr &nxt_node, const node_ptr &this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void link_before(node_ptr nxt_node, node_ptr this_node)
{
node_ptr prev(NodeTraits::get_previous(nxt_node));
NodeTraits::set_previous(this_node, prev);
@@ -189,7 +189,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void link_after(const node_ptr &prev_node, const node_ptr &this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void link_after(node_ptr prev_node, node_ptr this_node)
{
node_ptr next(NodeTraits::get_next(prev_node));
NodeTraits::set_previous(this_node, prev_node);
@@ -211,7 +211,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- static void swap_nodes(const node_ptr &this_node, const node_ptr &other_node)
+ static void swap_nodes(node_ptr this_node, node_ptr other_node)
{
if (other_node == this_node)
return;
@@ -252,7 +252,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- static void transfer(const node_ptr &p, const node_ptr &b, const node_ptr &e)
+ static void transfer(node_ptr p, node_ptr b, node_ptr e)
{
if (b != e) {
node_ptr prev_p(NodeTraits::get_previous(p));
@@ -277,7 +277,7 @@ class circular_list_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- static void transfer(const node_ptr &p, const node_ptr &i)
+ static void transfer(node_ptr p, node_ptr i)
{
node_ptr n(NodeTraits::get_next(i));
if(n != p && i != p){
@@ -298,7 +298,7 @@ class circular_list_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: This function is linear time.
- static void reverse(const node_ptr &p)
+ static void reverse(node_ptr p)
{
node_ptr f(NodeTraits::get_next(p));
node_ptr i(NodeTraits::get_next(f)), e(p);
@@ -316,7 +316,7 @@ class circular_list_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear to the number of moved positions.
- static void move_backwards(const node_ptr &p, std::size_t n)
+ static void move_backwards(node_ptr p, std::size_t n)
{
//Null shift, nothing to do
if(!n) return;
@@ -336,7 +336,7 @@ class circular_list_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear to the number of moved positions.
- static void move_forward(const node_ptr &p, std::size_t n)
+ static void move_forward(node_ptr p, std::size_t n)
{
//Null shift, nothing to do
if(!n) return;
@@ -378,7 +378,7 @@ class circular_list_algorithms
};
template<class Pred>
- static void stable_partition(node_ptr beg, const node_ptr &end, Pred pred, stable_partition_info &info)
+ static void stable_partition(node_ptr beg, node_ptr end, Pred pred, stable_partition_info &info)
{
node_ptr bcur = node_traits::get_previous(beg);
node_ptr cur = beg;
@@ -435,14 +435,14 @@ class circular_list_algorithms
}
private:
- BOOST_INTRUSIVE_FORCEINLINE static void swap_prev(const node_ptr &this_node, const node_ptr &other_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void swap_prev(node_ptr this_node, node_ptr other_node)
{
node_ptr temp(NodeTraits::get_previous(this_node));
NodeTraits::set_previous(this_node, NodeTraits::get_previous(other_node));
NodeTraits::set_previous(other_node, temp);
}
- BOOST_INTRUSIVE_FORCEINLINE static void swap_next(const node_ptr &this_node, const node_ptr &other_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void swap_next(node_ptr this_node, node_ptr other_node)
{
node_ptr temp(NodeTraits::get_next(this_node));
NodeTraits::set_next(this_node, NodeTraits::get_next(other_node));
diff --git a/boost/intrusive/circular_slist_algorithms.hpp b/boost/intrusive/circular_slist_algorithms.hpp
index da840ef0c1..bc5b481789 100644
--- a/boost/intrusive/circular_slist_algorithms.hpp
+++ b/boost/intrusive/circular_slist_algorithms.hpp
@@ -141,7 +141,7 @@ class circular_slist_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void init_header(const node_ptr &this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void init_header(node_ptr this_node)
{ NodeTraits::set_next(this_node, this_node); }
//! <b>Requires</b>: this_node and prev_init_node must be in the same circular list.
@@ -223,7 +223,7 @@ class circular_slist_algorithms
//! <b>Complexity</b>: Linear to the number of elements in the circular list
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void unlink(const node_ptr & this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink(node_ptr this_node)
{
if(NodeTraits::get_next(this_node))
base_t::unlink_after(get_previous_node(this_node));
@@ -236,7 +236,7 @@ class circular_slist_algorithms
//! <b>Complexity</b>: Linear to the number of elements in the circular list.
//!
//! <b>Throws</b>: Nothing.
- BOOST_INTRUSIVE_FORCEINLINE static void link_before (const node_ptr & nxt_node, const node_ptr & this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void link_before (node_ptr nxt_node, node_ptr this_node)
{ base_t::link_after(get_previous_node(nxt_node), this_node); }
//! <b>Requires</b>: this_node and other_node must be nodes inserted
@@ -249,7 +249,7 @@ class circular_slist_algorithms
//! <b>Complexity</b>: Linear to number of elements of both lists
//!
//! <b>Throws</b>: Nothing.
- static void swap_nodes(const node_ptr & this_node, const node_ptr & other_node)
+ static void swap_nodes(node_ptr this_node, node_ptr other_node)
{
if (other_node == this_node)
return;
@@ -275,7 +275,7 @@ class circular_slist_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: This function is linear to the contained elements.
- static void reverse(const node_ptr & p)
+ static void reverse(node_ptr p)
{
node_ptr i = NodeTraits::get_next(p), e(p);
for (;;) {
@@ -294,7 +294,7 @@ class circular_slist_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
- static node_ptr move_backwards(const node_ptr & p, std::size_t n)
+ static node_ptr move_backwards(node_ptr p, std::size_t n)
{
//Null shift, nothing to do
if(!n) return node_ptr();
@@ -346,7 +346,7 @@ class circular_slist_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
- static node_ptr move_forward(const node_ptr & p, std::size_t n)
+ static node_ptr move_forward(node_ptr p, std::size_t n)
{
//Null shift, nothing to do
if(!n) return node_ptr();
diff --git a/boost/intrusive/derivation_value_traits.hpp b/boost/intrusive/derivation_value_traits.hpp
index 06991983f3..223b983632 100644
--- a/boost/intrusive/derivation_value_traits.hpp
+++ b/boost/intrusive/derivation_value_traits.hpp
@@ -65,7 +65,7 @@ struct derivation_value_traits
static const_pointer to_value_ptr(const const_node_ptr &n)
{
- return pointer_traits<pointer>::pointer_to(static_cast<const_reference>(*n));
+ return pointer_traits<const_pointer>::pointer_to(static_cast<const_reference>(*n));
}
};
diff --git a/boost/intrusive/detail/any_node_and_algorithms.hpp b/boost/intrusive/detail/any_node_and_algorithms.hpp
index 26a1edcd3e..f04491840d 100644
--- a/boost/intrusive/detail/any_node_and_algorithms.hpp
+++ b/boost/intrusive/detail/any_node_and_algorithms.hpp
@@ -52,13 +52,13 @@ struct any_list_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const const_node_ptr & n)
{ return n->node_ptr_1; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_next(const node_ptr & n, const node_ptr & next)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_next(node_ptr n, node_ptr next)
{ n->node_ptr_1 = next; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous(const const_node_ptr & n)
{ return n->node_ptr_2; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_previous(const node_ptr & n, const node_ptr & prev)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_previous(node_ptr n, node_ptr prev)
{ n->node_ptr_2 = prev; }
};
@@ -73,7 +73,7 @@ struct any_slist_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const const_node_ptr & n)
{ return n->node_ptr_1; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_next(const node_ptr & n, const node_ptr & next)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_next(node_ptr n, node_ptr next)
{ n->node_ptr_1 = next; }
};
@@ -93,13 +93,13 @@ struct any_unordered_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const const_node_ptr & n)
{ return n->node_ptr_1; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_next(const node_ptr & n, const node_ptr & next)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_next(node_ptr n, node_ptr next)
{ n->node_ptr_1 = next; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_prev_in_group(const const_node_ptr & n)
{ return n->node_ptr_2; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_prev_in_group(const node_ptr & n, const node_ptr & prev)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_prev_in_group(node_ptr n, node_ptr prev)
{ n->node_ptr_2 = prev; }
BOOST_INTRUSIVE_FORCEINLINE static std::size_t get_hash(const const_node_ptr & n)
@@ -122,19 +122,19 @@ struct any_rbtree_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const const_node_ptr & n)
{ return n->node_ptr_1; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ n->node_ptr_1 = p; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
{ return n->node_ptr_2; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->node_ptr_2 = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
{ return n->node_ptr_3; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->node_ptr_3 = r; }
BOOST_INTRUSIVE_FORCEINLINE static color get_color(const const_node_ptr & n)
@@ -163,19 +163,19 @@ struct any_avltree_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const const_node_ptr & n)
{ return n->node_ptr_1; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ n->node_ptr_1 = p; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
{ return n->node_ptr_2; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->node_ptr_2 = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
{ return n->node_ptr_3; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->node_ptr_3 = r; }
BOOST_INTRUSIVE_FORCEINLINE static balance get_balance(const const_node_ptr & n)
@@ -205,19 +205,19 @@ struct any_tree_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const const_node_ptr & n)
{ return n->node_ptr_1; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ n->node_ptr_1 = p; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
{ return n->node_ptr_2; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->node_ptr_2 = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
{ return n->node_ptr_3; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->node_ptr_3 = r; }
};
diff --git a/boost/intrusive/detail/avltree_node.hpp b/boost/intrusive/detail/avltree_node.hpp
index 16d1c1d291..85a864260c 100644
--- a/boost/intrusive/detail/avltree_node.hpp
+++ b/boost/intrusive/detail/avltree_node.hpp
@@ -63,7 +63,7 @@ struct avltree_node
template<class VoidPointer>
struct default_avltree_node_traits_impl
{
- typedef avltree_node<VoidPointer> node;
+ typedef avltree_node<VoidPointer> node;
typedef typename node::node_ptr node_ptr;
typedef typename node::const_node_ptr const_node_ptr;
@@ -75,7 +75,7 @@ struct default_avltree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
{ return n->parent_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ n->parent_ = p; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
@@ -84,7 +84,7 @@ struct default_avltree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
{ return n->left_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->left_ = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
@@ -93,7 +93,7 @@ struct default_avltree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
{ return n->right_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->right_ = r; }
BOOST_INTRUSIVE_FORCEINLINE static balance get_balance(const const_node_ptr & n)
@@ -121,8 +121,8 @@ template<class VoidPointer>
struct compact_avltree_node_traits_impl
{
typedef compact_avltree_node<VoidPointer> node;
- typedef typename node::node_ptr node_ptr;
- typedef typename node::const_node_ptr const_node_ptr;
+ typedef typename node::node_ptr node_ptr;
+ typedef typename node::const_node_ptr const_node_ptr;
typedef typename node::balance balance;
typedef pointer_plus_bits<node_ptr, 2> ptr_bit;
@@ -130,19 +130,19 @@ struct compact_avltree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const const_node_ptr & n)
{ return ptr_bit::get_pointer(n->parent_); }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ ptr_bit::set_pointer(n->parent_, p); }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
{ return n->left_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->left_ = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
{ return n->right_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->right_ = r; }
BOOST_INTRUSIVE_FORCEINLINE static balance get_balance(const const_node_ptr & n)
diff --git a/boost/intrusive/detail/common_slist_algorithms.hpp b/boost/intrusive/detail/common_slist_algorithms.hpp
index 5e6ff4d1aa..88f3fedac5 100644
--- a/boost/intrusive/detail/common_slist_algorithms.hpp
+++ b/boost/intrusive/detail/common_slist_algorithms.hpp
@@ -52,7 +52,7 @@ class common_slist_algorithms
return p;
}
- BOOST_INTRUSIVE_FORCEINLINE static void init(const node_ptr & this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void init(node_ptr this_node)
{ NodeTraits::set_next(this_node, node_ptr()); }
BOOST_INTRUSIVE_FORCEINLINE static bool unique(const const_node_ptr & this_node)
@@ -64,29 +64,29 @@ class common_slist_algorithms
BOOST_INTRUSIVE_FORCEINLINE static bool inited(const const_node_ptr & this_node)
{ return !NodeTraits::get_next(this_node); }
- BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(const node_ptr & prev_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(node_ptr prev_node)
{
const_node_ptr this_node(NodeTraits::get_next(prev_node));
NodeTraits::set_next(prev_node, NodeTraits::get_next(this_node));
}
- BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(const node_ptr & prev_node, const node_ptr & last_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(node_ptr prev_node, node_ptr last_node)
{ NodeTraits::set_next(prev_node, last_node); }
- BOOST_INTRUSIVE_FORCEINLINE static void link_after(const node_ptr & prev_node, const node_ptr & this_node)
+ BOOST_INTRUSIVE_FORCEINLINE static void link_after(node_ptr prev_node, node_ptr this_node)
{
NodeTraits::set_next(this_node, NodeTraits::get_next(prev_node));
NodeTraits::set_next(prev_node, this_node);
}
- BOOST_INTRUSIVE_FORCEINLINE static void incorporate_after(const node_ptr & bp, const node_ptr & b, const node_ptr & be)
+ BOOST_INTRUSIVE_FORCEINLINE static void incorporate_after(node_ptr bp, node_ptr b, node_ptr be)
{
node_ptr p(NodeTraits::get_next(bp));
NodeTraits::set_next(bp, b);
NodeTraits::set_next(be, p);
}
- static void transfer_after(const node_ptr & bp, const node_ptr & bb, const node_ptr & be)
+ static void transfer_after(node_ptr bp, node_ptr bb, node_ptr be)
{
if (bp != bb && bp != be && bb != be) {
node_ptr next_b = NodeTraits::get_next(bb);
@@ -107,7 +107,7 @@ class common_slist_algorithms
};
template<class Pred>
- static void stable_partition(node_ptr before_beg, const node_ptr &end, Pred pred, stable_partition_info &info)
+ static void stable_partition(node_ptr before_beg, node_ptr end, Pred pred, stable_partition_info &info)
{
node_ptr bcur = before_beg;
node_ptr cur = node_traits::get_next(bcur);
diff --git a/boost/intrusive/detail/list_iterator.hpp b/boost/intrusive/detail/list_iterator.hpp
index 6c5f161675..3aae2d5a54 100644
--- a/boost/intrusive/detail/list_iterator.hpp
+++ b/boost/intrusive/detail/list_iterator.hpp
@@ -66,7 +66,7 @@ class list_iterator
: members_(other.pointed_node(), other.get_value_traits())
{}
- BOOST_INTRUSIVE_FORCEINLINE const node_ptr &pointed_node() const
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr pointed_node() const
{ return members_.nodeptr_; }
BOOST_INTRUSIVE_FORCEINLINE list_iterator &operator=(const node_ptr &node)
diff --git a/boost/intrusive/detail/list_node.hpp b/boost/intrusive/detail/list_node.hpp
index c3b4847011..bc30e89f25 100644
--- a/boost/intrusive/detail/list_node.hpp
+++ b/boost/intrusive/detail/list_node.hpp
@@ -53,7 +53,7 @@ struct list_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous(const node_ptr & n)
{ return n->prev_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_previous(const node_ptr & n, const node_ptr & prev)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_previous(node_ptr n, node_ptr prev)
{ n->prev_ = prev; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const const_node_ptr & n)
@@ -62,7 +62,7 @@ struct list_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const node_ptr & n)
{ return n->next_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_next(const node_ptr & n, const node_ptr & next)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_next(node_ptr n, node_ptr next)
{ n->next_ = next; }
};
diff --git a/boost/intrusive/detail/node_cloner_disposer.hpp b/boost/intrusive/detail/node_cloner_disposer.hpp
index 3fe2954347..8ed3c4dab2 100644
--- a/boost/intrusive/detail/node_cloner_disposer.hpp
+++ b/boost/intrusive/detail/node_cloner_disposer.hpp
@@ -59,7 +59,7 @@ struct node_cloner
{}
// tree-based containers use this method, which is proxy-reference friendly
- node_ptr operator()(const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(const node_ptr & p)
{
reference_type v = *traits_->to_value_ptr(p);
node_ptr n = traits_->to_node_ptr(*base_t::get()(v));
@@ -89,7 +89,7 @@ struct node_disposer
: base_t(f), traits_(cont)
{}
- void operator()(const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE void operator()(const node_ptr & p)
{
if(safemode_or_autounlink)
node_algorithms::init(p);
diff --git a/boost/intrusive/detail/rbtree_node.hpp b/boost/intrusive/detail/rbtree_node.hpp
index 68f4bdf8e2..8b573ecc21 100644
--- a/boost/intrusive/detail/rbtree_node.hpp
+++ b/boost/intrusive/detail/rbtree_node.hpp
@@ -80,7 +80,7 @@ struct default_rbtree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
{ return n->parent_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ n->parent_ = p; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
@@ -89,7 +89,7 @@ struct default_rbtree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
{ return n->left_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->left_ = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
@@ -98,7 +98,7 @@ struct default_rbtree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
{ return n->right_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->right_ = r; }
BOOST_INTRUSIVE_FORCEINLINE static color get_color(const const_node_ptr & n)
@@ -136,7 +136,7 @@ struct compact_rbtree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
{ return ptr_bit::get_pointer(n->parent_); }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ ptr_bit::set_pointer(n->parent_, p); }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
@@ -145,7 +145,7 @@ struct compact_rbtree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
{ return n->left_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->left_ = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
@@ -154,7 +154,7 @@ struct compact_rbtree_node_traits_impl
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
{ return n->right_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->right_ = r; }
BOOST_INTRUSIVE_FORCEINLINE static color get_color(const const_node_ptr & n)
diff --git a/boost/intrusive/detail/simple_disposers.hpp b/boost/intrusive/detail/simple_disposers.hpp
index 1420b281b0..f9d23bf62e 100644
--- a/boost/intrusive/detail/simple_disposers.hpp
+++ b/boost/intrusive/detail/simple_disposers.hpp
@@ -39,7 +39,7 @@ class init_disposer
typedef typename NodeAlgorithms::node_ptr node_ptr;
public:
- void operator()(const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE void operator()(const node_ptr & p)
{ NodeAlgorithms::init(p); }
};
diff --git a/boost/intrusive/detail/slist_iterator.hpp b/boost/intrusive/detail/slist_iterator.hpp
index 63ce5c3fef..96a5ac0191 100644
--- a/boost/intrusive/detail/slist_iterator.hpp
+++ b/boost/intrusive/detail/slist_iterator.hpp
@@ -68,7 +68,7 @@ class slist_iterator
: members_(other.pointed_node(), other.get_value_traits())
{}
- BOOST_INTRUSIVE_FORCEINLINE const node_ptr &pointed_node() const
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr pointed_node() const
{ return members_.nodeptr_; }
BOOST_INTRUSIVE_FORCEINLINE slist_iterator &operator=(const node_ptr &node)
diff --git a/boost/intrusive/detail/slist_node.hpp b/boost/intrusive/detail/slist_node.hpp
index 848764e571..ee8ab40a3d 100644
--- a/boost/intrusive/detail/slist_node.hpp
+++ b/boost/intrusive/detail/slist_node.hpp
@@ -52,7 +52,7 @@ struct slist_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const node_ptr & n)
{ return n->next_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_next(const node_ptr & n, const node_ptr & next)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_next(node_ptr n, node_ptr next)
{ n->next_ = next; }
};
diff --git a/boost/intrusive/detail/tree_iterator.hpp b/boost/intrusive/detail/tree_iterator.hpp
index f36a1f244b..a4bbc1b066 100644
--- a/boost/intrusive/detail/tree_iterator.hpp
+++ b/boost/intrusive/detail/tree_iterator.hpp
@@ -74,7 +74,7 @@ class tree_iterator
: members_(other.pointed_node(), other.get_value_traits())
{}
- BOOST_INTRUSIVE_FORCEINLINE const node_ptr &pointed_node() const
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr pointed_node() const
{ return members_.nodeptr_; }
BOOST_INTRUSIVE_FORCEINLINE tree_iterator &operator=(const node_ptr &nodeptr)
diff --git a/boost/intrusive/detail/tree_node.hpp b/boost/intrusive/detail/tree_node.hpp
index 606fbc865e..6df3343e03 100644
--- a/boost/intrusive/detail/tree_node.hpp
+++ b/boost/intrusive/detail/tree_node.hpp
@@ -50,7 +50,7 @@ struct tree_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
{ return n->parent_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_parent(const node_ptr & n, const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
{ n->parent_ = p; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
@@ -59,7 +59,7 @@ struct tree_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
{ return n->left_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_left(const node_ptr & n, const node_ptr & l)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
{ n->left_ = l; }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
@@ -68,7 +68,7 @@ struct tree_node_traits
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
{ return n->right_; }
- BOOST_INTRUSIVE_FORCEINLINE static void set_right(const node_ptr & n, const node_ptr & r)
+ BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
{ n->right_ = r; }
};
diff --git a/boost/intrusive/detail/tree_value_compare.hpp b/boost/intrusive/detail/tree_value_compare.hpp
index f6dd01dc25..c78da0acd6 100644
--- a/boost/intrusive/detail/tree_value_compare.hpp
+++ b/boost/intrusive/detail/tree_value_compare.hpp
@@ -45,7 +45,7 @@ struct disable_if_smartref_to
//This function object takes a KeyCompare function object
//and compares values that contains keys using KeyOfValue
-template< class ValuePtr, class KeyCompare, class KeyOfValue
+template< class ValuePtr, class KeyCompare, class KeyOfValue, class Ret = bool
, bool = boost::intrusive::detail::is_same
<typename boost::movelib::pointer_element<ValuePtr>::type, typename KeyOfValue::type>::value >
struct tree_value_compare
@@ -80,41 +80,52 @@ struct tree_value_compare
BOOST_INTRUSIVE_FORCEINLINE const key_compare &key_comp() const
{ return static_cast<const key_compare &>(*this); }
- BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key) const
+ { return this->key_comp()(key); }
+
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const value_type &value) const
+ { return this->key_comp()(KeyOfValue()(value)); }
+
+ template<class U>
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonkey
+ , typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
+ { return this->key_comp()(nonkey); }
+
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key1, const key_type &key2) const
{ return this->key_comp()(key1, key2); }
- BOOST_INTRUSIVE_FORCEINLINE bool operator()(const value_type &value1, const value_type &value2) const
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const value_type &value1, const value_type &value2) const
{ return this->key_comp()(KeyOfValue()(value1), KeyOfValue()(value2)); }
- BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const value_type &value2) const
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key1, const value_type &value2) const
{ return this->key_comp()(key1, KeyOfValue()(value2)); }
- BOOST_INTRUSIVE_FORCEINLINE bool operator()(const value_type &value1, const key_type &key2) const
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const value_type &value1, const key_type &key2) const
{ return this->key_comp()(KeyOfValue()(value1), key2); }
template<class U>
- BOOST_INTRUSIVE_FORCEINLINE bool operator()( const key_type &key1, const U &nonkey2
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const key_type &key1, const U &nonkey2
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
{ return this->key_comp()(key1, nonkey2); }
template<class U>
- BOOST_INTRUSIVE_FORCEINLINE bool operator()( const U &nonkey1, const key_type &key2
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonkey1, const key_type &key2
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
{ return this->key_comp()(nonkey1, key2); }
template<class U>
- BOOST_INTRUSIVE_FORCEINLINE bool operator()( const value_type &value1, const U &nonvalue2
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const value_type &value1, const U &nonvalue2
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
{ return this->key_comp()(KeyOfValue()(value1), nonvalue2); }
template<class U>
- BOOST_INTRUSIVE_FORCEINLINE bool operator()( const U &nonvalue1, const value_type &value2
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonvalue1, const value_type &value2
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
{ return this->key_comp()(nonvalue1, KeyOfValue()(value2)); }
};
-template<class ValuePtr, class KeyCompare, class KeyOfValue>
-struct tree_value_compare<ValuePtr, KeyCompare, KeyOfValue, true>
+template<class ValuePtr, class KeyCompare, class KeyOfValue, class Ret>
+struct tree_value_compare<ValuePtr, KeyCompare, KeyOfValue, Ret, true>
: public boost::intrusive::detail::ebo_functor_holder<KeyCompare>
{
typedef typename
@@ -147,16 +158,24 @@ struct tree_value_compare<ValuePtr, KeyCompare, KeyOfValue, true>
BOOST_INTRUSIVE_FORCEINLINE const key_compare &key_comp() const
{ return static_cast<const key_compare &>(*this); }
- BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key) const
+ { return this->key_comp()(key); }
+
+ template<class U>
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonkey
+ , typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
+ { return this->key_comp()(nonkey); }
+
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key1, const key_type &key2) const
{ return this->key_comp()(key1, key2); }
template<class U>
- BOOST_INTRUSIVE_FORCEINLINE bool operator()( const key_type &key1, const U &nonkey2
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const key_type &key1, const U &nonkey2
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
{ return this->key_comp()(key1, nonkey2); }
template<class U>
- BOOST_INTRUSIVE_FORCEINLINE bool operator()(const U &nonkey1, const key_type &key2
+ BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const U &nonkey1, const key_type &key2
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
{ return this->key_comp()(nonkey1, key2); }
};
diff --git a/boost/intrusive/hashtable.hpp b/boost/intrusive/hashtable.hpp
index 258e601256..1f1f169671 100644
--- a/boost/intrusive/hashtable.hpp
+++ b/boost/intrusive/hashtable.hpp
@@ -375,7 +375,7 @@ struct group_functions
typedef circular_slist_algorithms<node_traits> node_algorithms;
static slist_node_ptr get_bucket_before_begin
- (const slist_node_ptr &bucket_beg, const slist_node_ptr &bucket_end, const node_ptr &p)
+ (slist_node_ptr bucket_beg, slist_node_ptr bucket_end, node_ptr p)
{
//First find the last node of p's group.
//This requires checking the first node of the next group or
@@ -406,7 +406,7 @@ struct group_functions
return possible_end;
}
- static node_ptr get_prev_to_first_in_group(const slist_node_ptr &bucket_node, const node_ptr &first_in_group)
+ static node_ptr get_prev_to_first_in_group(slist_node_ptr bucket_node, node_ptr first_in_group)
{
node_ptr nb = detail::dcast_bucket_ptr<node>(bucket_node);
node_ptr n;
@@ -416,7 +416,7 @@ struct group_functions
return nb;
}
- static void erase_from_group(const slist_node_ptr &end_ptr, const node_ptr &to_erase_ptr, detail::true_)
+ static void erase_from_group(slist_node_ptr end_ptr, node_ptr to_erase_ptr, detail::true_)
{
node_ptr const nxt_ptr(node_traits::get_next(to_erase_ptr));
//Check if the next node is in the group (not end node) and reverse linked to
@@ -429,7 +429,7 @@ struct group_functions
BOOST_INTRUSIVE_FORCEINLINE static void erase_from_group(const slist_node_ptr&, const node_ptr&, detail::false_)
{}
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(const node_ptr &first_in_group, detail::true_)
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(node_ptr first_in_group, detail::true_)
{ return group_traits::get_next(first_in_group); }
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(node_ptr n, detail::false_)
@@ -449,10 +449,10 @@ struct group_functions
return node_traits::get_next(group_traits::get_next(ptr));
}
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_first_in_group(const node_ptr &n, detail::false_)
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_first_in_group(node_ptr n, detail::false_)
{ return n; }
- BOOST_INTRUSIVE_FORCEINLINE static void insert_in_group(const node_ptr &first_in_group, const node_ptr &n, true_)
+ BOOST_INTRUSIVE_FORCEINLINE static void insert_in_group(node_ptr first_in_group, node_ptr n, true_)
{ group_algorithms::link_after(first_in_group, n); }
static void insert_in_group(const node_ptr&, const node_ptr&, false_)
@@ -672,8 +672,8 @@ struct bucket_plus_vtraits
typedef detail::bucket_impl<slist_impl> bucket_type;
typedef detail::group_functions<node_traits> group_functions_t;
typedef typename slist_impl::node_algorithms node_algorithms;
- typedef typename slist_impl::node_ptr slist_node_ptr;
- typedef typename node_traits::node_ptr node_ptr;
+ typedef typename slist_impl::node_ptr slist_node_ptr;
+ typedef typename node_traits::node_ptr node_ptr;
typedef typename node_traits::node node;
typedef typename value_traits::value_type value_type;
typedef typename value_traits::pointer pointer;
@@ -1383,15 +1383,15 @@ struct hashdata_internal
<const_pointer>::reference const_reference;
typedef typename value_traits::node_traits node_traits;
typedef typename node_traits::node node;
- typedef typename node_traits::node_ptr node_ptr;
- typedef typename node_traits::const_node_ptr const_node_ptr;
+ typedef typename node_traits::node_ptr node_ptr;
+ typedef typename node_traits::const_node_ptr const_node_ptr;
typedef detail::node_functions<node_traits> node_functions_t;
typedef typename detail::get_slist_impl
<typename detail::reduced_slist_node_traits
<typename value_traits::node_traits>::type
>::type slist_impl;
typedef typename slist_impl::node_algorithms node_algorithms;
- typedef typename slist_impl::node_ptr slist_node_ptr;
+ typedef typename slist_impl::node_ptr slist_node_ptr;
typedef hash_key_types_base
< typename ValueTraits::value_type
@@ -1740,7 +1740,7 @@ class hashtable_impl
//See documentation for more explanations
BOOST_STATIC_ASSERT((!compare_hash || store_hash));
- typedef typename slist_impl::node_ptr slist_node_ptr;
+ typedef typename slist_impl::node_ptr slist_node_ptr;
typedef typename pointer_traits
<slist_node_ptr>::template rebind_pointer
< void >::type void_pointer;
diff --git a/boost/intrusive/linear_slist_algorithms.hpp b/boost/intrusive/linear_slist_algorithms.hpp
index 6c8e9b797c..6aeb036ab5 100644
--- a/boost/intrusive/linear_slist_algorithms.hpp
+++ b/boost/intrusive/linear_slist_algorithms.hpp
@@ -184,7 +184,7 @@ class linear_slist_algorithms
//! <b>Complexity</b>: Constant
//!
//! <b>Throws</b>: Nothing.
- static void swap_trailing_nodes(const node_ptr & this_node, const node_ptr & other_node)
+ static void swap_trailing_nodes(node_ptr this_node, node_ptr other_node)
{
node_ptr this_nxt = NodeTraits::get_next(this_node);
node_ptr other_nxt = NodeTraits::get_next(other_node);
@@ -199,7 +199,7 @@ class linear_slist_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: This function is linear to the contained elements.
- static node_ptr reverse(const node_ptr & p)
+ static node_ptr reverse(node_ptr p)
{
if(!p) return node_ptr();
node_ptr i = NodeTraits::get_next(p);
@@ -222,7 +222,7 @@ class linear_slist_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
- static std::pair<node_ptr, node_ptr> move_first_n_backwards(const node_ptr & p, std::size_t n)
+ static std::pair<node_ptr, node_ptr> move_first_n_backwards(node_ptr p, std::size_t n)
{
std::pair<node_ptr, node_ptr> ret;
//Null shift, or count() == 0 or 1, nothing to do
@@ -277,7 +277,7 @@ class linear_slist_algorithms
//! <b>Throws</b>: Nothing.
//!
//! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
- static std::pair<node_ptr, node_ptr> move_first_n_forward(const node_ptr & p, std::size_t n)
+ static std::pair<node_ptr, node_ptr> move_first_n_forward(node_ptr p, std::size_t n)
{
std::pair<node_ptr, node_ptr> ret;
//Null shift, or count() == 0 or 1, nothing to do
diff --git a/boost/intrusive/rbtree_algorithms.hpp b/boost/intrusive/rbtree_algorithms.hpp
index 6a7c563cf0..ee5e13a7aa 100644
--- a/boost/intrusive/rbtree_algorithms.hpp
+++ b/boost/intrusive/rbtree_algorithms.hpp
@@ -54,7 +54,7 @@ struct rbtree_node_cloner
: base_t(f)
{}
- node_ptr operator()(const node_ptr & p)
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(node_ptr p)
{
node_ptr n = base_t::get()(p);
NodeTraits::set_color(n, NodeTraits::get_color(p));
@@ -200,12 +200,12 @@ class rbtree_algorithms
static node_ptr end_node(const const_node_ptr & header);
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
- static void swap_tree(const node_ptr & header1, const node_ptr & header2);
+ static void swap_tree(node_ptr header1, node_ptr header2);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr node2)
{
if(node1 == node2)
return;
@@ -214,8 +214,8 @@ class rbtree_algorithms
swap_nodes(node1, header1, node2, header2);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2)
{
if(node1 == node2) return;
@@ -226,22 +226,22 @@ class rbtree_algorithms
NodeTraits::set_color(node2, c);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node)
{
if(node_to_be_replaced == new_node)
return;
replace_node(node_to_be_replaced, bstree_algo::get_header(node_to_be_replaced), new_node);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node)
{
bstree_algo::replace_node(node_to_be_replaced, header, new_node);
NodeTraits::set_color(new_node, NodeTraits::get_color(node_to_be_replaced));
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
static void unlink(const node_ptr& node)
{
node_ptr x = NodeTraits::get_parent(node);
@@ -268,19 +268,19 @@ class rbtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
static node_ptr prev_node(const node_ptr & node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
static void init(const node_ptr & node);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(const node_ptr&)
- static void init_header(const node_ptr & header)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
+ static void init_header(node_ptr header)
{
bstree_algo::init_header(header);
NodeTraits::set_color(header, NodeTraits::red());
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
- static node_ptr erase(const node_ptr & header, const node_ptr & z)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
+ static node_ptr erase(node_ptr header, node_ptr z)
{
typename bstree_algo::data_for_rebalance info;
bstree_algo::erase(header, z, info);
@@ -291,7 +291,7 @@ class rbtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
template<class NodePtrCompare>
static bool transfer_unique
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
typename bstree_algo::data_for_rebalance info;
bool const transferred = bstree_algo::transfer_unique(header1, comp, header2, z, info);
@@ -305,7 +305,7 @@ class rbtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
template<class NodePtrCompare>
static void transfer_equal
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
typename bstree_algo::data_for_rebalance info;
bstree_algo::transfer_equal(header1, comp, header2, z, info);
@@ -313,10 +313,10 @@ class rbtree_algorithms
rebalance_after_insertion(header1, z);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
template <class Cloner, class Disposer>
static void clone
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer)
+ (const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer)
{
rbtree_node_cloner<NodeTraits, Cloner> new_cloner(cloner);
bstree_algo::clone(source_header, target_header, new_cloner, disposer);
@@ -359,54 +359,54 @@ class rbtree_algorithms
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare>
static node_ptr insert_equal_upper_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp)
{
bstree_algo::insert_equal_upper_bound(h, new_node, comp);
rebalance_after_insertion(h, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare>
static node_ptr insert_equal_lower_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp)
{
bstree_algo::insert_equal_lower_bound(h, new_node, comp);
rebalance_after_insertion(h, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare>
static node_ptr insert_equal
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
{
bstree_algo::insert_equal(header, hint, new_node, comp);
rebalance_after_insertion(header, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
static node_ptr insert_before
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node)
+ (node_ptr header, node_ptr pos, node_ptr new_node)
{
bstree_algo::insert_before(header, pos, new_node);
rebalance_after_insertion(header, new_node);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
- static void push_back(const node_ptr & header, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
+ static void push_back(node_ptr header, node_ptr new_node)
{
bstree_algo::push_back(header, new_node);
rebalance_after_insertion(header, new_node);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
- static void push_front(const node_ptr & header, const node_ptr & new_node)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
+ static void push_front(node_ptr header, node_ptr new_node)
{
bstree_algo::push_front(header, new_node);
rebalance_after_insertion(header, new_node);
@@ -416,19 +416,19 @@ class rbtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const const_node_ptr & header, const KeyType &key
+ (const_node_ptr header, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data);
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const const_node_ptr & header, const node_ptr &hint, const KeyType &key
+ (const_node_ptr header, node_ptr hint, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
static void insert_unique_commit
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data)
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data)
{
bstree_algo::insert_unique_commit(header, new_value, commit_data);
rebalance_after_insertion(header, new_value);
@@ -445,7 +445,7 @@ class rbtree_algorithms
private:
static void rebalance_after_erasure
- ( const node_ptr & header, const node_ptr &z, const typename bstree_algo::data_for_rebalance &info)
+ ( node_ptr header, node_ptr z, const typename bstree_algo::data_for_rebalance &info)
{
color new_z_color;
if(info.y != z){
@@ -461,7 +461,7 @@ class rbtree_algorithms
}
}
- static void rebalance_after_erasure_restore_invariants(const node_ptr & header, node_ptr x, node_ptr x_parent)
+ static void rebalance_after_erasure_restore_invariants(node_ptr header, node_ptr x, node_ptr x_parent)
{
while(1){
if(x_parent == header || (x && NodeTraits::get_color(x) != NodeTraits::black())){
@@ -545,7 +545,7 @@ class rbtree_algorithms
NodeTraits::set_color(x, NodeTraits::black());
}
- static void rebalance_after_insertion(const node_ptr & header, node_ptr p)
+ static void rebalance_after_insertion(node_ptr header, node_ptr p)
{
NodeTraits::set_color(p, NodeTraits::red());
while(1){
diff --git a/boost/intrusive/sgtree_algorithms.hpp b/boost/intrusive/sgtree_algorithms.hpp
index e6002a73b0..a3e233ce03 100644
--- a/boost/intrusive/sgtree_algorithms.hpp
+++ b/boost/intrusive/sgtree_algorithms.hpp
@@ -65,8 +65,8 @@ class sgtree_algorithms
public:
typedef typename NodeTraits::node node;
typedef NodeTraits node_traits;
- typedef typename NodeTraits::node_ptr node_ptr;
- typedef typename NodeTraits::const_node_ptr const_node_ptr;
+ typedef typename NodeTraits::node_ptr node_ptr;
+ typedef typename NodeTraits::const_node_ptr const_node_ptr;
/// @cond
private:
@@ -86,57 +86,57 @@ class sgtree_algorithms
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
//! @copydoc ::boost::intrusive::bstree_algorithms::get_header(const const_node_ptr&)
- static node_ptr get_header(const const_node_ptr & n);
+ static node_ptr get_header(const_node_ptr n);
//! @copydoc ::boost::intrusive::bstree_algorithms::begin_node
- static node_ptr begin_node(const const_node_ptr & header);
+ static node_ptr begin_node(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::end_node
- static node_ptr end_node(const const_node_ptr & header);
+ static node_ptr end_node(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
- static void swap_tree(const node_ptr & header1, const node_ptr & header2);
+ static void swap_tree(node_ptr header1, node_ptr header2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr node2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
//Unlink is not possible since tree metadata is needed to update the tree
- //!static void unlink(const node_ptr & node);
+ //!static void unlink(node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header);
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
- static bool unique(const const_node_ptr & node);
+ static bool unique(const_node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
- static std::size_t size(const const_node_ptr & header);
+ static std::size_t size(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
- static node_ptr next_node(const node_ptr & node);
+ static node_ptr next_node(node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
- static node_ptr prev_node(const node_ptr & node);
+ static node_ptr prev_node(node_ptr node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
- static void init(const node_ptr & node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
+ static void init(node_ptr node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(const node_ptr&)
- static void init_header(const node_ptr & header);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
+ static void init_header(node_ptr header);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
template<class AlphaByMaxSize>
- static node_ptr erase(const node_ptr & header, const node_ptr & z, std::size_t tree_size, std::size_t &max_tree_size, AlphaByMaxSize alpha_by_maxsize)
+ static node_ptr erase(node_ptr header, node_ptr z, std::size_t tree_size, std::size_t &max_tree_size, AlphaByMaxSize alpha_by_maxsize)
{
bstree_algo::erase(header, z);
--tree_size;
@@ -149,51 +149,51 @@ class sgtree_algorithms
}
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
template <class Cloner, class Disposer>
static void clone
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer);
+ (const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
//! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
template<class Disposer>
- static void clear_and_dispose(const node_ptr & header, Disposer disposer);
+ static void clear_and_dispose(node_ptr header, Disposer disposer);
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static node_ptr lower_bound
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static node_ptr upper_bound
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static node_ptr find
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> equal_range
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> bounded_range
- (const const_node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
+ (const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
, bool left_closed, bool right_closed);
//! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
- static std::size_t count(const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ static std::size_t count(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare, class H_Alpha>
static node_ptr insert_equal_upper_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
std::size_t depth;
@@ -202,10 +202,10 @@ class sgtree_algorithms
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare, class H_Alpha>
static node_ptr insert_equal_lower_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
std::size_t depth;
@@ -214,10 +214,10 @@ class sgtree_algorithms
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
template<class NodePtrCompare, class H_Alpha>
static node_ptr insert_equal
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
std::size_t depth;
@@ -226,10 +226,10 @@ class sgtree_algorithms
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
template<class H_Alpha>
static node_ptr insert_before
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node
+ (node_ptr header, node_ptr pos, node_ptr new_node
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
std::size_t depth;
@@ -238,9 +238,9 @@ class sgtree_algorithms
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
template<class H_Alpha>
- static void push_back(const node_ptr & header, const node_ptr & new_node
+ static void push_back(node_ptr header, node_ptr new_node
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
std::size_t depth;
@@ -248,9 +248,9 @@ class sgtree_algorithms
rebalance_after_insertion(new_node, depth, tree_size+1, h_alpha, max_tree_size);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
template<class H_Alpha>
- static void push_front(const node_ptr & header, const node_ptr & new_node
+ static void push_front(node_ptr header, node_ptr new_node
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
std::size_t depth;
@@ -261,7 +261,7 @@ class sgtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const const_node_ptr & header, const KeyType &key
+ (const_node_ptr header, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
{
std::size_t depth;
@@ -274,7 +274,7 @@ class sgtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const const_node_ptr & header, const node_ptr &hint, const KeyType &key
+ (const_node_ptr header, node_ptr hint, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
{
std::size_t depth;
@@ -285,18 +285,18 @@ class sgtree_algorithms
return ret;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
template<class H_Alpha>
BOOST_INTRUSIVE_FORCEINLINE static void insert_unique_commit
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{ return insert_commit(header, new_value, commit_data, tree_size, h_alpha, max_tree_size); }
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
template<class NodePtrCompare, class H_Alpha, class AlphaByMaxSize>
static bool transfer_unique
- ( const node_ptr & header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
- , const node_ptr &header2, const node_ptr & z, std::size_t tree2_size, std::size_t &max_tree2_size
+ ( node_ptr header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
+ , node_ptr header2, node_ptr z, std::size_t tree2_size, std::size_t &max_tree2_size
,H_Alpha h_alpha, AlphaByMaxSize alpha_by_maxsize)
{
insert_commit_data commit_data;
@@ -311,8 +311,8 @@ class sgtree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
template<class NodePtrCompare, class H_Alpha, class AlphaByMaxSize>
static void transfer_equal
- ( const node_ptr & header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
- , const node_ptr &header2, const node_ptr & z, std::size_t tree2_size, std::size_t &max_tree2_size
+ ( node_ptr header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
+ , node_ptr header2, node_ptr z, std::size_t tree2_size, std::size_t &max_tree2_size
,H_Alpha h_alpha, AlphaByMaxSize alpha_by_maxsize)
{
insert_commit_data commit_data;
@@ -323,13 +323,13 @@ class sgtree_algorithms
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
- static bool is_header(const const_node_ptr & p);
+ static bool is_header(const_node_ptr p);
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
- static void rebalance(const node_ptr & header);
+ static void rebalance(node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::rebalance_subtree
- static node_ptr rebalance_subtree(const node_ptr & old_root)
+ static node_ptr rebalance_subtree(node_ptr old_root)
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
/// @cond
@@ -337,7 +337,7 @@ class sgtree_algorithms
template<class KeyType, class KeyNodePtrCompare>
static void insert_equal_upper_bound_check
- (const node_ptr & header, const KeyType &key
+ (node_ptr header, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
{
std::size_t depth;
@@ -347,7 +347,7 @@ class sgtree_algorithms
template<class H_Alpha>
static void insert_commit
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
bstree_algo::insert_unique_commit(header, new_value, commit_data);
@@ -356,7 +356,7 @@ class sgtree_algorithms
template<class H_Alpha>
static void rebalance_after_insertion
- (const node_ptr &x, std::size_t depth
+ (node_ptr x, std::size_t depth
, std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
{
if(tree_size > max_tree_size)
diff --git a/boost/intrusive/slist.hpp b/boost/intrusive/slist.hpp
index 1f7ace1842..1dc90a80a9 100644
--- a/boost/intrusive/slist.hpp
+++ b/boost/intrusive/slist.hpp
@@ -1995,7 +1995,7 @@ class slist_impl
{ x.swap(y); }
private:
- void priv_splice_after(const node_ptr & prev_pos_n, slist_impl &x, const node_ptr & before_f_n, const node_ptr & before_l_n)
+ void priv_splice_after(node_ptr prev_pos_n, slist_impl &x, node_ptr before_f_n, node_ptr before_l_n)
{
if (cache_last && (before_f_n != before_l_n)){
if(prev_pos_n == this->get_last_node()){
@@ -2008,7 +2008,7 @@ class slist_impl
node_algorithms::transfer_after(prev_pos_n, before_f_n, before_l_n);
}
- void priv_incorporate_after(const node_ptr & prev_pos_n, const node_ptr & first_n, const node_ptr & before_l_n)
+ void priv_incorporate_after(node_ptr prev_pos_n, node_ptr first_n, node_ptr before_l_n)
{
if(cache_last){
if(prev_pos_n == this->get_last_node()){
@@ -2108,11 +2108,11 @@ class slist_impl
}
//circular version
- static void priv_swap_lists(const node_ptr & this_node, const node_ptr & other_node, detail::bool_<false>)
+ static void priv_swap_lists(node_ptr this_node, node_ptr other_node, detail::bool_<false>)
{ node_algorithms::swap_nodes(this_node, other_node); }
//linear version
- static void priv_swap_lists(const node_ptr & this_node, const node_ptr & other_node, detail::bool_<true>)
+ static void priv_swap_lists(node_ptr this_node, node_ptr other_node, detail::bool_<true>)
{ node_algorithms::swap_trailing_nodes(this_node, other_node); }
static slist_impl &priv_container_from_end_iterator(const const_iterator &end_iterator)
diff --git a/boost/intrusive/splaytree_algorithms.hpp b/boost/intrusive/splaytree_algorithms.hpp
index be2e18227e..6376d32afd 100644
--- a/boost/intrusive/splaytree_algorithms.hpp
+++ b/boost/intrusive/splaytree_algorithms.hpp
@@ -54,7 +54,7 @@ struct splaydown_assemble_and_fix_header
{
typedef typename NodeTraits::node_ptr node_ptr;
- splaydown_assemble_and_fix_header(const node_ptr & t, const node_ptr & header, const node_ptr &leftmost, const node_ptr &rightmost)
+ splaydown_assemble_and_fix_header(node_ptr t, node_ptr header, node_ptr leftmost, node_ptr rightmost)
: t_(t)
, null_node_(header)
, l_(null_node_)
@@ -187,47 +187,47 @@ class splaytree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
static void swap_tree(const node_ptr & header1, const node_ptr & header2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr node2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(const node_ptr&)
- static void unlink(const node_ptr & node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
+ static void unlink(node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header);
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
- static bool unique(const const_node_ptr & node);
+ static bool unique(const_node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
- static std::size_t size(const const_node_ptr & header);
+ static std::size_t size(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
- static node_ptr next_node(const node_ptr & node);
+ static node_ptr next_node(node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
- static node_ptr prev_node(const node_ptr & node);
+ static node_ptr prev_node(node_ptr node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
- static void init(const node_ptr & node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
+ static void init(node_ptr node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(const node_ptr&)
- static void init_header(const node_ptr & header);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
+ static void init_header(node_ptr header);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
//! Additional notes: the previous node of z is splayed to speed up range deletions.
- static void erase(const node_ptr & header, const node_ptr & z)
+ static void erase(node_ptr header, node_ptr z)
{
//posibility 1
if(NodeTraits::get_left(z)){
@@ -254,7 +254,7 @@ class splaytree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
template<class NodePtrCompare>
static bool transfer_unique
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
typename bstree_algo::insert_commit_data commit_data;
bool const transferable = bstree_algo::insert_unique_check(header1, z, comp, commit_data).second;
@@ -269,7 +269,7 @@ class splaytree_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
template<class NodePtrCompare>
static void transfer_equal
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
{
insert_commit_data commit_data;
splay_down(header1, z, comp);
@@ -279,21 +279,21 @@ class splaytree_algorithms
}
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
template <class Cloner, class Disposer>
static void clone
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer);
+ (const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
//! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
template<class Disposer>
- static void clear_and_dispose(const node_ptr & header, Disposer disposer);
+ static void clear_and_dispose(node_ptr header, Disposer disposer);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
//! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
//! Additional notes: an element with key `key` is splayed.
template<class KeyType, class KeyNodePtrCompare>
static std::size_t count
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{
std::pair<node_ptr, node_ptr> ret = equal_range(header, key, comp);
std::size_t n = 0;
@@ -308,14 +308,14 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static std::size_t count
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{ return bstree_algo::count(header, key, comp); }
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
//! Additional notes: the first node of the range is splayed.
template<class KeyType, class KeyNodePtrCompare>
static node_ptr lower_bound
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{
splay_down(detail::uncast(header), key, comp);
node_ptr y = bstree_algo::lower_bound(header, key, comp);
@@ -327,14 +327,14 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static node_ptr lower_bound
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{ return bstree_algo::lower_bound(header, key, comp); }
//! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
//! Additional notes: the first node of the range is splayed.
template<class KeyType, class KeyNodePtrCompare>
static node_ptr upper_bound
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{
splay_down(detail::uncast(header), key, comp);
node_ptr y = bstree_algo::upper_bound(header, key, comp);
@@ -346,14 +346,14 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static node_ptr upper_bound
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{ return bstree_algo::upper_bound(header, key, comp); }
//! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
//! Additional notes: the found node of the lower bound is splayed.
template<class KeyType, class KeyNodePtrCompare>
static node_ptr find
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{
splay_down(detail::uncast(header), key, comp);
return bstree_algo::find(header, key, comp);
@@ -363,14 +363,14 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static node_ptr find
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{ return bstree_algo::find(header, key, comp); }
//! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
//! Additional notes: the first node of the range is splayed.
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> equal_range
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{
splay_down(detail::uncast(header), key, comp);
std::pair<node_ptr, node_ptr> ret = bstree_algo::equal_range(header, key, comp);
@@ -382,14 +382,14 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> equal_range
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{ return bstree_algo::equal_range(header, key, comp); }
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
//! Additional notes: the first node of the range is splayed.
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> lower_bound_range
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{
splay_down(detail::uncast(header), key, comp);
std::pair<node_ptr, node_ptr> ret = bstree_algo::lower_bound_range(header, key, comp);
@@ -401,14 +401,14 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> lower_bound_range
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
{ return bstree_algo::lower_bound_range(header, key, comp); }
//! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
//! Additional notes: the first node of the range is splayed.
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> bounded_range
- (const node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
+ (node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
, bool left_closed, bool right_closed)
{
splay_down(detail::uncast(header), lower_key, comp);
@@ -422,61 +422,61 @@ class splaytree_algorithms
//! Additional note: no splaying is performed
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> bounded_range
- (const const_node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
+ (const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
, bool left_closed, bool right_closed)
{ return bstree_algo::bounded_range(header, lower_key, upper_key, comp, left_closed, right_closed); }
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
//! Additional note: the inserted node is splayed
template<class NodePtrCompare>
static node_ptr insert_equal_upper_bound
- (const node_ptr & header, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr header, node_ptr new_node, NodePtrCompare comp)
{
splay_down(header, new_node, comp);
return bstree_algo::insert_equal_upper_bound(header, new_node, comp);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
//! Additional note: the inserted node is splayed
template<class NodePtrCompare>
static node_ptr insert_equal_lower_bound
- (const node_ptr & header, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr header, node_ptr new_node, NodePtrCompare comp)
{
splay_down(header, new_node, comp);
return bstree_algo::insert_equal_lower_bound(header, new_node, comp);
- }
+ }
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
//! Additional note: the inserted node is splayed
template<class NodePtrCompare>
static node_ptr insert_equal
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp)
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
{
splay_down(header, new_node, comp);
return bstree_algo::insert_equal(header, hint, new_node, comp);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
//! Additional note: the inserted node is splayed
static node_ptr insert_before
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node)
+ (node_ptr header, node_ptr pos, node_ptr new_node)
{
bstree_algo::insert_before(header, pos, new_node);
splay_up(new_node, header);
return new_node;
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
//! Additional note: the inserted node is splayed
- static void push_back(const node_ptr & header, const node_ptr & new_node)
+ static void push_back(node_ptr header, node_ptr new_node)
{
bstree_algo::push_back(header, new_node);
splay_up(new_node, header);
}
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
//! Additional note: the inserted node is splayed
- static void push_front(const node_ptr & header, const node_ptr & new_node)
+ static void push_front(node_ptr header, node_ptr new_node)
{
bstree_algo::push_front(header, new_node);
splay_up(new_node, header);
@@ -486,7 +486,7 @@ class splaytree_algorithms
//! Additional note: nodes with the given key are splayed
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const node_ptr & header, const KeyType &key
+ (node_ptr header, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
{
splay_down(header, key, comp);
@@ -497,7 +497,7 @@ class splaytree_algorithms
//! Additional note: nodes with the given key are splayed
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const node_ptr & header, const node_ptr &hint, const KeyType &key
+ (node_ptr header, node_ptr hint, const KeyType &key
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
{
splay_down(header, key, comp);
@@ -505,28 +505,28 @@ class splaytree_algorithms
}
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
static void insert_unique_commit
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data);
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data);
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
- static bool is_header(const const_node_ptr & p);
+ static bool is_header(const_node_ptr p);
//! @copydoc ::boost::intrusive::bstree_algorithms::rebalance
- static void rebalance(const node_ptr & header);
+ static void rebalance(node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::rebalance_subtree
- static node_ptr rebalance_subtree(const node_ptr & old_root);
+ static node_ptr rebalance_subtree(node_ptr old_root);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
// bottom-up splay, use data_ as parent for n | complexity : logarithmic | exception : nothrow
- static void splay_up(const node_ptr & node, const node_ptr & header)
+ static void splay_up(node_ptr node, node_ptr header)
{ priv_splay_up<true>(node, header); }
// top-down splay | complexity : logarithmic | exception : strong, note A
template<class KeyType, class KeyNodePtrCompare>
- static node_ptr splay_down(const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
+ static node_ptr splay_down(node_ptr header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
{ return priv_splay_down<true>(header, key, comp, pfound); }
private:
@@ -535,7 +535,7 @@ class splaytree_algorithms
// bottom-up splay, use data_ as parent for n | complexity : logarithmic | exception : nothrow
template<bool SimpleSplay>
- static void priv_splay_up(const node_ptr & node, const node_ptr & header)
+ static void priv_splay_up(node_ptr node, node_ptr header)
{
// If (node == header) do a splay for the right most node instead
// this is to boost performance of equal_range/count on equivalent containers in the case
@@ -572,7 +572,7 @@ class splaytree_algorithms
}
template<bool SimpleSplay, class KeyType, class KeyNodePtrCompare>
- static node_ptr priv_splay_down(const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
+ static node_ptr priv_splay_down(node_ptr header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
{
//Most splay tree implementations use a dummy/null node to implement.
//this function. This has some problems for a generic library like Intrusive:
@@ -684,7 +684,7 @@ class splaytree_algorithms
}
// rotate n with its parent | complexity : constant | exception : nothrow
- static void rotate(const node_ptr & n)
+ static void rotate(node_ptr n)
{
//procedure rotate_left;
// t, right(t), left(right(t)) := right(t), left(right(t)), t
diff --git a/boost/intrusive/treap_algorithms.hpp b/boost/intrusive/treap_algorithms.hpp
index b1a82b3d0f..e9b8b23397 100644
--- a/boost/intrusive/treap_algorithms.hpp
+++ b/boost/intrusive/treap_algorithms.hpp
@@ -41,7 +41,7 @@ struct treap_node_extra_checker
typedef ExtraChecker base_checker_t;
typedef ValueTraits value_traits;
typedef typename value_traits::node_traits node_traits;
- typedef typename node_traits::const_node_ptr const_node_ptr;
+ typedef typename node_traits::const_node_ptr const_node_ptr;
typedef typename base_checker_t::return_type return_type;
@@ -114,8 +114,8 @@ class treap_algorithms
public:
typedef NodeTraits node_traits;
typedef typename NodeTraits::node node;
- typedef typename NodeTraits::node_ptr node_ptr;
- typedef typename NodeTraits::const_node_ptr const_node_ptr;
+ typedef typename NodeTraits::node_ptr node_ptr;
+ typedef typename NodeTraits::const_node_ptr const_node_ptr;
/// @cond
private:
@@ -127,7 +127,7 @@ class treap_algorithms
rerotate_on_destroy& operator=(const rerotate_on_destroy&);
public:
- rerotate_on_destroy(const node_ptr & header, const node_ptr & p, std::size_t &n)
+ rerotate_on_destroy(node_ptr header, node_ptr p, std::size_t &n)
: header_(header), p_(p), n_(n), remove_it_(true)
{}
@@ -181,33 +181,33 @@ class treap_algorithms
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
//! @copydoc ::boost::intrusive::bstree_algorithms::get_header(const const_node_ptr&)
- static node_ptr get_header(const const_node_ptr & n);
+ static node_ptr get_header(const_node_ptr n);
//! @copydoc ::boost::intrusive::bstree_algorithms::begin_node
- static node_ptr begin_node(const const_node_ptr & header);
+ static node_ptr begin_node(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::end_node
- static node_ptr end_node(const const_node_ptr & header);
+ static node_ptr end_node(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
- static void swap_tree(const node_ptr & header1, const node_ptr & header2);
+ static void swap_tree(node_ptr header1, node_ptr header2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr node2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
template<class NodePtrPriorityCompare>
- static void unlink(const node_ptr & node, NodePtrPriorityCompare pcomp)
+ static void unlink(node_ptr node, NodePtrPriorityCompare pcomp)
{
node_ptr x = NodeTraits::get_parent(node);
if(x){
@@ -219,30 +219,30 @@ class treap_algorithms
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header);
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
- static bool unique(const const_node_ptr & node);
+ static bool unique(const_node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
- static std::size_t size(const const_node_ptr & header);
+ static std::size_t size(const_node_ptr header);
//! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
- static node_ptr next_node(const node_ptr & node);
+ static node_ptr next_node(node_ptr node);
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
- static node_ptr prev_node(const node_ptr & node);
+ static node_ptr prev_node(node_ptr node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
- static void init(const node_ptr & node);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
+ static void init(node_ptr node);
- //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(const node_ptr&)
- static void init_header(const node_ptr & header);
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
+ static void init_header(node_ptr header);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
template<class NodePtrPriorityCompare>
- static node_ptr erase(const node_ptr & header, const node_ptr & z, NodePtrPriorityCompare pcomp)
+ static node_ptr erase(node_ptr header, node_ptr z, NodePtrPriorityCompare pcomp)
{
rebalance_for_erasure(header, z, pcomp);
bstree_algo::erase(header, z);
@@ -250,44 +250,44 @@ class treap_algorithms
}
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
template <class Cloner, class Disposer>
static void clone
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer);
+ (const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
//! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
template<class Disposer>
- static void clear_and_dispose(const node_ptr & header, Disposer disposer);
+ static void clear_and_dispose(node_ptr header, Disposer disposer);
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static node_ptr lower_bound
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static node_ptr upper_bound
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static node_ptr find
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> equal_range
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
//! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
template<class KeyType, class KeyNodePtrCompare>
static std::pair<node_ptr, node_ptr> bounded_range
- (const const_node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
+ (const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
, bool left_closed, bool right_closed);
//! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
template<class KeyType, class KeyNodePtrCompare>
- static std::size_t count(const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
+ static std::size_t count(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
@@ -308,7 +308,7 @@ class treap_algorithms
//! <b>Throws</b>: If "comp" throw or "pcomp" throw.
template<class NodePtrCompare, class NodePtrPriorityCompare>
static node_ptr insert_equal_upper_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp, NodePtrPriorityCompare pcomp)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp, NodePtrPriorityCompare pcomp)
{
insert_commit_data commit_data;
bstree_algo::insert_equal_upper_bound_check(h, new_node, comp, commit_data);
@@ -333,7 +333,7 @@ class treap_algorithms
//! <b>Throws</b>: If "comp" throws.
template<class NodePtrCompare, class NodePtrPriorityCompare>
static node_ptr insert_equal_lower_bound
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp, NodePtrPriorityCompare pcomp)
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp, NodePtrPriorityCompare pcomp)
{
insert_commit_data commit_data;
bstree_algo::insert_equal_lower_bound_check(h, new_node, comp, commit_data);
@@ -361,7 +361,7 @@ class treap_algorithms
//! <b>Throws</b>: If "comp" throw or "pcomp" throw.
template<class NodePtrCompare, class NodePtrPriorityCompare>
static node_ptr insert_equal
- (const node_ptr & h, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp, NodePtrPriorityCompare pcomp)
+ (node_ptr h, node_ptr hint, node_ptr new_node, NodePtrCompare comp, NodePtrPriorityCompare pcomp)
{
insert_commit_data commit_data;
bstree_algo::insert_equal_check(h, hint, new_node, comp, commit_data);
@@ -389,7 +389,7 @@ class treap_algorithms
//! tree invariants might be broken.
template<class NodePtrPriorityCompare>
static node_ptr insert_before
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node, NodePtrPriorityCompare pcomp)
+ (node_ptr header, node_ptr pos, node_ptr new_node, NodePtrPriorityCompare pcomp)
{
insert_commit_data commit_data;
bstree_algo::insert_before_check(header, pos, commit_data);
@@ -415,7 +415,7 @@ class treap_algorithms
//! tree invariants are broken. This function is slightly faster than
//! using "insert_before".
template<class NodePtrPriorityCompare>
- static void push_back(const node_ptr & header, const node_ptr & new_node, NodePtrPriorityCompare pcomp)
+ static void push_back(node_ptr header, node_ptr new_node, NodePtrPriorityCompare pcomp)
{
insert_commit_data commit_data;
bstree_algo::push_back_check(header, commit_data);
@@ -440,7 +440,7 @@ class treap_algorithms
//! tree invariants are broken. This function is slightly faster than
//! using "insert_before".
template<class NodePtrPriorityCompare>
- static void push_front(const node_ptr & header, const node_ptr & new_node, NodePtrPriorityCompare pcomp)
+ static void push_front(node_ptr header, node_ptr new_node, NodePtrPriorityCompare pcomp)
{
insert_commit_data commit_data;
bstree_algo::push_front_check(header, commit_data);
@@ -483,7 +483,7 @@ class treap_algorithms
//! if no more objects are inserted or erased from the set.
template<class KeyType, class KeyNodePtrCompare, class KeyNodePtrPrioCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const const_node_ptr & header, const KeyType &key
+ (const_node_ptr header, const KeyType &key
,KeyNodePtrCompare comp, KeyNodePtrPrioCompare pcomp
,insert_commit_data &commit_data)
{
@@ -535,7 +535,7 @@ class treap_algorithms
//! if no more objects are inserted or erased from the set.
template<class KeyType, class KeyNodePtrCompare, class KeyNodePtrPrioCompare>
static std::pair<node_ptr, bool> insert_unique_check
- (const const_node_ptr & header, const node_ptr & hint, const KeyType &key
+ (const_node_ptr header, node_ptr hint, const KeyType &key
,KeyNodePtrCompare comp, KeyNodePtrPrioCompare pcomp, insert_commit_data &commit_data)
{
std::pair<node_ptr, bool> ret =
@@ -563,7 +563,7 @@ class treap_algorithms
//! previously executed to fill "commit_data". No value should be inserted or
//! erased between the "insert_check" and "insert_commit" calls.
static void insert_unique_commit
- (const node_ptr & header, const node_ptr & new_node, const insert_commit_data &commit_data)
+ (node_ptr header, node_ptr new_node, const insert_commit_data &commit_data)
{
bstree_algo::insert_unique_commit(header, new_node, commit_data);
rotate_up_n(header, new_node, commit_data.rotations);
@@ -572,7 +572,7 @@ class treap_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
template<class NodePtrCompare, class KeyNodePtrPrioCompare>
static bool transfer_unique
- (const node_ptr & header1, NodePtrCompare comp, KeyNodePtrPrioCompare pcomp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, KeyNodePtrPrioCompare pcomp, node_ptr header2, node_ptr z)
{
insert_commit_data commit_data;
bool const transferable = insert_unique_check(header1, z, comp, pcomp, commit_data).second;
@@ -586,7 +586,7 @@ class treap_algorithms
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
template<class NodePtrCompare, class KeyNodePtrPrioCompare>
static void transfer_equal
- (const node_ptr & header1, NodePtrCompare comp, KeyNodePtrPrioCompare pcomp, const node_ptr &header2, const node_ptr & z)
+ (node_ptr header1, NodePtrCompare comp, KeyNodePtrPrioCompare pcomp, node_ptr header2, node_ptr z)
{
insert_commit_data commit_data;
bstree_algo::insert_equal_upper_bound_check(header1, z, comp, commit_data);
@@ -600,14 +600,14 @@ class treap_algorithms
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
- static bool is_header(const const_node_ptr & p);
+ static bool is_header(const_node_ptr p);
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
/// @cond
private:
template<class NodePtrPriorityCompare>
- static void rebalance_for_erasure(const node_ptr & header, const node_ptr & z, NodePtrPriorityCompare pcomp)
+ static void rebalance_for_erasure(node_ptr header, node_ptr z, NodePtrPriorityCompare pcomp)
{
std::size_t n = 0;
rerotate_on_destroy rb(header, z, n);
@@ -631,7 +631,7 @@ class treap_algorithms
template<class NodePtrPriorityCompare>
static void rebalance_check_and_commit
- (const node_ptr & h, const node_ptr & new_node, NodePtrPriorityCompare pcomp, insert_commit_data &commit_data)
+ (node_ptr h, node_ptr new_node, NodePtrPriorityCompare pcomp, insert_commit_data &commit_data)
{
rebalance_after_insertion_check(h, commit_data.node, new_node, pcomp, commit_data.rotations);
//No-throw
@@ -641,7 +641,7 @@ class treap_algorithms
template<class Key, class KeyNodePriorityCompare>
static void rebalance_after_insertion_check
- (const const_node_ptr &header, const const_node_ptr & up, const Key &k
+ (const_node_ptr header, const_node_ptr up, const Key &k
, KeyNodePriorityCompare pcomp, std::size_t &num_rotations)
{
const_node_ptr upnode(up);
@@ -656,7 +656,7 @@ class treap_algorithms
}
template<class NodePtrPriorityCompare>
- static bool check_invariant(const const_node_ptr & header, NodePtrPriorityCompare pcomp)
+ static bool check_invariant(const_node_ptr header, NodePtrPriorityCompare pcomp)
{
node_ptr beg = begin_node(header);
node_ptr end = end_node(header);
diff --git a/boost/intrusive/unordered_set.hpp b/boost/intrusive/unordered_set.hpp
index cf60dc4f7a..5588cb160a 100644
--- a/boost/intrusive/unordered_set.hpp
+++ b/boost/intrusive/unordered_set.hpp
@@ -498,6 +498,7 @@ class unordered_set
typedef typename Base::hasher hasher;
typedef typename Base::key_equal key_equal;
+ BOOST_INTRUSIVE_FORCEINLINE
explicit unordered_set ( const bucket_traits &b_traits
, const hasher & hash_func = hasher()
, const key_equal &equal_func = key_equal()
@@ -506,7 +507,8 @@ class unordered_set
{}
template<class Iterator>
- BOOST_INTRUSIVE_FORCEINLINE unordered_set
+ BOOST_INTRUSIVE_FORCEINLINE
+ unordered_set
( Iterator b, Iterator e
, const bucket_traits &b_traits
, const hasher & hash_func = hasher()
@@ -947,6 +949,7 @@ class unordered_multiset
typedef typename Base::hasher hasher;
typedef typename Base::key_equal key_equal;
+ BOOST_INTRUSIVE_FORCEINLINE
explicit unordered_multiset( const bucket_traits &b_traits
, const hasher & hash_func = hasher()
, const key_equal &equal_func = key_equal()
@@ -954,7 +957,8 @@ class unordered_multiset
: Base(b_traits, hash_func, equal_func, v_traits)
{}
- template<class Iterator> BOOST_INTRUSIVE_FORCEINLINE
+ template<class Iterator>
+ BOOST_INTRUSIVE_FORCEINLINE
unordered_multiset( Iterator b
, Iterator e
, const bucket_traits &b_traits
diff --git a/boost/intrusive/unordered_set_hook.hpp b/boost/intrusive/unordered_set_hook.hpp
index a18d2354c4..f03940bdfb 100644
--- a/boost/intrusive/unordered_set_hook.hpp
+++ b/boost/intrusive/unordered_set_hook.hpp
@@ -85,13 +85,13 @@ struct unordered_node_traits
static node_ptr get_next(const const_node_ptr & n)
{ return pointer_traits<node_ptr>::static_cast_from(n->next_); }
- static void set_next(const node_ptr & n, const node_ptr & next)
+ static void set_next(node_ptr n, node_ptr next)
{ n->next_ = next; }
static node_ptr get_prev_in_group(const const_node_ptr & n)
{ return n->prev_in_group_; }
- static void set_prev_in_group(const node_ptr & n, const node_ptr & prev)
+ static void set_prev_in_group(node_ptr n, node_ptr prev)
{ n->prev_in_group_ = prev; }
static std::size_t get_hash(const const_node_ptr & n)
@@ -111,7 +111,7 @@ struct unordered_group_adapter
static node_ptr get_next(const const_node_ptr & n)
{ return NodeTraits::get_prev_in_group(n); }
- static void set_next(const node_ptr & n, const node_ptr & next)
+ static void set_next(node_ptr n, node_ptr next)
{ NodeTraits::set_prev_in_group(n, next); }
};
diff --git a/boost/iostreams/chain.hpp b/boost/iostreams/chain.hpp
index 4e108c8b09..5a17b8c472 100644
--- a/boost/iostreams/chain.hpp
+++ b/boost/iostreams/chain.hpp
@@ -17,11 +17,11 @@
#include <iterator> // advance.
#include <list>
#include <memory> // allocator, auto_ptr or unique_ptr.
-#include <typeinfo>
#include <stdexcept> // logic_error, out_of_range.
#include <boost/checked_delete.hpp>
#include <boost/config.hpp> // BOOST_MSVC, template friends,
#include <boost/detail/workaround.hpp> // BOOST_NESTED_TEMPLATE
+#include <boost/core/typeinfo.hpp>
#include <boost/iostreams/constants.hpp>
#include <boost/iostreams/detail/access_control.hpp>
#include <boost/iostreams/detail/char_traits.hpp>
@@ -164,7 +164,7 @@ public:
//----------Direct component access---------------------------------------//
- const std::type_info& component_type(int n) const
+ const boost::core::typeinfo& component_type(int n) const
{
if (static_cast<size_type>(n) >= size())
boost::throw_exception(std::out_of_range("bad chain offset"));
@@ -173,7 +173,7 @@ public:
// Deprecated.
template<int N>
- const std::type_info& component_type() const { return component_type(N); }
+ const boost::core::typeinfo& component_type() const { return component_type(N); }
template<typename T>
T* component(int n) const { return component(n, boost::type<T>()); }
@@ -191,7 +191,7 @@ public:
if (static_cast<size_type>(n) >= size())
boost::throw_exception(std::out_of_range("bad chain offset"));
streambuf_type* link = *boost::next(list().begin(), n);
- if (BOOST_IOSTREAMS_COMPARE_TYPE_ID(link->component_type(), typeid(T)))
+ if (BOOST_IOSTREAMS_COMPARE_TYPE_ID(link->component_type(), BOOST_CORE_TYPEID(T)))
return static_cast<T*>(link->component_impl());
else
return 0;
@@ -455,12 +455,12 @@ public:
chain_client(chain_client* client) : chain_(client->chain_) { }
virtual ~chain_client() { }
- const std::type_info& component_type(int n) const
+ const boost::core::typeinfo& component_type(int n) const
{ return chain_->component_type(n); }
// Deprecated.
template<int N>
- const std::type_info& component_type() const
+ const boost::core::typeinfo& component_type() const
{ return chain_->BOOST_NESTED_TEMPLATE component_type<N>(); }
template<typename T>
diff --git a/boost/iostreams/detail/adapter/direct_adapter.hpp b/boost/iostreams/detail/adapter/direct_adapter.hpp
index 243b4b0abf..60fe8c274f 100644
--- a/boost/iostreams/detail/adapter/direct_adapter.hpp
+++ b/boost/iostreams/detail/adapter/direct_adapter.hpp
@@ -58,6 +58,7 @@ protected:
explicit direct_adapter_base(const Direct& d);
typedef is_convertible<category, two_sequence> is_double;
struct pointers {
+ pointers() : beg(0), ptr(0), end(0) { }
char_type *beg, *ptr, *end;
};
void init_input(mpl::true_);
diff --git a/boost/iostreams/detail/adapter/non_blocking_adapter.hpp b/boost/iostreams/detail/adapter/non_blocking_adapter.hpp
index 623cf769d2..85794d0daa 100644
--- a/boost/iostreams/detail/adapter/non_blocking_adapter.hpp
+++ b/boost/iostreams/detail/adapter/non_blocking_adapter.hpp
@@ -28,7 +28,7 @@ public:
{
std::streamsize result = 0;
while (result < n) {
- std::streamsize amt = iostreams::read(device_, s, n);
+ std::streamsize amt = iostreams::read(device_, s + result, n - result);
if (amt == -1)
break;
result += amt;
diff --git a/boost/iostreams/detail/buffer.hpp b/boost/iostreams/detail/buffer.hpp
index 35cb33c700..59617f4eb3 100644
--- a/boost/iostreams/detail/buffer.hpp
+++ b/boost/iostreams/detail/buffer.hpp
@@ -205,7 +205,7 @@ void basic_buffer<Ch, Alloc>::swap(basic_buffer& rhs)
template<typename Ch, typename Alloc>
buffer<Ch, Alloc>::buffer(std::streamsize buffer_size)
- : basic_buffer<Ch, Alloc>(buffer_size) { }
+ : basic_buffer<Ch, Alloc>(buffer_size), ptr_(data()), eptr_(data() + buffer_size) { }
template<typename Ch, typename Alloc>
inline void buffer<Ch, Alloc>::set(std::streamsize ptr, std::streamsize end)
diff --git a/boost/iostreams/detail/config/codecvt.hpp b/boost/iostreams/detail/config/codecvt.hpp
index 6519ddcd44..48adf4da80 100644
--- a/boost/iostreams/detail/config/codecvt.hpp
+++ b/boost/iostreams/detail/config/codecvt.hpp
@@ -42,7 +42,7 @@
//------------------Normalize codecvt::length---------------------------------//
-#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) && \
+#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) && !defined(__clang__) && \
(!defined(BOOST_RWSTD_VER) || BOOST_RWSTD_VER < 0x04010300) && \
(!defined(__MACH__) || !defined(__INTEL_COMPILER))
/**/
diff --git a/boost/iostreams/detail/config/fpos.hpp b/boost/iostreams/detail/config/fpos.hpp
index 12c13a0f1e..b46b168973 100644
--- a/boost/iostreams/detail/config/fpos.hpp
+++ b/boost/iostreams/detail/config/fpos.hpp
@@ -1,7 +1,7 @@
/*
- * Distributed under the Boost Software License, Version 1.0.(See accompanying
+ * Distributed under the Boost Software License, Version 1.0.(See accompanying
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
- *
+ *
* See http://www.boost.org/libs/iostreams for documentation.
* File: boost/iostreams/detail/execute.hpp
@@ -11,7 +11,7 @@
* Contact: turkanis at coderage dot com
*
* Defines the preprocessor symbol BOOST_IOSTREAMS_HAS_DINKUMWARE_FPOS for
- * platforms that use the implementation of std::fpos from the Dinkumware
+ * platforms that use the implementation of std::fpos from the Dinkumware
* Standard Library.
*/
@@ -25,9 +25,10 @@
#include <boost/config.hpp>
# if (defined(_YVALS) || defined(_CPPLIB_VER)) && !defined(__SGI_STL_PORT) && \
- !defined(_STLPORT_VERSION) && !defined(__QNX__) && !defined(_VX_CPU) && !defined(__VXWORKS__)
+ !defined(_STLPORT_VERSION) && !defined(__QNX__) && !defined(_VX_CPU) && !defined(__VXWORKS__) \
+ && !(defined(BOOST_MSVC) && _MSVC_STL_VERSION >= 141)
/**/
-
+
#include <boost/iostreams/detail/ios.hpp>
# define BOOST_IOSTREAMS_HAS_DINKUMWARE_FPOS
diff --git a/boost/iostreams/detail/config/wide_streams.hpp b/boost/iostreams/detail/config/wide_streams.hpp
index af3d716d49..ca8dff38f5 100644
--- a/boost/iostreams/detail/config/wide_streams.hpp
+++ b/boost/iostreams/detail/config/wide_streams.hpp
@@ -44,8 +44,7 @@
//------------------Locale support--------------------------------------------//
#ifndef BOOST_IOSTREAMS_NO_LOCALE
-# if defined(BOOST_NO_STD_LOCALE) || \
- defined(__CYGWIN__) && \
+# if defined(BOOST_NO_STD_LOCALE) && \
( !defined(__MSL_CPP__) || defined(_MSL_NO_WCHART_CPP_SUPPORT) ) \
/**/
# define BOOST_IOSTREAMS_NO_LOCALE
diff --git a/boost/iostreams/detail/restrict_impl.hpp b/boost/iostreams/detail/restrict_impl.hpp
index 8278db5a6a..e949b6ac47 100644
--- a/boost/iostreams/detail/restrict_impl.hpp
+++ b/boost/iostreams/detail/restrict_impl.hpp
@@ -478,4 +478,6 @@ BOOST_IOSTREAMS_RESTRICT(T& t, stream_offset off, stream_offset len = -1)
} } // End namespaces iostreams, boost.
+# include <boost/iostreams/detail/config/enable_warnings.hpp>
+
#endif // #if !defined(BOOST_IOSTREAMS_RESTRICT_IMPL_HPP_INCLUDED) ...
diff --git a/boost/iostreams/detail/streambuf/direct_streambuf.hpp b/boost/iostreams/detail/streambuf/direct_streambuf.hpp
index 69efe2b128..a55c4621ef 100644
--- a/boost/iostreams/detail/streambuf/direct_streambuf.hpp
+++ b/boost/iostreams/detail/streambuf/direct_streambuf.hpp
@@ -14,9 +14,9 @@
#include <boost/assert.hpp>
#include <cstddef>
-#include <typeinfo>
#include <utility> // pair.
#include <boost/config.hpp> // BOOST_DEDUCED_TYPENAME,
+#include <boost/core/typeinfo.hpp>
#include <boost/iostreams/detail/char_traits.hpp> // member template friends.
#include <boost/iostreams/detail/config/wide_streams.hpp>
#include <boost/iostreams/detail/error.hpp>
@@ -74,7 +74,7 @@ protected:
// Declared in linked_streambuf.
void close_impl(BOOST_IOS::openmode m);
- const std::type_info& component_type() const { return typeid(T); }
+ const boost::core::typeinfo& component_type() const { return BOOST_CORE_TYPEID(T); }
void* component_impl() { return component(); }
#ifdef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES
public:
diff --git a/boost/iostreams/detail/streambuf/indirect_streambuf.hpp b/boost/iostreams/detail/streambuf/indirect_streambuf.hpp
index 90e1e11531..6eb1050717 100644
--- a/boost/iostreams/detail/streambuf/indirect_streambuf.hpp
+++ b/boost/iostreams/detail/streambuf/indirect_streambuf.hpp
@@ -16,9 +16,9 @@
#include <algorithm> // min, max.
#include <cassert>
#include <exception>
-#include <typeinfo>
#include <boost/config.hpp> // Member template friends.
#include <boost/detail/workaround.hpp>
+#include <boost/core/typeinfo.hpp>
#include <boost/iostreams/constants.hpp>
#include <boost/iostreams/detail/adapter/concept_adapter.hpp>
#include <boost/iostreams/detail/buffer.hpp>
@@ -94,7 +94,7 @@ protected:
// Declared in linked_streambuf.
void set_next(streambuf_type* next);
void close_impl(BOOST_IOS::openmode m);
- const std::type_info& component_type() const { return typeid(T); }
+ const boost::core::typeinfo& component_type() const { return BOOST_CORE_TYPEID(T); }
void* component_impl() { return component(); }
private:
diff --git a/boost/iostreams/detail/streambuf/linked_streambuf.hpp b/boost/iostreams/detail/streambuf/linked_streambuf.hpp
index 9999ded62f..708c2c42ab 100644
--- a/boost/iostreams/detail/streambuf/linked_streambuf.hpp
+++ b/boost/iostreams/detail/streambuf/linked_streambuf.hpp
@@ -12,8 +12,8 @@
# pragma once
#endif
-#include <typeinfo>
#include <boost/config.hpp> // member template friends.
+#include <boost/core/typeinfo.hpp>
#include <boost/iostreams/detail/char_traits.hpp>
#include <boost/iostreams/detail/ios.hpp> // openmode.
#include <boost/iostreams/detail/streambuf.hpp>
@@ -91,7 +91,7 @@ protected:
virtual bool auto_close() const = 0;
virtual void set_auto_close(bool) = 0;
virtual bool strict_sync() = 0;
- virtual const std::type_info& component_type() const = 0;
+ virtual const boost::core::typeinfo& component_type() const = 0;
virtual void* component_impl() = 0;
#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
private:
diff --git a/boost/iostreams/filter/bzip2.hpp b/boost/iostreams/filter/bzip2.hpp
index b9c04a7ce1..249e43a04f 100644
--- a/boost/iostreams/filter/bzip2.hpp
+++ b/boost/iostreams/filter/bzip2.hpp
@@ -175,6 +175,7 @@ protected:
int check_end(const char* src_begin, const char* dest_begin);
int compress(int action);
int decompress();
+ int end(bool compress, std::nothrow_t);
void end(bool compress);
private:
void do_init( bool compress,
@@ -201,6 +202,7 @@ class bzip2_compressor_impl
{
public:
bzip2_compressor_impl(const bzip2_params&);
+ ~bzip2_compressor_impl();
bool filter( const char*& src_begin, const char* src_end,
char*& dest_begin, char* dest_end, bool flush );
void close();
@@ -224,6 +226,7 @@ class bzip2_decompressor_impl
{
public:
bzip2_decompressor_impl(bool small = bzip2::default_small);
+ ~bzip2_decompressor_impl();
bool filter( const char*& begin_in, const char* end_in,
char*& begin_out, char* end_out, bool flush );
void close();
@@ -314,6 +317,10 @@ bzip2_compressor_impl<Alloc>::bzip2_compressor_impl(const bzip2_params& p)
: bzip2_base(p), eof_(false) { }
template<typename Alloc>
+bzip2_compressor_impl<Alloc>::~bzip2_compressor_impl()
+{ (void) bzip2_base::end(true, std::nothrow); }
+
+template<typename Alloc>
bool bzip2_compressor_impl<Alloc>::filter
( const char*& src_begin, const char* src_end,
char*& dest_begin, char* dest_end, bool flush )
@@ -350,6 +357,10 @@ bzip2_decompressor_impl<Alloc>::bzip2_decompressor_impl(bool small)
: bzip2_base(bzip2_params(small)), eof_(false) { }
template<typename Alloc>
+bzip2_decompressor_impl<Alloc>::~bzip2_decompressor_impl()
+{ (void) bzip2_base::end(false, std::nothrow); }
+
+template<typename Alloc>
bool bzip2_decompressor_impl<Alloc>::filter
( const char*& src_begin, const char* src_end,
char*& dest_begin, char* dest_end, bool flush )
diff --git a/boost/iostreams/filter/zstd.hpp b/boost/iostreams/filter/zstd.hpp
new file mode 100644
index 0000000000..176799d937
--- /dev/null
+++ b/boost/iostreams/filter/zstd.hpp
@@ -0,0 +1,363 @@
+// (C) Copyright Reimar Döffinger 2018.
+// Based on zstd.hpp by:
+// (C) Copyright Milan Svoboda 2008.
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
+
+// See http://www.boost.org/libs/iostreams for documentation.
+
+#ifndef BOOST_IOSTREAMS_ZSTD_HPP_INCLUDED
+#define BOOST_IOSTREAMS_ZSTD_HPP_INCLUDED
+
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+#include <cassert>
+#include <iosfwd> // streamsize.
+#include <memory> // allocator, bad_alloc.
+#include <new>
+#include <boost/config.hpp> // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM.
+#include <boost/detail/workaround.hpp>
+#include <boost/iostreams/constants.hpp> // buffer size.
+#include <boost/iostreams/detail/config/auto_link.hpp>
+#include <boost/iostreams/detail/config/dyn_link.hpp>
+#include <boost/iostreams/detail/config/wide_streams.hpp>
+#include <boost/iostreams/detail/ios.hpp> // failure, streamsize.
+#include <boost/iostreams/filter/symmetric.hpp>
+#include <boost/iostreams/pipeline.hpp>
+#include <boost/type_traits/is_same.hpp>
+
+// Must come last.
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable:4251 4231 4660) // Dependencies not exported.
+#endif
+#include <boost/config/abi_prefix.hpp>
+
+namespace boost { namespace iostreams {
+
+namespace zstd {
+
+typedef void* (*alloc_func)(void*, size_t, size_t);
+typedef void (*free_func)(void*, void*);
+
+ // Compression levels
+
+BOOST_IOSTREAMS_DECL extern const uint32_t best_speed;
+BOOST_IOSTREAMS_DECL extern const uint32_t best_compression;
+BOOST_IOSTREAMS_DECL extern const uint32_t default_compression;
+
+ // Status codes
+
+BOOST_IOSTREAMS_DECL extern const int okay;
+BOOST_IOSTREAMS_DECL extern const int stream_end;
+
+ // Flush codes
+
+BOOST_IOSTREAMS_DECL extern const int finish;
+BOOST_IOSTREAMS_DECL extern const int flush;
+BOOST_IOSTREAMS_DECL extern const int run;
+
+ // Code for current OS
+
+ // Null pointer constant.
+
+const int null = 0;
+
+ // Default values
+
+} // End namespace zstd.
+
+//
+// Class name: zstd_params.
+// Description: Encapsulates the parameters passed to zstddec_init
+// to customize compression and decompression.
+//
+struct zstd_params {
+
+ // Non-explicit constructor.
+ zstd_params( uint32_t level = zstd::default_compression )
+ : level(level)
+ { }
+ uint32_t level;
+};
+
+//
+// Class name: zstd_error.
+// Description: Subclass of std::ios::failure thrown to indicate
+// zstd errors other than out-of-memory conditions.
+//
+class BOOST_IOSTREAMS_DECL zstd_error : public BOOST_IOSTREAMS_FAILURE {
+public:
+ explicit zstd_error(size_t error);
+ int error() const { return error_; }
+ static void check BOOST_PREVENT_MACRO_SUBSTITUTION(size_t error);
+private:
+ size_t error_;
+};
+
+namespace detail {
+
+template<typename Alloc>
+struct zstd_allocator_traits {
+#ifndef BOOST_NO_STD_ALLOCATOR
+#if defined(BOOST_NO_CXX11_ALLOCATOR)
+ typedef typename Alloc::template rebind<char>::other type;
+#else
+ typedef typename std::allocator_traits<Alloc>::template rebind_alloc<char> type;
+#endif
+#else
+ typedef std::allocator<char> type;
+#endif
+};
+
+template< typename Alloc,
+ typename Base = // VC6 workaround (C2516)
+ BOOST_DEDUCED_TYPENAME zstd_allocator_traits<Alloc>::type >
+struct zstd_allocator : private Base {
+private:
+#if defined(BOOST_NO_CXX11_ALLOCATOR) || defined(BOOST_NO_STD_ALLOCATOR)
+ typedef typename Base::size_type size_type;
+#else
+ typedef typename std::allocator_traits<Base>::size_type size_type;
+#endif
+public:
+ BOOST_STATIC_CONSTANT(bool, custom =
+ (!is_same<std::allocator<char>, Base>::value));
+ typedef typename zstd_allocator_traits<Alloc>::type allocator_type;
+ static void* allocate(void* self, size_t items, size_t size);
+ static void deallocate(void* self, void* address);
+};
+
+class BOOST_IOSTREAMS_DECL zstd_base {
+public:
+ typedef char char_type;
+protected:
+ zstd_base();
+ ~zstd_base();
+ template<typename Alloc>
+ void init( const zstd_params& p,
+ bool compress,
+ zstd_allocator<Alloc>& zalloc )
+ {
+ bool custom = zstd_allocator<Alloc>::custom;
+ do_init( p, compress,
+ custom ? zstd_allocator<Alloc>::allocate : 0,
+ custom ? zstd_allocator<Alloc>::deallocate : 0,
+ &zalloc );
+ }
+ void before( const char*& src_begin, const char* src_end,
+ char*& dest_begin, char* dest_end );
+ void after( const char*& src_begin, char*& dest_begin,
+ bool compress );
+ int deflate(int action);
+ int inflate(int action);
+ void reset(bool compress, bool realloc);
+private:
+ void do_init( const zstd_params& p, bool compress,
+ zstd::alloc_func,
+ zstd::free_func,
+ void* derived );
+ void* cstream_; // Actual type: ZSTD_CStream *
+ void* dstream_; // Actual type: ZSTD_DStream *
+ void* in_; // Actual type: ZSTD_inBuffer *
+ void* out_; // Actual type: ZSTD_outBuffer *
+ int eof_;
+ uint32_t level;
+};
+
+//
+// Template name: zstd_compressor_impl
+// Description: Model of C-Style Filter implementing compression by
+// delegating to the zstd function deflate.
+//
+template<typename Alloc = std::allocator<char> >
+class zstd_compressor_impl : public zstd_base, public zstd_allocator<Alloc> {
+public:
+ zstd_compressor_impl(const zstd_params& = zstd::default_compression);
+ ~zstd_compressor_impl();
+ bool filter( const char*& src_begin, const char* src_end,
+ char*& dest_begin, char* dest_end, bool flush );
+ void close();
+};
+
+//
+// Template name: zstd_compressor_impl
+// Description: Model of C-Style Filte implementing decompression by
+// delegating to the zstd function inflate.
+//
+template<typename Alloc = std::allocator<char> >
+class zstd_decompressor_impl : public zstd_base, public zstd_allocator<Alloc> {
+public:
+ zstd_decompressor_impl(const zstd_params&);
+ zstd_decompressor_impl();
+ ~zstd_decompressor_impl();
+ bool filter( const char*& begin_in, const char* end_in,
+ char*& begin_out, char* end_out, bool flush );
+ void close();
+};
+
+} // End namespace detail.
+
+//
+// Template name: zstd_compressor
+// Description: Model of InputFilter and OutputFilter implementing
+// compression using zstd.
+//
+template<typename Alloc = std::allocator<char> >
+struct basic_zstd_compressor
+ : symmetric_filter<detail::zstd_compressor_impl<Alloc>, Alloc>
+{
+private:
+ typedef detail::zstd_compressor_impl<Alloc> impl_type;
+ typedef symmetric_filter<impl_type, Alloc> base_type;
+public:
+ typedef typename base_type::char_type char_type;
+ typedef typename base_type::category category;
+ basic_zstd_compressor( const zstd_params& = zstd::default_compression,
+ std::streamsize buffer_size = default_device_buffer_size );
+};
+BOOST_IOSTREAMS_PIPABLE(basic_zstd_compressor, 1)
+
+typedef basic_zstd_compressor<> zstd_compressor;
+
+//
+// Template name: zstd_decompressor
+// Description: Model of InputFilter and OutputFilter implementing
+// decompression using zstd.
+//
+template<typename Alloc = std::allocator<char> >
+struct basic_zstd_decompressor
+ : symmetric_filter<detail::zstd_decompressor_impl<Alloc>, Alloc>
+{
+private:
+ typedef detail::zstd_decompressor_impl<Alloc> impl_type;
+ typedef symmetric_filter<impl_type, Alloc> base_type;
+public:
+ typedef typename base_type::char_type char_type;
+ typedef typename base_type::category category;
+ basic_zstd_decompressor( std::streamsize buffer_size = default_device_buffer_size );
+ basic_zstd_decompressor( const zstd_params& p,
+ std::streamsize buffer_size = default_device_buffer_size );
+};
+BOOST_IOSTREAMS_PIPABLE(basic_zstd_decompressor, 1)
+
+typedef basic_zstd_decompressor<> zstd_decompressor;
+
+//----------------------------------------------------------------------------//
+
+//------------------Implementation of zstd_allocator--------------------------//
+
+namespace detail {
+
+template<typename Alloc, typename Base>
+void* zstd_allocator<Alloc, Base>::allocate
+ (void* self, size_t items, size_t size)
+{
+ size_type len = items * size;
+ char* ptr =
+ static_cast<allocator_type*>(self)->allocate
+ (len + sizeof(size_type)
+ #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+ , (char*)0
+ #endif
+ );
+ *reinterpret_cast<size_type*>(ptr) = len;
+ return ptr + sizeof(size_type);
+}
+
+template<typename Alloc, typename Base>
+void zstd_allocator<Alloc, Base>::deallocate(void* self, void* address)
+{
+ char* ptr = reinterpret_cast<char*>(address) - sizeof(size_type);
+ size_type len = *reinterpret_cast<size_type*>(ptr) + sizeof(size_type);
+ static_cast<allocator_type*>(self)->deallocate(ptr, len);
+}
+
+//------------------Implementation of zstd_compressor_impl--------------------//
+
+template<typename Alloc>
+zstd_compressor_impl<Alloc>::zstd_compressor_impl(const zstd_params& p)
+{ init(p, true, static_cast<zstd_allocator<Alloc>&>(*this)); }
+
+template<typename Alloc>
+zstd_compressor_impl<Alloc>::~zstd_compressor_impl()
+{ reset(true, false); }
+
+template<typename Alloc>
+bool zstd_compressor_impl<Alloc>::filter
+ ( const char*& src_begin, const char* src_end,
+ char*& dest_begin, char* dest_end, bool flush )
+{
+ before(src_begin, src_end, dest_begin, dest_end);
+ int result = deflate(flush ? zstd::finish : zstd::run);
+ after(src_begin, dest_begin, true);
+ return result != zstd::stream_end;
+}
+
+template<typename Alloc>
+void zstd_compressor_impl<Alloc>::close() { reset(true, true); }
+
+//------------------Implementation of zstd_decompressor_impl------------------//
+
+template<typename Alloc>
+zstd_decompressor_impl<Alloc>::zstd_decompressor_impl(const zstd_params& p)
+{ init(p, false, static_cast<zstd_allocator<Alloc>&>(*this)); }
+
+template<typename Alloc>
+zstd_decompressor_impl<Alloc>::~zstd_decompressor_impl()
+{ reset(false, false); }
+
+template<typename Alloc>
+zstd_decompressor_impl<Alloc>::zstd_decompressor_impl()
+{
+ zstd_params p;
+ init(p, false, static_cast<zstd_allocator<Alloc>&>(*this));
+}
+
+template<typename Alloc>
+bool zstd_decompressor_impl<Alloc>::filter
+ ( const char*& src_begin, const char* src_end,
+ char*& dest_begin, char* dest_end, bool flush )
+{
+ before(src_begin, src_end, dest_begin, dest_end);
+ int result = inflate(flush ? zstd::finish : zstd::run);
+ after(src_begin, dest_begin, false);
+ return result != zstd::stream_end;
+}
+
+template<typename Alloc>
+void zstd_decompressor_impl<Alloc>::close() { reset(false, true); }
+
+} // End namespace detail.
+
+//------------------Implementation of zstd_compressor-----------------------//
+
+template<typename Alloc>
+basic_zstd_compressor<Alloc>::basic_zstd_compressor
+ (const zstd_params& p, std::streamsize buffer_size)
+ : base_type(buffer_size, p) { }
+
+//------------------Implementation of zstd_decompressor-----------------------//
+
+template<typename Alloc>
+basic_zstd_decompressor<Alloc>::basic_zstd_decompressor
+ (std::streamsize buffer_size)
+ : base_type(buffer_size) { }
+
+template<typename Alloc>
+basic_zstd_decompressor<Alloc>::basic_zstd_decompressor
+ (const zstd_params& p, std::streamsize buffer_size)
+ : base_type(buffer_size, p) { }
+
+//----------------------------------------------------------------------------//
+
+} } // End namespaces iostreams, boost.
+
+#include <boost/config/abi_suffix.hpp> // Pops abi_suffix.hpp pragmas.
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
+#endif // #ifndef BOOST_IOSTREAMS_ZSTD_HPP_INCLUDED
diff --git a/boost/iterator/advance.hpp b/boost/iterator/advance.hpp
index 6f81cdb6b1..92af8fbfe6 100644
--- a/boost/iterator/advance.hpp
+++ b/boost/iterator/advance.hpp
@@ -77,7 +77,7 @@ namespace iterators {
} // namespace iterators
-using iterators::advance;
+using namespace iterators::advance_adl_barrier;
} // namespace boost
diff --git a/boost/iterator/distance.hpp b/boost/iterator/distance.hpp
index 8cf3f15c44..bef650b289 100644
--- a/boost/iterator/distance.hpp
+++ b/boost/iterator/distance.hpp
@@ -58,7 +58,7 @@ namespace iterators {
} // namespace iterators
-using iterators::distance;
+using namespace iterators::distance_adl_barrier;
} // namespace boost
diff --git a/boost/lambda/algorithm.hpp b/boost/lambda/algorithm.hpp
index ced5f4e009..bc5b0c7b7f 100644
--- a/boost/lambda/algorithm.hpp
+++ b/boost/lambda/algorithm.hpp
@@ -684,6 +684,8 @@ struct rotate_copy {
// random_shuffle ---------------------------------
+#ifndef BOOST_NO_CXX98_RANDOM_SHUFFLE
+
struct random_shuffle {
template <class Args>
@@ -703,6 +705,7 @@ struct random_shuffle {
};
+#endif
// partition ---------------------------------
diff --git a/boost/last_value.hpp b/boost/last_value.hpp
deleted file mode 100644
index 183a739ead..0000000000
--- a/boost/last_value.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// last_value function object (documented as part of Boost.Signals)
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/signals
-
-#ifndef BOOST_LAST_VALUE_HPP
-#define BOOST_LAST_VALUE_HPP
-
-#include <cassert>
-#include <boost/config.hpp>
-
-namespace boost {
- template<typename T>
- struct last_value {
- typedef T result_type;
-
- template<typename InputIterator>
- T operator()(InputIterator first, InputIterator last) const
- {
- assert(first != last);
- T value = *first++;
- while (first != last)
- value = *first++;
- return value;
- }
- };
-
- template<>
- struct last_value<void> {
-#ifdef BOOST_NO_VOID_RETURNS
- struct unusable {};
-
- public:
- typedef unusable result_type;
-#else
- public:
- typedef void result_type;
-#endif // BOOST_NO_VOID_RETURNS
-
- template<typename InputIterator>
- result_type
- operator()(InputIterator first, InputIterator last) const
- {
- while (first != last)
- *first++;
- return result_type();
- }
- };
-}
-#endif // BOOST_SIGNALS_LAST_VALUE_HPP
diff --git a/boost/lexical_cast.hpp b/boost/lexical_cast.hpp
index 3dc21f88a4..48884898de 100644
--- a/boost/lexical_cast.hpp
+++ b/boost/lexical_cast.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/lexical_cast/bad_lexical_cast.hpp b/boost/lexical_cast/bad_lexical_cast.hpp
index 093121565e..1cb51d79dc 100644
--- a/boost/lexical_cast/bad_lexical_cast.hpp
+++ b/boost/lexical_cast/bad_lexical_cast.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/lexical_cast/detail/converter_lexical.hpp b/boost/lexical_cast/detail/converter_lexical.hpp
index fd866d84e5..a50eab36e1 100644
--- a/boost/lexical_cast/detail/converter_lexical.hpp
+++ b/boost/lexical_cast/detail/converter_lexical.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -30,9 +30,9 @@
#include <cstddef>
#include <string>
#include <boost/limits.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/type_identity.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_float.hpp>
#include <boost/type_traits/has_left_shift.hpp>
@@ -90,35 +90,35 @@ namespace boost {
// Returns one of char, wchar_t, char16_t, char32_t or deduce_character_type_later<T> types
// Executed on Stage 1 (See deduce_source_char<T> and deduce_target_char<T>)
template < typename Type >
- struct stream_char_common: public boost::mpl::if_c<
+ struct stream_char_common: public boost::conditional<
boost::detail::is_character< Type >::value,
Type,
boost::detail::deduce_character_type_later< Type >
> {};
template < typename Char >
- struct stream_char_common< Char* >: public boost::mpl::if_c<
+ struct stream_char_common< Char* >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< Char* >
> {};
template < typename Char >
- struct stream_char_common< const Char* >: public boost::mpl::if_c<
+ struct stream_char_common< const Char* >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< const Char* >
> {};
template < typename Char >
- struct stream_char_common< boost::iterator_range< Char* > >: public boost::mpl::if_c<
+ struct stream_char_common< boost::iterator_range< Char* > >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< boost::iterator_range< Char* > >
> {};
template < typename Char >
- struct stream_char_common< boost::iterator_range< const Char* > >: public boost::mpl::if_c<
+ struct stream_char_common< boost::iterator_range< const Char* > >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< boost::iterator_range< const Char* > >
@@ -137,14 +137,14 @@ namespace boost {
};
template < typename Char, std::size_t N >
- struct stream_char_common< boost::array< Char, N > >: public boost::mpl::if_c<
+ struct stream_char_common< boost::array< Char, N > >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< boost::array< Char, N > >
> {};
template < typename Char, std::size_t N >
- struct stream_char_common< boost::array< const Char, N > >: public boost::mpl::if_c<
+ struct stream_char_common< boost::array< const Char, N > >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< boost::array< const Char, N > >
@@ -152,14 +152,14 @@ namespace boost {
#ifndef BOOST_NO_CXX11_HDR_ARRAY
template < typename Char, std::size_t N >
- struct stream_char_common< std::array<Char, N > >: public boost::mpl::if_c<
+ struct stream_char_common< std::array<Char, N > >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< std::array< Char, N > >
> {};
template < typename Char, std::size_t N >
- struct stream_char_common< std::array< const Char, N > >: public boost::mpl::if_c<
+ struct stream_char_common< std::array< const Char, N > >: public boost::conditional<
boost::detail::is_character< Char >::value,
Char,
boost::detail::deduce_character_type_later< std::array< const Char, N > >
@@ -167,8 +167,8 @@ namespace boost {
#endif
#ifdef BOOST_HAS_INT128
- template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {};
- template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {};
+ template <> struct stream_char_common< boost::int128_type >: public boost::type_identity< char > {};
+ template <> struct stream_char_common< boost::uint128_type >: public boost::type_identity< char > {};
#endif
#if !defined(BOOST_LCAST_NO_WCHAR_T) && defined(BOOST_NO_INTRINSIC_WCHAR_T)
@@ -203,7 +203,7 @@ namespace boost {
"Source type is not std::ostream`able and std::wostream`s are not supported by your STL implementation");
typedef char type;
#else
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
result_t::value, char, wchar_t
>::type type;
@@ -236,7 +236,7 @@ namespace boost {
"Target type is not std::istream`able and std::wistream`s are not supported by your STL implementation");
typedef char type;
#else
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
result_t::value, char, wchar_t
>::type type;
@@ -421,21 +421,21 @@ namespace boost {
"Your compiler does not have full support for char32_t" );
#endif
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
boost::detail::extract_char_traits<char_type, Target>::value,
BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits<char_type, Target>,
BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits<char_type, no_cv_src>
>::type::trait_t traits;
- typedef boost::mpl::bool_
- <
- boost::is_same<char, src_char_t>::value && // source is not a wide character based type
+ typedef boost::integral_constant<
+ bool,
+ boost::is_same<char, src_char_t>::value && // source is not a wide character based type
(sizeof(char) != sizeof(target_char_t)) && // target type is based on wide character
(!(boost::detail::is_character<no_cv_src>::value))
> is_string_widening_required_t;
- typedef boost::mpl::bool_
- <
+ typedef boost::integral_constant<
+ bool,
!(boost::is_integral<no_cv_src>::value ||
boost::detail::is_character<
BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::stage1_type // if we did not get character type at stage1
diff --git a/boost/lexical_cast/detail/converter_lexical_streams.hpp b/boost/lexical_cast/detail/converter_lexical_streams.hpp
index 3758a9cc21..a4c8ab9ef9 100644
--- a/boost/lexical_cast/detail/converter_lexical_streams.hpp
+++ b/boost/lexical_cast/detail/converter_lexical_streams.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2016.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -33,7 +33,7 @@
#include <cstring>
#include <cstdio>
#include <boost/limits.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/type_traits/is_pointer.hpp>
#include <boost/static_assert.hpp>
#include <boost/detail/workaround.hpp>
@@ -137,13 +137,13 @@ namespace boost {
, std::size_t CharacterBufferSize
>
class lexical_istream_limited_src: boost::noncopyable {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
RequiresStringbuffer,
BOOST_DEDUCED_TYPENAME out_stream_helper_trait<CharT, Traits>::out_stream_t,
do_not_construct_out_stream_t
>::type deduced_out_stream_t;
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
RequiresStringbuffer,
BOOST_DEDUCED_TYPENAME out_stream_helper_trait<CharT, Traits>::stringbuffer_t,
do_not_construct_out_buffer_t
diff --git a/boost/lexical_cast/detail/converter_numeric.hpp b/boost/lexical_cast/detail/converter_numeric.hpp
index f50e2ca0fb..d153e90713 100644
--- a/boost/lexical_cast/detail/converter_numeric.hpp
+++ b/boost/lexical_cast/detail/converter_numeric.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2016.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -24,9 +24,8 @@
#endif
#include <boost/limits.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/type_identity.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/type_traits/make_unsigned.hpp>
#include <boost/type_traits/is_signed.hpp>
#include <boost/type_traits/is_integral.hpp>
@@ -43,8 +42,8 @@ struct detect_precision_loss
{
typedef Source source_type;
typedef boost::numeric::Trunc<Source> Rounder;
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- boost::is_arithmetic<Source>, Source, Source const&
+ typedef BOOST_DEDUCED_TYPENAME conditional<
+ boost::is_arithmetic<Source>::value, Source, Source const&
>::type argument_type ;
static inline source_type nearbyint(argument_type s, bool& is_ok) BOOST_NOEXCEPT {
@@ -66,8 +65,8 @@ template <typename Base, class Source>
struct fake_precision_loss: public Base
{
typedef Source source_type ;
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- boost::is_arithmetic<Source>, Source, Source const&
+ typedef BOOST_DEDUCED_TYPENAME conditional<
+ boost::is_arithmetic<Source>::value, Source, Source const&
>::type argument_type ;
static inline source_type nearbyint(argument_type s, bool& /*is_ok*/) BOOST_NOEXCEPT {
@@ -92,7 +91,7 @@ inline bool noexcept_numeric_convert(const Source& arg, Target& result) BOOST_NO
detect_precision_loss<Source >
> converter_orig_t;
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
boost::is_base_of< detect_precision_loss<Source >, converter_orig_t >::value,
converter_orig_t,
fake_precision_loss<converter_orig_t, Source>
@@ -115,11 +114,12 @@ template <typename Target, typename Source>
struct lexical_cast_dynamic_num_ignoring_minus
{
static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
boost::is_float<Source>::value,
- boost::mpl::identity<Source>,
+ boost::type_identity<Source>,
boost::make_unsigned<Source>
- >::type usource_t;
+ >::type usource_lazy_t;
+ typedef BOOST_DEDUCED_TYPENAME usource_lazy_t::type usource_t;
if (arg < 0) {
const bool res = noexcept_numeric_convert<Target, usource_t>(0u - arg, result);
@@ -153,7 +153,7 @@ template <typename Target, typename Source>
struct dynamic_num_converter_impl
{
static inline bool try_convert(const Source &arg, Target& result) BOOST_NOEXCEPT {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
boost::is_unsigned<Target>::value &&
(boost::is_signed<Source>::value || boost::is_float<Source>::value) &&
!(boost::is_same<Source, bool>::value) &&
diff --git a/boost/lexical_cast/detail/inf_nan.hpp b/boost/lexical_cast/detail/inf_nan.hpp
index c10457ecd2..2861a369e8 100644
--- a/boost/lexical_cast/detail/inf_nan.hpp
+++ b/boost/lexical_cast/detail/inf_nan.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/lexical_cast/detail/is_character.hpp b/boost/lexical_cast/detail/is_character.hpp
index 732c39f8e8..379f88293f 100644
--- a/boost/lexical_cast/detail/is_character.hpp
+++ b/boost/lexical_cast/detail/is_character.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -23,7 +23,7 @@
# pragma once
#endif
-#include <boost/mpl/bool.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_same.hpp>
namespace boost {
@@ -34,8 +34,9 @@ namespace boost {
template < typename T >
struct is_character
{
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::bool_<
- boost::is_same< T, char >::value ||
+ typedef BOOST_DEDUCED_TYPENAME boost::integral_constant<
+ bool,
+ boost::is_same< T, char >::value ||
#if !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_NO_STD_WSTRING)
boost::is_same< T, wchar_t >::value ||
#endif
diff --git a/boost/lexical_cast/detail/lcast_char_constants.hpp b/boost/lexical_cast/detail/lcast_char_constants.hpp
index fd651ee3e9..883e82c45c 100644
--- a/boost/lexical_cast/detail/lcast_char_constants.hpp
+++ b/boost/lexical_cast/detail/lcast_char_constants.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/lexical_cast/detail/lcast_unsigned_converters.hpp b/boost/lexical_cast/detail/lcast_unsigned_converters.hpp
index 268961ee72..4c5f3262e9 100644
--- a/boost/lexical_cast/detail/lcast_unsigned_converters.hpp
+++ b/boost/lexical_cast/detail/lcast_unsigned_converters.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -29,7 +29,7 @@
#include <cstring>
#include <cstdio>
#include <boost/limits.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/static_assert.hpp>
#include <boost/detail/workaround.hpp>
@@ -71,9 +71,9 @@ namespace boost
template <class Traits, class T, class CharT>
class lcast_put_unsigned: boost::noncopyable {
typedef BOOST_DEDUCED_TYPENAME Traits::int_type int_type;
- BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
- (sizeof(int_type) > sizeof(T))
- , int_type
+ BOOST_DEDUCED_TYPENAME boost::conditional<
+ (sizeof(unsigned) > sizeof(T))
+ , unsigned
, T
>::type m_value;
CharT* m_finish;
diff --git a/boost/lexical_cast/detail/widest_char.hpp b/boost/lexical_cast/detail/widest_char.hpp
index 013aaf119d..c9dee10b6c 100644
--- a/boost/lexical_cast/detail/widest_char.hpp
+++ b/boost/lexical_cast/detail/widest_char.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -23,11 +23,14 @@
# pragma once
#endif
+
+#include <boost/type_traits/conditional.hpp>
+
namespace boost { namespace detail {
template <typename TargetChar, typename SourceChar>
struct widest_char {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
(sizeof(TargetChar) > sizeof(SourceChar))
, TargetChar
, SourceChar
diff --git a/boost/lexical_cast/lexical_cast_old.hpp b/boost/lexical_cast/lexical_cast_old.hpp
index b48bf1f55c..cbabc56299 100644
--- a/boost/lexical_cast/lexical_cast_old.hpp
+++ b/boost/lexical_cast/lexical_cast_old.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -33,7 +33,6 @@
#include <cstring>
#include <cstdio>
#include <boost/limits.hpp>
-#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_pointer.hpp>
#include <boost/static_assert.hpp>
#include <boost/detail/lcast_precision.hpp>
diff --git a/boost/lexical_cast/try_lexical_convert.hpp b/boost/lexical_cast/try_lexical_convert.hpp
index b079fd42ae..187779d673 100644
--- a/boost/lexical_cast/try_lexical_convert.hpp
+++ b/boost/lexical_cast/try_lexical_convert.hpp
@@ -1,6 +1,6 @@
// Copyright Kevlin Henney, 2000-2005.
// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2016.
+// Copyright Antony Polukhin, 2011-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -28,12 +28,14 @@
(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)))
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
+#pragma GCC diagnostic ignored "-Wsign-conversion"
#endif
+
#include <string>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_integral.hpp>
+#include <boost/type_traits/type_identity.hpp>
+#include <boost/type_traits/conditional.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/is_arithmetic.hpp>
@@ -72,8 +74,9 @@ namespace boost {
template<typename Target, typename Source>
struct is_arithmetic_and_not_xchars
{
- typedef boost::mpl::bool_<
- !(boost::detail::is_character<Target>::value) &&
+ typedef boost::integral_constant<
+ bool,
+ !(boost::detail::is_character<Target>::value) &&
!(boost::detail::is_character<Source>::value) &&
boost::is_arithmetic<Source>::value &&
boost::is_arithmetic<Target>::value
@@ -91,8 +94,9 @@ namespace boost {
template<typename Target, typename Source>
struct is_xchar_to_xchar
{
- typedef boost::mpl::bool_<
- sizeof(Source) == sizeof(Target) &&
+ typedef boost::integral_constant<
+ bool,
+ sizeof(Source) == sizeof(Target) &&
sizeof(Source) == sizeof(char) &&
boost::detail::is_character<Target>::value &&
boost::detail::is_character<Source>::value
@@ -162,7 +166,8 @@ namespace boost {
{
typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay<Source>::type src;
- typedef boost::mpl::bool_<
+ typedef boost::integral_constant<
+ bool,
boost::detail::is_xchar_to_xchar<Target, src >::value ||
boost::detail::is_char_array_to_stdstring<Target, src >::value ||
boost::detail::is_char_array_to_booststring<Target, src >::value ||
@@ -181,11 +186,11 @@ namespace boost {
// We do evaluate second `if_` lazily to avoid unnecessary instantiations
// of `shall_we_copy_with_dynamic_check_t` and improve compilation times.
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+ typedef BOOST_DEDUCED_TYPENAME boost::conditional<
shall_we_copy_t::value,
- boost::mpl::identity<boost::detail::copy_converter_impl<Target, src > >,
- boost::mpl::if_<
- shall_we_copy_with_dynamic_check_t,
+ boost::type_identity<boost::detail::copy_converter_impl<Target, src > >,
+ boost::conditional<
+ shall_we_copy_with_dynamic_check_t::value,
boost::detail::dynamic_num_converter_impl<Target, src >,
boost::detail::lexical_converter_impl<Target, src >
>
diff --git a/boost/locale/definitions.hpp b/boost/locale/definitions.hpp
index b305ff730b..a98cec9230 100644
--- a/boost/locale/definitions.hpp
+++ b/boost/locale/definitions.hpp
@@ -15,15 +15,13 @@
# define BOOST_SYMBOL_VISIBLE
#endif
-#ifdef BOOST_HAS_DECLSPEC
-# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_LOCALE_DYN_LINK)
-# ifdef BOOST_LOCALE_SOURCE
-# define BOOST_LOCALE_DECL BOOST_SYMBOL_EXPORT
-# else
-# define BOOST_LOCALE_DECL BOOST_SYMBOL_IMPORT
-# endif // BOOST_LOCALE_SOURCE
-# endif // DYN_LINK
-#endif // BOOST_HAS_DECLSPEC
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_LOCALE_DYN_LINK)
+# ifdef BOOST_LOCALE_SOURCE
+# define BOOST_LOCALE_DECL BOOST_SYMBOL_EXPORT
+# else
+# define BOOST_LOCALE_DECL BOOST_SYMBOL_IMPORT
+# endif // BOOST_LOCALE_SOURCE
+#endif // DYN_LINK
#ifndef BOOST_LOCALE_DECL
# define BOOST_LOCALE_DECL
diff --git a/boost/log/detail/config.hpp b/boost/log/detail/config.hpp
index cb2f6d365b..189e5e4746 100644
--- a/boost/log/detail/config.hpp
+++ b/boost/log/detail/config.hpp
@@ -164,8 +164,6 @@
#if defined(_MSC_VER)
# define BOOST_LOG_NO_VTABLE __declspec(novtable)
-#elif defined(__GNUC__)
-# define BOOST_LOG_NO_VTABLE
#else
# define BOOST_LOG_NO_VTABLE
#endif
diff --git a/boost/logic/tribool.hpp b/boost/logic/tribool.hpp
index c4788c1cbf..041c59cefc 100644
--- a/boost/logic/tribool.hpp
+++ b/boost/logic/tribool.hpp
@@ -71,6 +71,7 @@ indeterminate(tribool x,
*/
class tribool
{
+#if defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS )
private:
/// INTERNAL ONLY
struct dummy {
@@ -78,6 +79,7 @@ private:
};
typedef void (dummy::*safe_bool)();
+#endif
public:
/**
@@ -109,11 +111,22 @@ public:
* \returns true if the 3-state boolean is true, false otherwise
* \throws nothrow
*/
+#if !defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS )
+
+ BOOST_CONSTEXPR explicit operator bool () const BOOST_NOEXCEPT
+ {
+ return value == true_value;
+ }
+
+#else
+
BOOST_CONSTEXPR operator safe_bool() const BOOST_NOEXCEPT
{
return value == true_value? &dummy::nonnull : 0;
}
+#endif
+
/**
* The actual stored value in this 3-state boolean, which may be false, true,
* or indeterminate.
@@ -164,7 +177,7 @@ BOOST_CONSTEXPR inline tribool operator!(tribool x) BOOST_NOEXCEPT
}
/**
- * \brief Computes the logical conjuction of two tribools
+ * \brief Computes the logical conjunction of two tribools
*
* \returns the result of logically ANDing the two tribool values,
* according to the following table:
diff --git a/boost/logic/tribool_io.hpp b/boost/logic/tribool_io.hpp
index 0d7af8c230..2696dcaf16 100644
--- a/boost/logic/tribool_io.hpp
+++ b/boost/logic/tribool_io.hpp
@@ -45,7 +45,7 @@ template<>
inline std::basic_string<char> default_false_name<char>()
{ return "false"; }
-# ifndef BOOST_NO_WCHAR_T
+# if !defined(BOOST_NO_CWCHAR)
/**
* \brief Returns the wide character string L"false".
*
@@ -76,7 +76,7 @@ template<>
inline std::basic_string<char> default_true_name<char>()
{ return "true"; }
-# ifndef BOOST_NO_WCHAR_T
+# if !defined(BOOST_NO_CWCHAR)
/**
* \brief Returns the wide character string L"true".
*
@@ -104,7 +104,7 @@ template<>
inline std::basic_string<char> get_default_indeterminate_name<char>()
{ return "indeterminate"; }
-#ifndef BOOST_NO_WCHAR_T
+#if !defined(BOOST_NO_CWCHAR)
/// Returns the wide character string L"indeterminate".
template<>
inline std::basic_string<wchar_t> get_default_indeterminate_name<wchar_t>()
diff --git a/boost/math/constants/calculate_constants.hpp b/boost/math/constants/calculate_constants.hpp
index 2dcdb9a02b..71487885bf 100644
--- a/boost/math/constants/calculate_constants.hpp
+++ b/boost/math/constants/calculate_constants.hpp
@@ -298,6 +298,15 @@ inline T constant_three_quarters<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_S
template <class T>
template<int N>
+inline T constant_sixth<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
+{
+ BOOST_MATH_STD_USING
+ return static_cast<T>(1) / static_cast<T>(6);
+}
+
+// Pi and related constants.
+template <class T>
+template<int N>
inline T constant_pi_minus_three<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
{
return pi<T, policies::policy<policies::digits2<N> > >() - static_cast<T>(3);
@@ -326,7 +335,14 @@ inline T constant_exp_minus_half<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_S
return exp(static_cast<T>(-0.5));
}
-// Pi
+template <class T>
+template<int N>
+inline T constant_exp_minus_one<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
+{
+ BOOST_MATH_STD_USING
+ return exp(static_cast<T>(-1.));
+}
+
template <class T>
template<int N>
inline T constant_one_div_root_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
@@ -356,7 +372,6 @@ inline T constant_root_one_div_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_
return sqrt(static_cast<T>(1) / pi<T, policies::policy<policies::digits2<N> > >());
}
-
template <class T>
template<int N>
inline T constant_four_thirds_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
diff --git a/boost/math/constants/constants.hpp b/boost/math/constants/constants.hpp
index 8c5c4105d4..19edc5b0e7 100644
--- a/boost/math/constants/constants.hpp
+++ b/boost/math/constants/constants.hpp
@@ -65,8 +65,7 @@ namespace boost{ namespace math
struct dummy_size{};
//
- // Max number of binary digits in the string representations
- // of our constants:
+ // Max number of binary digits in the string representations of our constants:
//
BOOST_STATIC_CONSTANT(int, max_string_digits = (101 * 1000L) / 301L);
@@ -266,7 +265,7 @@ namespace boost{ namespace math
BOOST_DEFINE_MATH_CONSTANT(third, 3.333333333333333333333333333333333333e-01, "3.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333e-01")
BOOST_DEFINE_MATH_CONSTANT(twothirds, 6.666666666666666666666666666666666666e-01, "6.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01")
BOOST_DEFINE_MATH_CONSTANT(two_thirds, 6.666666666666666666666666666666666666e-01, "6.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01")
- BOOST_DEFINE_MATH_CONSTANT(sixth, 1.66666666666666666666666666666666666666666e-01, "1.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01")
+ BOOST_DEFINE_MATH_CONSTANT(sixth, 1.666666666666666666666666666666666666e-01, "1.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01")
BOOST_DEFINE_MATH_CONSTANT(three_quarters, 7.500000000000000000000000000000000000e-01, "7.50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-01")
BOOST_DEFINE_MATH_CONSTANT(root_two, 1.414213562373095048801688724209698078e+00, "1.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038753432764157273501384623e+00")
BOOST_DEFINE_MATH_CONSTANT(root_three, 1.732050807568877293527446341505872366e+00, "1.73205080756887729352744634150587236694280525381038062805580697945193301690880003708114618675724857567562614142e+00")
@@ -302,6 +301,7 @@ namespace boost{ namespace math
BOOST_DEFINE_MATH_CONSTANT(one_div_cbrt_pi, 6.827840632552956814670208331581645981e-01, "6.82784063255295681467020833158164598108367515632448804042681583118899226433403918237673501922595519865685577274e-01")
BOOST_DEFINE_MATH_CONSTANT(e, 2.718281828459045235360287471352662497e+00, "2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193e+00")
BOOST_DEFINE_MATH_CONSTANT(exp_minus_half, 6.065306597126334236037995349911804534e-01, "6.06530659712633423603799534991180453441918135487186955682892158735056519413748423998647611507989456026423789794e-01")
+ BOOST_DEFINE_MATH_CONSTANT(exp_minus_one, 3.678794411714423215955237701614608674e-01, "3.67879441171442321595523770161460867445811131031767834507836801697461495744899803357147274345919643746627325277e-01")
BOOST_DEFINE_MATH_CONSTANT(e_pow_pi, 2.314069263277926900572908636794854738e+01, "2.31406926327792690057290863679485473802661062426002119934450464095243423506904527835169719970675492196759527048e+01")
BOOST_DEFINE_MATH_CONSTANT(root_e, 1.648721270700128146848650787814163571e+00, "1.64872127070012814684865078781416357165377610071014801157507931164066102119421560863277652005636664300286663776e+00")
BOOST_DEFINE_MATH_CONSTANT(log10_e, 4.342944819032518276511289189166050822e-01, "4.34294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748318706106745e-01")
@@ -344,3 +344,5 @@ namespace boost{ namespace math
#include <boost/math/constants/calculate_constants.hpp>
#endif // BOOST_MATH_CONSTANTS_CONSTANTS_INCLUDED
+
+
diff --git a/boost/math/cstdfloat/cstdfloat_cmath.hpp b/boost/math/cstdfloat/cstdfloat_cmath.hpp
index 6e23302d89..83fb480dc6 100644
--- a/boost/math/cstdfloat/cstdfloat_cmath.hpp
+++ b/boost/math/cstdfloat/cstdfloat_cmath.hpp
@@ -182,7 +182,7 @@
#define BOOST_CSTDFLOAT_FLOAT128_ATANH atanhq_patch
#define BOOST_CSTDFLOAT_FLOAT128_TGAMMA tgammaq_patch
#endif // BOOST_CSTDFLOAT_BROKEN_FLOAT128_MATH_FUNCTIONS
- #endif
+ #endif
// Implement quadruple-precision <cmath> functions in the namespace
// boost::math::cstdfloat::detail. Subsequently inject these into the
@@ -536,9 +536,11 @@
using boost::math::cstdfloat::detail::ldexp;
using boost::math::cstdfloat::detail::frexp;
using boost::math::cstdfloat::detail::fabs;
+
#if !(defined(_GLIBCXX_USE_FLOAT128) && defined(__GNUC__) && (__GNUC__ >= 7))
using boost::math::cstdfloat::detail::abs;
#endif
+
using boost::math::cstdfloat::detail::floor;
using boost::math::cstdfloat::detail::ceil;
using boost::math::cstdfloat::detail::sqrt;
diff --git a/boost/math/distributions/extreme_value.hpp b/boost/math/distributions/extreme_value.hpp
index cb86de6612..3f74586829 100644
--- a/boost/math/distributions/extreme_value.hpp
+++ b/boost/math/distributions/extreme_value.hpp
@@ -228,7 +228,7 @@ inline RealType mean(const extreme_value_distribution<RealType, Policy>& dist)
RealType result = 0;
if(0 == detail::verify_scale_b("boost::math::mean(const extreme_value_distribution<%1%>&)", b, &result, Policy()))
return result;
- if(0 == detail::check_scale("boost::math::mean(const extreme_value_distribution<%1%>&)", a, &result, Policy()))
+ if (0 == detail::check_finite("boost::math::mean(const extreme_value_distribution<%1%>&)", a, &result, Policy()))
return result;
return a + constants::euler<RealType>() * b;
}
@@ -242,7 +242,7 @@ inline RealType standard_deviation(const extreme_value_distribution<RealType, Po
RealType result = 0;
if(0 == detail::verify_scale_b("boost::math::standard_deviation(const extreme_value_distribution<%1%>&)", b, &result, Policy()))
return result;
- if(0 == detail::check_scale("boost::math::standard_deviation(const extreme_value_distribution<%1%>&)", dist.location(), &result, Policy()))
+ if(0 == detail::check_finite("boost::math::standard_deviation(const extreme_value_distribution<%1%>&)", dist.location(), &result, Policy()))
return result;
return constants::pi<RealType>() * b / sqrt(static_cast<RealType>(6));
}
diff --git a/boost/math/interpolators/barycentric_rational.hpp b/boost/math/interpolators/barycentric_rational.hpp
index 79bab9042d..4ca5891719 100644
--- a/boost/math/interpolators/barycentric_rational.hpp
+++ b/boost/math/interpolators/barycentric_rational.hpp
@@ -41,6 +41,8 @@ public:
Real operator()(Real x) const;
+ Real prime(Real x) const;
+
private:
std::shared_ptr<detail::barycentric_rational_imp<Real>> m_imp;
};
@@ -65,6 +67,12 @@ Real barycentric_rational<Real>::operator()(Real x) const
return m_imp->operator()(x);
}
+template<class Real>
+Real barycentric_rational<Real>::prime(Real x) const
+{
+ return m_imp->prime(x);
+}
+
}}
#endif
diff --git a/boost/math/interpolators/detail/barycentric_rational_detail.hpp b/boost/math/interpolators/detail/barycentric_rational_detail.hpp
index b853901d89..a753b035ad 100644
--- a/boost/math/interpolators/detail/barycentric_rational_detail.hpp
+++ b/boost/math/interpolators/detail/barycentric_rational_detail.hpp
@@ -24,6 +24,8 @@ public:
Real operator()(Real x) const;
+ Real prime(Real x) const;
+
// The barycentric weights are not really that interesting; except to the unit tests!
Real weight(size_t i) const { return m_w[i]; }
@@ -144,8 +146,41 @@ Real barycentric_rational_imp<Real>::operator()(Real x) const
* "Some New Aspects of Rational Interpolation", by Claus Schneider and Wilhelm Werner,
* Mathematics of Computation, v47, number 175, 1986.
* http://www.ams.org/journals/mcom/1986-47-175/S0025-5718-1986-0842136-8/S0025-5718-1986-0842136-8.pdf
- * However, this requires a lot of machinery which is not built into the library at present.
- * So we wait until there is a requirement to interpolate the derivative.
+ * and reviewed in
+ * Recent developments in barycentric rational interpolation
+ * Jean–Paul Berrut, Richard Baltensperger and Hans D. Mittelmann
+ *
+ * Is it possible to complete this in one pass through the data?
*/
+
+template<class Real>
+Real barycentric_rational_imp<Real>::prime(Real x) const
+{
+ Real rx = this->operator()(x);
+ Real numerator = 0;
+ Real denominator = 0;
+ for(size_t i = 0; i < m_x.size(); ++i)
+ {
+ if (x == m_x[i])
+ {
+ Real sum = 0;
+ for (size_t j = 0; j < m_x.size(); ++j)
+ {
+ if (j == i)
+ {
+ continue;
+ }
+ sum += m_w[j]*(m_y[i] - m_y[j])/(m_x[i] - m_x[j]);
+ }
+ return -sum/m_w[i];
+ }
+ Real t = m_w[i]/(x - m_x[i]);
+ Real diff = (rx - m_y[i])/(x-m_x[i]);
+ numerator += t*diff;
+ denominator += t;
+ }
+
+ return numerator/denominator;
+}
}}}
#endif
diff --git a/boost/math/quadrature/detail/exp_sinh_detail.hpp b/boost/math/quadrature/detail/exp_sinh_detail.hpp
index 2b258971ec..bdbb0bcc76 100644
--- a/boost/math/quadrature/detail/exp_sinh_detail.hpp
+++ b/boost/math/quadrature/detail/exp_sinh_detail.hpp
@@ -360,7 +360,11 @@ void exp_sinh_detail<Real, Policy>::init(const mpl::int_<1>&)
{ 3.95175890e-21f, 1.83575349e-20f, 8.12661397e-20f, 3.43336935e-19f, 1.38634563e-18f, 5.35757029e-18f, 1.98424944e-17f, 7.05221126e-17f, 2.40827550e-16f, 7.91175869e-16f, 2.50347754e-15f, 7.63871031e-15f, 2.25003103e-14f, 6.40502166e-14f, 1.76389749e-13f, 4.70424252e-13f, 1.21618334e-12f, 3.05082685e-12f, 7.43273471e-12f, 1.76028616e-11f, 4.05602375e-11f, 9.10055013e-11f, 1.98994391e-10f, 4.24390078e-10f, 8.83436580e-10f, 1.79636925e-09f, 3.57059250e-09f, 6.94247187e-09f, 1.32133371e-08f, 2.46332536e-08f, 4.50110843e-08f, 8.06630537e-08f, 1.41856144e-07f, 2.44958654e-07f, 4.15579069e-07f, 6.93056106e-07f, 1.13675616e-06f, 1.83473665e-06f, 2.91544023e-06f, 4.56318858e-06f, 7.03833675e-06f, 1.07030190e-05f, 1.60534529e-05f, 2.37597559e-05f, 3.47141604e-05f, 5.00883685e-05f, 7.14005734e-05f, 1.00592372e-04f, 1.40115414e-04f, 1.93027181e-04f, 2.63094779e-04f, 3.54905080e-04f, 4.73978972e-04f, 6.26886955e-04f, 8.21362793e-04f, 1.06641153e-03f, 1.37240787e-03f, 1.75118071e-03f, 2.21607971e-03f, 2.78201983e-03f, 3.46550010e-03f, 4.28459361e-03f, 5.25890609e-03f, 6.40950150e-03f, 7.75879384e-03f, 9.33040551e-03f, 1.11489935e-02f, 1.32400455e-02f, 1.56296499e-02f, 1.83442433e-02f, 2.14103400e-02f, 2.48542509e-02f, 2.87017958e-02f, 3.29780164e-02f, 3.77068968e-02f, 4.29110964e-02f, 4.86117029e-02f, 5.48280093e-02f, 6.15773214e-02f, 6.88747982e-02f, 7.67333308e-02f, 8.51634602e-02f, 9.41733378e-02f, 1.03768728e-01f, 1.13953051e-01f, 1.24727473e-01f, 1.36091031e-01f, 1.48040798e-01f, 1.60572082e-01f, 1.73678660e-01f, 1.87353038e-01f, 2.01586736e-01f, 2.16370598e-01f, 2.31695113e-01f, 2.47550758e-01f, 2.63928342e-01f, 2.80819365e-01f, 2.98216379e-01f, 3.16113348e-01f, 3.34506011e-01f, 3.53392244e-01f, 3.72772414e-01f, 3.92649735e-01f, 4.13030618e-01f, 4.33925021e-01f, 4.55346789e-01f, 4.77314001e-01f, 4.99849320e-01f, 5.22980337e-01f, 5.46739932e-01f, 5.71166640e-01f, 5.96305036e-01f, 6.22206131e-01f, 6.48927802e-01f, 6.76535247e-01f, 7.05101473e-01f, 7.34707835e-01f, 7.65444619e-01f, 7.97411688e-01f, 8.30719192e-01f, 8.65488366e-01f, 9.01852407e-01f, 9.39957463e-01f, 9.79963735e-01f, 1.02204672e+00f, 1.06639858e+00f, 1.11322974e+00f, 1.16277062e+00f, 1.21527359e+00f, 1.27101525e+00f, 1.33029891e+00f, 1.39345744e+00f, 1.46085648e+00f, 1.53289803e+00f, 1.61002461e+00f, 1.69272386e+00f, 1.78153384e+00f, 1.87704900e+00f, 1.97992701e+00f, 2.09089644e+00f, 2.21076567e+00f, 2.34043290e+00f, 2.48089770e+00f, 2.63327413e+00f, 2.79880590e+00f, 2.97888368e+00f, 3.17506505e+00f, 3.38909744e+00f, 3.62294469e+00f, 3.87881764e+00f, 4.15920968e+00f, 4.46693789e+00f, 4.80519096e+00f, 5.17758497e+00f, 5.58822853e+00f, 6.04179895e+00f, 6.54363157e+00f, 7.09982467e+00f, 7.71736306e+00f, 8.40426388e+00f, 9.16974906e+00f, 1.00244499e+01f, 1.09806502e+01f, 1.20525758e+01f, 1.32567410e+01f, 1.46123627e+01f, 1.61418586e+01f, 1.78714466e+01f, 1.98318690e+01f, 2.20592694e+01f, 2.45962577e+01f, 2.74932084e+01f, 3.08098460e+01f, 3.46171893e+01f, 3.89999428e+01f, 4.40594471e+01f, 4.99173320e+01f, 5.67200545e+01f, 6.46445583e+01f, 7.39053537e+01f, 8.47634121e+01f, 9.75373786e+01f, 1.12617765e+02f, 1.30484989e+02f, 1.51732386e+02f, 1.77095712e+02f, 2.07491096e+02f, 2.44064119e+02f, 2.88253545e+02f, 3.41874461e+02f, 4.07227291e+02f, 4.87241400e+02f, 5.85665251e+02f, 7.07319497e+02f, 8.58435639e+02f, 1.04711167e+03f, 1.28392853e+03f, 1.58278901e+03f, 1.96206607e+03f, 2.44618436e+03f, 3.06781187e+03f, 3.87091688e+03f, 4.91505977e+03f, 6.28145970e+03f, 8.08162997e+03f, 1.04697579e+04f, 1.36605846e+04f, 1.79554230e+04f, 2.37803156e+04f, 3.17424455e+04f, 4.27142204e+04f, 5.79596727e+04f, 7.93261335e+04f, 1.09537503e+05f, 1.52647130e+05f, 2.14743829e+05f, 3.05063335e+05f, 4.37755687e+05f, 6.34724899e+05f, 9.30240305e+05f, 1.37850753e+06f, 2.06623977e+06f, 3.13377596e+06f, 4.81098405e+06f, 7.47905793e+06f, 1.17782423e+07f, 1.87980927e+07f, 3.04180655e+07f, 4.99257437e+07f, 8.31551852e+07f, 1.40614107e+08f, 2.41519712e+08f, 4.21576502e+08f, 7.48209440e+08f, 1.35089892e+09f, 2.48263348e+09f, 4.64662007e+09f, 8.86235204e+09f, 1.72348930e+10f, 3.41967381e+10f, 6.92714904e+10f, 1.43352142e+11f, 3.03269524e+11f, 6.56345865e+11f, 1.45422052e+12f, 3.30099910e+12f, 7.68267630e+12f, 1.83474885e+13f, 4.49980389e+13f, 1.13430702e+14f, 2.94148450e+14f, 7.85402504e+14f, 2.16127995e+15f, 6.13534293e+15f, 1.79847736e+16f, 5.44944507e+16f, 1.70858922e+17f, 5.54922744e+17f, 1.86905990e+18f, 6.53599225e+18f, 2.37582887e+19f, 8.98810682e+19f, 3.54341330e+20f, },
{ 2.67108015e-21f, 5.82833463e-21f, 1.25616316e-20f, 2.67469785e-20f, 5.62745845e-20f, 1.17014394e-19f, 2.40511019e-19f, 4.88739481e-19f, 9.82072303e-19f, 1.95168062e-18f, 3.83661097e-18f, 7.46163208e-18f, 1.43594942e-17f, 2.73485792e-17f, 5.15573612e-17f, 9.62223075e-17f, 1.77810682e-16f, 3.25389618e-16f, 5.89765054e-16f, 1.05888451e-15f, 1.88354538e-15f, 3.31989417e-15f, 5.79902273e-15f, 1.00398818e-14f, 1.72308010e-14f, 2.93186753e-14f, 4.94655967e-14f, 8.27635884e-14f, 1.37343706e-13f, 2.26082511e-13f, 3.69205736e-13f, 5.98228147e-13f, 9.61866975e-13f, 1.53484658e-12f, 2.43090464e-12f, 3.82185577e-12f, 5.96531965e-12f, 9.24474797e-12f, 1.42267754e-11f, 2.17427910e-11f, 3.30041201e-11f, 4.97635091e-11f, 7.45399354e-11f, 1.10929412e-10f, 1.64031748e-10f, 2.41032586e-10f, 3.51991946e-10f, 5.10905560e-10f, 7.37124150e-10f, 1.05723929e-09f, 1.50757352e-09f, 2.13744796e-09f, 3.01344401e-09f, 4.22492806e-09f, 5.89117093e-09f, 8.17046854e-09f, 1.12717587e-08f, 1.54693324e-08f, 2.11213594e-08f, 2.86930859e-08f, 3.87857241e-08f, 5.21722335e-08f, 6.98414017e-08f, 9.30518593e-08f, 1.23397923e-07f, 1.62889442e-07f, 2.14048123e-07f, 2.80023159e-07f, 3.64729321e-07f, 4.73011070e-07f, 6.10836627e-07f, 7.85526363e-07f, 1.00602028e-06f, 1.28318979e-06f, 1.63019938e-06f, 2.06292424e-06f, 2.60043021e-06f, 3.26552286e-06f, 4.08537275e-06f, 5.09222413e-06f, 6.32419483e-06f, 7.82617466e-06f, 9.65083023e-06f, 1.18597236e-05f, 1.45245521e-05f, 1.77285168e-05f, 2.15678251e-05f, 2.61533347e-05f, 3.16123436e-05f, 3.80905295e-05f, 4.57540432e-05f, 5.47917575e-05f, 6.54176707e-05f, 7.78734661e-05f, 9.24312223e-05f, 1.09396271e-04f, 1.29110197e-04f, 1.51953965e-04f, 1.78351176e-04f, 2.08771424e-04f, 2.43733750e-04f, 2.83810168e-04f, 3.29629253e-04f, 3.81879756e-04f, 4.41314233e-04f, 5.08752659e-04f, 5.85085996e-04f, 6.71279692e-04f, 7.68377076e-04f, 8.77502620e-04f, 9.99865030e-04f, 1.13676015e-03f, 1.28957360e-03f, 1.45978322e-03f, 1.64896113e-03f, 1.85877551e-03f, 2.09099200e-03f, 2.34747474e-03f, 2.63018699e-03f, 2.94119122e-03f, 3.28264890e-03f, 3.65681963e-03f, 4.06605991e-03f, 4.51282135e-03f, 4.99964828e-03f, 5.52917497e-03f, 6.10412222e-03f, 6.72729343e-03f, 7.40157020e-03f, 8.12990738e-03f, 8.91532760e-03f, 9.76091537e-03f, 1.06698107e-02f, 1.16452023e-02f, 1.26903202e-02f, 1.38084285e-02f, 1.50028172e-02f, 1.62767940e-02f, 1.76336759e-02f, 1.90767806e-02f, 2.06094173e-02f, 2.22348784e-02f, 2.39564300e-02f, 2.57773028e-02f, 2.77006834e-02f, 2.97297055e-02f, 3.18674406e-02f, 3.41168899e-02f, 3.64809756e-02f, 3.89625331e-02f, 4.15643030e-02f, 4.42889240e-02f, 4.71389254e-02f, 5.01167213e-02f, 5.32246039e-02f, 5.64647382e-02f, 5.98391571e-02f, 6.33497571e-02f, 6.69982939e-02f, 7.07863800e-02f, 7.47154815e-02f, 7.87869165e-02f, 8.30018539e-02f, 8.73613125e-02f, 9.18661613e-02f, 9.65171203e-02f, 1.01314762e-01f, 1.06259513e-01f, 1.11351656e-01f, 1.16591337e-01f, 1.21978563e-01f, 1.27513213e-01f, 1.33195039e-01f, 1.39023671e-01f, 1.44998628e-01f, 1.51119321e-01f, 1.57385061e-01f, 1.63795066e-01f, 1.70348473e-01f, 1.77044340e-01f, 1.83881662e-01f, 1.90859375e-01f, 1.97976367e-01f, 2.05231492e-01f, 2.12623572e-01f, 2.20151415e-01f, 2.27813822e-01f, 2.35609599e-01f, 2.43537565e-01f, 2.51596569e-01f, 2.59785494e-01f, 2.68103274e-01f, 2.76548903e-01f, 2.85121445e-01f, 2.93820047e-01f, 3.02643950e-01f, 3.11592502e-01f, 3.20665165e-01f, 3.29861530e-01f, 3.39181328e-01f, 3.48624439e-01f, 3.58190905e-01f, 3.67880941e-01f, 3.77694943e-01f, 3.87633504e-01f, 3.97697421e-01f, 4.07887708e-01f, 4.18205605e-01f, 4.28652591e-01f, 4.39230391e-01f, 4.49940993e-01f, 4.60786652e-01f, 4.71769905e-01f, 4.82893580e-01f, 4.94160809e-01f, 5.05575036e-01f, 5.17140031e-01f, 5.28859900e-01f, 5.40739096e-01f, 5.52782432e-01f, 5.64995090e-01f, 5.77382639e-01f, 5.89951040e-01f, 6.02706666e-01f, 6.15656310e-01f, 6.28807202e-01f, 6.42167019e-01f, 6.55743908e-01f, 6.69546490e-01f, 6.83583887e-01f, 6.97865729e-01f, 7.12402181e-01f, 7.27203953e-01f, 7.42282322e-01f, 7.57649155e-01f, 7.73316926e-01f, 7.89298740e-01f, 8.05608358e-01f, 8.22260217e-01f, 8.39269463e-01f, 8.56651970e-01f, 8.74424378e-01f, 8.92604116e-01f, 9.11209442e-01f, 9.30259469e-01f, 9.49774208e-01f, 9.69774604e-01f, 9.90282579e-01f, 1.01132107e+00f, 1.03291408e+00f, 1.05508673e+00f, 1.07786529e+00f, 1.10127728e+00f, 1.12535146e+00f, 1.15011796e+00f, 1.17560829e+00f, 1.20185546e+00f, 1.22889400e+00f, 1.25676010e+00f, 1.28549162e+00f, 1.31512826e+00f, 1.34571158e+00f, 1.37728514e+00f, 1.40989460e+00f, 1.44358784e+00f, 1.47841507e+00f, 1.51442894e+00f, 1.55168471e+00f, 1.59024039e+00f, 1.63015687e+00f, 1.67149810e+00f, 1.71433126e+00f, 1.75872698e+00f, 1.80475947e+00f, 1.85250679e+00f, 1.90205105e+00f, 1.95347869e+00f, 2.00688065e+00f, 2.06235275e+00f, 2.11999592e+00f, 2.17991652e+00f, 2.24222670e+00f, 2.30704472e+00f, 2.37449538e+00f, 2.44471039e+00f, 2.51782884e+00f, 2.59399766e+00f, 2.67337209e+00f, 2.75611628e+00f, 2.84240383e+00f, 2.93241843e+00f, 3.02635449e+00f, 3.12441791e+00f, 3.22682682e+00f, 3.33381238e+00f, 3.44561973e+00f, 3.56250887e+00f, 3.68475574e+00f, 3.81265333e+00f, 3.94651282e+00f, 4.08666490e+00f, 4.23346116e+00f, 4.38727553e+00f, 4.54850596e+00f, 4.71757611e+00f, 4.89493722e+00f, 5.08107015e+00f, 5.27648761e+00f, 5.48173646e+00f, 5.69740032e+00f, 5.92410235e+00f, 6.16250823e+00f, 6.41332946e+00f, 6.67732689e+00f, 6.95531455e+00f, 7.24816384e+00f, 7.55680807e+00f, 7.88224735e+00f, 8.22555401e+00f, 8.58787841e+00f, 8.97045530e+00f, 9.37461076e+00f, 9.80176975e+00f, 1.02534643e+01f, 1.07313428e+01f, 1.12371793e+01f, 1.17728848e+01f, 1.23405187e+01f, 1.29423019e+01f, 1.35806306e+01f, 1.42580922e+01f, 1.49774818e+01f, 1.57418213e+01f, 1.65543795e+01f, 1.74186947e+01f, 1.83385994e+01f, 1.93182476e+01f, 2.03621450e+01f, 2.14751816e+01f, 2.26626686e+01f, 2.39303784e+01f, 2.52845893e+01f, 2.67321348e+01f, 2.82804577e+01f, 2.99376708e+01f, 3.17126238e+01f, 3.36149769e+01f, 3.56552840e+01f, 3.78450835e+01f, 4.01970005e+01f, 4.27248599e+01f, 4.54438126e+01f, 4.83704762e+01f, 5.15230921e+01f, 5.49217006e+01f, 5.85883374e+01f, 6.25472527e+01f, 6.68251567e+01f, 7.14514957e+01f, 7.64587609e+01f, 8.18828353e+01f, 8.77633847e+01f, 9.41442967e+01f, 1.01074176e+02f, 1.08606902e+02f, 1.16802259e+02f, 1.25726650e+02f, 1.35453899e+02f, 1.46066166e+02f, 1.57654979e+02f, 1.70322410e+02f, 1.84182406e+02f, 1.99362306e+02f, 2.16004568e+02f, 2.34268740e+02f, 2.54333703e+02f, 2.76400239e+02f, 3.00693971e+02f, 3.27468728e+02f, 3.57010397e+02f, 3.89641362e+02f, 4.25725590e+02f, 4.65674502e+02f, 5.09953726e+02f, 5.59090900e+02f, 6.13684688e+02f, 6.74415211e+02f, 7.42056139e+02f, 8.17488717e+02f, 9.01718069e+02f, 9.95892168e+02f, 1.10132394e+03f, 1.21951707e+03f, 1.35219615e+03f, 1.50134197e+03f, 1.66923291e+03f, 1.85849349e+03f, 2.07215152e+03f, 2.31370536e+03f, 2.58720328e+03f, 2.89733724e+03f, 3.24955383e+03f, 3.65018587e+03f, 4.10660860e+03f, 4.62742547e+03f, 5.22268956e+03f, 5.90416786e+03f, 6.68565726e+03f, 7.58336313e+03f, 8.61635357e+03f, 9.80710572e+03f, 1.11821637e+04f, 1.27729327e+04f, 1.46166396e+04f, 1.67574960e+04f, 1.92481112e+04f, 2.21512104e+04f, 2.55417295e+04f, 2.95093735e+04f, 3.41617487e+04f, 3.96282043e+04f, 4.60645561e+04f, 5.36589049e+04f, 6.26388223e+04f, 7.32802431e+04f, 8.59184957e+04f, 1.00962017e+05f, 1.18909442e+05f, 1.40370957e+05f, 1.66095034e+05f, 1.97001996e+05f, 2.34226253e+05f, 2.79169596e+05f, 3.33568603e+05f, 3.99580125e+05f, 4.79889989e+05f, 5.77851588e+05f, 6.97663062e+05f, 8.44594440e+05f, 1.02527965e+06f, 1.24809298e+06f, 1.52363581e+06f, 1.86536786e+06f, 2.29042802e+06f, 2.82070529e+06f, 3.48424008e+06f, 4.31706343e+06f, 5.36561882e+06f, 6.68996113e+06f, 8.36799594e+06f, 1.05011160e+07f, 1.32217203e+07f, 1.67032788e+07f, 2.11738506e+07f, 2.69343047e+07f, 3.43829654e+07f, 4.40490690e+07f, 5.66383460e+07f, 7.30953564e+07f, 9.46890531e+07f, 1.23130681e+08f, 1.60736861e+08f, 2.10656057e+08f, 2.77184338e+08f, 3.66207397e+08f, 4.85821891e+08f, 6.47212479e+08f, 8.65895044e+08f, 1.16348659e+09f, 1.57023596e+09f, 2.12865840e+09f, 2.89877917e+09f, 3.96573294e+09f, 5.45082863e+09f, 7.52773593e+09f, 1.04462776e+10f, 1.45675716e+10f, 2.04161928e+10f, 2.87579864e+10f, 4.07167363e+10f, 5.79499965e+10f, 8.29154750e+10f, 1.19276754e+11f, 1.72524570e+11f, 2.50933409e+11f, 3.67042596e+11f, 5.39962441e+11f, 7.98985690e+11f, 1.18927611e+12f, 1.78088199e+12f, 2.68310388e+12f, 4.06753710e+12f, 6.20525592e+12f, 9.52719664e+12f, 1.47228407e+13f, 2.29025392e+13f, 3.58662837e+13f, 5.65517100e+13f, 8.97859411e+13f, 1.43556057e+14f, 2.31171020e+14f, 3.74966777e+14f, 6.12702071e+14f, 1.00868013e+15f, 1.67323268e+15f, 2.79711270e+15f, 4.71267150e+15f, 8.00353033e+15f, 1.37027503e+16f, 2.36538022e+16f, 4.11734705e+16f, 7.22793757e+16f, 1.27982244e+17f, 2.28603237e+17f, 4.11976277e+17f, 7.49169358e+17f, 1.37488861e+18f, 2.54681529e+18f, 4.76248383e+18f, 8.99167123e+18f, 1.71428840e+19f, 3.30088717e+19f, 6.42020070e+19f, 1.26155602e+20f, 2.50480806e+20f, 5.02601059e+20f, 1.01935525e+21f, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_min = -4.18750000f;
if (m_max_refinements >= m_abscissas.size())
{
@@ -396,7 +400,11 @@ void exp_sinh_detail<Real, Policy>::init(const mpl::int_<2>&)
{ 8.688318611421924613e-158, 6.864317997043424201e-153, 3.829638174036322920e-148, 1.524985558970066863e-143, 4.379527631402474835e-139, 9.162408388991747001e-135, 1.410086556664696347e-130, 1.611529786006329005e-126, 1.380269212504431613e-122, 8.938739565456142404e-119, 4.414803004265274778e-115, 1.676831992534574674e-111, 4.937648515671545377e-108, 1.136068312653058895e-104, 2.057969760853201132e-101, 2.956779836249922681e-98, 3.393449014375824853e-95, 3.132619285740674842e-92, 2.341677665639346254e-89, 1.426656997926173190e-86, 7.128825597334931865e-84, 2.939485275517928205e-81, 1.006113300119903410e-78, 2.874969402023240560e-76, 6.896713338909433222e-74, 1.396405038640012785e-71, 2.398869799873387326e-69, 3.514180228970525006e-67, 4.411557600438730779e-65, 4.768408435763044172e-63, 4.458287229998440383e-61, 3.621710763086768959e-59, 2.567373174003034094e-57, 1.594829856885795944e-55, 8.716746897177859412e-54, 4.208424534880021226e-52, 1.801637343401221381e-50, 6.864432292330768862e-49, 2.336084584516383243e-47, 7.125716658075193173e-46, 1.954733295862350631e-44, 4.838195020814970471e-43, 1.083903033389729471e-41, 2.204655424309513426e-40, 4.083431629921110537e-39, 6.907095608064865023e-38, 1.069951518082577963e-36, 1.521972185061747284e-35, 1.993254198127980161e-34, 2.409552194902670884e-33, 2.695243589253751811e-32, 2.796309045342585624e-31, 2.697138787161831243e-30, 2.423968619042656074e-29, 2.034233848004972409e-28, 1.597498662808006882e-27, 1.176341105034547043e-26, 8.138404856556384931e-26, 5.300199402716282910e-25, 3.255367628680633536e-24, 1.889060856810273071e-23, 1.037502167741821871e-22, 5.402129194695882094e-22, 2.671080147950250592e-21, 1.256163163817414397e-20, 5.627458451375099018e-20, 2.405110192151924414e-19, 9.820723025892385774e-19, 3.836610965933493002e-18, 1.435949417965440387e-17, 5.155736116435221852e-17, 1.778106820243535736e-16, 5.897650538103448384e-16, 1.883545377386949394e-15, 5.799022727889041128e-15, 1.723080101027408120e-14, 4.946559668895564981e-14, 1.373437058883951037e-13, 3.692057356296675476e-13, 9.618669754374864080e-13, 2.430904641718059201e-12, 5.965319652795549281e-12, 1.422677541958913512e-11, 3.300412010407028696e-11, 7.453993539444124847e-11, 1.640317480539372495e-10, 3.519919455549922227e-10, 7.371241496931924727e-10, 1.507573517782825692e-09, 3.013444008176544118e-09, 5.891170930525923854e-09, 1.127175867596519203e-08, 2.112135943063526334e-08, 3.878572405868819131e-08, 6.984140168311147329e-08, 1.233979234102365865e-07, 2.140481233406505212e-07, 3.647293211756793211e-07, 6.108366265875129839e-07, 1.006020283089617901e-06, 1.630199379920459998e-06, 2.600430208375972125e-06, 4.085372746054298735e-06, 6.324194831966406940e-06, 9.650830226718535837e-06, 1.452455211307694488e-05, 2.156782506321975658e-05, 3.161234361554654466e-05, 4.575404320696170555e-05, 6.541767069965264068e-05, 9.243122234114186712e-05, 1.291101968446571125e-04, 1.783511762821284409e-04, 2.437337497712608884e-04, 3.296292528289701234e-04, 4.413142327104518440e-04, 5.850859955683163216e-04, 7.683770763700705263e-04, 9.998650298180469208e-04, 1.289573601590465490e-03, 1.648961132392222413e-03, 2.090991995585424661e-03, 2.630186988492201910e-03, 3.282648895332118799e-03, 4.066059914467245175e-03, 4.999648283080481820e-03, 6.104122218554241819e-03, 7.401570199659662364e-03, 8.915327597805008451e-03, 1.066981070009509413e-02, 1.269032020049755525e-02, 1.500281723149735994e-02, 1.763367592672867332e-02, 2.060941730962251417e-02, 2.395642996410886880e-02, 2.770068343772389725e-02, 3.186744063963193757e-02, 3.648097561865623097e-02, 4.156430303997019336e-02, 4.713892543167989540e-02, 5.322460385886412684e-02, 5.983915712308283792e-02, 6.699829390463281224e-02, 7.471548149065050122e-02, 8.300185389391494996e-02, 9.186616129460712899e-02, 1.013147618591979452e-01, 1.113516561340355690e-01, 1.219785634003157786e-01, 1.331950386328042665e-01, 1.449986280439946752e-01, 1.573850606313672716e-01, 1.703484726870446791e-01, 1.838816618814874884e-01, 1.979763672973498048e-01, 2.126235716643688402e-01, 2.278138220265254991e-01, 2.435375651517067386e-01, 2.597854941629632707e-01, 2.765489031191654411e-01, 2.938200465906351752e-01, 3.115925016510994851e-01, 3.298615301301230823e-01, 3.486244394295739435e-01, 3.678809406939879716e-01, 3.876335036292959599e-01, 4.078877077798518471e-01, 4.286525905940105684e-01, 4.499409931290513174e-01, 4.717699047639316286e-01, 4.941608088016098926e-01, 5.171400313514193966e-01, 5.407390963876342256e-01, 5.649950903858123945e-01, 5.899510404480374918e-01, 6.156563103475134535e-01, 6.421670194591982411e-01, 6.695464901047961714e-01, 6.978657294374126896e-01, 7.272039526349696447e-01, 7.576491548751669105e-01, 7.892987403432202489e-01, 8.222602173936578230e-01, 8.566519699682320391e-01, 8.926041164852169437e-01, 9.302594686857616145e-01, 9.697746043788558519e-01, 1.011321069700320644e+00, 1.055086728430498711e+00, 1.101277278143300224e+00, 1.150117955536247302e+00, 1.201855456275760449e+00, 1.256760098152647779e+00, 1.315128260359919236e+00, 1.377285136373095709e+00, 1.443587843343442141e+00, 1.514428937238563465e+00, 1.590240390338335337e+00, 1.671498096302065311e+00, 1.758726978084942299e+00, 1.852506785760205887e+00, 1.953478685110838140e+00, 2.062352754065132708e+00, 2.179916523112736371e+00, 2.307044718290330681e+00, 2.444710391817196957e+00, 2.593997656772008968e+00, 2.756116279277535182e+00, 2.932418425642610903e+00, 3.124417914187536020e+00, 3.333812383735923205e+00, 3.562508865047068391e+00, 3.812653330296280988e+00, 4.086664902155689132e+00, 4.387275531849634155e+00, 4.717576109385405085e+00, 5.081070154695596855e+00, 5.481736462718817995e+00, 5.924102347216244340e+00, 6.413329458204850426e+00, 6.955314549766230740e+00, 7.556808065486941215e+00, 8.225554008952760095e+00, 8.970455302965185036e+00, 9.801769746699598466e+00, 1.073134279679936208e+01, 1.177288477943655549e+01, 1.294230185297226511e+01, 1.425809217068106541e+01, 1.574182134943112610e+01, 1.741869467329444792e+01, 1.931824763074534781e+01, 2.147518163232618457e+01, 2.393037838236259586e+01, 2.673213477270754163e+01, 2.993767083537830673e+01, 3.361497689655818107e+01, 3.784508348524495401e+01, 4.272485990900652026e+01, 4.837047622725585887e+01, 5.492170063250241752e+01, 6.254725265973777743e+01, 7.145149574983117631e+01, 8.188283528217430591e+01, 9.414429671899321190e+01, 1.086069017070108772e+02, 1.257266497442910506e+02, 1.460661655727672308e+02, 1.703224100743601641e+02, 1.993623058409479084e+02, 2.342687403011957198e+02, 2.764002385528330658e+02, 3.274687277481591846e+02, 3.896413615832930151e+02, 4.656745019682919178e+02, 5.590908996105107215e+02, 6.744152109571297875e+02, 8.174887172033244140e+02, 9.958921680864290197e+02, 1.219517071629880108e+03, 1.501341972869855447e+03, 1.858493492282554856e+03, 2.313705362529768409e+03, 2.897337235279879262e+03, 3.650185874628374320e+03, 4.627425468074182920e+03, 5.904167858279871204e+03, 7.583363128219763259e+03, 9.807105719965428472e+03, 1.277293273832114230e+04, 1.675749596877978193e+04, 2.215121038263169759e+04, 2.950937349291504490e+04, 3.962820433513419525e+04, 5.365890489878942635e+04, 7.328024305737981431e+04, 1.009620167752942516e+05, 1.403709568321740997e+05, 1.970019955923188504e+05, 2.791695960502382133e+05, 3.995801250202947693e+05, 5.778515877588312220e+05, 8.445944401474017243e+05, 1.248092975135001687e+06, 1.865367859966950385e+06, 2.820705292493674480e+06, 4.317063433830483499e+06, 6.689961127164684387e+06, 1.050111601631327499e+07, 1.670327884792325766e+07, 2.693430470211696200e+07, 4.404906898054894166e+07, 7.309535640536363311e+07, 1.231306812701882145e+08, 2.106560568719367745e+08, 3.662073971851359192e+08, 6.472124787519330196e+08, 1.163486593592585616e+09, 2.128658395254150452e+09, 3.965732938755983605e+09, 7.527735928223242836e+09, 1.456757162128879538e+10, 2.875798636941021041e+10, 5.794999654160054887e+10, 1.192767536774485257e+11, 2.509334090779650360e+11, 5.399624414800303207e+11, 1.189276111740286910e+12, 2.683103883355551677e+12, 6.205255919751506427e+12, 1.472284072112162717e+13, 3.586628373992547853e+13, 8.978594107356889337e+13, 2.311710197091641250e+14, 6.127020712804348908e+14, 1.673232679378485978e+15, 4.712671499032329365e+15, 1.370275025680988289e+16, 4.117347054027612886e+16, 1.279822436878842710e+17, 4.119762767831332886e+17, 1.374888606936629814e+18, 4.762483833659790733e+18, 1.714288404980390540e+19, 6.420200704842635702e+19, 2.504808062315322558e+20, 1.019355251138167687e+21, 4.332952958521756932e+21, 1.926416464889827426e+22, 8.971059571108856501e+22, 4.382317748928748816e+23, 2.249003059943548727e+24, 1.214458587662725100e+25, 6.911683912813140938e+25, 4.152578123301633020e+26, 2.638346388179288086e+27, 1.775811490887700718e+28, 1.268552401544524965e+29, 9.635786341213661742e+29, 7.797939379813000783e+30, 6.736900087983560033e+31, 6.226288752443836475e+32, 6.169035287163451891e+33, 6.567250104576983172e+34, 7.528666735185428595e+35, 9.316271421365627344e+36, 1.247410737003664698e+38, 1.811787648043939987e+39, 2.861918583157116420e+40, 4.929657099622567574e+41, 9.284951278562156071e+42, 1.917687997037326435e+44, 4.355948096683946408e+45, 1.091453486585817118e+47, 3.026206402784023251e+48, 9.314478983991942688e+49, 3.193195693823940775e+51, 1.223447678968662613e+53, 5.257403184148516426e+54, 2.543108925126136766e+56, 1.389947584026783879e+58, 8.616987336205957549e+59, 6.083777056769299984e+61, 4.911841077800001710e+63, 4.554259483169784661e+65, 4.870815185962582259e+67, 6.036211886847067841e+69, 8.708377755587698026e+71, 1.469655296381977267e+74, 2.915822924489215887e+76, 6.836044306573246016e+78, 1.903917300559946782e+81, 6.333813341980360028e+83, 2.531082268773868753e+86, 1.222077360592898816e+89, 7.172167453276776330e+91, 5.148160232410244898e+94, 4.548619807672339638e+97, 4.979632843475864923e+100, 6.800802744782331957e+103, 1.166855497965918386e+107, 2.533457765534279043e+110, 7.012864641215147208e+113, 2.494083354169569414e+117, 1.148722178881219993e+121, 6.908313932158993510e+124, 5.470912484744367184e+128, 5.755359832684120769e+132, 8.115681923907451939e+136, 1.548304780334447081e+141, 4.034912159113614601e+145, 1.450632759611715526e+150, 7.268799665580789770e+154, },
{ 4.901759085947701448e-159, 1.505832423620814399e-156, 4.231872109262999523e-154, 1.089479701785106001e-151, 2.572922387150651649e-149, 5.581311054334156941e-147, 1.113575900126970040e-144, 2.046165051332286084e-142, 3.466994885004770636e-140, 5.423795404073501922e-138, 7.843833272402847010e-136, 1.049922957933194415e-133, 1.302301071957418603e-131, 1.498659737828393008e-129, 1.601906622414286282e-127, 1.592248618401983561e-125, 1.473375345916436274e-123, 1.270651551394009593e-121, 1.022408263525766209e-119, 7.683762602329562781e-118, 5.399268127233373186e-116, 3.551074274853494676e-114, 2.188235409519121010e-112, 1.264667515430816934e-110, 6.861807566737243712e-109, 3.498691686825209963e-107, 1.678016807398375157e-105, 7.577439431441931490e-104, 3.224703770159386809e-102, 1.294487090677705963e-100, 4.906133250963454139e-99, 1.757121317988153326e-97, 5.952042491454320383e-96, 1.908566653286417264e-94, 5.798224459236429212e-93, 1.670293239978334727e-91, 4.566236673398083038e-90, 1.185617342791547945e-88, 2.926160027801296929e-87, 6.870061134126707137e-86, 1.535565783500379945e-84, 3.270036736778401257e-83, 6.639558007206580362e-82, 1.286319750967398593e-80, 2.379566581139022958e-79, 4.206268231398883425e-78, 7.109719237833379433e-77, 1.149915104115372777e-75, 1.780876201255594220e-74, 2.642703796179329883e-73, 3.760085375941719327e-72, 5.132920951124251993e-71, 6.727100274601427696e-70, 8.469585621347697498e-69, 1.025032382672232848e-67, 1.193219127557863348e-66, 1.336816930381306582e-65, 1.442283479679798385e-64, 1.499374555004793991e-63, 1.502797203133501438e-62, 1.453005969318485303e-61, 1.355980448377862540e-60, 1.222072412212552127e-59, 1.064223180270520159e-58, 8.959667396075636845e-58, 7.296288808079294105e-57, 5.750255296190181158e-56, 4.388011664829013518e-55, 3.243852451291832398e-54, 2.324239357665538806e-53, 1.614869776203026446e-52, 1.088524605545274842e-51, 7.121755574192829045e-51, 4.524647662549067074e-50, 2.792730715818793035e-49, 1.675384879603864227e-48, 9.773114328777676091e-48, 5.545910766847627082e-47, 3.062809705627873645e-46, 1.646862118038266234e-45, 8.625108513887155847e-45, 4.401687663868890701e-44, 2.189755778847646746e-43, 1.062345336449265889e-42, 5.028036663485684049e-42, 2.322524635717249223e-41, 1.047406593898341306e-40, 4.613438388449698168e-40, 1.985397445118162005e-39, 8.351027367454628343e-39, 3.434440903484543389e-38, 1.381489131877196646e-37, 5.437051201310225224e-37, 2.094357548080647717e-36, 7.898676618592006902e-36, 2.917536870947471272e-35, 1.055788886022716597e-34, 3.744333812160330812e-34, 1.301801185251957290e-33, 4.438346216893387768e-33, 1.484348268951816542e-32, 4.871001129849836971e-32, 1.568903000742513942e-31, 4.961295315917935235e-31, 1.540773910027990821e-30, 4.700558022172014910e-30, 1.409115230718949596e-29, 4.151913103955692034e-29, 1.202737613715427748e-28, 3.426327374934496736e-28, 9.601405359397026012e-28, 2.647278642033773301e-27, 7.183442220565147103e-27, 1.918850545981494042e-26, 5.046974779455992494e-26, 1.307394799925911700e-25, 3.336342198236957082e-25, 8.389259581136262194e-25, 2.079051813513548608e-24, 5.079178967243765280e-24, 1.223501794357837278e-23, 2.906654911057549530e-23, 6.811668606095015470e-23, 1.574985938238025303e-22, 3.593796788969348326e-22, 8.094185411205212564e-22, 1.799796183237481721e-21, 3.951758901641017285e-21, 8.569580068050865775e-21, 1.835753486517298696e-20, 3.885414339966022317e-20, 8.126613972895021790e-20, 1.680007182889503141e-19, 3.433369351563962828e-19, 6.937695550399427499e-19, 1.386345631008981755e-18, 2.740087497759230881e-18, 5.357570288683386626e-18, 1.036464933022803784e-17, 1.984249442010084992e-17, 3.759788006060003409e-17, 7.052211261821684795e-17, 1.309635641529546221e-16, 2.408275496109180528e-16, 4.385898809611711552e-16, 7.911758686849121285e-16, 1.413883597877183873e-15, 2.503477536644680210e-15, 4.392637866550705827e-15, 7.638710306960574612e-15, 1.316703360377476041e-14, 2.250031027275448919e-14, 3.812239733412214953e-14, 6.405021660191363479e-14, 1.067250538270319484e-13, 1.763897493784721010e-13, 2.891987565334547756e-13, 4.704242520369958085e-13, 7.592878273512691990e-13, 1.216183338372525172e-12, 1.933388593436624879e-12, 3.050826852442290751e-12, 4.779080020017636657e-12, 7.432734713385425098e-12, 1.147833888125873666e-11, 1.760286160372422754e-11, 2.681071101623953168e-11, 4.056023754295965437e-11, 6.095443492241537222e-11, 9.100550129616064211e-11, 1.349993452136967652e-10, 1.989943912395156051e-10, 2.914996073619059788e-10, 4.243900781412219621e-10, 6.141353162671391082e-10, 8.834365795894798511e-10, 1.263395594025933170e-09, 1.796369250051716047e-09, 2.539704143326480862e-09, 3.570592498287890499e-09, 4.992348403150539107e-09, 6.942471870489931483e-09, 9.602949600164561371e-09, 1.321333712761666777e-08, 1.808727901635346390e-08, 2.463325364767791516e-08, 3.338047870136870496e-08, 4.501108426108505069e-08, 6.039985413333259594e-08, 8.066305374526097834e-08, 1.072181059018892614e-07, 1.418561443795353991e-07, 1.868297699836383305e-07, 2.449586539172972009e-07, 3.197559780442760832e-07, 4.155790690867544334e-07, 5.378079713325544678e-07, 6.930561064776686194e-07, 8.894175852502122454e-07, 1.136756157868726006e-06, 1.447041212534730898e-06, 1.834736645332833504e-06, 2.317248822354253644e-06, 2.915440225825303911e-06, 3.654215709863551870e-06, 4.563188576773760151e-06, 5.677433909482232878e-06, 7.038336747307571784e-06, 8.694542758083067228e-06, 1.070301902702759858e-05, 1.313023243937403750e-05, 1.605345286789073897e-05, 1.956218797728780449e-05, 2.375975591555218862e-05, 2.876500146954361208e-05, 3.471416041263076209e-05, 4.176287576185915239e-05, 5.008836848967403773e-05, 5.989176390181730373e-05, 7.140057340280213227e-05, 8.487132973049760036e-05, 1.005923719620999934e-04, 1.188867746885496973e-04, 1.401154137398069279e-04, 1.646801587388731249e-04, 1.930271805904271778e-04, 2.256503597954330556e-04, 2.630947792533707128e-04, 3.059602829980946180e-04, 3.549050801425155303e-04, 4.106493712131842727e-04, 4.739789720708565436e-04, 5.457489087697051069e-04, 6.268869550379884668e-04, 7.183970825975973673e-04, 8.213627933082928901e-04, 9.369503011517966364e-04, 1.066411531385725184e-03, 1.211086903819095417e-03, 1.372407867107646339e-03, 1.551899151252505624e-03, 1.751180706119547318e-03, 1.971969294784470944e-03, 2.216079711850908971e-03, 2.485425598581779636e-03, 2.782019828718993257e-03, 3.107974441230220176e-03, 3.465500098895993776e-03, 3.856905054613959619e-03, 4.284593610523639393e-03, 4.751064058515097225e-03, 5.258906094345618421e-03, 5.810797701414435799e-03, 6.409501504198915943e-03, 7.057860595396970186e-03, 7.758793844909123446e-03, 8.515290702888369372e-03, 9.330405513145299523e-03, 1.020725135717912572e-02, 1.114899345297222760e-02, 1.215884213639836574e-02, 1.324004545661629463e-02, 1.439588142011718850e-02, 1.562964992113485073e-02, 1.694466439888404584e-02, 1.834424326453982033e-02, 1.983170114298836870e-02, 2.141033997615067889e-02, 2.308344003609062690e-02, 2.485425089716015368e-02, 2.672598241710042669e-02, 2.870179577730820310e-02, 3.078479463239356953e-02, 3.297801641870515720e-02, 3.528442387069167064e-02, 3.770689679281728890e-02, 4.024822413326941635e-02, 4.291109640390936770e-02, 4.569809848884132640e-02, 4.861170288163592155e-02, 5.165426338866744454e-02, 5.482800933323496446e-02, 5.813504029216542680e-02, 6.157732139347005467e-02, 6.515667920037330165e-02, 6.887479820368566403e-02, 7.273321794107712090e-02, 7.673333075835566151e-02, 8.087638022439339824e-02, 8.516346020789830747e-02, 8.959551462082867423e-02, 9.417333782991444898e-02, 9.889757573450802477e-02, 1.037687275058577967e-01, 1.087871479799008567e-01, 1.139530506928239996e-01, 1.192665115459606141e-01, 1.247274730840887416e-01, 1.303357493688843496e-01, 1.360910314271734020e-01, 1.419928932517243620e-01, 1.480407983306351483e-01, 1.542341066798992024e-01, 1.605720823524863565e-01, 1.670539013962460335e-01, 1.736786602321317742e-01, 1.804453844236544912e-01, 1.873530378080931153e-01, 1.944005319598201097e-01, 2.015867359561292115e-01, 2.089104864161762672e-01, 2.163705977840528187e-01, 2.239658728275971045e-01, 2.316951133252986765e-01, 2.395571309145607347e-01, 2.475507580756380088e-01, 2.556748592267567912e-01, 2.639283419072366399e-01, 2.723101680268593668e-01, 2.808193651612593497e-01, 2.894550378747292326e-01, 2.982163790535362503e-01, 3.071026812346166036e-01, 3.161133479163487600e-01, 3.252479048399920142e-01, 3.345060112323053140e-01, 3.438874710018250777e-01, 3.533922438832718793e-01, 3.630204565265675291e-01, 3.727724135289699431e-01, 3.826486084108677024e-01, 3.926497345378144818e-01, 4.027766959934214472e-01, 4.130306184097598756e-01, 4.234128597639539906e-01, 4.339250211516634154e-01, 4.445689575501645526e-01, 4.553467885857401860e-01, 4.662609093220769612e-01, 4.773140010883521767e-01, 4.885090423676662636e-01, 4.998493197684479070e-01, 5.113384391034281429e-01, 5.229803366027518117e-01, 5.347792902897740156e-01, 5.467399315500809553e-01, 5.588672569262846167e-01, 5.711666401731758417e-01, 5.836438446098876156e-01, 5.963050358078278898e-01, 6.091567946552975691e-01, 6.222061308419237716e-01, 6.354604968083211637e-01, 6.489278022087558681e-01, 6.626164289370386795e-01, 6.765352467684294227e-01, 6.906936296730053994e-01, 7.051014728587479919e-01, 7.197692106055475377e-01, 7.347078349544334315e-01, 7.499289153196209421e-01, 7.654446190944464391e-01, 7.812677333259577661e-01, 7.974116875368567865e-01, 8.138905777776784362e-01, 8.307191919965581771e-01, 8.479130368187123741e-01, 8.654883658328603475e-01, 8.834622094872810766e-01, 9.018524067040521621e-01, 9.206776383262963142e-01, 9.399574625199963151e-01, 9.597123522591707284e-01, 9.799637350309700387e-01, 1.000734034905599933e+00, 1.022046717124952010e+00, 1.043926335373472893e+00, 1.066398581905185161e+00, 1.089490340711946628e+00, 1.113229743930062164e+00, 1.137646231695313314e+00, 1.162770615670420260e+00, 1.188635146483979071e+00, 1.215273585336112390e+00, 1.242721280043529050e+00, 1.271015245815510799e+00, 1.300194251072644711e+00, 1.330298908642019971e+00, 1.361371772686240192e+00, 1.393457441749111730e+00, 1.426602668328411758e+00, 1.460856475415888358e+00, 1.496270280476785338e+00, 1.532898027375920169e+00, 1.570796326794896619e+00, 1.610024605725646420e+00, 1.650645266669431435e+00, 1.692723857217988332e+00, 1.736329250744977731e+00, 1.781533838991654903e+00, 1.828413737391087381e+00, 1.877049004040720448e+00, 1.927523873304087635e+00, 1.979927005099477087e+00, 2.034351751016940433e+00, 2.090896438495766214e+00, 2.149664674393090421e+00, 2.210765669381402212e+00, 2.274314584729113927e+00, 2.340432903144970240e+00, 2.409248825504827076e+00, 2.480897695429288043e+00, 2.555522453844001656e+00, 2.633274125832370887e+00, 2.714312342284411608e+00, 2.798805899057066353e+00, 2.886933356592141886e+00, 2.978883683190077867e+00, 3.074856945413050211e+00, 3.175065049391765683e+00, 3.279732537139255280e+00, 3.389097442334834102e+00, 3.503412210435275865e+00, 3.622944688401595705e+00, 3.747979189802462585e+00, 3.878817641573403805e+00, 4.015780819279312670e+00, 4.159209678351536168e+00, 4.309466789455788368e+00, 4.466937886899736897e+00, 4.632033539816493591e+00, 4.805190956770360727e+00, 4.986875935432896972e+00, 5.177584970080537688e+00, 5.377847530880629761e+00, 5.588228530273088035e+00, 5.809330993233640059e+00, 6.041798949837089488e+00, 6.286320570342285919e+00, 6.543631565013652661e+00, 6.814518873098582608e+00, 7.099824667819718682e+00, 7.400450706942931008e+00, 7.717363061475788814e+00, 8.051597258371279584e+00, 8.404263876795383951e+00, 8.776554641607500109e+00, 9.169749062247565207e+00, 9.585221670276993889e+00, 1.002444991444300704e+01, 1.048902277839603856e+01, 1.098065019316492606e+01, 1.150117332427169985e+01, 1.205257582204547280e+01, 1.263699613338454324e+01, 1.325674098404332380e+01, 1.391430015262873368e+01, 1.461236267104086712e+01, 1.535383460126837531e+01, 1.614185855545811846e+01, 1.697983514525758524e+01, 1.787144656784601339e+01, 1.882068256013178484e+01, 1.983186897964764985e+01, 2.090969930111845450e+01, 2.205926935196095527e+01, 2.328611564861881683e+01, 2.459625773922860138e+01, 2.599624500732998276e+01, 2.749320844694889238e+01, 2.909491798228195984e+01, 3.080984597641076715e+01, 3.264723765414180400e+01, 3.461718925554321861e+01, 3.673073484057443067e+01, 3.899994278315456980e+01, 4.143802312713618427e+01, 4.405944712930142330e+01, 4.688008048840357439e+01, 4.991733195758662298e+01, 5.319031926387298369e+01, 5.672005451703465811e+01, 6.052965158594831140e+01, 6.464455825915836491e+01, 6.909281639443131774e+01, 7.390535370725211687e+01, 7.911631135942343489e+01, 8.476341209659472308e+01, 9.088837435982152722e+01, 9.753737857533253823e+01, 1.047615927251647361e+02, 1.126177653386554197e+02, 1.211688952437418817e+02, 1.304849888043593828e+02, 1.406439169773708701e+02, 1.517323863863765989e+02, 1.638470407739824279e+02, 1.770957117100033620e+02, 1.915988403612775885e+02, 2.074910955409497265e+02, 2.249232172361061194e+02, 2.440641194630869936e+02, 2.651032917390266964e+02, 2.882535448280364212e+02, 3.137541538897424513e+02, 3.418744609277612322e+02, 3.729180087461214321e+02, 4.072272907593818790e+02, 4.451892153103389878e+02, 4.872414000388630927e+02, 5.338794318098249932e+02, 5.856652513400113117e+02, 6.432368496766822816e+02, 7.073194969336578611e+02, 7.787387632221277236e+02, 8.584356387770406827e+02, 9.474841163944599543e+02, 1.047111666301969297e+03, 1.158723113719277435e+03, 1.283928525349707755e+03, 1.424575826189363437e+03, 1.582789006393775706e+03, 1.761012944445459235e+03, 1.962066073573121788e+03, 2.189202360708354222e+03, 2.446184360349559652e+03, 2.737369460761187093e+03, 3.067811870808767638e+03, 3.443383419509962754e+03, 3.870916878218207705e+03, 4.358376293464465508e+03, 4.915059769420260559e+03, 5.551841303216967404e+03, 6.281459704453426129e+03, 7.118864385205665710e+03, 8.081629967627799596e+03, 9.190454321738597280e+03, 1.046975794051835702e+04, 1.194840663946247320e+04, 1.366058463062104793e+04, 1.564685131637809273e+04, 1.795542299179967539e+04, 2.064373043744082514e+04, 2.378031563732670807e+04, 2.744714621995650953e+04, 3.174244552480722739e+04, 3.678416050731336226e+04, 4.271422037773508051e+04, 4.970377768100323981e+04, 5.795967273138576164e+04, 6.773242484608792593e+04, 7.932613346949942761e+04, 9.311077397156915450e+04, 1.095375030536372224e+05, 1.291577556735669526e+05, 1.526471301608741586e+05, 1.808353350969648289e+05, 2.147438294770164181e+05, 2.556332515573999948e+05, 3.050633345562097502e+05, 3.649687926665853954e+05, 4.377556866857485380e+05, 5.264241222943208736e+05, 6.347248990108319410e+05, 7.673600526542426466e+05, 9.302403050337502786e+05, 1.130816502666451845e+06, 1.378507531155523742e+06, 1.685254393964162275e+06, 2.066239770168639390e+06, 2.540825270229354918e+06, 3.133775962036416630e+06, 3.876865148275802393e+06, 4.810984054018349430e+06, 5.988924089534678664e+06, 7.479057929608060924e+06, 9.370225698693408867e+06, 1.177824230977510661e+07, 1.485459301432580619e+07, 1.879809270383398104e+07, 2.387057334436346400e+07, 3.041806552258603202e+07, 3.889950046843262151e+07, 4.992574374586696017e+07, 6.431287504495613210e+07, 8.315518519925858136e+07, 1.079255664704117961e+08, 1.406141073390035115e+08, 1.839201785677305607e+08, 2.415197116904975365e+08, 3.184386015381112281e+08, 4.215765018929686736e+08, 5.604446356915114550e+08, 7.482094398046911572e+08, 1.003175129668246151e+09, 1.350898918997482870e+09, 1.827222165053491590e+09, 2.482633480831760933e+09, 3.388577637234919719e+09, 4.646620065299105644e+09, 6.401821801566297122e+09, 8.862352038053251473e+09, 1.232838602859196811e+10, 1.723489297480180023e+10, 2.421530528469447376e+10, 3.419673813208063025e+10, 4.854312364622606540e+10, 6.927149043760342676e+10, 9.938049490186203616e+10, 1.433521424759854145e+11, 2.079221734483088227e+11, 3.032695241820108158e+11, 4.448631503727710431e+11, 6.563458646477901051e+11, 9.740635696398910980e+11, 1.454220520059656158e+12, 2.184250688898627320e+12, 3.300999104757560757e+12, 5.019970485022749012e+12, 7.682676299017607834e+12, 1.183376596003983872e+13, 1.834748853557035315e+13, 2.863639312458363586e+13, 4.499803892715039958e+13, 7.119486876989154498e+13, 1.134307017980122346e+14, 1.820065782363618395e+14, 2.941484500615394037e+14, 4.788707305890930382e+14, 7.854025036928623551e+14, 1.297894304619860251e+15, 2.161279954782425640e+15, 3.627102147035003834e+15, 6.135342933440950378e+15, 1.046170006362244506e+16, 1.798477357839665686e+16, 3.117473412332331475e+16, 5.449445073049184222e+16, 9.607515505017978212e+16, 1.708589224452677852e+17, 3.065429751110228665e+17, 5.549227437451149511e+17, 1.013730232778046314e+18, 1.869059895876405824e+18, 3.478549552381578424e+18, 6.535992245975463763e+18, 1.240019272261066308e+19, 2.375828866910936629e+19, 4.597682433604432625e+19, 8.988106816837128428e+19, 1.775302379393632263e+20, 3.543413304390973486e+20, 7.148061397675525327e+20, 1.457620510577186305e+21, 3.005137124879829797e+21, 6.265024861633250697e+21, 1.320979941090283816e+22, 2.817487535902146221e+22, 6.079933041429805231e+22, 1.327658853647212083e+23, 2.934311759183641318e+23, 6.565087216807130026e+23, 1.487212273437937650e+24, 3.411840196076788128e+24, 7.928189928797018762e+24, 1.866451877029704857e+25, 4.452521859886739549e+25, 1.076545435174977662e+26, 2.638685681190697586e+26, 6.557908470244186498e+26, 1.652952243735585721e+27, 4.226383395914916199e+27, 1.096450394268080148e+28, 2.886822082999286080e+28, 7.715480389344015925e+28, 2.093728789309964846e+29, 5.770275789447655037e+29, 1.615463845391781140e+30, 4.595470055795608691e+30, 1.328629392686523255e+31, 3.905079681530784219e+31, 1.167134024271997252e+32, 3.548058538654277403e+32, 1.097378059358046160e+33, 3.454102978064445595e+33, 1.106745393701652323e+34, 3.610899559139069994e+34, 1.199946999283670567e+35, 4.062687014190878792e+35, 1.401835223893224514e+36, 4.931085527333162173e+36, 1.768812393284919500e+37, 6.472148293945199961e+37, 2.416453721739211922e+38, 9.208944720398123862e+38, 3.583297028622126676e+39, 1.424097482596699440e+40, 5.782627833426411524e+40, 2.399862204084363183e+41, 1.018291572042305460e+42, 4.419105414822034531e+42, 1.962126117680499311e+43, 8.916742424061253707e+43, 4.148882478294757720e+44, 1.977256529558276930e+45, 9.655300233875401080e+45, 4.832878898335598922e+46, 2.480575878223098058e+47, 1.306102809757654706e+48, 7.057565717289569232e+48, 3.915276522229618618e+49, 2.230898980943393318e+50, 1.306141334496309306e+51, 7.861021286656392627e+51, 4.865583758538451107e+52, 3.098487425915704674e+53, 2.031037614862563901e+54, 1.370999647608260200e+55, 9.534736274325001528e+55, 6.834959923166415407e+56, 5.052733546324789020e+57, 3.853810997282159979e+58, 3.034183107853208298e+59, 2.467161926009838899e+60, 2.072901039813580593e+61, 1.800563980579615383e+62, 1.617764027895344257e+63, 1.504283028250688329e+64, 1.448393206525427172e+65, 1.444855510980115799e+66, 1.494120428855029243e+67, 1.602566566107015722e+68, 1.783880504153942988e+69, 2.061999240572760738e+70, 2.476521794698572715e+71, 3.092349914153497358e+72, 4.016927238305985810e+73, 5.431607545226497387e+74, 7.650086824042822759e+75, 1.123017984114349288e+77, 1.719382952966052004e+78, 2.747335718690686674e+79, 4.584545010557684123e+80, 7.995082041539250252e+81, 1.458119909365899044e+83, 2.783001178679600175e+84, 5.562812231966194628e+85, 1.165338768982404578e+87, 2.560399126432838224e+88, 5.904549641859098192e+89, 1.430278474749838710e+91, 3.642046122956932563e+92, 9.756698571206402300e+93, 2.751946044275883051e+95, 8.179164793643197279e+96, 2.563704735086825890e+98, 8.481656496128255880e+99, 2.964260254403981007e+101, 1.095342970031208886e+103, 4.283148547584870628e+104, 1.773954352944319744e+106, 7.788991081894224760e+107, 3.628931721056821352e+109, 1.795729272516020592e+111, 9.446685151482835339e+112, 5.288263179614488101e+114, 3.153311236741401362e+116, 2.004807079683827669e+118, 1.360407192665237716e+120, 9.862825609807810517e+121, 7.647551788591128099e+123, 6.348802224871730088e+125, 5.649062361980019098e+127, 5.393248003523784781e+129, 5.530897191915703916e+131, 6.099598644640894333e+133, 7.242098433491964504e+135, 9.268083053637375570e+137, 1.279942702416040582e+140, 1.909796626960621302e+142, 3.082540300669885040e+144, 5.388809732384179657e+146, 1.021610251056626535e+149, 2.103005440072790650e+151, 4.706753990348725570e+153, 1.146834128125248991e+156, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_min = -6.164062500000000000;
if (m_max_refinements >= m_abscissas.size())
{
@@ -432,7 +440,11 @@ void exp_sinh_detail<Real, Policy>::init(const mpl::int_<3>&)
{ 2.99827136671822203139659705254947108e-2455L, 1.24882827026046387418324170521821293e-2379L, 2.44988423001973909940876922057761351e-2306L, 2.66927540888423924256197676379835451e-2235L, 1.89512300782142727523964560129359997e-2166L, 1.02360851047736978252291085443458258e-2099L, 4.88730957021167285814599122540648196e-2035L, 2.38575973739960063984613176811112623e-1972L, 1.37101430897591401677957283544539320e-1911L, 1.06333264218828160158212770967007648e-1852L, 1.27067801926958817891969964688113127e-1795L, 2.66010333678426336904594890897508436e-1740L, 1.10484167956085896672647638913688653e-1686L, 1.02711572445228877679664077673865962e-1634L, 2.40228312498468537472913439313888633e-1584L, 1.58314329557188545251248547330891601e-1535L, 3.28094781159949863603124081342946968e-1488L, 2.37840601013012306745513950331950428e-1442L, 6.68624945754691841776166731458196006e-1398L, 8.05587986859135128455444199209469004e-1355L, 4.58316096287519065423952255855034306e-1313L, 1.35248343166964409448147921555689922e-1272L, 2.26752160966952001157168922897574770e-1233L, 2.35909278572023604645731071940961914e-1195L, 1.65903351294385543451470844717805067e-1158L, 8.56804094411838080986008744972959423e-1123L, 3.52140713988280887124946897137042691e-1088L, 1.24502439015653832112887580419259567e-1054L, 4.08361208615792538039018647193947162e-1022L, 1.33685935274460284904788097419890160e-990L, 4.68914584779066055505548198640894341e-960L, 1.88761464755010821415650640440428715e-930L, 9.32118389977759099804089947706407268e-902L, 6.02287072293155834327191570771930380e-874L, 5.42106639858656175956621834625906078e-847L, 7.22191826970524227339284882890548040e-821L, 1.51020072122639353372149509671977024e-795L, 5.24775126181523166368024963040824842e-771L, 3.20220580014087429159629013136223785e-747L, 3.61997704502523196516304924921584345e-724L, 7.98492800624004092804929885145612391e-702L, 3.61392988815279171930655913638563273e-680L, 3.52366894930304180660437805611575996e-659L, 7.75941790954346674475792064117877807e-639L, 4.03982705605992279012386676527754690e-619L, 5.19834669028776461984659088482903679e-600L, 1.72588931588477933787290173538689408e-581L, 1.54137268468058258004178745033532316e-563L, 3.85562019823508006565291873935904091e-546L, 2.80916830174896024691081755907263354e-529L, 6.19212992045820718698085583700822639e-513L, 4.28406369726641450642830646435371014e-497L, 9.64070107276137860266813577293097959e-482L, 7.30474502980487251348070249880206420e-467L, 1.92703875472217605577664104239882285e-452L, 1.82836317722867439282495454446115074e-438L, 6.43850535226391166629598797094394826e-425L, 8.67564527079512826366041439069686406e-412L, 4.60732378382987117665981750506044471e-399L, 9.92355019653945096209219622811507181e-387L, 8.91282113369599082908019662526444168e-375L, 3.42910268669860807072991706793596262e-363L, 5.80083861220020883214825204353252963e-352L, 4.42512315593917892307328787082985460e-341L, 1.56000404760553377203351190297454435e-330L, 2.60259125151860978088621742839596354e-320L, 2.10262994916038774260354592873630300e-310L, 8.41173460487346663387701675407432002e-301L, 1.70280612724644563266907394311476267e-291L, 1.78116409086610297225917597830385624e-282L, 9.82480313804105048460709403983300504e-274L, 2.91457791899830525764575140294420231e-265L, 4.73965774855838520901565109021450612e-257L, 4.30398176296336788976377718753404885e-249L, 2.22193567988028967419035853512154624e-241L, 6.63553772275767193165934337486647504e-234L, 1.16578412206922730540647811503608703e-226L, 1.22474675486304476176402962758102117e-219L, 7.81684108965031293490823429466674471e-213L, 3.07774321188900147460180897292349446e-206L, 7.58759251414243265302591311385078772e-200L, 1.18823395876906229284835410783359514e-193L, 1.19864235179097517931485807315756884e-187L, 7.89484815058732018316693655376229205e-182L, 3.44001585820470930356951346759790116e-176L, 1.00429282413458278190733306028479555e-170L, 1.98881516262612704197372631141044676e-165L, 2.70364023416269358290386889178454878e-160L, 2.55241036356528886321774073237366662e-155L, 1.69227628517124062919375344585284149e-150L, 7.96587271931569005985245219884752131e-146L, 2.69038016965415710141558028398178580e-141L, 6.58640142296301821553052201959182941e-137L, 1.18042002159083828066729019346791192e-132L, 1.56367343741949029569249898774237153e-128L, 1.54531048534737740803236941099285613e-124L, 1.14963627239221457328345144952502533e-120L, 6.49493107141223206477306791588740146e-117L, 2.81018975962531457950258683552245790e-113L, 9.38876009983047538463236277234608306e-110L, 2.44144614978077332940218030178369234e-106L, 4.97967380423964535764132428105410190e-103L, 8.02629250855504170950085275141889693e-100L, 1.02975774422556528975197839046564511e-96L, 1.05903428462392788554333849690582167e-93L, 8.79012224539705420215807394822091933e-91L, 5.92725904620589386119574720007659266e-88L, 3.26785695641876626125438772016710733e-85L, 1.48222090912512196733576972776187035e-82L, 5.56431172687041304333655416134228735e-80L, 1.73894644850180973193834439393406052e-77L, 4.54974501627115811330277659341709811e-75L, 1.00204791018402181301004224966380115e-72L, 1.86763466487726841127561204857118883e-70L, 2.96092907372076963741238677845263773e-68L, 4.01290356278003207547213477434374557e-66L, 4.67174973180940285995675266523420122e-64L, 4.69376738484344030975102668254954324e-62L, 4.08839867480777582716177965835471551e-60L, 3.10086294017966876521788239138705860e-58L, 2.05664262860193002265928563040484563e-56L, 1.19777269867460483717671801459380654e-54L, 6.14987857896674930479991965502306936e-53L, 2.79459594105487367405294144558243202e-51L, 1.12814222153195027375952194262805170e-49L, 4.06053088698370288660361299969573584e-48L, 1.30770277764601303984357205166621959e-46L, 3.78118998998858848129267831928491324e-45L, 9.84875712554165931773609676827898732e-44L, 2.31826871061275836674260034702071180e-42L, 4.94684766719278736886703293137447413e-41L, 9.59814033368779163526953048426266162e-40L, 1.69828465632158908850726775955673984e-38L, 2.74808806067694979431131601699073400e-37L, 4.07794734980576448596813627579221148e-36L, 5.56417400808680411162969051547065270e-35L, 6.99889732124326604821939972498753725e-34L, 8.13608686966403922600365716655177400e-33L, 8.76218322965140584555660990677761542e-32L, 8.76276637192578280309577248461260176e-31L, 8.15628170980170063345810303188191933e-30L, 7.08149199986036059275640615879247609e-29L, 5.74736606938180421303095720610698091e-28L, 4.36944079330436317602800446372377792e-27L, 3.11795190731786551713306066746724497e-26L, 2.09240762901978141675541589343048983e-25L, 1.32305299259448285811442078319939693e-24L, 7.89691997711578359267081292526106870e-24L, 4.45716605711992632203887297614028920e-23L, 2.38302054707699751676620265710858837e-22L, 1.20889613263470803214753580918237251e-21L, 5.82833462566546297036431040060608322e-21L, 2.67469784973934035752489871481337927e-20L, 1.17014393860453605367131279149462226e-19L, 4.88739480774243667158625429475089610e-19L, 1.95168062031382677617975635339602042e-18L, 7.46163208304186839076058133462415646e-18L, 2.73485791500251557979443670181385630e-17L, 9.62223074873981898938153222962813147e-17L, 3.25389617800670808719193210653774700e-16L, 1.05888451003262711834291997535706834e-15L, 3.31989417456924550647348023471492055e-15L, 1.00398818028880718004903688096398433e-14L, 2.93186753434992804142094819281287207e-14L, 8.27635883877837412701034478711895464e-14L, 2.26082510653047710401828799240495861e-13L, 5.98228146965673437508140635644104873e-13L, 1.53484657642706271558550260287175188e-12L, 3.82185576688620308819449258941130914e-12L, 9.24474797424185856221360345157220406e-12L, 2.17427909729908200066806520833424743e-11L, 4.97635090813511876195380613765617708e-11L, 1.10929412007484858271399815868498117e-10L, 2.41032585809105707126681740366639425e-10L, 5.10905559690208602233885434283852003e-10L, 1.05723928928894498681155298267174319e-09L, 2.13744795688281626795384543565327267e-09L, 4.22492806022042378177884800843897317e-09L, 8.17046853836402216132200964074977087e-09L, 1.54693324186061707441588930749976281e-08L, 2.86930859292637487108510416894642893e-08L, 5.21722334965282980403485300265738444e-08L, 9.30518593041943674159836371480799295e-08L, 1.62889442240265382985512933741863589e-07L, 2.80023159222713498193152226335713707e-07L, 4.73011069732904671695491353591017402e-07L, 7.85526363421471709139200654941264315e-07L, 1.28318979177475296348420727772184965e-06L, 2.06292423671439573062357518920248604e-06L, 3.26552286428871054459476770292453844e-06L, 5.09222413107163744070769490625113325e-06L, 7.82617466349549247600633222001776503e-06L, 1.18597235737360853531010814128200937e-05L, 1.77285167845861097132511756107809923e-05L, 2.61533347347083551795448324767635695e-05L, 3.80905294601878233958593851046717171e-05L, 5.47917574609632216617322114415284106e-05L, 7.78734661207721580410532787755478685e-05L, 1.09396271310786841597436260479638662e-04L, 1.51953965111990518244589142984584154e-04L, 2.08771424329052859462812228725402767e-04L, 2.83810167897154635400111152886276561e-04L, 3.81879755641776745662197699923565149e-04L, 5.08752658539288473040921063606067979e-04L, 6.71279691879016478989727452815073290e-04L, 8.77502619869410964596211481799673429e-04L, 1.13676014562695660388935295197579588e-03L, 1.45978322435393926290231969328136083e-03L, 1.85877550576562291461373383997358853e-03L, 2.34747474413929171623192976971642926e-03L, 2.94119122257973574562047404684570218e-03L, 3.65681962518947136825693675506580632e-03L, 4.51282135037802008049500003706382224e-03L, 5.52917497487431572466643627095469859e-03L, 6.72729342693880289247231232743320046e-03L, 8.12990737739402925191380506695287882e-03L, 9.76091537148098089988167779205704956e-03L, 1.16452022628003896766716791241908478e-02L, 1.38084285310255098081489577923406060e-02L, 1.62767940269060299249627834088541599e-02L, 1.90767805535439719611430291452241110e-02L, 2.22348784290424057418829018676115193e-02L, 2.57773027557106041232220835190089403e-02L, 2.97297055256785242037107379259364943e-02L, 3.41168899105681014303940274877700652e-02L, 3.89625331103873045168982262850032695e-02L, 4.42889239784348614272085648656341809e-02L, 5.01167213062401896725837060595306942e-02L, 5.64647381631055655160905842942135176e-02L, 6.33497570613638646379858081046281019e-02L, 7.07863799874088410337603891340254733e-02L, 7.87869165286187403201277486249691639e-02L, 8.73613124671846027274852311959507760e-02L, 9.65171203330026184766273626679604986e-02L, 1.06259512537229504582581766840088037e-01L, 1.16591336871525032405196867775170242e-01L, 1.27513213378027801743713746335418149e-01L, 1.39023670890726644461647310110564995e-01L, 1.51119320935163034926767802526948718e-01L, 1.63795066161333054101624624583286900e-01L, 1.77044340081249140375155906842322507e-01L, 1.90859374591070988709995096163492901e-01L, 2.05231491577749618625157075644473454e-01L, 2.20151414838427133582099008248376327e-01L, 2.35609598571509171617873703655361587e-01L, 2.51596568823441496049692748064095951e-01L, 2.68103274485319808338763876413696112e-01L, 2.85121444718080293120944366000785895e-01L, 3.02643950033175240463650928525241062e-01L, 3.20665164656273759511495325736015581e-01L, 3.39181328243896232934423095526947639e-01L, 3.58190905496894238632513262989320923e-01L, 3.77694942711148444854921008885136613e-01L, 3.97697420816736709936441112125746846e-01L, 4.18205604975383785180004107895309545e-01L, 4.39230391326913892071217294036947977e-01L, 4.60786651994838310108569244001462874e-01L, 4.82893579976783682783259082280697090e-01L, 5.05575036056380615456191240843198089e-01L, 5.28859900380164343616138823034844308e-01L, 5.52782431848141026163801711629569094e-01L, 5.77382638973537667728623589540847426e-01L, 6.02706666380887845415163251209767664e-01L, 6.28807201638412861233038059400000985e-01L, 6.55743907668438480076422889144751851e-01L, 6.83583886557560546105565188637319809e-01L, 7.12402181207131050122140520074497354e-01L, 7.42282321936634874071712163942668772e-01L, 7.73316925891616774766609626518222875e-01L, 8.05608357929825762678392686079844024e-01L, 8.39269462582114444255866071824225817e-01L, 8.74424377728731780655872302934188327e-01L, 9.11209441820152654384317758539800255e-01L, 9.49774207830947999703385257169606442e-01L, 9.90282578695719860661750084965348602e-01L, 1.03291408077266220499949941381670461e+00L, 1.07786529395310786342015831094913754e+00L, 1.12535145943113425409772316889306152e+00L, 1.17560828892019106387681852443264510e+00L, 1.22889400231711865029290591255755794e+00L, 1.28549162454200134646596760738351906e+00L, 1.34571157661211478758710729669915294e+00L, 1.40989460104228631141154693756330089e+00L, 1.47841506752326819907071392253335661e+00L, 1.55168471165732988584072993312632620e+00L, 1.63015686749586045646523839878119043e+00L, 1.71433126392888582869445858515841385e+00L, 1.80475946586097450583979351681595524e+00L, 1.90205105385821569910651758727035418e+00L, 2.00688065090883085704250790253631297e+00L, 2.11999592251508776978462701922381176e+00L, 2.24222669701791864392841075957133612e+00L, 2.37449537743872890090165532424204567e+00L, 2.51782884491687412950125924770996677e+00L, 2.67337208788498443977901451698681543e+00L, 2.84240383149636938582597352632467033e+00L, 3.02635448975787151687626271616744396e+00L, 3.22682681985641084640836568780538092e+00L, 3.44561972615851906798292101239468486e+00L, 3.68475574257857058166416238846674883e+00L, 3.94651281922700641882215705186324970e+00L, 4.23346115586300426882702466682124288e+00L, 4.54850596485993372358839139642384894e+00L, 4.89493721528314838282250644869812537e+00L, 5.27648761361579143482640951008870741e+00L, 5.69740032348777653019331418706396336e+00L, 6.16250822618479874280298612217822529e+00L, 6.67732688781902305621720870171254858e+00L, 7.24816384288680618425673773908490765e+00L, 7.88224734633420137754997440176783259e+00L, 8.58787841076847338040196250304371454e+00L, 9.37461076170556588083589376387132811e+00L, 1.02534643490360208202755813725095827e+01L, 1.12371792943596952958405098972799626e+01L, 1.23405186912073323038589589843390563e+01L, 1.35806305843369735705552654775963352e+01L, 1.49774818320198815684165550755584428e+01L, 1.65543795252306978072060668000283508e+01L, 1.83385993586213963662082373601202455e+01L, 2.03621450242974894275535474068497776e+01L, 2.26626685943754163096516986406459795e+01L, 2.52845893136112912405786286347442878e+01L, 2.82804576829875229843082739941801350e+01L, 3.17126237580911006574531329780573620e+01L, 3.56552839704483033860162655552985983e+01L, 4.01970005016327611735412627281826315e+01L, 4.54438126123299012690083228854751285e+01L, 5.15230920902650058925899224137885947e+01L, 5.85883374425407037894686827319101058e+01L, 6.68251567023112069515824430636222454e+01L, 7.64587608768192360600680527705062884e+01L, 8.77633846894782777864438965135974549e+01L, 1.01074175868700380244224060820937268e+02L, 1.16802258994842453002226105258170771e+02L, 1.35453898714114297683765730207366657e+02L, 1.57654978967903747896778920825912898e+02L, 1.84182405906460887204718250035971904e+02L, 2.16004568481915370203941996632993398e+02L, 2.54333702516246823953928460722661707e+02L, 3.00693971336392029288524445812313026e+02L, 3.57010397089553597741305454749296236e+02L, 4.25725590115811669827894375931285872e+02L, 5.09953725643224718975881101989299450e+02L, 6.13684687521816216675628323432708789e+02L, 7.42056139017496594867562213902074498e+02L, 9.01718069398279102081695287947885045e+02L, 1.10132394119371945146169423670051948e+03L, 1.35219615071533062822615520086342752e+03L, 1.66923291068630661586092129359067647e+03L, 2.07215152332054272741081984137877196e+03L, 2.58720328209038570262408045410782795e+03L, 3.24955382874419473343636700904469745e+03L, 4.10660860213453501373964026030452875e+03L, 5.22268955795277619388623264624171874e+03L, 6.68565726355089669998707553230747827e+03L, 8.61635357331041935557199135249564277e+03L, 1.11821636876213398227716019227207708e+04L, 1.46166395927660444135310088609126834e+04L, 1.92481111548503807855046302083949422e+04L, 2.55417294787310992653570084425920733e+04L, 3.41617486573493312682855974958999477e+04L, 4.60645561151339657587241032816274431e+04L, 6.26388222783949624156629031841856307e+04L, 8.59184957335087735876745002390386986e+04L, 1.18909441895224029432207119296169161e+05L, 1.66095033938427884484826987675525104e+05L, 2.34226252811038979343276539537003434e+05L, 3.33568602948986258437654580586715228e+05L, 4.79889988962864687601246140266254885e+05L, 6.97663061660509733330079420786394691e+05L, 1.02527964914474052697145671441285507e+06L, 1.52363581455429196593138247075709981e+06L, 2.29042801548317740734746692037333714e+06L, 3.48424008370597272699707163872949391e+06L, 5.36561882022124111785765119998290944e+06L, 8.36799594465384427071057649003523823e+06L, 1.32217203482688374239659605009398927e+07L, 2.11738506478689471767346755297403608e+07L, 3.43829654204789362343598103327212044e+07L, 5.66383460344826705635075490736605924e+07L, 9.46890531446099216978642309212033877e+07L, 1.60736860537955754766368401888105613e+08L, 2.77184337816824251216810756452423932e+08L, 4.85821891491727553231947839400706241e+08L, 8.65895043719996967916785083318862010e+08L, 1.57023595787763814315717820663521931e+09L, 2.89877916582589084595240112564380085e+09L, 5.45082862939618857716273065316347458e+09L, 1.04462776299019818355322697028773431e+10L, 2.04161928476231748290058801874576093e+10L, 4.07167362508726715447348035164126587e+10L, 8.29154750329098975446073110291771593e+10L, 1.72524569678310615987347680670953976e+11L, 3.67042596452982637114653516749325639e+11L, 7.98985690430384590881851382687868095e+11L, 1.78088199348481822130071407591775159e+12L, 4.06753710066430378340194042741373814e+12L, 9.52719664341172412580158176782396629e+12L, 2.29025392291311484677517351429897325e+13L, 5.65517100257158446400477892790807623e+13L, 1.43556057453169991412842468344287817e+14L, 3.74966777273576618576956864828262686e+14L, 1.00868013060119404846072345341681988e+15L, 2.79711270328189457750729359218050034e+15L, 8.00353033476527491290557180677857043e+15L, 2.36538022352308798092653239020367364e+16L, 7.22793756862980926623333746953184515e+16L, 2.28603237125675384523138361921766753e+17L, 7.49169357670736182787260118136384206e+17L, 2.54681528722697062733706069581540403e+18L, 8.99167123461421679854681325569917778e+18L, 3.30088716836331393064955543786333400e+19L, 1.26155602488854061815298573346753948e+20L, 5.02601059129997078887664234449072840e+20L, 2.09003840003334609133024432910535654e+21L, 9.08427629135679092557541630988833736e+21L, 4.13277307337650905633261831455054852e+22L, 1.97077591472219550165099701845426740e+23L, 9.86567192878194333593095251120628263e+23L, 5.19253827231351201624600034890440225e+24L, 2.87797813261600767124658244003026900e+25L, 1.68253103834271529795445964171621893e+26L, 1.03930300492804406447430223922613789e+27L, 6.79491179196076158722692150701779494e+27L, 4.71054472298412825215699352759734253e+28L, 3.46906218798171940969795067049186910e+29L, 2.71919469298029646397308102518695120e+30L, 2.27308597305997987201797057125811269e+31L, 2.03060816941963451979890589753656719e+32L, 1.94261454794602808054773809715560372e+33L, 1.99453642796409945684693816457728868e+34L, 2.20275757078165507105373401305070760e+35L, 2.62280693187648585243154230451397289e+36L, 3.37503469494102278406378324431267258e+37L, 4.70514262885548973786602859197635105e+38L, 7.12449819522227214155183099218285736e+39L, 1.17479491699687500984526531336188586e+41L, 2.11529840618171125644793575486664802e+42L, 4.17057423654484355854313046574264130e+43L, 9.02996402249218455912158145716517353e+44L, 2.15344195364580091650722699472214395e+46L, 5.67373854091156226750041136308702235e+47L, 1.65679493344512341491651081156308385e+49L, 5.37959274142567387437479000715431452e+50L, 1.94883090765131732574822421459033340e+52L, 7.90409930117048365355172083360408902e+53L, 3.60198039300535878643618051284879761e+55L, 1.85117602089555214211892984185617326e+57L, 1.07703344015399312416171835284404207e+59L, 7.12190311508435674119313111798381629e+60L, 5.37418888386167437844586074702336014e+62L, 4.64729650833728307491157079699691435e+64L, 4.62526710582644946748054017004844382e+66L, 5.32182077764493049141810605179622557e+68L, 7.11164697902038500579051989777466680e+70L, 1.10899515910236266304919828966923200e+73L, 2.02799605144484652148788128416483129e+75L, 4.37097775363901059074163853783972656e+77L, 1.11616878412036714566047843287003825e+80L, 3.39514715649439557125494531010505893e+82L, 1.23701982128373508607730444611285161e+85L, 5.42965793175551379743384549971838572e+87L, 2.88810817234216647705316265060164148e+90L, 1.87304637361264791993354548498385904e+93L, 1.49042693797246054384025095285834884e+96L, 1.46460222682423294988692623274219021e+99L, 1.78930667727185631768641895397399502e+102L, 2.73657637241785643461962451320315667e+105L, 5.27697387534476684848681508483720442e+108L, 1.29244503566283656061209233007634805e+112L, 4.05121786788653633019340698712667656e+115L, 1.63797303768105580759099639209855651e+119L, 8.61161786816897952522273022842847467e+122L, 5.93663320306070547376727413186770748e+126L, 5.41263435338015569490052234550484999e+130L, 6.58482575653621278094067557171475624e+134L, 1.07875660982114746476517100137547561e+139L, 2.40241992462133691284825971033750350e+143L, 7.34435324696612505273925787730222850e+147L, 3.11318307060514113999896732347290570e+152L, 1.84887752009365552806348833513339683e+157L, 1.55493753489569904210242587934359215e+162L, 1.87247311840034398087857290386878308e+167L, 3.26561398822344966034897508874934342e+172L, 8.34577318106206521818843721578177275e+177L, 3.16365209967032443701802479913075857e+183L, 1.80121863573431611955949232303314972e+189L, 1.56029746814154042157436181814468250e+195L, 2.08399815409632719398233238905315693e+201L, 4.35116508686695844690078637651674080e+207L, 1.44042594283375698824917457557971547e+214L, 7.67198578340176495038072549202750984e+220L, 6.67439909212164301008970795489093574e+227L, 9.63314810388083227111873828289832687e+234L, 2.34398517046722427869034729305744960e+242L, 9.77625325893464652861772945740140456e+249L, 7.10967843958998030041427991161778060e+257L, 9.17597441867286774623146964891772219e+265L, 2.14036206544827332284805812358315196e+274L, 9.19420612380519250234059644495148895e+282L, 7.41568524413971300723452081581189161e+291L, 1.14573384520235218510170025456065061e+301L, 3.46156619789802557007367290577360329e+310L, 2.08912045049233012342096277237544009e+320L, 2.57451388307699184873778115477509299e+330L, 6.62688893229567984520960366416649465e+340L, 3.64721218233974203748299012650543732e+351L, 4.39668921699312866048896359512324981e+362L, 1.19018091828589034728575506532863164e+374L, 7.42292147631996488193728378356566879e+385L, 1.09526098640141261390128648437627728e+398L, 3.92927734436557751277903528467662194e+410L, 3.52539958718458390412925405124992174e+423L, 8.14407380085561132671651242382158564e+436L, 4.99172864167925991508434677916290384e+450L, 8.37313822543668537823480408319630674e+464L, 3.96855771450749046728173847477197045e+479L, 5.49292894873452993989300213358944271e+494L, 2.29708122354182613470710687416853220e+510L, 3.00602816347641813806476628260504686e+526L, 1.27638345565474398023933739505382139e+543L, 1.82543785151714558753981850731109273e+560L, 9.13886193903951047182967076404934097e+577L, 1.66659166393902754183225415655293639e+596L, 1.15345182570915755941253059732455874e+615L, 3.16074696483848527092291852149349249e+634L, 3.58237065512849118228300807716046934e+654L, 1.75676845140981179589000705343726870e+675L, 3.90495239094757591264933748015965848e+696L, 4.12771024114613858596256966986824636e+718L, 2.18017473107123494465764845328386818e+741L, 6.05537171542030830962660182644895823e+764L, 9.32267445280349135813949292533678488e+788L, 8.40039310752404384099688064836067109e+813L, 4.68572386284109286448290494678984852e+839L, 1.71436621216433181556756205470621080e+866L, 4.36726894564208691170045669145775062e+893L, 8.23850494545149522733960578619372006e+921L, 1.22636833130359811940229369518492693e+951L, 1.53817446772510796133546119401337038e+981L, 1.73934010579080275675622752667739992e+1012L, 1.90139542390828308944919910797818652e+1044L, 2.15946649839694693874583032395369802e+1077L, 2.74458385322614086037916005350795661e+1111L, 4.21460437827726866824631065747020388e+1146L, 8.46327678591246014474308263680903354e+1182L, 2.41136671056709946500959023526115708e+1220L, 1.06046799402590770086828664893536628e+1259L, 7.85179239227989671195411257856609735e+1298L, 1.07053761782523090834371225181245647e+1340L, 2.94820375013014518743449818159813519e+1382L, 1.80414267837505733123417059421507186e+1426L, 2.70702818749460407693598763878577805e+1471L, 1.10237898995725987663697548890315962e+1518L, 1.35298567513553498909522877321159185e+1566L, 5.57611902405430874175886881037679558e+1615L, 8.62760618106732185887902244008862925e+1666L, 5.62274836328861658358184936480919820e+1719L, 1.73809780706704538846353037945373733e+1774L, 2.88052131688282318513745853191288493e+1830L, 2.90423838801873888374451692095277096e+1888L, 2.02951924440811805047282880080209219e+1948L, 1.12457154445459099155545223242406413e+2010L, 5.67678101812548596682420412619518564e+2073L, 3.01259124479996611916817067093268060e+2139L, 1.94839799990442184578594656275869899e+2207L, 1.78866123976568468449541367729975757e+2277L, 2.72776450570640988722564402903756955e+2349L, 8.12826724972980545013533499964424395e+2423L, },
{ 1.58403833597397609272337637131715304e-2474L, 4.01729907956437307269377706375953438e-2436L, 2.58580645701935131155084366864422406e-2398L, 4.31502895023559220093536948165386274e-2361L, 1.90627959218882483095663188951084330e-2324L, 2.27589955667507909301636117518932802e-2288L, 7.49364095876812027654477175001110624e-2253L, 6.94191154236392933887288062436725643e-2218L, 1.84522919671267474043685120983334524e-2183L, 1.43487104640347241520251346864979221e-2149L, 3.32692243646438795745471365264644590e-2116L, 2.34362088307498827836613435573448115e-2083L, 5.10938037262713942693655713913568198e-2051L, 3.51060735754549615330960873223686009e-2019L, 7.73934046950102664330281533900661264e-1988L, 5.57169465236073520583741860201801676e-1957L, 1.33280818206626290524674045358563098e-1926L, 1.07761463878385909143899244627194248e-1896L, 2.99487219016399829947920738111566372e-1867L, 2.90872283894068508271645083240599458e-1838L, 1.00349314519658897817146360011284604e-1809L, 1.24963603019269210233323055704536134e-1781L, 5.70651178926661193581089363715896182e-1754L, 9.70578293043209307574192077696195294e-1727L, 6.24328278846472954410732505740796953e-1700L, 1.54193058035632514209035337344023300e-1673L, 1.48399119945730121895709095048379728e-1647L, 5.64752158032889554103477750567193685e-1622L, 8.62167301557505164690437370018957398e-1597L, 5.35528299764763984143338000418037832e-1572L, 1.37241462764951847155586335894427418e-1547L, 1.47116444020541724843474277134735959e-1523L, 6.68618803692998895772448346916660911e-1500L, 1.30561453192449212967328116730742424e-1476L, 1.10983482751594629837009226116529299e-1453L, 4.16014518377810797736243906294304347e-1431L, 6.96431413050131379947014047903616964e-1409L, 5.27224320695995707920555229340409925e-1387L, 1.82727152085917578757399986780345619e-1365L, 2.93468712490571136931409720092296819e-1344L, 2.21029656493081556265677595112314098e-1323L, 7.89892460822856456312620943162424218e-1303L, 1.35498246922475851477828612647429926e-1282L, 1.12846854910106323887966343965144914e-1262L, 4.61424330893765402182473137993848704e-1243L, 9.36605095127672178405946589653781928e-1224L, 9.54054141854710811663726016692763275e-1205L, 4.92938100391460828476769674596652859e-1186L, 1.30552448174985025504800286655378847e-1167L, 1.79081395504489298673122868237542862e-1149L, 1.28534148947828407343141932678878641e-1131L, 4.87584961151572559819046616829450419e-1114L, 9.87277629967922144952427945151885497e-1097L, 1.07748800964228010206356572218732211e-1079L, 6.39928058051557015650179754550910965e-1063L, 2.08781638937389821580749246439535224e-1046L, 3.77684590339710704264469235045684970e-1030L, 3.82307555361237861173188661605677525e-1014L, 2.18500494285229212661260038960152445e-998L, 7.11371665672211288079530438419393765e-983L, 1.33086590459456967821090511427946680e-967L, 1.44309821421378874919204882407008472e-952L, 9.14647515187060050796469146648366553e-938L, 3.41683020290309632448426799765730462e-923L, 7.58515118221027874504569883083804726e-909L, 1.00874302140725085602226074835782694e-894L, 8.10069400524047548461447004237480370e-881L, 3.95900210017885619699714022194103898e-867L, 1.18662867376446832171113003401601030e-853L, 2.19786739893484213511853337557279548e-840L, 2.53446665772094387684997171428381901e-827L, 1.83299289701163579779687245566728015e-814L, 8.37462324951323786164578010773011160e-802L, 2.43440349985894963165438833576050630e-789L, 4.53405919015746926984345204895280285e-777L, 5.44811780296147933680587250736719556e-765L, 4.25227509910246244055269284525208521e-753L, 2.17028567518979939311612851867355063e-741L, 7.29110293097611082922276966606966112e-730L, 1.62280402409213923291155004693280799e-718L, 2.40828308813354260030814303685712546e-707L, 2.39798644647022706006083856285038692e-696L, 1.61202006993232554271262188260349029e-685L, 7.36078014307223356522361505691981658e-675L, 2.29673595120013740585571409952171287e-664L, 4.92601668045549547120303143586093867e-654L, 7.30469847326532782734592211727680659e-644L, 7.53208483045812497621524949105624661e-634L, 5.43101457218649885434844485451114112e-624L, 2.75364547737132169841544376328974616e-614L, 9.87114363624257039419731807833639141e-605L, 2.51532230246971379761137727536103954e-595L, 4.58020252011364324634687161502454437e-586L, 5.99105224430269595047395967421408836e-577L, 5.65817475729598864582006398104320790e-568L, 3.87790653215945353008449656152626419e-559L, 1.93831767408426944576894121111160849e-550L, 7.10042999124518145073529096418920675e-542L, 1.91544155185588660392537613901890409e-533L, 3.82329460613706944718834058784982843e-525L, 5.67308558344799642959861077485254353e-517L, 6.28651971015047054176370541889652534e-509L, 5.22608309691007325295015732741277330e-501L, 3.27380385796518526996963624688451015e-493L, 1.55218880567110686358214096387337744e-485L, 5.59406715134492552797785887998506288e-478L, 1.53903555561583129370612427064103671e-470L, 3.24582771097869247388161880434215690e-463L, 5.26923908371102477241383694074670819e-456L, 6.61116543964979170247326465662672578e-449L, 6.43651161747399650924315876123367361e-442L, 4.88172530890739153159755873311503383e-435L, 2.89552772291014307121494513337008901e-428L, 1.34824561713159645449381177450374044e-421L, 4.94682830703508395886779775564904786e-415L, 1.43550778574773554814450699757551163e-408L, 3.30662278156545301906789072182270217e-402L, 6.06763076341882342375981845143813941e-396L, 8.90102295078976467641802004915383639e-390L, 1.04750026993369008379812665328207076e-383L, 9.92305977697594285442750520712185343e-378L, 7.59233047709729007268137313555513461e-372L, 4.70739644774061079459196244467224618e-366L, 2.37289471679140773116577190541471766e-360L, 9.75578189470698031776059091702014024e-355L, 3.28173795958592945075990020191630023e-349L, 9.06055778471501819614486253220513415e-344L, 2.05942153439035557149195606898627504e-338L, 3.86530964740245225250791387282901296e-333L, 6.00843270324960642367292431619041056e-328L, 7.75791717613089963209182313649669073e-323L, 8.34421688870272754369905134347321346e-318L, 7.49743392110895125137984446953806518e-313L, 5.64335493091932417079632230402715339e-308L, 3.56822312364224796215751885944182157e-303L, 1.90033575264131712027297219010231489e-298L, 8.54728045366493643486236298588028833e-294L, 3.25523625801393911932111212124054975e-289L, 1.05248047241632062076489482718979111e-284L, 2.89617776712893256185087414745466351e-280L, 6.79988531580997322799099912957691248e-276L, 1.36556351036663137564575797911341140e-271L, 2.35130154856703817933308580165070895e-267L, 3.47957918602140446743207712996488528e-263L, 4.43595246742156897562714682208015764e-259L, 4.88306826050902558584812739817346803e-255L, 4.65192688318894071322199120456680912e-251L, 3.84397217698170104458131412518090261e-247L, 2.76116826189849718252009792299798034e-243L, 1.72788148193695597819524956747708857e-239L, 9.44000021446169518374327174980091189e-236L, 4.51212554821909958969480138145008725e-232L, 1.89078188020015147413152497967774898e-228L, 6.96047357819953940988624584998189879e-225L, 2.25551400000095886908107215813083451e-221L, 6.44644677476230409449870129589571800e-218L, 1.62820413693305623578289570883910133e-214L, 3.64118898140332008867604954881435445e-211L, 7.22342104300488240353501601432620632e-208L, 1.27354621995150979542739771832851778e-204L, 1.99918407175965223164864543465886820e-201L, 2.79923301669228713128194864334595626e-198L, 3.50221902155243103789141550909762023e-195L, 3.92214264392110857739154085058742459e-192L, 3.93845056335503285763060194710496279e-189L, 3.55208932101704820479562248595366349e-186L, 2.88218576501349132033303488025583146e-183L, 2.10742246561673617325867420889217990e-180L, 1.39082883056909297835969428096996258e-177L, 8.29809184041509702782403322046680024e-175L, 4.48275079028324875908925844854947607e-172L, 2.19604664947993546897548946859268970e-169L, 9.77074245531826439290686011595488065e-167L, 3.95412900034836577575737163397063382e-164L, 1.45763752143522946134851229157315125e-161L, 4.90175908594770144816169627656347413e-159L, 1.50583242362081439890282730822964005e-156L, 4.23187210926299952258468916772463829e-154L, 1.08947970178510600143883902241342972e-151L, 2.57292238715065164920970933548863818e-149L, 5.58131105433415694107142145348480095e-147L, 1.11357590012697004029170524556205260e-144L, 2.04616505133228608383036998688279538e-142L, 3.46699488500477063569923373366652510e-140L, 5.42379540407350192206120227447952764e-138L, 7.84383327240284700975116490839187822e-136L, 1.04992295793319441478934809931921214e-133L, 1.30230107195741860304672567525213181e-131L, 1.49865973782839300796909511415792928e-129L, 1.60190662241428628230308870106117967e-127L, 1.59224861840198356125270425396669689e-125L, 1.47337534591643627391632824044256382e-123L, 1.27065155139400959289502878067800521e-121L, 1.02240826352576620907328663762929630e-119L, 7.68376260232956278119400404906698852e-118L, 5.39926812723337318582425048609813182e-116L, 3.55107427485349467569160645183534302e-114L, 2.18823540951912101048500342930263842e-112L, 1.26466751543081693428147968135946762e-110L, 6.86180756673724371219029573988488620e-109L, 3.49869168682520996337772693940273721e-107L, 1.67801680739837515692197356611469711e-105L, 7.57743943144193148982405002124429739e-104L, 3.22470377015938680899710533122019572e-102L, 1.29448709067770596337952427228314258e-100L, 4.90613325096345413914934529363944533e-99L, 1.75712131798815332550332783841135938e-97L, 5.95204249145432038279376449394263726e-96L, 1.90856665328641726356485393831448064e-94L, 5.79822445923642921233565089484060205e-93L, 1.67029323997833472695510332615399040e-91L, 4.56623667339808303761814383193281614e-90L, 1.18561734279154794522720467403607684e-88L, 2.92616002780129692916694825399426567e-87L, 6.87006113412670713749912656047162470e-86L, 1.53556578350037994526862611062995548e-84L, 3.27003673677840125658578850353789865e-83L, 6.63955800720658036202444029681088661e-82L, 1.28631975096739859347518450406626244e-80L, 2.37956658113902295790875474474928153e-79L, 4.20626823139888342521923162463424944e-78L, 7.10971923783337943250783648529172174e-77L, 1.14991510411537277718541841100610582e-75L, 1.78087620125559422021122815240864113e-74L, 2.64270379617932988289762938432353092e-73L, 3.76008537594171932684988546369276565e-72L, 5.13292095112425199264463076393673633e-71L, 6.72710027460142769581137467118289653e-70L, 8.46958562134769749810317782657268756e-69L, 1.02503238267223284787859415412841523e-67L, 1.19321912755786334798650299344282298e-66L, 1.33681693038130658171632078204446788e-65L, 1.44228347967979838541089585366023007e-64L, 1.49937455500479399063651651865716553e-63L, 1.50279720313350143765006477517598013e-62L, 1.45300596931848530329429215240805653e-61L, 1.35598044837786253974814702268132430e-60L, 1.22207241221255212718220407758970979e-59L, 1.06422318027052015901612579353436284e-58L, 8.95966739607563684498250506056071091e-58L, 7.29628880807929410507791279851435148e-57L, 5.75025529619018115782221236649660618e-56L, 4.38801166482901351758297994035262224e-55L, 3.24385245129183239778054564241318804e-54L, 2.32423935766553880551312730791561599e-53L, 1.61486977620302644603098163288002715e-52L, 1.08852460554527484166896264813585652e-51L, 7.12175557419282904469498440847683331e-51L, 4.52464766254906707378983948806266105e-50L, 2.79273071581879303547665803856393705e-49L, 1.67538487960386422664995380528599268e-48L, 9.77311432877767609128920687351148833e-48L, 5.54591076684762708155258243373876422e-47L, 3.06280970562787364526087771025696151e-46L, 1.64686211803826623376300968100335938e-45L, 8.62510851388715584666563483664725226e-45L, 4.40168766386889070104410967553191993e-44L, 2.18975577884764674623829698191429056e-43L, 1.06234533644926588892221744026505121e-42L, 5.02803666348568404922856964957017674e-42L, 2.32252463571724922291588384046952088e-41L, 1.04740659389834130621977678673036650e-40L, 4.61343838844969816849890851044847674e-40L, 1.98539744511816200515536891243051363e-39L, 8.35102736745462834322783293199882340e-39L, 3.43444090348454338873945310910863585e-38L, 1.38148913187719664577281415801326678e-37L, 5.43705120131022522415564030011104834e-37L, 2.09435754808064771674030165617400032e-36L, 7.89867661859200690211003183623252601e-36L, 2.91753687094747127218152557081492503e-35L, 1.05578888602271659701510267800456427e-34L, 3.74433381216033081152946793044225824e-34L, 1.30180118525195729018565371931285108e-33L, 4.43834621689338776826444391843192077e-33L, 1.48434826895181654234585115302567433e-32L, 4.87100112984983697071424260901079389e-32L, 1.56890300074251394167498791840311009e-31L, 4.96129531591793523529868958902224169e-31L, 1.54077391002799082070667599670892752e-30L, 4.70055802217201491012415527477898338e-30L, 1.40911523071894959581827729743208189e-29L, 4.15191310395569203370171887252329295e-29L, 1.20273761371542774812275721780834541e-28L, 3.42632737493449673556641936029297478e-28L, 9.60140535939702601155477307042148556e-28L, 2.64727864203377330130778700812469317e-27L, 7.18344222056514710304108009603342664e-27L, 1.91885054598149404233254994607045127e-26L, 5.04697477945599249407828848720385551e-26L, 1.30739479992591170007499101639277446e-25L, 3.33634219823695708156517864262133521e-25L, 8.38925958113626219399750986165640649e-25L, 2.07905181351354860827899559955891196e-24L, 5.07917896724376528007260946058158296e-24L, 1.22350179435783727784530143589061714e-23L, 2.90665491105754953014975765085018324e-23L, 6.81166860609501546977145188171063268e-23L, 1.57498593823802530267320052674032470e-22L, 3.59379678896934832551131875550134077e-22L, 8.09418541120521256436201968800902213e-22L, 1.79979618323748172103553749785052354e-21L, 3.95175890164101728455789689950582204e-21L, 8.56958006805086577463240518925283894e-21L, 1.83575348651729869648335347322858802e-20L, 3.88541433996602231722399876322981769e-20L, 8.12661397289502178971121801417655470e-20L, 1.68000718288950314093575786904308274e-19L, 3.43336935156396282804714345750464903e-19L, 6.93769555039942749928599832442683686e-19L, 1.38634563100898175510110455954156138e-18L, 2.74008749775923088060873199170519103e-18L, 5.35757028868338662612872498580241047e-18L, 1.03646493302280378406673184005440162e-17L, 1.98424944201008499240310250250687800e-17L, 3.75978800606000340899396301904932318e-17L, 7.05221126182168479511704811938887205e-17L, 1.30963564152954622082996853685780292e-16L, 2.40827549610918052797562865726934570e-16L, 4.38589880961171155211843738902302126e-16L, 7.91175868684912128549216604428547791e-16L, 1.41388359787718387270571947224924145e-15L, 2.50347753664468021020115723250325879e-15L, 4.39263786655070582741822344903139686e-15L, 7.63871030696057461236914444427999640e-15L, 1.31670336037747604093705380830550144e-14L, 2.25003102727544891850217684727399098e-14L, 3.81223973341221495282227985716493129e-14L, 6.40502166019136347918960755019998163e-14L, 1.06725053827031948353711195948826425e-13L, 1.76389749378472101040375240485184047e-13L, 2.89198756533454775599767608849931393e-13L, 4.70424252036995808470327107927435060e-13L, 7.59287827351269198973041796516049688e-13L, 1.21618333837252517178450702971971531e-12L, 1.93338859343662487903047794738683986e-12L, 3.05082685244229075126272877890267121e-12L, 4.77908002001763665704541557372044375e-12L, 7.43273471338542509759247990082208445e-12L, 1.14783388812587366578078714999164060e-11L, 1.76028616037242275427822154657272751e-11L, 2.68107110162395316788540367212924769e-11L, 4.05602375429596543728262134893310443e-11L, 6.09544349224153722159236648112669209e-11L, 9.10055012961606421079182569690846497e-11L, 1.34999345213696765153127846451643325e-10L, 1.98994391239515605127817880646635584e-10L, 2.91499607361905978799020781323598840e-10L, 4.24390078141221962088655373293736779e-10L, 6.14135316267139108184909214050184662e-10L, 8.83436579589479851125156253066831718e-10L, 1.26339559402593316965102282486280599e-09L, 1.79636925005171604673781604814805685e-09L, 2.53970414332648086166213535713251755e-09L, 3.57059249828789049877331667413514712e-09L, 4.99234840315053910682137402914672922e-09L, 6.94247187048993148295924434414634261e-09L, 9.60294960016456137105057353194608309e-09L, 1.32133371276166677672139906194961059e-08L, 1.80872790163534638977965561238944112e-08L, 2.46332536476779151638500763225429049e-08L, 3.33804787013687049574791297244907192e-08L, 4.50110842610850506871431532628603516e-08L, 6.03998541333325959410060827223996830e-08L, 8.06630537452609783391065479881400036e-08L, 1.07218105901889261435737857618298194e-07L, 1.41856144379535399139351236825663488e-07L, 1.86829769983638330491745888879438028e-07L, 2.44958653917297200861483891225150109e-07L, 3.19755978044276083153634882857883309e-07L, 4.15579069086754433405340505039048729e-07L, 5.37807971332554467827633744547482376e-07L, 6.93056106477668619385798002644561466e-07L, 8.89417585250212245375810218669817408e-07L, 1.13675615786872600638029106996132895e-06L, 1.44704121253473089806789252868181132e-06L, 1.83473664533283350419063698449974520e-06L, 2.31724882235425364363184937796552995e-06L, 2.91544022582530391094107183656707013e-06L, 3.65421570986355186992807571629053921e-06L, 4.56318857677376015133362727471956847e-06L, 5.67743390948223287752620793591929613e-06L, 7.03833674730757178417069911600525632e-06L, 8.69454275808306722839276847105496531e-06L, 1.07030190270275985848630609511672890e-05L, 1.31302324393740374972736712543053054e-05L, 1.60534528678907389671161995891497537e-05L, 1.95621879772878044903047444244351033e-05L, 2.37597559155521886172243888058434365e-05L, 2.87650014695436120790473222143336354e-05L, 3.47141604126307620878569429267584729e-05L, 4.17628757618591523872557240511914786e-05L, 5.00883684896740377264076716570754303e-05L, 5.98917639018173037280503906445049523e-05L, 7.14005734028021322676450426011314791e-05L, 8.48713297304976003620620060812799411e-05L, 1.00592371962099993408798498455907607e-04L, 1.18886774688549697317681023800631139e-04L, 1.40115413739806927896468824589692520e-04L, 1.64680158738873124934815777767252928e-04L, 1.93027180590427177790609959505517465e-04L, 2.25650359795433055575151925625868196e-04L, 2.63094779253370712822446127059315509e-04L, 3.05960282998094618038061759727754321e-04L, 3.54905080142515530273890819014315333e-04L, 4.10649371213184272695586730470455583e-04L, 4.73978972070856543596623702324547537e-04L, 5.45748908769705106925744948564871657e-04L, 6.26886955037988466777589811218012335e-04L, 7.18397082597597367255394668144143647e-04L, 8.21362793308292890121036733909194916e-04L, 9.36950301151796636389593916360605611e-04L, 1.06641153138572518429387087881256567e-03L, 1.21108690381909541715522898126065244e-03L, 1.37240786710764633931488483556773354e-03L, 1.55189915125250562428574475103346186e-03L, 1.75118070611954731846143391024982058e-03L, 1.97196929478447094442182021751059029e-03L, 2.21607971185090897097885205424488147e-03L, 2.48542559858177963603431553204765315e-03L, 2.78201982871899325746660736300345366e-03L, 3.10797444123022017600460098808123935e-03L, 3.46550009889599377554207066240202628e-03L, 3.85690505461395961880575720620871256e-03L, 4.28459361052363939313848682793859897e-03L, 4.75106405851509722505038175681427297e-03L, 5.25890609434561842084606413815284753e-03L, 5.81079770141443579933464319447926318e-03L, 6.40950150419891594280210549702450453e-03L, 7.05786059539697018633739598386855559e-03L, 7.75879384490912344645900750924930976e-03L, 8.51529070288836937235862937785994511e-03L, 9.33040551314529952303815524992440065e-03L, 1.02072513571791257196870650265821749e-02L, 1.11489934529722276019901656254303012e-02L, 1.21588421363983657377673415921445027e-02L, 1.32400454566162946339651246079183099e-02L, 1.43958814201171884975897081297216705e-02L, 1.56296499211348507284307663166667625e-02L, 1.69446643988840458394481431193257832e-02L, 1.83442432645398203334614155955590374e-02L, 1.98317011429883687012533532738687781e-02L, 2.14103399761506788853091011534572156e-02L, 2.30834400360906269037251797223442256e-02L, 2.48542508971601536767883257823339293e-02L, 2.67259824171004266947925047187844041e-02L, 2.87017957773082030971446046374914401e-02L, 3.07847946323935695276863138190467659e-02L, 3.29780164187051571955970986393933287e-02L, 3.52844238706916706398930809090405599e-02L, 3.77068967928172889046621767464058045e-02L, 4.02482241332694163505581270228186661e-02L, 4.29110964039093677010619866631701642e-02L, 4.56980984888413264034413616112869595e-02L, 4.86117028816359215545912812117182378e-02L, 5.16542633886674445449455067720287452e-02L, 5.48280093332349644585895096278308003e-02L, 5.81350402921654268021994051667911914e-02L, 6.15773213934700546744487567673172633e-02L, 6.51566792003733016470332458328988615e-02L, 6.88747982036856640340840950741077307e-02L, 7.27332179410771208959941663503595393e-02L, 7.67333307583556615050326531083587939e-02L, 8.08763802243933982425303227000944183e-02L, 8.51634602078983074689360505021182257e-02L, 8.95955146208286742294968393977769930e-02L, 9.41733378299144489750576704343915921e-02L, 9.88975757345080247656478735188449399e-02L, 1.03768727505857796722978821461546404e-01L, 1.08787147979900856678514246787241454e-01L, 1.13953050692823999603416543952272158e-01L, 1.19266511545960614110252460361458099e-01L, 1.24727473084088741556780346524879069e-01L, 1.30335749368884349581460099687500407e-01L, 1.36091031427173401966757170543046798e-01L, 1.41992893251724361991875167825655695e-01L, 1.48040798330635148304426193810368709e-01L, 1.54234106679899202351157467338543629e-01L, 1.60572082352486356465237071613156643e-01L, 1.67053901396246033471214692284653203e-01L, 1.73678660232131774208044201415508905e-01L, 1.80445384423654491197811595430697492e-01L, 1.87353037808093115326776430258837481e-01L, 1.94400531959820109714578533182084599e-01L, 2.01586735956129211498107459964096125e-01L, 2.08910486416176267158329341893267875e-01L, 2.16370597784052818695266702661187610e-01L, 2.23965872827597104489240738884195628e-01L, 2.31695113325298676464455224512869174e-01L, 2.39557130914560734720290079897448420e-01L, 2.47550758075638008786996132954185789e-01L, 2.55674859226756791227887436442350007e-01L, 2.63928341907236639931045094151784107e-01L, 2.72310168026859366788753574972476498e-01L, 2.80819365161259349748148678323641718e-01L, 2.89455037874729232565423711864655899e-01L, 2.98216379053536250342702367445487260e-01L, 3.07102681234616603556790972526892770e-01L, 3.16113347916348760019249138447488231e-01L, 3.25247904839992014226666657864488014e-01L, 3.34506011232305314043635112310304911e-01L, 3.43887471001825077739424147442217492e-01L, 3.53392243883271879333889785572599272e-01L, 3.63020456526567529072712529376719554e-01L, 3.72772413528969943076239230990758849e-01L, 3.82648608410867702369280704118517439e-01L, 3.92649734537814481801171047048544340e-01L, 4.02776695993421447225756159687866121e-01L, 4.13030618409759875566958499890031988e-01L, 4.23412859763953990585030832527434639e-01L, 4.33925021151663415382683548295156320e-01L, 4.44568957550164552554831720660662401e-01L, 4.55346788585740186021655771168112611e-01L, 4.66260909322076961243786064631384911e-01L, 4.77314001088352176735947056292312804e-01L, 4.88509042367666263602229097070513234e-01L, 4.99849319768447906973686731056178972e-01L, 5.11338439103428142948352352152044385e-01L, 5.22980336602751811729499672944460101e-01L, 5.34779290289774015573364455286468490e-01L, 5.46739931550080955287380242064660003e-01L, 5.58867256926284616744877484869191055e-01L, 5.71166640173175841717312971842336611e-01L, 5.83643844609887615578228626088462787e-01L, 5.96305035807827889758567710635182685e-01L, 6.09156794655297569062821736349343099e-01L, 6.22206130841923771587050175584017347e-01L, 6.35460496808321163697317796410781296e-01L, 6.48927802208755868138883757264025330e-01L, 6.62616428937038679525110869491604161e-01L, 6.76535246768429422677267756666823087e-01L, 6.90693629673005399383708050292572666e-01L, 7.05101472858747991895757442966727674e-01L, 7.19769210605547537680146085503476253e-01L, 7.34707834954433431482100014962668745e-01L, 7.49928915319620942104629439591963551e-01L, 7.65444619094446439133009723643838630e-01L, 7.81267733325957766141060146767846541e-01L, 7.97411687536856786535849810135961905e-01L, 8.13890577777678436208431256995493454e-01L, 8.30719191996558177068293937598919209e-01L, 8.47913036818712374055336621201445842e-01L, 8.65488365832860347537655780480228440e-01L, 8.83462209487281076620051655836621909e-01L, 9.01852406704052162112602532863159232e-01L, 9.20677638326296314246112109641174382e-01L, 9.39957462519996315051517977272639457e-01L, 9.59712352259170728365681565566195274e-01L, 9.79963735030970038685207606899372777e-01L, 1.00073403490559993309000835270230984e+00L, 1.02204671712495200986974494164817378e+00L, 1.04392633537347289336664619627296763e+00L, 1.06639858190518516071876464455235265e+00L, 1.08949034071194662751500934725633506e+00L, 1.11322974393006216402411430386892104e+00L, 1.13764623169531331372630723630321340e+00L, 1.16277061567042026013306680494416940e+00L, 1.18863514648397907083703649648730714e+00L, 1.21527358533611238960293477132347556e+00L, 1.24272128004352904999786719958821158e+00L, 1.27101524581551079885511358011134290e+00L, 1.30019425107264471110982901454765895e+00L, 1.33029890864201997125110745686528366e+00L, 1.36137177268624019179654148863686280e+00L, 1.39345744174911173037014751038646328e+00L, 1.42660266832841175766232711333173310e+00L, 1.46085647541588835802048454309412779e+00L, 1.49627028047678533760134362560179034e+00L, 1.53289802737592016874439144914426210e+00L, 1.57079632679489661923132169163975144e+00L, 1.61002460572564642000849608863176067e+00L, 1.65064526666943143532240244567555108e+00L, 1.69272385721798833166204038375277879e+00L, 1.73632925074497773069781144176863796e+00L, 1.78153383899165490255124499430464714e+00L, 1.82841373739108738124596203605065226e+00L, 1.87704900404072044775471792428672248e+00L, 1.92752387330408763463712892863710673e+00L, 1.97992700509947708650365975965257989e+00L, 2.03435175101694043322616088522632134e+00L, 2.09089643849576621383396167595935906e+00L, 2.14966467439309042108153883973067514e+00L, 2.21076566938140221236799358744093376e+00L, 2.27431458472911392711904220601704565e+00L, 2.34043290314497023966214961240421096e+00L, 2.40924882550482707578395780381837657e+00L, 2.48089769542928804270777308901824137e+00L, 2.55552245384400165592583716337259322e+00L, 2.63327412583237088656291310907475315e+00L, 2.71431234228441160768610076838330351e+00L, 2.79880589905706635256578441640292763e+00L, 2.88693335659214188612865513175227518e+00L, 2.97888368319007786718164917079966461e+00L, 3.07485694541305021056656397487876403e+00L, 3.17506504939176568339259231884822943e+00L, 3.27973253713925527986226523992226922e+00L, 3.38909744233483410200034132396842728e+00L, 3.50341221043527586541966899038246748e+00L, 3.62294468840159570502872359754361586e+00L, 3.74797918980246258518386393043115941e+00L, 3.87881764157340380510220562013091253e+00L, 4.01578081927931267029397913978942025e+00L, 4.15920967835153616848634566919310171e+00L, 4.30946678945578836835486232808829311e+00L, 4.46693788689973689723986043138805888e+00L, 4.63203353981649359057533901265089751e+00L, 4.80519095677036072684883899803335247e+00L, 4.98687593543289697160079921623416533e+00L, 5.17758497008053768765855285400689531e+00L, 5.37784753088062976076034128768012631e+00L, 5.58822853027308803485444007033170411e+00L, 5.80933099323364005938466841106588229e+00L, 6.04179894983708948784718604678234941e+00L, 6.28632057034228591922334730387683243e+00L, 6.54363156501365266125399451934329088e+00L, 6.81451887309858260791767579514605499e+00L, 7.09982466781971868191373433617700078e+00L, 7.40045070694293100845796745008949286e+00L, 7.71736306147578881407568826714170705e+00L, 8.05159725837127958401987584151171259e+00L, 8.40426387679538395058384455428283593e+00L, 8.77655464160750010892022612040926275e+00L, 9.16974906224756520705691589269677116e+00L, 9.58522167027699388874228356777329920e+00L, 1.00244499144430070386099274885141050e+01L, 1.04890227783960385614814296197680936e+01L, 1.09806501931649260624015170997236345e+01L, 1.15011733242716998455210622743445835e+01L, 1.20525758220454727952816341992419823e+01L, 1.26369961333845432419384699684768677e+01L, 1.32567409840433238017603739136360460e+01L, 1.39143001526287336814820956823084828e+01L, 1.46123626710408671221171338391349055e+01L, 1.53538346012683753120053442509520620e+01L, 1.61418585554581184591279187098492208e+01L, 1.69798351452575852400510409025135738e+01L, 1.78714465678460133882677098961576727e+01L, 1.88206825601317848442892749807248071e+01L, 1.98318689796476498521560439791262319e+01L, 2.09096993011184544989073368255312499e+01L, 2.20592693519609552724995680207860407e+01L, 2.32861156486188168325833440616926330e+01L, 2.45962577392286013760094208279475314e+01L, 2.59962450073299827601794849672397508e+01L, 2.74932084469488923833030086627802945e+01L, 2.90949179822819598429999086944366938e+01L, 3.08098459764107671506384842333391345e+01L, 3.26472376541418040006352140116179211e+01L, 3.46171892555432186128355184008936311e+01L, 3.67307348405744306653537849794079228e+01L, 3.89999427831545697992227880433189487e+01L, 4.14380231271361842696931290595974334e+01L, 4.40594471293014233018696008435982161e+01L, 4.68800804884035743932352319123055757e+01L, 4.99173319575866229822636583993237381e+01L, 5.31903192638729836914160122380617184e+01L, 5.67200545170346581087003708738282234e+01L, 6.05296515859483113978235132985845589e+01L, 6.46445582591583649124780712968047055e+01L, 6.90928163944313177415529394071665670e+01L, 7.39053537072521168719419511314839173e+01L, 7.91163113594234348927381617490387462e+01L, 8.47634120965947230809397578710282148e+01L, 9.08883743598215272174601093484125344e+01L, 9.75373785753325382322893051705294986e+01L, 1.04761592725164736089639534479074532e+02L, 1.12617765338655419662606911403899284e+02L, 1.21168895243741881709481972315918511e+02L, 1.30484988804359382802013970413388238e+02L, 1.40643916977370870089294791135734370e+02L, 1.51732386386376598946153144686407135e+02L, 1.63847040773982427929709267988083986e+02L, 1.77095711710003361983546853982729852e+02L, 1.91598840361277588527216638598210664e+02L, 2.07491095540949726522855395012839290e+02L, 2.24923217236106119394568010864647153e+02L, 2.44064119463086993590008673999888577e+02L, 2.65103291739026696423162894476095053e+02L, 2.88253544828036421249450783362468048e+02L, 3.13754153889742451327114437895012151e+02L, 3.41874460927761232190324931320648150e+02L, 3.72918008746121432097478949634992228e+02L, 4.07227290759381879033987273956073881e+02L, 4.45189215310338987815842929936219157e+02L, 4.87241400038863092710563840938907565e+02L, 5.33879431809824993154116113611340152e+02L, 5.85665251340011311718653543776253641e+02L, 6.43236849676682281579530292235801252e+02L, 7.07319496933657861116096423723089184e+02L, 7.78738763222127723625961426334336958e+02L, 8.58435638777040682657342340030579928e+02L, 9.47484116394459954294416631122613257e+02L, 1.04711166630196929712820316594777632e+03L, 1.15872311371927743485840786701904690e+03L, 1.28392852534970775486315470390457819e+03L, 1.42457582618936343671625036189352836e+03L, 1.58278900639377570598543689683858411e+03L, 1.76101294444545923486104598108258215e+03L, 1.96206607357312178755673700966218336e+03L, 2.18920236070835422209657734442941355e+03L, 2.44618436034955965177471357752869960e+03L, 2.73736946076118709316717034422700237e+03L, 3.06781187080876763823587584403262657e+03L, 3.44338341950996275353420062305895100e+03L, 3.87091687821820770548262640961099474e+03L, 4.35837629346446550811483742251576785e+03L, 4.91505976942026055884439891778599977e+03L, 5.55184130321696740425893724460092414e+03L, 6.28145970445342612877221303833900020e+03L, 7.11886438520566571043900024525721790e+03L, 8.08162996762779959609851789890726579e+03L, 9.19045432173859727983153055486718404e+03L, 1.04697579405183570171054706781681133e+04L, 1.19484066394624731955974446656465043e+04L, 1.36605846306210479280006137726608390e+04L, 1.56468513163780927299848865296760921e+04L, 1.79554229917996753910020302361418910e+04L, 2.06437304374408251386790990436920728e+04L, 2.37803156373267080705808819875316658e+04L, 2.74471462199565095258711815725505419e+04L, 3.17424455248072273922403695999752070e+04L, 3.67841605073133622632674187774059283e+04L, 4.27142203777350805091608476572382608e+04L, 4.97037776810032398127125994364568099e+04L, 5.79596727313857616360132420453444344e+04L, 6.77324248460879259253530791773167141e+04L, 7.93261334694994276050922426242412735e+04L, 9.31107739715691545023768199956003639e+04L, 1.09537503053637222429417759669716212e+05L, 1.29157755673566952599086463851912376e+05L, 1.52647130160874158565239969760504587e+05L, 1.80835335096964828910095096138515211e+05L, 2.14743829477016418053483721316277484e+05L, 2.55633251557399994754680946686048161e+05L, 3.05063334556209750218324509503461449e+05L, 3.64968792666585395419705030588899790e+05L, 4.37755686685748537981529230100717254e+05L, 5.26424122294320873553623779329790816e+05L, 6.34724899010831940960718793968560727e+05L, 7.67360052654242646579956157559309383e+05L, 9.30240305033750278572545038832724621e+05L, 1.13081650266645184495081585123306969e+06L, 1.37850753115552374245055838415718322e+06L, 1.68525439396416227539607702063253047e+06L, 2.06623977016863939032179814240740936e+06L, 2.54082527022935491763036651163297626e+06L, 3.13377596203641663047341272710642846e+06L, 3.87686514827580239293595658539782774e+06L, 4.81098405401834942973721071475737211e+06L, 5.98892408953467866424875864774796159e+06L, 7.47905792960806092396497010475870265e+06L, 9.37022569869340886743682668142431718e+06L, 1.17782423097751066120254539266241595e+07L, 1.48545930143258061872721569284540776e+07L, 1.87980927038339810411221199415802492e+07L, 2.38705733443634639976678131975655720e+07L, 3.04180655225860320213756009749555241e+07L, 3.88995004684326215069338023547372206e+07L, 4.99257437458669601662091946924574592e+07L, 6.43128750449561321017861557895848463e+07L, 8.31551851992585813643149605060553440e+07L, 1.07925566470411796107305712037505869e+08L, 1.40614107339003511498586442587195365e+08L, 1.83920178567730560673713663331917338e+08L, 2.41519711690497536458569405379734816e+08L, 3.18438601538111228132801183275722771e+08L, 4.21576501892968673592102667497462836e+08L, 5.60444635691511454953230090792878868e+08L, 7.48209439804691157215633476755723997e+08L, 1.00317512966824615144294234414110893e+09L, 1.35089891899748286951692285814894218e+09L, 1.82722216505349159044967968934424570e+09L, 2.48263348083176093300905605774694855e+09L, 3.38857763723491971892999484076543171e+09L, 4.64662006529910564426883234085294096e+09L, 6.40182180156629712154379147661940269e+09L, 8.86235203805325147258573091932997831e+09L, 1.23283860285919681076337828978766266e+10L, 1.72348929748018002343932808836953853e+10L, 2.42153052846944737603768649152219024e+10L, 3.41967381320806302529104945578396652e+10L, 4.85431236462260654032773006433818623e+10L, 6.92714904376034267631798991329824532e+10L, 9.93804949018620361644641133903513098e+10L, 1.43352142475985414523266188918663249e+11L, 2.07922173448308822669953899424734201e+11L, 3.03269524182010815814751345567548609e+11L, 4.44863150372771043146060595057040363e+11L, 6.56345864647790105139454816812312939e+11L, 9.74063569639891097956397109813490533e+11L, 1.45422052005965615789962842879352220e+12L, 2.18425068889862732017431485970855335e+12L, 3.30099910475756075681442440083420253e+12L, 5.01997048502274901150163921982195024e+12L, 7.68267629901760783371009641842522603e+12L, 1.18337659600398387182686793240868246e+13L, 1.83474885355703531496992152648661997e+13L, 2.86363931245836358559523100954017414e+13L, 4.49980389271503995761664922194406313e+13L, 7.11948687698915449751693845544920647e+13L, 1.13430701798012234619458399048221594e+14L, 1.82006578236361839541514524597276231e+14L, 2.94148450061539403705926461420998342e+14L, 4.78870730589093038221910605812495108e+14L, 7.85402503692862355090784993078672085e+14L, 1.29789430461986025113447366376693514e+15L, 2.16127995478242564041665605678872071e+15L, 3.62710214703500383377916061381597850e+15L, 6.13534293344095037788551479051826967e+15L, 1.04617000636224450596060724147477482e+16L, 1.79847735783966568554234927670508824e+16L, 3.11747341233233147536151972501734499e+16L, 5.44944507304918422218082921598846642e+16L, 9.60751550501797821243248841373822216e+16L, 1.70858922445267785163471612163490444e+17L, 3.06542975111022866531582625971692938e+17L, 5.54922743745114951066953816028814728e+17L, 1.01373023277804631428305560194491190e+18L, 1.86905989587640582429259395332686294e+18L, 3.47854955238157842413369108802590798e+18L, 6.53599224597546376326701108631484361e+18L, 1.24001927226106630812645719537154550e+19L, 2.37582886691093662903464587039857427e+19L, 4.59768243360443262528520790447211677e+19L, 8.98810681683712842794124622629411311e+19L, 1.77530237939363226330723906827319437e+20L, 3.54341330439097348610370779591666976e+20L, 7.14806139767552532748817894789979543e+20L, 1.45762051057718630539520752847120279e+21L, 3.00513712487982979744944726506420716e+21L, 6.26502486163325069730377264873611059e+21L, 1.32097994109028381590144585332181800e+22L, 2.81748753590214622077676014001554368e+22L, 6.07993304142980523101356268020373032e+22L, 1.32765885364721208288263553578233241e+23L, 2.93431175918364131820516218129002628e+23L, 6.56508721680713002578214496043109168e+23L, 1.48721227343793765013154051597710086e+24L, 3.41184019607678812819334291291332010e+24L, 7.92818992879701876208212761012395842e+24L, 1.86645187702970485690987148720542546e+25L, 4.45252185988673954885155645168863932e+25L, 1.07654543517497766241465472692681594e+26L, 2.63868568119069758552386276646714408e+26L, 6.55790847024418649820013325410592483e+26L, 1.65295224373558572055534033842757998e+27L, 4.22638339591491619855432610245411904e+27L, 1.09645039426808014848951068590561771e+28L, 2.88682208299928608019375692651426610e+28L, 7.71548038934401592468282155249032740e+28L, 2.09372878930996484632394470400138705e+29L, 5.77027578944765503685743525710220950e+29L, 1.61546384539178114004658391605197219e+30L, 4.59547005579560869055708560274363012e+30L, 1.32862939268652325541488091880021431e+31L, 3.90507968153078421921910800039715306e+31L, 1.16713402427199725201363486127342874e+32L, 3.54805853865427740256789009746696294e+32L, 1.09737805935804615955239963430188272e+33L, 3.45410297806444559459316674852385198e+33L, 1.10674539370165232283645935543266144e+34L, 3.61089955913906999391756229494586894e+34L, 1.19994699928367056689901878605794596e+35L, 4.06268701419087879160332452792716198e+35L, 1.40183522389322451388311239745912475e+36L, 4.93108552733316217324966630695184171e+36L, 1.76881239328491949973951925349674313e+37L, 6.47214829394519996070845864216337266e+37L, 2.41645372173921192231147151489004683e+38L, 9.20894472039812386191245000342688835e+38L, 3.58329702862212667598998865894252598e+39L, 1.42409748259669944005518449916929857e+40L, 5.78262783342641152433806724533524027e+40L, 2.39986220408436318313990705343752378e+41L, 1.01829157204230545960231903208713235e+42L, 4.41910541482203453093956062976933998e+42L, 1.96212611768049931065065590432043620e+43L, 8.91674242406125370712417447773466783e+43L, 4.14888247829475772044491476179936724e+44L, 1.97725652955827692966670149947470575e+45L, 9.65530023387540108044378286001152781e+45L, 4.83287889833559892166961276593618835e+46L, 2.48057587822309805808523773881299449e+47L, 1.30610280975765470571043683527277027e+48L, 7.05756571728956923233902004974509542e+48L, 3.91527652222961861840270351783060925e+49L, 2.23089898094339331762072829615745302e+50L, 1.30614133449630930559423540813368509e+51L, 7.86102128665639262739828585146248224e+51L, 4.86558375853845110678814792824481696e+52L, 3.09848742591570467373735298285106117e+53L, 2.03103761486256390140847277681645261e+54L, 1.37099964760826020030246335833308722e+55L, 9.53473627432500152782873935909970826e+55L, 6.83495992316641540715754654005899263e+56L, 5.05273354632478901960113633106144814e+57L, 3.85381099728215997914445000026608173e+58L, 3.03418310785320829824308157124864982e+59L, 2.46716192600983889917114272951924381e+60L, 2.07290103981358059329932171745274528e+61L, 1.80056398057961538305615630314631614e+62L, 1.61776402789534425695658193709805813e+63L, 1.50428302825068832904492692640561694e+64L, 1.44839320652542717214779500803249160e+65L, 1.44485551098011579855868939330990133e+66L, 1.49412042885502924277326734308483245e+67L, 1.60256656610701572194891345599497651e+68L, 1.78388050415394298763315503064430164e+69L, 2.06199924057276073839995264039101124e+70L, 2.47652179469857271457600275335452230e+71L, 3.09234991415349735847967247784284417e+72L, 4.01692723830598581004567643058591262e+73L, 5.43160754522649738742682321649737815e+74L, 7.65008682404282275932608294522372170e+75L, 1.12301798411434928750045233045701052e+77L, 1.71938295296605200401018803799684912e+78L, 2.74733571869068667385885336550518795e+79L, 4.58454501055768412308971248876333874e+80L, 7.99508204153925025226317876728470146e+81L, 1.45811990936589904392804782726885652e+83L, 2.78300117867960017490532778932474629e+84L, 5.56281223196619462795860275879049153e+85L, 1.16533876898240457849831832137567995e+87L, 2.56039912643283822420817604614012086e+88L, 5.90454964185909819164533268125527979e+89L, 1.43027847474983870988836419822056214e+91L, 3.64204612295693256305339371887263313e+92L, 9.75669857120640229967783787120452211e+93L, 2.75194604427588305129487979774984195e+95L, 8.17916479364319727936284803066665955e+96L, 2.56370473508682589047202009616066313e+98L, 8.48165649612825587957771293185197099e+99L, 2.96426025440398100674466172613133159e+101L, 1.09534297003120888620652471421812455e+103L, 4.28314854758487062838465336068295133e+104L, 1.77395435294431974409395342323139198e+106L, 7.78899108189422475969140390458031321e+107L, 3.62893172105682135159715800277136586e+109L, 1.79572927251602059220958063790243562e+111L, 9.44668515148283533862523011302496150e+112L, 5.28826317961448810089554134850695191e+114L, 3.15331123674140136231493452577546350e+116L, 2.00480707968382766860514611914082879e+118L, 1.36040719266523771611516008331762962e+120L, 9.86282560980781051743602195410395887e+121L, 7.64755178859112809938428139017982021e+123L, 6.34880222487173008841344329862213996e+125L, 5.64906236198001909791959175488227229e+127L, 5.39324800352378478055022039572371179e+129L, 5.53089719191570391565414448432944942e+131L, 6.09959864464089433289271654904908851e+133L, 7.24209843349196450391058906977712497e+135L, 9.26808305363737556950784175210077690e+137L, 1.27994270241604058214925694813276489e+140L, 1.90979662696062130244831484512150929e+142L, 3.08254030066988503957988563764712878e+144L, 5.38880973238417965706179354197373928e+146L, 1.02161025105662653467101460483765248e+149L, 2.10300544007279065014421211807768152e+151L, 4.70675399034872557015773705065650223e+153L, 1.14683412812524899101968167573148610e+156L, 3.04620262376779901134561159740015427e+158L, 8.83255301555740088857655282843830654e+160L, 2.79951315833790052768515917244690507e+163L, 9.71307000884329724595836237775132776e+165L, 3.69425449543187541186652254254454177e+168L, 1.54248755204034481247092284401752383e+171L, 7.08075007659653083674442572183052884e+173L, 3.57888569536270290704774796012385631e+176L, 1.99473765641034107285413476042860568e+179L, 1.22789700989638770500092926180435793e+182L, 8.36095001442791620159284429240141671e+184L, 6.30749438488829733664127973626729614e+187L, 5.28039699582730274851611343025005913e+190L, 4.91356459266260178144685151251583280e+193L, 5.09061556382806163145943155929283695e+196L, 5.88195913486315120755496558081929324e+199L, 7.59272859182451584412681161192886089e+202L, 1.09687154447604565252927157604063023e+206L, 1.77650105264457177914887205035954057e+209L, 3.23153511879574325299022213712900198e+212L, 6.61424415330008555964088497876375007e+215L, 1.52611134962392865764465743843181152e+219L, 3.97691502072254861067816109956158434e+222L, 1.17271592685350180601663411607927347e+226L, 3.92076851079784438154800269803529292e+229L, 1.48915601904650135853122181753421959e+233L, 6.43831323019893638007682069747894997e+236L, 3.17506717851901774760997889290937204e+240L, 1.78970981603629426034165602936202663e+244L, 1.15551435950001094003467361479483663e+248L, 8.56366431033316582912879348191377839e+251L, 7.30093770528170061921940254565023758e+255L, 7.17613138815551609337504025522760569e+259L, 8.15019404042552378087870259624107791e+263L, 1.07201229194901841245742935320285314e+268L, 1.63677814658507005123653360340510968e+272L, 2.90775562270833690431514296460636317e+276L, 6.02476179304325236422526103127046739e+280L, 1.45944561364291559252990517774206937e+285L, 4.14353248208966528107409825739318649e+289L, 1.38220972739972368321976302536673924e+294L, 5.43125471568796436605394023488404770e+298L, 2.52039989595272682474151246524004609e+303L, 1.38490332203279628724542169932072504e+308L, 9.03453415480179250943103381623811201e+312L, 7.01620311300324094081813342355630834e+317L, 6.50430483422567669743617206850738485e+322L, 7.21793562600493199951776097195343971e+327L, 9.61542788471746566451160668498411528e+332L, 1.54211655565340209996546117001243607e+338L, 2.98626205265198316430063943341329432e+343L, 7.00309320577422492544778192980108604e+348L, 1.99486089518136492496460973366880635e+354L, 6.92350663128275446878446973158773950e+359L, 2.93684755383592258491626945473185368e+365L, 1.52739293250863294426010436780725812e+371L, 9.77075509850276765943058812672579852e+376L, 7.71310608088780517993569363011828070e+382L, 7.53863036472313339350939561575995488e+388L, 9.15331385155864163687518059055937567e+394L, 1.38538605697398143363179835422022577e+401L, 2.62287133256068615930266548676255190e+407L, 6.23343982286571042809890547122705804e+413L, 1.86628588041890755929921756251934723e+420L, 7.06492694188791912037300528166794228e+426L, 3.39406886800977749230458579824930803e+433L, 2.07704891812976483907563047536681219e+440L, 1.62532865525590176989706193358042030e+447L, 1.63262112354994112352218911327913750e+454L, 2.11342684365334123128646755974119857e+461L, 3.53982137873383101244091847412793714e+468L, 7.70246700302666062188915359100825615e+475L, 2.18636422788338230254129077405708124e+483L, 8.12975261672049081897166938196495657e+490L, 3.97686557044826916151646962242652853e+498L, 2.57033035969007091507617008526033295e+506L, 2.20458407348036235529376715504150602e+514L, 2.52051509380683369529400145083533353e+522L, 3.85871376898138292734730034828559871e+530L, 7.94663225793828689108907007781152553e+538L, 2.21176541223395827472447113026924253e+547L, 8.35931033048630497134082029598865726e+555L, 4.31091797212556485985662056018893390e+564L, 3.04833317305882254988404372326531988e+573L, 2.97034828681146526635277450855709161e+582L, 4.00864404566992526097179834506253327e+591L, 7.53113144131492631353410204171028663e+600L, 1.97996763586022811207860344830247407e+610L, 7.32300332662100885299893727481183608e+619L, 3.83078680906847773947984890776183687e+629L, 2.84987258373806149506606754536239806e+639L, 3.03186631046306534459943952897407369e+649L, 4.63861318260680959360747724936035922e+659L, 1.02646622253495677529633262335412306e+670L, 3.30448344760519942319105428211388701e+680L, 1.55678514244926540491694986676104766e+691L, 1.07975219247204914347510266773073325e+702L, 1.10926415409608640204268413223928121e+713L, 1.69843188882084389205231670587156933e+724L, 3.90025209215096037836224226547246383e+735L, 1.35188796159061122898267917047667153e+747L, 7.11881895741722013661309086794573765e+758L, 5.73263787962641176699015570741387791e+770L, 7.10698682909851371094390920546530663e+782L, 1.36568905751347705631533710470350932e+795L, 4.09591384091714486453161283605440034e+807L, 1.93075428208975454032168180693618424e+820L, 1.44069783794868490577087909226154603e+833L, 1.71407451380697883211569548277738601e+846L, 3.27557874564463748685767424892341420e+859L, 1.01295195987435253561137255728975319e+873L, 5.10768437019276174029340754351596177e+886L, 4.23191986113702770379280941046346950e+900L, 5.80664714178397794019307157189161329e+914L, 1.32995815980583547946711112525038194e+929L, 5.12600842672542100652183507817331030e+943L, 3.35203762278831767267193293263751763e+958L, 3.75009417204153826893896307870937057e+973L, 7.23855050824188975713471018223024339e+988L, 2.43146178229439003194650931378387467e+1004L, 1.43376736234835679429446577737976919e+1020L, 1.49738681485939897351147361037410278e+1036L, 2.79474808763788045317059787958854766e+1052L, 9.40752795141195895210630116566470676e+1068L, 5.76455681194134988563523968421696548e+1085L, 6.49098750070655215612470119412325218e+1102L, 1.35603677524062211064037225514112165e+1120L, 5.30731596106421482379267500594247426e+1137L, 3.93020043869734370491941322540535807e+1155L, 5.56226722613029149136813618379760709e+1173L, 1.51990408820680241841102181882025951e+1192L, 8.10228003417607034858018290055212984e+1210L, 8.51521180721994744419289716417963237e+1229L, 1.78329495296502824223674285976432097e+1249L, 7.52325725334531880022021234450122858e+1268L, 6.46447702663797449769360764507187142e+1288L, 1.14411796435953528891736478925455547e+1309L, 4.21851818337788742448241659152628519e+1329L, 3.27808619028067308419286053048979085e+1350L, 5.43188779501763188996015031600338462e+1371L, 1.94236185576822902995555282219996135e+1393L, 1.51711647857248503907031482339088565e+1415L, 2.62035716514505778741231466041668281e+1437L, 1.01340333806343444348385264050569250e+1460L, 8.88786410219005270769408353397020687e+1482L, 1.79062851327433476234422894649930707e+1506L, 8.39642792144232596950658702528918677e+1529L, 9.28628794761707451127390451820966789e+1553L, 2.45536895088636462839367313490581387e+1578L, 1.57354562229875356978426356241845302e+1603L, 2.47847583619098850454983740131691503e+1628L, 9.73157119375940175602769413110414643e+1653L, 9.66320447484532719750186034583884499e+1679L, 2.46232109538721189753853963925622165e+1706L, 1.63417596934387293040006746046570718e+1733L, 2.86767794799456586471233013913198039e+1760L, 1.35110548955493375904544893914917995e+1788L, 1.73592152545700077097814839827674920e+1816L, 6.17893831026015926230407301367680801e+1844L, 6.19169576655007716364858612984691562e+1873L, 1.77539961419331109157892833779912252e+1903L, 1.48102931564535770775910220632570312e+1933L, 3.65523833138677287346435504279580939e+1963L, 2.71500576533505130343548298805675281e+1994L, 6.17538661057993294979124427622665421e+2025L, 4.37773911614056336228335278244614535e+2057L, 9.84696637606677900175890481086698860e+2089L, 7.15679932872021171306956409599896671e+2122L, 1.71206538074954819527676482193571839e+2156L, 1.37358203471630226464631105286036694e+2190L, 3.76701670663930120912543386433302245e+2224L, 3.60043887764831236838085599723119708e+2259L, 1.22311399177140229476034440208616729e+2295L, 1.50662485913882109231872682750679813e+2331L, 6.86720031172136555587682118613084257e+2367L, 1.18233110675109495729851537371527994e+2405L, 7.85186218386652904615339091354671418e+2442L, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_min = -8.8984375000000L;
if (m_max_refinements >= m_abscissas.size())
{
@@ -469,7 +481,11 @@ void exp_sinh_detail<Real, Policy>::init(const mpl::int_<4>&)
{ 3.396187965591260438897244230849252949133e-2500Q, 3.41747159490076194366166435197892344024e-2423Q, 1.468507678341085936510631686027018193702e-2348Q, 3.187196102551453055654175541511540035227e-2276Q, 4.111144618799882938247446443042495922138e-2206Q, 3.689982379249148439178153280533053022001e-2138Q, 2.685174204657092092067226298561204870573e-2072Q, 1.837147705508098860673717768368232067662e-2008Q, 1.364257907967552000423094508893268899947e-1946Q, 1.263771364208497251750238943339938928533e-1886Q, 1.671242563857819954841665799077012782254e-1828Q, 3.59572473348901442338115273389639464694e-1772Q, 1.428695046663295321301312704790120159931e-1717Q, 1.185320708968814213894285445648910693797e-1664Q, 2.312978025972053806095540476447810494724e-1613Q, 1.191384629114553103202392185340997162652e-1563Q, 1.811512325837822942229802348315430051691e-1515Q, 9.061690335018066855688935640999855840642e-1469Q, 1.656446393553325828143168688464980737559e-1423Q, 1.225078144907203399772561902982205963608e-1379Q, 4.046000991642731324022030505096438995941e-1337Q, 6.566030925389917368793803468023222144906e-1296Q, 5.744543867554393981259543937791978449595e-1256Q, 2.964190466284077618451217948796617398864e-1217Q, 9.841838762797010428171966754803344043532e-1180Q, 2.287831175258608392805748160775135819389e-1143Q, 4.040912495622704041470131809505159517349e-1108Q, 5.87056189991253569332657105113103824038e-1074Q, 7.575340244592727205322278379346787745011e-1041Q, 9.354001575325859412659652699978018590336e-1009Q, 1.188011952293188317901713987657283819367e-977Q, 1.664419563784475798800943375399832441798e-947Q, 2.752827383868394227330239571429534681919e-918Q, 5.740088624159127463245451711190174595819e-890Q, 1.608246374016315723402165607871082117057e-862Q, 6.440216987884563060048094831994625373593e-836Q, 3.913422837501277880548253194801428546448e-810Q, 3.823983955989560074096123125871957896214e-785Q, 6.356204437923014497781992143867806067066e-761Q, 1.897887002136970233209553057528902481451e-737Q, 1.073182396417440952923883248248820918596e-714Q, 1.209599587842878172907735383699977342323e-692Q, 2.855780038744229524130906951698839053919e-671Q, 1.481869691380590340606688460267010905665e-650Q, 1.770687381130960661518257581666080736263e-630Q, 5.097321233667122918955939586473322120615e-611Q, 3.693416425056334731671036194098592621278e-592Q, 7.028028538800977471757544285347858958102e-574Q, 3.659514003462772290514441124205917047976e-556Q, 5.426427278796883021042905920496694956698e-539Q, 2.381707918869144677895468509571771901592e-522Q, 3.212283372523687089209961685271370035808e-506Q, 1.380563704271665131614814775099207204703e-490Q, 1.958383048574468276677385071723507356519e-475Q, 9.48743029982518591875701010064880276966e-461Q, 1.622425672258543869160313396312274060462e-446Q, 1.011253624597190818422622302876493852764e-432Q, 2.369846278374825178509948199829322673406e-419Q, 2.151869280186648519304900103376776987149e-406Q, 7.794995966503254880771477408719032168903e-394Q, 1.158774967764284452774587235820678160811e-381Q, 7.265518880056698052413196249715572214718e-370Q, 1.973119772438811666557920176657054992131e-358Q, 2.381439826231545597543020603431153384525e-347Q, 1.309668015497819382164964970820775932287e-336Q, 3.362180147598881535117942142551368440204e-326Q, 4.124757840732051332008577708750119570912e-316Q, 2.473774062046798241443322474966268652708e-306Q, 7.414272202331839719973914818818580322732e-297Q, 1.134468775996673043912791038078875526892e-287Q, 9.047228020735108713214081674437370270152e-279Q, 3.836582522644715763942703819520627288712e-270Q, 8.821018545646132764191081245790014964075e-262Q, 1.120514881106390681395171052626683473171e-253Q, 8.008830218793913153208169453114674961091e-246Q, 3.278363148993695291288199990793809607438e-238Q, 7.818601615846121111349439345713965603164e-231Q, 1.104596257773265868270077717696885587749e-223Q, 9.394568230893641749287701746065205133818e-217Q, 4.885735162640535435890107738269252106649e-210Q, 1.577376231155234084689651390459997701678e-203Q, 3.208212741662475033190349289840478119199e-197Q, 4.169536264702376953290079421852225148214e-191Q, 3.510697043108920771297336971888026846695e-185Q, 1.940796992053920703808111564711495526893e-179Q, 7.136244685320035109754945708241458423185e-174Q, 1.76730280063163466059025249772515470605e-168Q, 2.983904480026560548776384248696357376925e-163Q, 3.475443323448652658867118439684844230342e-158Q, 2.824541702249354041220922001046298716151e-153Q, 1.619596258103472503516391027755171126672e-148Q, 6.622883213895051670195179932778951351576e-144Q, 1.951579126231643346975253911702685400056e-139Q, 4.18602835981743857108590756268931043387e-135Q, 6.599918926269709459823212257675014743931e-131Q, 7.721619700426055982173615669852719657832e-127Q, 6.765470266069447535409496863264786718304e-123Q, 4.478897242147858909930672029381816582225e-119Q, 2.259813587851430691340478359494188813328e-115Q, 8.762584216656783897599480439549782669278e-112Q, 2.632496848689131735621784382242972332592e-108Q, 6.175744762125928416051254264663305408061e-105Q, 1.139991187420054499517789858269823323244e-101Q, 1.668043996811119184547324447087614691957e-98Q, 1.948551942896453232736618306447207462772e-95Q, 1.829886111019235604640158140033504624484e-92Q, 1.390785816650512241305706201256468524959e-89Q, 8.610876597126909947907951239288763095391e-87Q, 4.370440681745287512655018464467927347986e-84Q, 1.829571499724700982569308406477858583305e-81Q, 6.35467982337703555609574874386279503639e-79Q, 1.841843585185443349017139118584710840766e-76Q, 4.47965436588705164639200919931593795846e-74Q, 9.192051994113798021355923589255861583052e-72Q, 1.599661377244400320973091930394038454107e-69Q, 2.372973035131768911030516185612566198015e-67Q, 3.01536930226127366549303637826992082662e-65Q, 3.297914067466215137502368249038560260817e-63Q, 3.118845146643306964903272759796966041873e-61Q, 2.561809323663349754640588340955031999901e-59Q, 1.835614139432453324042425981398349070542e-57Q, 1.1521864053538881965046566277201188672e-55Q, 6.361211949301700767511994322063706295027e-54Q, 3.101325408187412574813091914708051546337e-52Q, 1.340315366748084943795568462034401125423e-50Q, 5.153823682493916697673436399844338582989e-49Q, 1.769604350572757034480939371983385367057e-47Q, 5.444524938929029722644073109230252087076e-46Q, 1.506078410473230887467835250237074953313e-44Q, 3.758031524066051846680267047613132037807e-43Q, 8.485476543792520256759499913448061725315e-42Q, 1.73912337985688401526741472924132534839e-40Q, 3.245018402217835203803189828064206880925e-39Q, 5.52829245911326158677969008013854969983e-38Q, 8.623186993970885363149060426291059432547e-37Q, 1.234883577447636456455512573156980104766e-35Q, 1.627825555297558296682254587731016740804e-34Q, 1.980251853197110750740177033192542117995e-33Q, 2.228623687736138529232852162477642705595e-32Q, 2.325930995307119978621491337043388856308e-31Q, 2.256361660464174192555048087618606554597e-30Q, 2.03915117811515128440130306842025272854e-29Q, 1.720544614806180272783100692189304247844e-28Q, 1.358238700291425183093124587457930780547e-27Q, 1.005239457303406154474744151833947246431e-26Q, 6.988894303606753297669433851126311708373e-26Q, 4.573289270207565220088232217355246375583e-25Q, 2.821890506943991496371146647405255494984e-24Q, 1.644856636073523601510029605009201973651e-23Q, 9.073050442568561823275320558923185848283e-23Q, 4.744096929010692481229783323592456352853e-22Q, 2.355285875813243315269790791700485018621e-21Q, 1.112029876447833293355894317984646400697e-20Q, 5.0008478161487906265030783014276491832e-20Q, 2.14524119442811961043233114548051430279e-19Q, 8.79113320178734153345564529895449040709e-19Q, 3.446365815960497059834387107630422028738e-18Q, 1.29425069073833323669197152514107143377e-17Q, 4.662195383020049630863703520736565781021e-17Q, 1.613000201366897700480549038203950457934e-16Q, 5.366485961582633012834800491739735664821e-16Q, 1.719017688382153776104960609843894364829e-15Q, 5.307775363464215365491509744435747831714e-15Q, 1.58153224028765965650956502083229696234e-14Q, 4.552534798688262530368751552485493008278e-14Q, 1.267359873762161999061953574910727734371e-13Q, 3.415589293705976822709962615841017474303e-13Q, 8.920396441522617984563473743690015005656e-13Q, 2.259831056683534791299863302560269236812e-12Q, 5.558385496914281158626259742154054243881e-12Q, 1.328609277181416985306808048226260048845e-11Q, 3.088906383077323034217900364942328595424e-11Q, 6.991047069852996644705052389828829263697e-11Q, 1.541592161799424949759540552003006648952e-10Q, 3.314631696092892696852523428007047458956e-10Q, 6.954687377912267443923690708860638478132e-10Q, 1.425030481896628988210436275967793904415e-09Q, 2.853596165859016481994370182243409560513e-09Q, 5.588439560806246713133438407216443307775e-09Q, 1.071067205395228191517684123993601779709e-08Q, 2.010297293947428624088705656550599163117e-08Q, 3.697444612237240406525896448389116570807e-08Q, 6.668262990662516945946174242814702190448e-08Q, 1.179931847916722133357063059921902676628e-07Q, 2.049697303194034837958769536530460272066e-07Q, 3.497508382194711899593633326040760388855e-07Q, 5.865487025318323293753202306221287078656e-07Q, 9.672937611928622460886601535198624050582e-07Q, 1.569449303967431028048007992388750555246e-06Q, 2.506625809822351496367236588148835401765e-06Q, 3.942730303856445318459553494614961666457e-06Q, 6.110483188339684780731192452553392150661e-06Q, 9.335213605738775483770667944380871611306e-06Q, 1.406489270953562868811484480472520033374e-05Q, 2.090736966298033607047604777694817538599e-05Q, 3.067572523977360728549911196951929768457e-05Q, 4.444254125522237612570935119262098204356e-05Q, 6.360369186365502157943693424315842416464e-05Q, 8.995198988623426391713559325836996156118e-05Q, 0.0001257606674958313871253473701449253355037Q, 0.0001738762412077100706379667970818335522797Q, 0.0002378198178307528456808477520866366646793Q, 0.0003218953586603673896746051260032347406477Q, 0.000431302857278104350328175477422461855135Q, 0.0005722538300635913579360920152701977667389Q, 0.0007520859992681880710509445633320017863057Q, 0.0009793735988494621503195966592341074592935Q, 0.001264029384952618301528623595188256832377Q, 0.001617394214613631295305190408599562642199Q, 0.002052309991459652915632773174511094733367Q, 0.00258317188244673197819727310558453131011Q, 0.003225955993218896497486226124906372664769Q, 0.003998219150540716791460047207042995806204Q, 0.004919068068090767024211469275276612172327Q, 0.00600909594733817652192578530463654010429Q, 0.007290285460855384857058707803522235069712Q, 0.008785878047288446808894606650882064620093Q, 0.01052021047666635132307480661080880814452Q, 0.01251852068056883921977029876570047333533Q, 0.01480672584232190128610556778358216498454Q, 0.01741117666809860093225669085692180516086Q, 0.02035839257460948797638140898975661102703Q, 0.02367478320248247763739778834391071393716Q, 0.02738636217273390454768575395117704136113Q, 0.03151845933082324581907457369661258727617Q, 0.03609543786059629424946593596435380994262Q, 0.04114042259887953993494104853150125354906Q, 0.0466750456480661216715303674857866168132Q, 0.05271921498296900191850699684600263052343Q, 0.05929091119945738364187060701710146534661Q, 0.06640601688035302862345335055441729364649Q, 0.07407818228628303425809436316411971898579Q, 0.08231873024496119428365313871533264809944Q, 0.09113660224143843130137094535859755638343Q, 0.1005383468331949678476633629507285246196Q, 0.1105281506546976411534200317116736403124Q, 0.121107911460692283295465500059636925578Q, 0.1322773519071888937074497167516771096546Q, 0.1440341721011981269170563712300225480081Q, 0.1563742383781529019329462935434102354245Q, 0.16929180529890363384017378918294150837Q, 0.1827797675015790272999775984418466966127Q, 0.1968299377991512902933613706115501276824Q, 0.2114333477796263038189171478034961399731Q, 0.2265805671379344452230433758251512257964Q, 0.2422620380400139215659763053475126372656Q, 0.2584684209816167422154096623392631193615Q, 0.2751909488470871954314516615118286765006Q, 0.292421786186026106706648834563937352905Q, 0.3101543910972953239589783999692036454244Q, 0.3283838775292636198506142015003861049102Q, 0.3471073762620363765649565589914160563095Q, 0.3663243933219057311460108766773067464956Q, 0.3860371650816835811494186931036726843691Q, 0.406251009815427415089167957119716552498Q, 0.4269746759961805873630290348183986624008Q, 0.4482206881460109502730547965841668757419Q, 0.4700056915656277899431961667430783936476Q, 0.4923507977844861273498956739046383206408Q, 0.5152819330813603300309886035691222305983Q, 0.5388301929311863111421213198913401934378Q, 0.5630322057392941342388625306808580909827Q, 0.5879305097331706661595300552630455764344Q, 0.6135739474002000455026043925050716049865Q, 0.6400180823944171101131289807198543701499Q, 0.6673256443945673609364872806279077990422Q, 0.6955670079895264329659912952632680789938Q, 0.7248207123067282158967442704471550423678Q, 0.755174028797632235942287932936820869365Q, 0.7867235853661413244076962098206460684032Q, 0.8195760558879440923143584503029939308205Q, 0.8538489251399243780669486054066034940311Q, 0.8896713402605466323065095493330976770865Q, 0.9271850611189796768353779214968518621624Q, 0.9665455234106549820541670985068771774387Q, 1.007923029952093538678666103220858418246Q, 1.051504087555186687117183984945832760065Q, 1.097492909063483883997601555693094342315Q, 1.146113102680112719972734092736933142041Q, 1.197609573666617166428932839178577498609Q, 1.252250666911899143547941192591371436231Q, 1.310330582839888493701788295465003738157Q, 1.37217210373676733630920077182877790563Q, 1.438129672943398791959487191769629934714Q, 1.508592875605843567792546896641817408196Q, 1.583990376960161405728445978404738182695Q, 1.664794382629429266013098961741791558223Q, 1.751525695347873485191917162770484106857Q, 1.844759454157519975124726858748082186858Q, 1.945131655755179789450074815727091684967Q, 2.053346573670745058772720412100260503836Q, 2.170185209773702783125573644862289332091Q, 2.296514934764264073224142035073302023876Q, 2.433300500447164388577695004113074013905Q, 2.58161663747988776667509546620948920106Q, 2.742662488862789158372641819356759385405Q, 2.917778172822028903433359898800151747826Q, 3.108463820292819287982021469423989376857Q, 3.316401493599933781190010602613013995669Q, 3.54348046617653089369704252750263265078Q, 3.791826430729338944919813121549353097009Q, 4.063835308168158064754708867837643609124Q, 4.362212455574033518518003957573686930251Q, 4.690018223035719205027755685192834005172Q, 5.050720991947143731968899118688088940902Q, 5.448259048256953387079920394084937571864Q, 5.887112911771720144158430210651581802686Q, 6.372390067582751971642819361195420653775Q, 6.90992444125988827953012481002020831555Q, 7.506393442161772368175053194733459234238Q, 8.169455989725808324527513652199713813185Q, 8.907915661855472823639384908936684643353Q, 9.731913995136417711816003089572337623446Q, 10.65316006472897621652551260868663551892Q, 11.68520382944801969713109764242848374433Q, 12.84376241077977807680500867803300301828Q, 14.14711056741875730648931534734397225137Q, 15.61654923657610797854796792165924553916Q, 17.27696927711813081034870582050023535149Q, 19.1575316438972062177517199312460728233Q, 21.29249037469088386815163901407216178668Q, 23.72219127477837271220994964328656674383Q, 26.49428742050364820557155179532147420304Q, 29.66522306835508141969084020865324390507Q, 33.30205089827977157270000960709570859413Q, 37.48466458890380022160714648508118317334Q, 42.30855063623495252454033790164450670327Q, 47.8881915632378843451955961800195447245Q, 54.36128918373743651121334551785550120256Q, 61.89402398727235984409338948213129946593Q, 70.68762848584778035111708853851365105352Q, 80.98663318461299861455744390021635011055Q, 93.08925000731765179043536794223242453694Q, 107.360498051909977877638468111141356496Q, 124.2488620644913487541111414904888517612Q, 144.3075208306123537479577194819288207331Q, 168.2215125059906251544039241246965052271Q, 196.8426466712140109699287106212096785157Q, 231.2345700412004162865664673411149073857Q, 272.7312019667013277459148899897857891488Q, 323.0128578028804552965843198380088014832Q, 384.2058863035695149259386485193758599267Q, 459.0137217198435660140055247689248768806Q, 550.8901200041443942937196398242337901245Q, 664.2693368837686965599246065404881270217Q, 804.8735811989890924404636182648277160974Q, 980.1259156504395891459619379603039765341Q, 1199.707861561135993394057942286167343594Q, 1476.316731695328101407692303706838300626Q, 1826.700281041640180200375170800299114979Q, 2273.078763337010832434612762840156927958Q, 2845.111583125694562939705485499061319494Q, 3582.63445229515952348100007249931464674Q, 4539.493895490226925280328582195285263756Q, 5788.955233042394450770042652752120480379Q, 7431.382535413996455795580622729193897504Q, 9605.22268816346298456472600902460366535Q, 12502.83007762372328074237673282359093081Q, 16393.43674235796806736737398613354988262Q, 21656.75254389093564900375379131087677274Q, 28832.50596892479639714830479215091321586Q, 38694.08631185854918420830577505233860916Q, 52358.93467063693914614720804658599988759Q, 71455.456360801919182448351605271054385Q, 98377.64507715702272833892935236019203581Q, 136677.0756867775216880054458611011665626Q, 191672.0751837584047014496772899197949398Q, 271403.5992651355850921027142705425693394Q, 388150.1489980647547347704942553355997537Q, 560853.4130088772447154039295543588593931Q, 819043.3312820769048716008983572259664347Q, 1209258.817558563172770397433801307820624Q, 1805669.064478872952573635882889999089934Q, 2727847.041283590928457428564030560101144Q, 4170866.124317416698666405920199452972485Q, 6456890.228079086947156608652453964442837Q, 10124726.37272406821615834787676485411144Q, 16087301.34833727189340602159225001909214Q, 25912302.39431432285806898738587495423666Q, 42329233.71376092207616725342280744956334Q, 70158627.34273633230839208484182467105049Q, 118039913.5748636616256979688722947376115Q, 201693090.8294808535841471498441901946314Q, 350171893.7910157422614179826343745861743Q, 618045198.9354320713114267484128373842008Q, 1109520762.65117402853282816165715478028Q, 2027036851.386298662396084471850133567806Q, 3770865836.139748847448857684280330919226Q, 7146997570.085695415162843692670918823862Q, 13809155423.7635644350563312672690880342Q, 27216828505.22509686672818101177168461874Q, 54753167786.17979572173272483227070679431Q, 112503345834.2116875456216420474620516059Q, 236264339141.4388903275724307413980800073Q, 507468184268.3981316720163337618534278446Q, 1115599423406.056750358630646519147758314Q, 2511986677094.979276772007287643222172789Q, 5797849169011.042298094625503200359295722Q, 13727721548993.32343665617597576637303556Q, 33370617336501.58545603365672095860275791Q, 83354238202660.91699429975122294150089333Q, 214123217249312.3976721926402658332174117Q, 566186245097249.2404127137280597778292079Q, 1542458444402443.371440183667494867781715Q, 4333492171181691.733058240784286416444505Q, 12567757410549319.01294953377020420832395Q, 37662670435513236.74825914523236427898489Q, 116748202247647142.7587746965785438338682Q, 374749992316334764.5035248090549339897237Q, 1247000912952610699.068918595764499658321Q, 4306478248247432160.48599458994176300511Q, 15453273378202816390.33518176991213146053Q, 57688614909942567753.38454019969606422075Q, 224324420244279774891.5933154795594761405Q, 909792898611770682517.3964923463766620933Q, 3853617984492513550125.129076034019123708Q, 17070801413556696833779.13934163759159904Q, 79198380783368988856761.15648214291897699Q, 385383801466035476735828.0064437179791326Q, 1969895659051426429613504.41964918030692Q, 10593618501197001697030611.61632899678015Q, 60033966329846568637130543.04333463171392Q, 359106968518167632524691177.3080001529087Q, 2271277124005940993621700920.257498362904Q, 15216157171278585594752783876.84164894054Q, 108173748902143609868441659437.8836108294Q, 817597332272823012424833955943.3418687263Q, 6582674375871431329198879326278.80655534Q, 56569460748304763531726402484221.24071294Q, 519969127337393591722068633515796.7939186Q, 5122908034001797018186468009479969.983806Q, 54219575049584711207951705824720122.49792Q, 617850853251241831307357121612505215.2627Q, 7598326740673873945470445853982730673.683Q, 101090458794504259380071592279087005881.1Q, 1458628632586491581554836293603735700553.0Q, 2.288445431879986075288969228297589916294e+40Q, 3.914281502784266353374296872381741581596e+41Q, 7.319312087167267244726757556658409266855e+42Q, 1.500458683672485184540463104819915256685e+44Q, 3.382059446944515486362813459304381825179e+45Q, 8.40717228899724214872703723897524019292e+46Q, 2.311957183444258916605122634003678725418e+48Q, 7.056075282456062930798909861538304101971e+49Q, 2.397931935961417566906622041440033927301e+51Q, 9.105063361761505316713558735495605805833e+52Q, 3.876420331062826191501135623097992286507e+54Q, 1.857198647483778496415448329375750635825e+56Q, 1.005063215679245721735518932962246661573e+58Q, 6.167590234451758437399991565606037242384e+59Q, 4.308813152379759511416924169109982265891e+61Q, 3.441182726656605944775469940970363892009e+63Q, 3.155080085289705076440136183714307040901e+65Q, 3.335560569120603606052934730277045229653e+67Q, 4.084573232398309215368829036499274751723e+69Q, 5.820628809283804990396620764580300086666e+71Q, 9.699039800361010527223356682487354608079e+73Q, 1.89923980668320512816136152429593080513e+76Q, 4.392868007405665883421052875783971749913e+78Q, 1.206505986650708892173158064003257826858e+81Q, 3.956328505753650002939043382097189172455e+83Q, 1.557688055206654931604309948079068934868e+86Q, 7.406537535531269658298708915037136600795e+88Q, 4.278562761054468958052314006843284683637e+91Q, 3.021429361815161697337775526021250674025e+94Q, 2.624991835754469757869340327198684862761e+97Q, 2.824239055865323697007157867310795887143e+100Q, 3.788616439302435442144238888291948175614e+103Q, 6.381265012445197114926701012217755404272e+106Q, 1.359307419444233008395198137493298288245e+110Q, 3.689357736818599529286450344745920764709e+113Q, 1.285719405981015169347543552934268877769e+117Q, 5.79896089805386955461804251259128564304e+120Q, 3.412858686517390979492612468054488171338e+124Q, 2.643133109091891288299365259101435230764e+128Q, 2.717298021659115627801241121693599358524e+132Q, 3.741778449844632488889983162905015325601e+136Q, 6.965790897246310296313827180334657009428e+140Q, 1.769991845748830191769012548081426586684e+145Q, 6.199682080134586417994375593693813669468e+149Q, 3.024056421749683185151625522184732565621e+154Q, 2.075860353782646995243205830982511919541e+159Q, 2.027237041997503527729877101258258485667e+164Q, 2.84819019631263809337561430719405846138e+169Q, 5.823789472478759398822868913946380670277e+174Q, 1.753831670213037732308430178708200856584e+180Q, 7.875048994214403791228526371140330003633e+185Q, 5.33959995017489809314309431564145975465e+191Q, 5.539060004117798714171786555151150971203e+197Q, 8.910405429080536887142895484227329351929e+203Q, 2.25393372621235039418834085888287214571e+210Q, 9.095096825715822376272275522195235473437e+216Q, 5.94202303286497040346001141219106057472e+223Q, 6.382118127492160537643353652683681344379e+230Q, 1.144860031429102206755598498207317533823e+238Q, 3.486326812227187949835465276465097663203e+245Q, 1.832768040117385552841365088677720918755e+253Q, 1.692379509135740137727773957097833887452e+261Q, 2.794505326132115346915299861915404249723e+269Q, 8.405076170451043189493827526418502257828e+277Q, 4.693262451309588660736308776755416725156e+286Q, 4.961738495062629283767259212421455782816e+295Q, 1.013488586645822568937692055235633940552e+305Q, 4.084221398756118821350576889490962044446e+314Q, 3.31797255076755830584401562393461184623e+324Q, 5.556156061512309994500204693690071227389e+334Q, 1.962393306169292859108099309776943823055e+345Q, 1.496911135838772621973260501875737184473e+356Q, 2.527081774155980938068575705055676841454e+367Q, 9.682952487842774440282680190380581838128e+378Q, 8.642932154430007387844488354704403530376e+390Q, 1.846024495166690994263298662566528477956e+403Q, 9.699853937915510903638593851109203549831e+415Q, 1.29019233082477503168780727447218377249e+429Q, 4.474137533288725774889486358089933849193e+442Q, 4.170041218844572969270760095147757353548e+456Q, 1.077897308040601801221120607931770758264e+471Q, 7.981471823702425518749857998096499633387e+485Q, 1.750515936677737147078175240321968864283e+501Q, 1.177053303545360119348788135380274557129e+517Q, 2.514304327715581467017451008836642461283e+533Q, 1.769970977432511196406520490255351180778e+550Q, 4.2646343986308794030088301101938804053e+567Q, 3.657021198954671244361265926107390170785e+585Q, 1.161995022380376800254911849215938667325e+604Q, 1.426161883992266887019615450265103556361e+623Q, 7.057501509770417183799008967192326349846e+642Q, 1.471878408492178033263031885767465334416e+663Q, 1.354138353815247160487911075189635081583e+684Q, 5.760831288581247091444505472239736239879e+705Q, 1.189730645764784786336307075095066200968e+728Q, 1.254105261294047490114939349887062439042e+751Q, 7.105801021107686895390768106399523520351e+774Q, 2.28281648423858553167251131768916156991e+799Q, 4.393686187647260979367904999350735520579e+824Q, 5.362504350805858665245291197548444739952e+850Q, 4.400994460175449649406744849257249937177e+877Q, 2.580184691440319635082387832634782416379e+905Q, 1.150201187760129651179050406857281109502e+934Q, 4.158019827686647740035176845444359313922e+963Q, 1.302697158180542995105180498547801432023e+994Q, 3.78804315469310114235168697055913940647e+1025Q, 1.097277067032447599839448667453494574529e+1058Q, 3.405948056419239816971511993948200677928e+1091Q, 1.221452079059747140866097947720732213944e+1126Q, 5.469728834947448905323012416213783681996e+1161Q, 3.313684879917774900254086176181829781121e+1198Q, 2.950003898158737668709569796392213974285e+1236Q, 4.202906985201980113057532813808859421914e+1275Q, 1.046450503925266293149709371732059242222e+1316Q, 4.986188211546778571602783903171292775302e+1357Q, 4.993338241348295306012588782782184198345e+1400Q, 1.157626881881270934779792801922724477911e+1445Q, 6.864630422932014748167413728259165043085e+1490Q, 1.154057064570998816035086816885432531351e+1538Q, 6.116573955685408991594979059166788310164e+1586Q, 1.14033623849635356868515171774059586735e+1637Q, 8.373064137120280572431494406435413559046e+1688Q, 2.720845114960258853420084277841813860219e+1742Q, 4.413059336919928865301216672097302323433e+1797Q, 4.044822257870394599276743613321249907269e+1854Q, 2.381229351958722417177138670512610760689e+1913Q, 1.027611652914733400897244248728364151035e+1974Q, 3.725531848970894050805213745804832393498e+2036Q, 1.306062165371036629009984640124042230203e+2101Q, 5.118934916287102017127361633252835489039e+2167Q, 2.605313756841350663666908726854909254754e+2236Q, 2.009526310597759100040671805249352251293e+2307Q, 2.754855306228952463612144173863317999165e+2380Q, 7.912081217360857939375130225445886436671e+2455Q, },
{ 7.967275909080119173260394105433878829225e-2520Q, 1.018328235596330817906641738531405586075e-2480Q, 3.221582354315018745133234535022765889901e-2442Q, 2.577837396125923566854501272739510663846e-2404Q, 5.329692879048212454158155682964916728316e-2367Q, 2.907510479746435248283830679207105484516e-2330Q, 4.272515272958308108570054029079326796036e-2294Q, 1.725920944512128844318784735433112719801e-2258Q, 1.955365288532498067112004500362223834133e-2223Q, 6.33672146224698551106793067421941599521e-2189Q, 5.989055317923577956367893208101537342355e-2155Q, 1.682695935085939711542031154300739978911e-2121Q, 1.432104065344727957976083590066231975447e-2088Q, 3.761027283440035276506274748665174438543e-2056Q, 3.103973882224385163725384328628978101726e-2024Q, 8.196024681248225777873004659982426819745e-1993Q, 7.047501943265264073804265038957515028249e-1962Q, 2.008020122030836044260092764882735792941e-1931Q, 1.928585386478996757051377061536226588734e-1901Q, 6.349936504026115699331271816067930197654e-1872Q, 7.287319738451912662822173117194663954913e-1843Q, 2.962993354437338667093054088027903427137e-1814Q, 4.337549035352199493070093298251396522747e-1786Q, 2.322667953684500393631534979205588114281e-1758Q, 4.620940493203111397883251148877460552652e-1731Q, 3.46849175006702283349982309232738215393e-1704Q, 9.97197469066253825213923346003213563319e-1678Q, 1.114585267326982901794838942479030932334e-1651Q, 4.914714563824319863256125426084037061236e-1626Q, 8.673588082334046069888398076950448507162e-1601Q, 6.214129581324762232775539905301734104147e-1576Q, 1.832790291938882421191920578959728374086e-1551Q, 2.256171136581882657900944651081598896733e-1527Q, 1.175009240711975388097085650021684742673e-1503Q, 2.62368977120029668942611642547157610416e-1480Q, 2.545000194584350068428255601470918881705e-1457Q, 1.086378274323549748723752477385721065205e-1434Q, 2.066897696539443930872351598446447515579e-1412Q, 1.774772157298710208337196463122169403564e-1390Q, 6.963196512155587707171477008714118644169e-1369Q, 1.263545167784085371065018714077427939719e-1347Q, 1.073200483671541400965432755811734945193e-1326Q, 4.317082212314184926835882760831574340329e-1306Q, 8.32053604965395861253463941646191625903e-1286Q, 7.771734618559071081107688528229970310621e-1266Q, 3.557686044605213104209030012940037706499e-1246Q, 8.070528916876981426176871131000861955335e-1227Q, 9.171668926752907939883632747855449181794e-1208Q, 5.277894673647840384307719753102608158502e-1189Q, 1.55425000722110468554188982028632391378e-1170Q, 2.366680555098895290029405613091848674444e-1152Q, 1.882599225459190082401671846340953390019e-1134Q, 7.902192246540000601320781601302423345806e-1117Q, 1.767718149213402068974713376178812787862e-1099Q, 2.128098208048214966164629867555770669406e-1082Q, 1.392051591976656401133824170145523168896e-1065Q, 4.994719960920755555531504146997873320923e-1049Q, 9.922076126548449719468150236395605850173e-1033Q, 1.101311891894924117612397672953984177965e-1016Q, 6.892130837218420956087582351392004213975e-1001Q, 2.453524489921414170305853712838952078459e-985Q, 5.012096823429272595408207301327403858682e-970Q, 5.92625397256846848563576817503982351625e-955Q, 4.090293049633920583650165040912103911016e-940Q, 1.661753006709297398826495491631296133997e-925Q, 4.006680757962520202236462553833604795318e-911Q, 5.779925457403545302890808903391113431044e-897Q, 5.02848909102539886751126002796168835514e-883Q, 2.659105037910872144852205745069380936102e-869Q, 8.613275102396233614296997155697707276489e-856Q, 1.722011941149323047500322262512900155623e-842Q, 2.140858770279205828196814199482763570967e-829Q, 1.66733371240769894937624182878072907988e-816Q, 8.193863812957329774412230281809513275895e-804Q, 2.559097724964727559938640778629276385374e-791Q, 5.11527606584153978380615675677219021198e-779Q, 6.589313932434497001234913531610383100585e-767Q, 5.507550516048129444656311084411711270861e-755Q, 3.007020142650284579022887900120691321832e-743Q, 1.079545570904019147607701162275175357017e-731Q, 2.565046260212020805453775161290492247735e-720Q, 4.059551213679369050731379503131672168122e-709Q, 4.306509253842678754390905922017562669864e-698Q, 3.081277425837841400021155036519520671543e-687Q, 1.496049756497725324561151798326667339225e-676Q, 4.958858781223578709469932084235076593428e-666Q, 1.128776827757009886737844677649633126831e-655Q, 1.774824438031273259221674871341421861954e-645Q, 1.938718628529578614339845914362132261711e-635Q, 1.479580889476868168834482402842115319684e-625Q, 7.933076560959459481932759219061929332943e-616Q, 3.004696447884786585684784182577260233339e-606Q, 8.082686940259012888778153139360914820557e-597Q, 1.552426325390131757062306746548839627663e-587Q, 2.140102119938385745802494123096422882483e-578Q, 2.128429453740900159670547695806420238397e-569Q, 1.534912683226941140367083241016749973227e-560Q, 8.066256819954909759673837062709789215779e-552Q, 3.104238792273031330484452756380286340285e-543Q, 8.790844945644080595293305902463382662207e-535Q, 1.840618291261842948588744341179843557088e-526Q, 2.862777784664184513037699746755593033611e-518Q, 3.32279837181041061553234462323492937839e-510Q, 2.891235095586630121781435408715459157878e-502Q, 1.894375038101531296060137038995059871087e-494Q, 9.387752849968810937579512549662307625661e-487Q, 3.533872224235785186218523407943928105631e-479Q, 1.014810086945078087894935086994004318066e-471Q, 2.2324717569626557013949548912766445982e-464Q, 3.777884776738657261205533855337240737918e-457Q, 4.93786751664639347798897645870074547883e-450Q, 5.004920895479663677446497643024618520578e-443Q, 3.949427686727102477250133390725874321876e-436Q, 2.435767559087040930634684216214147613966e-429Q, 1.178587076580330886964544022890917953058e-422Q, 4.491023912606049854427428106653051102875e-416Q, 1.352680705533714285427651131064219006969e-409Q, 3.232175229700192859974514601701313013174e-403Q, 6.148979779244951167078060501065764873822e-397Q, 9.346618557699555690197507374939990133164e-391Q, 1.139095638725565354570660165510495028107e-384Q, 1.116882736988512594287339256913954444686e-378Q, 8.840180431626061992850152992185607078407e-373Q, 5.667122232091659511764331764542937857446e-367Q, 2.95210171074869287556924947738750388968e-361Q, 1.253616557485983210249402924206741962015e-355Q, 4.353499566130717956144486781651064963442e-350Q, 1.240243792752263780952771158279701378416e-344Q, 2.907393260879684488880153095982345233788e-339Q, 5.625244131026162975882364543895958678556e-334Q, 9.009739108786675273276970385188647555895e-329Q, 1.198087756353396256356294131034463223006e-323Q, 1.326548775108682048756687665666583870046e-318Q, 1.226448111135483120974035454571292238148e-313Q, 9.49468504349439811133142768178704940847e-309Q, 6.17181101323002240744175397407031718684e-304Q, 3.377707669589353604487497237523332765898e-299Q, 1.560512872109863571844393575758792286036e-294Q, 6.102236208573128122093888164692727956235e-290Q, 2.024929301988449522883491544065893159998e-285Q, 5.716567372402404783728122475078537540453e-281Q, 1.376428575092612476633988432370532525456e-276Q, 2.833585596240407856348272111949931080586e-272Q, 4.999632626016703452297995188196308401074e-268Q, 7.578746796653130874873290482021210756378e-264Q, 9.893195588497945068609978048738483752363e-260Q, 1.114710731734833240955445714249086995456e-255Q, 1.086588366772543409228146502433142567442e-251Q, 9.183764349360752966385023754968415218934e-248Q, 6.745119200393479925712383108023813390928e-244Q, 4.314368731526732239250885070923775496171e-240Q, 2.408432510386531771142800736481978254764e-236Q, 1.175865689260863816680634119022166918193e-232Q, 5.031403985679824041735142472001594305874e-229Q, 1.890676059338627176469623532390876131616e-225Q, 6.251957030364086922481747023515455758277e-222Q, 1.822832110299319014901260869272013670981e-218Q, 4.695228558883599546359502992313929137066e-215Q, 1.070485041990253205844787613056619988479e-211Q, 2.164411061170786494289133504038746022617e-208Q, 3.888149057834327052303287962939662414968e-205Q, 6.217077650284409358885672093877174576393e-202Q, 8.864490176680272259518995033084329107486e-199Q, 1.129060018025413968826902845797468943636e-195Q, 1.286873424792917053839022851662100381367e-192Q, 1.314795291417549889849051617164565642141e-189Q, 1.206202769586152888447188064879769552541e-186Q, 9.952847031230403569515431731634107940163e-184Q, 7.398656727363347668880677233416039563592e-181Q, 4.962946760441355726269312188537195172159e-178Q, 3.008841426137019577290269695130774172341e-175Q, 1.651250489636657038514219704463078872032e-172Q, 8.215822870116426810896344350411473632426e-170Q, 3.711707137271423160180212748621691502977e-167Q, 1.524862581521331587673406461025625884709e-164Q, 5.70508150602545345515626627261166302806e-162Q, 1.946690864521063015447882642259593648046e-159Q, 6.066751495971832907946605731816433411601e-157Q, 1.729218890749008111955745508052309562408e-154Q, 4.514184397107540977965003426103559880641e-152Q, 1.080776439193461578737828802075769030367e-149Q, 2.37630514513441024032933923861341092174e-147Q, 4.804539863300466911851715067980750771531e-145Q, 8.944359411396089882336022433298240800498e-143Q, 1.535148433653602528126818304598839769627e-140Q, 2.432217566861172517425147458255035408531e-138Q, 3.56159164851978783755994271005743068325e-136Q, 4.826206194592030239608964808604974782439e-134Q, 6.059123883793098626317651235341860311477e-132Q, 7.056186855737804734056421101084240937306e-130Q, 7.631197540594714170535291222444902661627e-128Q, 7.673190056935230923349040383785807876549e-126Q, 7.181420901238450533979697028062603205731e-124Q, 6.262949340804115487531782118695348240253e-122Q, 5.095149668836320992407738242504181244468e-120Q, 3.870905682539942846661487470875055347721e-118Q, 2.749201932883450268151961331830477076878e-116Q, 1.827228100144142861000456602099118570404e-114Q, 1.137673382674035107250733931604905546067e-112Q, 6.642336072005941146361966661287119272804e-111Q, 3.64028512339331626869107380312786986349e-109Q, 1.87450863444735780747041756540496602537e-107Q, 9.078133222842635422121285050940964351573e-106Q, 4.138812855052761279043494154268599225563e-104Q, 1.778000270650318764431469309976610087858e-102Q, 7.203855822800213289973969862777328396312e-101Q, 2.755303928538917650732532471686512499588e-99Q, 9.957111327196065437803034062710072445763e-98Q, 3.402816997218076148572057943527130789008e-96Q, 1.100680588716144971407937016574430544574e-94Q, 3.372653914433340593300308221192502433386e-93Q, 9.79793465921741389410002031066177808616e-92Q, 2.70089978913542155792813430020605674429e-90Q, 7.070447343835118744270507416522429771431e-89Q, 1.759128817422289300267493076673104253506e-87Q, 4.162968945574391702034525851121326185222e-86Q, 9.37779241810731989238679712769217329023e-85Q, 2.01243511678120567645753438316089357156e-83Q, 4.117122160765049554856907584525124497579e-82Q, 8.03596273765328793581294339359042233865e-81Q, 1.497514661862748564043414139894766607224e-79Q, 2.66627575240526913684138994676860937559e-78Q, 4.538860378486968408830116582994751799953e-77Q, 7.392623260932249293359287648677921377725e-76Q, 1.152810282079105430900943269743976641052e-74Q, 1.722334641963998877538919046212108072676e-73Q, 2.466982294003650362347496250523874402798e-72Q, 3.389902673647822893523319180268544603664e-71Q, 4.471576114525864494621630170567724674708e-70Q, 5.665802004349935660857687324817574414575e-69Q, 6.900180136205711399260007796162289923614e-68Q, 8.082103978670433565158160112244695539644e-67Q, 9.109949614051296700342120658333526754299e-66Q, 9.887660566787155914957022540708377404886e-65Q, 1.033978824499191800266695652953562102366e-63Q, 1.042367363142603472683903942222927019223e-62Q, 1.01360253850642711420235182625207856357e-61Q, 9.512510161747350299580075950049163390633e-61Q, 8.620693578866897400350402598749549001733e-60Q, 7.548215286708061079286950592874024396203e-59Q, 6.389002522263073684828225781548498851979e-58Q, 5.2304213467999807285495233989909068078e-57Q, 4.143618029730144849471458722659316057844e-56Q, 3.178215053889138479032361583006970626875e-55Q, 2.361375497747090350319603916992762005858e-54Q, 1.700353947901992650870275190000853698062e-53Q, 1.187181461482834292235814755757571995841e-52Q, 8.040926262915060358135936625876559056833e-52Q, 5.285800219918840044239185423363506533173e-51Q, 3.373901677142706872070242716798262993283e-50Q, 2.092036760993143554287714553393156854658e-49Q, 1.26071389736459024550376938832573535614e-48Q, 7.386967875256930161617715368501896621111e-48Q, 4.210245750567381301823721041940686239094e-47Q, 2.335212680852443576888813564758399301987e-46Q, 1.260975065550456669584777965304501230694e-45Q, 6.63174909295324620401889662345375243662e-45Q, 3.398355988046612747841700088585271753564e-44Q, 1.697476472841236183609850797662451898689e-43Q, 8.268085659326493130435461342952520749743e-43Q, 3.928638007500358866351367670626935931854e-42Q, 1.821720759355284457527987958132111168364e-41Q, 8.246860808847354549111270503081351496818e-41Q, 3.646064568177825762669789860457940857642e-40Q, 1.574882443754619623541008196995070064258e-39Q, 6.648395042005376085395386282489705285924e-39Q, 2.744004024875076628507083135601534661763e-38Q, 1.107653420681031633888214018454568434403e-37Q, 4.374454244420129201505123651246128890729e-37Q, 1.690799049659970724466269924181801546001e-36Q, 6.398132877939130220610010163346102651855e-36Q, 2.371103019047426350497793704573373960345e-35Q, 8.608431951088272831647481050248077098396e-35Q, 3.062756779443238602319536870269819051555e-34Q, 1.068198659583210038973746806524748536317e-33Q, 3.653227544700454531305797630670503225392e-33Q, 1.225515001519945073404871285296100665347e-32Q, 4.033738539559432392661992185921035446855e-32Q, 1.303082875824869971414005942159261214305e-31Q, 4.132734479820748852758173795520437853314e-31Q, 1.287147098350869770886623826581464367999e-30Q, 3.937913659653477883694284311172054333025e-30Q, 1.183782052799315485733017592458599891775e-29Q, 3.497544328892517187831545842100287032186e-29Q, 1.015914466727185220837422441064387754207e-28Q, 2.901804990894522420127448030270270503252e-28Q, 8.152849127534845411362622488936266274172e-28Q, 2.25367809417179806852681105934818375896e-27Q, 6.130912603089867849064196318283416796732e-27Q, 1.64178734291463510902060102240353937311e-26Q, 4.328857792089817047005743679842334899927e-26Q, 1.124084164810469092376383461223505192932e-25Q, 2.875386797856971912981506559923184846915e-25Q, 7.247144107627277984808094958723307043434e-25Q, 1.800156961022553615025218914199947112878e-24Q, 4.407829997906358459896106459287958053e-24Q, 1.064159909656974016807111538128709340566e-23Q, 2.533679394987778730189472745065558452445e-23Q, 5.950490597088776019748683578472561818409e-23Q, 1.378803645178565675477663430920122567538e-22Q, 3.152763311863490040779656649906049613957e-22Q, 7.11555798463800555819351867739855080496e-22Q, 1.585415769087416794558428166428232224083e-21Q, 3.488033184094363861639854904349888742437e-21Q, 7.578906150306100545423157126174164576149e-21Q, 1.626690309979793927151914765130208588376e-20Q, 3.449517091693030714666710333959651136005e-20Q, 7.228499497618258130899446599161547874565e-20Q, 1.497112865860816048764094432862181982629e-19Q, 3.065182400463867687382144796026279060458e-19Q, 6.204847831174082599165287964674983928818e-19Q, 1.242096716667761537684098553412968423806e-18Q, 2.4592597959525768067059363490903017727e-18Q, 4.81672896226015964045793790028985306539e-18Q, 9.334084950562834068284127795290557105276e-18Q, 1.789925014943490672474409292990156919458e-17Q, 3.397130025636848212544218713465822505885e-17Q, 6.382243159919550687632232044625421720437e-17Q, 1.187098865362206582279245836506254018227e-16Q, 2.186352889657557664550744789902758712378e-16Q, 3.987859744831167732326236478627157162656e-16Q, 7.204620697873539912480086209051030823416e-16Q, 1.289431790155955917841351554233503242944e-15Q, 2.286467374882308613486205332118436402814e-15Q, 4.017662252161183047836187284910855861237e-15Q, 6.99656785784342408232633767751107637346e-15Q, 1.207703613093171430146873960414485693713e-14Q, 2.066611834161126240026963698131523479667e-14Q, 3.506221191208017396780249818547308545177e-14Q, 5.89874025912113410833559535930664457693e-14Q, 9.841824583826900982294185470382304100122e-14Q, 1.628711979356644195640673557575737399349e-13Q, 2.673747297244544464041144412989940524217e-13Q, 4.354698030762685456146522867684472784597e-13Q, 7.037375613470243013811036742819534450189e-13Q, 1.128576426207602409839136130428624894649e-12Q, 1.796265444979361204491866760276216506487e-12Q, 2.837790274411961929167645624257533119362e-12Q, 4.450517051624898219124643410702559319937e-12Q, 6.92963583879943637167224732796899185484e-12Q, 1.071343498653279805152831768444006526848e-11Q, 1.644800798713549170982066141603139794962e-11Q, 2.507905928632347374338630836942320447304e-11Q, 3.798122183988670139277644917971882044735e-11Q, 5.713892308950583341199546461179201773938e-11Q, 8.539758065003606420501230564062147832472e-11Q, 1.268100729620471661902817410073941033457e-10Q, 1.871113767059724245386976661776370778825e-10Q, 2.743644295142664772759283079615343882946e-10Q, 3.99833185555888171640293913723530982506e-10Q, 5.791550996315273321902088121824651906299e-10Q, 8.33905623640836900250032445405370043217e-10Q, 1.193672562105227931589388299289134785728e-09Q, 1.698789266026923550073522461535190652611e-09Q, 2.403913727893853297080383302536080724682e-09Q, 3.382686884515520208065080745279262391703e-09Q, 4.733759174712641803740945710631487071936e-09Q, 6.588541092193685952258947629496486846735e-09Q, 9.121112685152380583998835576941094529702e-09Q, 1.256082033795070258308096624958598291786e-08Q, 1.720819844523096099720474511434503885155e-08Q, 2.345498050299132447846326603361136043516e-08Q, 3.180911042916052139309955352436778506108e-08Q, 4.292583225702628201046231718407734046636e-08Q, 5.764612626060727958623931970026984259394e-08Q, 7.704397341666848653267095123338097208871e-08Q, 1.02484168952891991947754465547361714047e-07Q, 1.356926702837583879755051597078815730847e-07Q, 1.788417551503950471950015064517069882061e-07Q, 2.346525819658947020385582160747980704228e-07Q, 3.065180852876392019694236336586654765768e-07Q, 3.986495033191807496354173430939013698484e-07Q, 5.162502188850122540844684197019554711165e-07Q, 6.65720997012649014040997771515440610649e-07Q, 8.549011167117627077144919459539055163198e-07Q, 1.093350316344842739482570460075507090481e-06Q, 1.392676894662565462032126480798341973487e-06Q, 1.766917725585667241992898344161547873865e-06Q, 2.232976345560288036947373699573375726808e-06Q, 2.811125648202381706895272765136403841401e-06Q, 3.525582061468103068665653163476736687771e-06Q, 4.405158376428709913646029278948069283329e-06Q, 5.484002631927202129384801097079834656695e-06Q, 6.802430623520435693108355760476215953221e-06Q, 8.407859685487256287710959317409001943954e-06Q, 1.03558513786321915073962476007182566071e-05Q, 1.27112705917308531277560249413305391114e-05Q, 1.554956831891198412168337708959965747403e-05Q, 1.895819499809689983959597375272763044769e-05Q, 2.303815077706507768668930312189393944145e-05Q, 2.790567840555153504276820390388733949771e-05Q, 3.369410362760997145481708684122315699185e-05Q, 4.055582696403286559517626972868029344242e-05Q, 4.866446962805309592997024360400453753624e-05Q, 5.821717500966089824845365574649413158772e-05Q, 6.943706569830923930053447899093868098698e-05Q, 8.257585439721267879079897718480289417549e-05Q, 9.7916605324640385949085647909368095273e-05Q, 0.0001157766408114819489026696755064685711663Q, 0.0001365105858059673951916433332558940095964Q, 0.0001605135409048256559138258125495353142543Q, 0.0001882243723673180815859848425981422149923Q, 0.000220129105359083888832193195380277964631Q, 0.0002567644044435395558985376934615952746774Q, 0.0002987211231186489549516252551089359495587Q, 0.0003466479020167920218943287065081041086883Q, 0.0004012547932769214992784035333438157199896Q, 0.0004633168865935784338501681041310863439442Q, 0.0005336779105791366983905761533437676567429Q, 0.0006132537813759504708063524124765235945565Q, 0.0007030360689550059158765139669182449713927Q, 0.0008040953502668325012890028878715651258039Q, 0.0009175844173963607454679355479874424263829Q, 0.001044741308141107407038707367942396160755Q, 0.001186892126003470975743583081981798214652Q, 0.001345453616481502859286364987039915779821Q, 0.001521935466772907586110083455839761654915Q, 0.001717942296584680418941635241375263314963Q, 0.001935175308671765557581701564207351830222Q, 0.002175433569013882948578843986006403688485Q, 0.00244061488817701827933962177717454590009Q, 0.002732716277387093760523031790972800227035Q, 0.003053833955155494667190955668647144637077Q, 0.003406162882922376111090737904328858634942Q, 0.003791995811102684339694547552585507990223Q, 0.004213721820106255238520670138395000924438Q, 0.004673824344328191012589440091579259760752Q, 0.005174878670736688316509780570084920182513Q, 0.005719548907487502446481303679623316137136Q, 0.00631058442192985698627201889000303700039Q, 0.006950815751398609527548621000197550798988Q, 0.007643149994271354192801093440865419580856Q, 0.008390565692865655199126566293274333642062Q, 0.009196107223819374276889186313994843390353Q, 0.01006287871559507536535044833068973909294Q, 0.0109940375166376773728040945023712313313Q, 0.01199278724145422091671644293048154728942Q, 0.01306237042543906222476060243442814308369Q, 0.01420606082260259352562017237936801265042Q, 0.01542715538344503858931888643358628745717Q, 0.0167289659530203930831754338734874664053Q, 0.01811481073173395916859919022391664972282Q, 0.01958800554358856744019143892683179847952Q, 0.02115185495842169316583797633449771810677Q, 0.0228096433161443911301425779096357227542Q, 0.02456462570209342382627799804527821306298Q, 0.02642001892333428109789892692937509533337Q, 0.02837899253610309628758625557724591354616Q, 0.03044465997455174638840433200930338711507Q, 0.0326200698305684182561478766940614844802Q, 0.03490819733369493186523156261607315466053Q, 0.03731193607906478545336713244881109055547Q, 0.03983409004985797457339959837144377122436Q, 0.04247736597902870508264605012848775314015Q, 0.04524436609303125412480485866465061775906Q, 0.04813758127797071695188343575966783160027Q, 0.05115938470606436195469305247887685131832Q, 0.05431202595754248111789162569375577872956Q, 0.0575976256701728356651407164727388580805Q, 0.0610181707454887735519286127955001295239Q, 0.06457551013756707073912038813096685540493Q, 0.06827135124686695200131838960274498733873Q, 0.07210725693823589850320643270045776879156Q, 0.0760846431987396666107037402041258283206Q, 0.08020477744751167235556685358836323731335Q, 0.08446877750636786639701687175860442218662Q, 0.08887761123652361947156590658579628794683Q, 0.09343209684340379971159263353331405267565Q, 0.09813290384827947634314597377864550592762Q, 0.1029805547223161917217849662754146410394Q, 0.107975427175599384648800929258392588213Q, 0.1131177570908303240224652780558492398361Q, 0.1184076420886768784022524072852628267607Q, 0.1238450457092316689652810284506150029169Q, 0.1294298021916876848049165341926394261599Q, 0.1351616218321983257068963021357149291953Q, 0.1410400968979531369261616983876599890975Q, 0.1470647080737783262838611415820062681671Q, 0.153234831416066732619412144570512369546Q, 0.1595497457875576600290825257800962557912Q, 0.1660086407454235928297088004549011805831Q, 0.1726106248542773238830740951304465857529Q, 0.1793547343950870081915214248666534071515Q, 0.1862399424405742377120762392711272315017Q, 0.1932651682674662866336549954877868791502Q, 0.2004292870759719115746122524278836114001Q, 0.2077311399870431986348998739442376385985Q, 0.2151695442883657277414314663960325511106Q, 0.2227433039005768119334724476408616510273Q, 0.2304512200359371707379802858704110927547Q, 0.238292102022565012438636869295500477757Q, 0.2462647782683726466471199486866921649987Q, 0.254368107340013678004869448238984448963Q, 0.2626009891334426438055153641042268648289Q, 0.2709623761140977072718583929657258698507Q, 0.2794512846062298136893226330853142403707Q, 0.2880668061125078167787824382718038889734Q, 0.296808118646717980840005593177875755319Q, 0.3056744980641377677579036909396937192142Q, 0.3146653293759881203313235805942140830196Q, 0.3237801180362461983090820270519599818301Q, 0.3330185011910228622657311928027273913756Q, 0.3423802588826678418804113983776109433992Q, 0.3518653252027527789924367138981015674402Q, 0.3614737993900911492268336792036467644866Q, 0.3712059568719780542735256003769499002505Q, 0.3810622602488663480435171795984767091639Q, 0.3910433702247335339010502511824521314023Q, 0.4011501564874320933236375501478126225841Q, 0.4113837085453508612370763030338926460708Q, 0.4217453465287439745740029610957751723861Q, 0.4322366319661047574509906269685113863411Q, 0.4428593785479733817386890110895733244681Q, 0.4536156628925687094231449505202515619854Q, 0.464507835329626572328505104590646627441Q, 0.4755385307208097937482079206198446406668Q, 0.4867106793370311448540891233670977920386Q, 0.4980275178150015090250825860923349908605Q, 0.5094926002172848568191354394503605415964Q, 0.5211098092221129673730069757438879031618Q, 0.5328833674711906123911808005586354523419Q, 0.5448178491057112741679836363725011074712Q, 0.5569181915228102063547315863613788776984Q, 0.5691897073867122497869745706167773132242Q, 0.5816380969308934474793883532843665800915Q, 0.594269460589676005299802716361632023448Q, 0.6070903119998240471222356070870425052955Q, 0.6201075914149121414331976341764137620912Q, 0.6333286795775096670077450936959654630057Q, 0.6467614120965724037497804104943555382337Q, 0.6604140943798696982054270851497081511967Q, 0.6742955171738133585239271173870307816064Q, 0.6884149727657060911128222112013278833933Q, 0.7027822719062066643044698811599154029693Q, 0.7174077615127308354587586170401139201738Q, 0.7323023432175871214633425313512827364943Q, 0.7474774928279014552006592596985716213354Q, 0.7629452807678324593654003954321067804243Q, 0.7787183935772384484317206900527945313626Q, 0.794810156544848547172767589390981649492Q, 0.8112345575581350364947114757891812390685Q, 0.8280062722565051964220310805112035656865Q, 0.8451406905791530670663872308556803104808Q, 0.862653944803960940002105223911111611703Q, 0.8805629391792451103891710796280884448635Q, 0.8988853812559305452871967488187545907845Q, 0.9176398150339469056412351899494533187875Q, 0.9368456560432984078524666287687994133458Q, 0.9565232284874095042002045886475279507954Q, 0.9766938045840272767944337301321751065917Q, 0.9973796462472128045133642631801931333523Q, 1.01860404926282392956317946592394034531Q, 1.040391390119430800501306096390484332391Q, 1.062767175666867240516297891529939479756Q, 1.085758095785663642281105802222348812045Q, 1.10939207926249369916261716500126785443Q, 1.133698353079565973147506826247703249701Q, 1.158707505339675825255735779161136390472Q, 1.184451552063483495095045621317392891301Q, 1.210964008111586732614521606850934884333Q, 1.238279962501205323185680973891105950334Q, 1.266436158405892106534863447479802864076Q, 1.295471078146741458304256385907446823312Q, 1.325425033505202083685015684659959438256Q, 1.356340261710947294764081629105735343643Q, 1.388261027483455161025774293888757855687Q, 1.421233731533158113469992887140017312801Q, 1.455307025957405656451286211771500914052Q, 1.490531936998228868219023421638164269274Q, 1.526961995663202046567211183531908173458Q, 1.564653376747784111876581362830437011253Q, 1.603665046837629160778144804262475653057Q, 1.644058921912742785217971171041985143034Q, 1.685900035222313480214992667532713310022Q, 1.729256716149878219924242767000386187611Q, 1.774200780843528793008066259722862522388Q, 1.820807735445503515984476325588028533978Q, 1.869156992820145515977178445445390578286Q, 1.919332103749290742415019782061183726939Q, 1.971421003640165834597778573110233965466Q, 2.025516275873364649088115856648097485223Q, 2.081715433008021275938209590135990804757Q, 2.140121217158552655052438896015999577182Q, 2.200841920963014547929530531274604977917Q, 2.263991730677979497484300076901683513364Q, 2.32969109305976045411657347024763207472Q, 2.398067107827710058779643401999432795631Q, 2.469253947653258420191531652724380454066Q, 2.543393307779451047507153399185346597841Q, 2.620634887551268158229579783397916906989Q, 2.701136906328329337203785565785074072196Q, 2.785066656460237449889254046340672661742Q, 2.872601096232473677614318257460754228219Q, 2.963927485939276452660257201800769243529Q, 3.059244070511369011437875195340374346818Q, 3.158760812423005873912952719525474220384Q, 3.262700178927088806749953484425989249023Q, 3.371297988021823798897713011575447983367Q, 3.484804317940613202084006553747118493489Q, 3.603484485381990625764882737049172673747Q, 3.727620098162165171514708146288863084124Q, 3.857510188483308323724907886381561506691Q, 3.993472433570707806928526443290607188682Q, 4.135844471046451472454246597080688613615Q, 4.284985317082080327173205151052609770788Q, 4.441276896113985089457451399096067523765Q, 4.605125691720244026764370781104263535342Q, 4.776964529153930976873581660867167367634Q, 4.95725450101436623824090639311762907648Q, 5.146487048624035738339801115424373145069Q, 5.345186212875773055646526104283213166619Q, 5.553911069634338220218711432966624812946Q, 5.77325836623218909927059759764589584879Q, 6.003865377206048605761449274343927216903Q, 6.246412999195612054604668256261603981218Q, 6.501629106887186763618395996193518237451Q, 6.770292194054217171968109306745209606844Q, 7.053235326147045417971320097171996692265Q, 7.35135043354224614666015033130666518755Q, 7.665592977507008524711768710447822251596Q, 7.99698702419947858650763841033117635338Q, 8.346630765648955546734771430943712584567Q, 8.715702530682195108316710736134856148585Q, 9.105467333230856750332784441560793915267Q, 9.517284010423279804954247067378435207565Q, 9.952613008390899735914523387635646169422Q, 10.41302487987290341264917855291653594177Q, 10.90020956455793654418731784931574442836Q, 11.41598653074432960761644356555484658751Q, 11.96231586542698517926431253288706983627Q, 12.54131040943894482491352029147685616503Q, 13.15524904491223096736253493917986547645Q, 13.80659125421566013309472641076367137531Q, 14.49799308283537068733806522611592929918Q, 15.23232465356644138323597883223098213734Q, 16.01268939608506359051333506048449232573Q, 16.8424451747018194731026127671712692775Q, 17.72522751812091969571786639162509975806Q, 18.66497517864721511431497872041775884551Q, 19.66595827483338098446967472260739788953Q, 20.73280930143244666471574442281522903193Q, 21.87055732415900772060659367071969224017Q, 23.08466571467196402575438824917868654178Q, 24.38107382395057915687200907586246892126Q, 25.7662430405051812966499914509625384785Q, 27.24720773440068300935745005728667380869Q, 28.83163164974229758945104220936171273136Q, 30.52787037807261230893713949085699006405Q, 32.3450406241987409077896619933344018561Q, 34.29309706561872681849669817137072613286Q, 36.38291770845545162245476827741032427239Q, 38.62639875836956225627789882526940946526Q, 41.03656015631005798746236445920699096398Q, 43.62766307847848111679875785712898620598Q, 46.41534087019270662202361582551787873513Q, 49.41674507751608025548331094469808937291Q, 52.65070846212654381646552716106077643221Q, 56.13792713806019302031335914182740881889Q, 59.90116425845236114237707095933490569938Q, 63.96547801176112688533109691101640809997Q, 68.35847706663356290654056305516520187869Q, 73.1106070400535228943010840853771922367Q, 78.2554720634100436673165461770242295508Q, 83.83019609580841382274286001915828318548Q, 89.87582929516635773217532104021295646478Q, 96.43780551924200423365120382987901990037Q, 103.5664579069193585087895746723625879788Q, 111.3176005037851754525798266671368531998Q, 119.7531850674833499641095701349550588967Q, 128.9420435435961078207576974725019132169Q, 138.9607282724984871708695514001995649591Q, 149.8944638077825781408536567743182992156Q, 161.8382263398671525938367526689287312097Q, 174.8979691743083696073045128037176486302Q, 189.1920155721483495460012542161168057521Q, 204.8526435891665175913537920041964014778Q, 222.027891434725956190837338565467777867Q, 240.88361640690763753526746528298183629Q, 261.6058457649334272046319924765364648261Q, 284.403464110476071641090421744246851318Q, 309.51128913049882030120008084966685685Q, 337.1935961013210043006610512490274375597Q, 367.7481615999600937711438359582960700752Q, 401.5109086931381617979355424315925378221Q, 438.8612498100309866908178648997732329971Q, 480.2282399512316532893085494373602185103Q, 526.0976723225701163012986065722476344299Q, 577.0202714839153277613560365269689534811Q, 633.6211663623286914660652375227156227858Q, 696.6108578302568399031998061512477922416Q, 766.7979339996213953902457962279823199983Q, 845.1038321483961377544033152655484401883Q, 932.5800007502418686784878634625973295461Q, 1030.427880205268371607863481564260421702Q, 1140.022198738619409531305753764053160504Q, 1262.938173179340126267770568255475671177Q, 1400.983316165672812706630096023677023453Q, 1556.234685661799166419834076272895832667Q, 1731.082574302171248664168847453614878774Q, 1928.281830862719311465180216556548647829Q, 2151.012241278362996194541735020086674113Q, 2402.949680908323672668281479483735120957Q, 2688.35009405274898539046388166782344203Q, 3012.148774428996002817780038366771869698Q, 3380.077927947738665430980404057153553452Q, 3798.8061171273287816025804901302085407Q, 4276.103940178038843575493542846970132437Q, 4821.041218620766468858314278886473414916Q, 5444.222094388470795213327524033646097556Q, 6158.065819431147727245029087643341223611Q, 6977.142718757731621969847227843666046181Q, 7918.57689772303460428259761072791249996Q, 9002.529841616973008609731087967074460965Q, 10252.78224006547697358532192963572223849Q, 11697.43531120386115196874312407799521273Q, 13369.75779118806422297716318991439523796Q, 15309.21083364664327603498100930983535561Q, 17562.690635400711230682290340971331153Q, 20186.03805526835731073576014831323115031Q, 23245.87631298432720823386094470123690508Q, 26821.8526708964660159886933177732467881Q, 31009.37861130203017968748996249105326523Q, 35922.98645004505473991896385042800280479Q, 41700.44988478085183088793644390235506667Q, 48507.85335185738720597387629792697758441Q, 56545.84243439263590453434852169343975209Q, 66057.34773622772120970119305119425356007Q, 77337.15125150264720189777207255380428642Q, 90743.76204222132276487959174812557638943Q, 106714.1931345439161543996792387468025379Q, 125782.3919792783606644548980631212452294Q, 148602.28308268868913284386494314759249Q, 175976.6472537126831529901228629810350888Q, 208893.4054123648023151893924130651509251Q, 248571.3198896581872265252528072315261787Q, 296517.7041099588785074932688713451965026Q, 354601.4842046107884858345245389612826445Q, 425145.9388942126878002415502363163400429Q, 511046.7307492540007761231679727362111046Q, 615922.5313638820825468503152050330940154Q, 744307.7672522774013301855992769478990101Q, 901899.9500280627208570829224628231273515Q, 1095877.943017809647466283294609129783732Q, 1335312.680400192900473900972313608959584Q, 1631698.732799417297778849111829227960256Q, 1999644.301287932721508706558730228833034Q, 2457769.533243204063209231606836355450074Q, 3029879.601126654923164320051829081011141Q, 3746501.296107716197697994644755801894388Q, 4646902.065144207843314545735079873944726Q, 5781751.367051714701608613666500464883081Q, 7216639.965420261461783043861588641172554Q, 9036748.91103818439407145784950842727797Q, 11353064.30295396674362518583710002098171Q, 14310677.38848294383826734043939982225179Q, 18099907.52814647757667209831825354212464Q, 22971259.6668891917836879617589957239566Q, 29255608.85808781354322251315088609515549Q, 37391535.59237359316460832559373862826806Q, 47962479.20390166985661378587634109109441Q, 61747421.18114908020763006555364067577321Q, 79790283.20014303517364767024983720002342Q, 103495309.7818322791392225142306514842407Q, 134758668.4335062392784062691770869168908Q, 176150727.1167647396710291203195515696546Q, 231169523.1730998536214569360302706436015Q, 304594644.4399651635506297387509567217169Q, 402983315.5328752866261842165179493486228Q, 535368712.0454349728436136721216726833139Q, 714247070.3053378406139506672831438081902Q, 956978978.7740373778892004432884152696425Q, 1287787251.056266365052170195833743740423Q, 1740617888.192125045084695206325485163025Q, 2363255270.596386879033770262261785331955Q, 3223268243.013810967426011910089526282321Q, 4416641191.505012065410596295491828581351Q, 6080361037.679268493630106361893438552833Q, 8410860300.522297192863904820721664748136Q, 11691170810.23185446900657258020662184426Q, 16331097466.34382519842012415317299709164Q, 22926949953.32506221058163368461899055449Q, 32350801251.34441900313971832417983264306Q, 45884550887.87373756921169916820389200205Q, 65422328991.26591065899030653729434101914Q, 93777690083.05024525805287034041120136343Q, 135152344877.9312446339111822592163115366Q, 195855262619.5102394227400235042902030497Q, 285411966950.5744584463492472652528305332Q, 418285339123.4088687905886483684441030554Q, 616560216997.1507015559128477210327029614Q, 914155798247.046721897379660004085140681Q, 1363474103153.313475332332520737128454563Q, 2045955806530.38080332307163606468874395Q, 3088941238912.347778181637746413811180547Q, 4692768203830.229326011299203618570047404Q, 7174593389222.668179510729483054183954121Q, 11039707421424.7535285760553205782673006Q, 17098339814642.30883189402376214028857248Q, 26658220492645.27096615518476281285140601Q, 41844137833284.34059723603044347303078534Q, 66131822092212.56260433143407179128676762Q, 105246004103885.8447522437221674794658493Q, 168681559938365.0716704855055188081332796Q, 272298230587943.4228747819094080068890302Q, 442778332914208.8581203935475801325800709Q, 725340820090340.5850347950296827399214103Q, 1197189129009285.106993300968997149725738Q, 1991130686955199.032617972879924186900084Q, 3337378010666735.506952950406469988115707Q, 5638099922749490.406581662527138521678621Q, 9601427499741881.211823807926750198760527Q, 16484254092349348.98845372947631486314024Q, 28535723974924115.84032543376000631602713Q, 49813965452361994.64837345276433255672811Q, 87702782408500507.02084267463945306822658Q, 155752125029829556.4155463030004333389455Q, 279043670263039211.1950144058463979753731Q, 504415149791330774.373714179037049083309Q, 920116740121384961.3827433654664139990454Q, 1693942563317466607.969360487779734224803Q, 3147881813588503606.949687187530927219109Q, 5905629394327348620.964750033118718606609Q, 11186830170429972683.90503304219913230732Q, 21399669223814878252.89102214192683014818Q, 41345985808186444702.65217417004483350894Q, 80696386697395085475.26410049325816995634Q, 159125037274329006606.8786857330403125667Q, 317071329836898082746.6238825600530512982Q, 638529399076067500974.9466574352370019617Q, 1299818924097534326158.990461297267263975Q, 2675078654074978206518.637506117225931Q, 5566944189022631213362.099038457498976086Q, 11716552341597990248990.5171435566483995Q, 24943805360858062472816.00063661308666544Q, 53725930189976218263874.47358413133583937Q, 117096316957750403564988.56304888156271Q, 258298292038703721390495.8236396936501247Q, 576767877261231270067849.8484954071029679Q, 1303963227039250295013435.358818079135299Q, 2985377159576379451118689.073633893728235Q, 6922912113704827260367186.083906017707785Q, 16263788067632228522850044.30274061276946Q, 38715669422591640446273220.48107692525781Q, 93405902326795746218849693.41808866100623Q, 228442062263956655676707457.4277829780059Q, 566480802429004551807161785.525553048924Q, 1424611114198876208195667756.664348169039Q, 3634172949857829218775326055.022683993536Q, 9406122364586675152583301141.322786625963Q, 24706464444758897130981477914.48038397415Q, 65872820457540932835165401933.67205736797Q, 178319944111489749419279438635.2410294258Q, 490225068350940521098480834251.6808904126Q, 1368984772740533848004072374113.409441503Q, 3884333014472347772834359801746.655971535Q, 11201029764013440779432129805270.58958674Q, 32834751787829632611461325466661.61440042Q, 97871488077698794764611261629326.14611831Q, 296714970484721897998030463296972.3588181Q, 915165168173240309272518702527005.381633Q, 2872460267173498910803623624768017.743058Q, 9177464747767130953083654377275067.095958Q, 29855687257363621764846076009157648.30726Q, 98921454300453615088000828632641016.23094Q, 333916858936387164243193277343677648.8645Q, 1148677119756490680705739927834502644.262Q, 4028085735873633572809913571370067079.051Q, 14403629095536081310122394964760721828.66Q, 52535284391711770924959341342130057524.83Q, 195511238702341217234148056362961569426.5Q, 742628359135587348679681010616409214772.4Q, 2879985786290129359256278011916116854096.0Q, 1.140696796840996797711738648003995766426e+40Q, 4.615889998203199535641248805067886524741e+40Q, 1.908941368569039653622830158192604926747e+41Q, 8.071058712835471546948188653318290734289e+41Q, 3.489959706112432919449108947044335064462e+42Q, 1.543888386814652700671726911000678239128e+43Q, 6.989932474233277622942141615547447627292e+43Q, 3.240038117762964872837102805973332306521e+44Q, 1.538183968209712484725068871595387907532e+45Q, 7.481883824192840270769874827358924746817e+45Q, 3.73013225339343201187931343434453690825e+46Q, 1.906851076505672829935280449453775492013e+47Q, 9.999077656071522270351775782972854776915e+47Q, 5.380563552050893470837576599671463394205e+48Q, 2.972330032282961488357047932157273938273e+49Q, 1.686348374699422063673300554972483611095e+50Q, 9.830168535442368803758339268296974599245e+50Q, 5.890108429190751064006128529315046824849e+51Q, 3.629296561939369243399179077578354993584e+52Q, 2.300645004501572067249374084078975050572e+53Q, 1.50106294849063099901010627951209585913e+54Q, 1.008480606717589095366587976999767304221e+55Q, 6.980007119035887928080977649978198675152e+55Q, 4.979288841677991603006522250488653330001e+56Q, 3.66276106448839180486992300970231614026e+57Q, 2.779646718727500962719473248533230654228e+58Q, 2.177326686395961419408952027332377399652e+59Q, 1.761274961525829532053705828024510976734e+60Q, 1.472042344123250900757337524678434441804e+61Q, 1.271822455421028839508598095571294694327e+62Q, 1.136508544602098866393539277964124525428e+63Q, 1.050968050635916077523427282417608640335e+64Q, 1.00626207712914662753370159827651041146e+65Q, 9.981030000833852218070495344493841448017e+65Q, 1.026180847075813778541059391701842979761e+67Q, 1.09421374737140946315988080967962942332e+68Q, 1.210763841397564590646317030645949174098e+69Q, 1.391069896832891097224590572614426931551e+70Q, 1.66045803643638884585898488848404012021e+71Q, 2.060428539953847004622281786713096894814e+72Q, 2.659520130664924331541795505319434146906e+73Q, 3.573013284264659144117143659354260264313e+74Q, 4.999486492804923952719809970672723582345e+75Q, 7.290439237429593217623599777130532573045e+76Q, 1.108669253112891672863961714590332883419e+78Q, 1.759370316250180690332753515259259156688e+79Q, 2.915485723182837008934603124966328270354e+80Q, 5.048461194348245760902730455814691168198e+81Q, 9.14118029796915194428405620075256632899e+82Q, 1.731992937477462342845227375134295284526e+84Q, 3.436376953072005833211777807213125461832e+85Q, 7.144658133694111972876923978928526300053e+86Q, 1.55778737763103944888409221887807238926e+88Q, 3.564561555743844052143091887908206876342e+89Q, 8.566541566276859225670891601341438867685e+90Q, 2.163923297209145308730010116371450613445e+92Q, 5.74984144627868535047457089036754294733e+93Q, 1.60839847723572274756032280074086871365e+95Q, 4.740310317452400773817968906768308847938e+96Q, 1.473168155068744631692643356229607264882e+98Q, 4.831622757046275226639687085840067067887e+99Q, 1.673775819766076748422178976772154137065e+101Q, 6.129702080773580414198288240232221663836e+102Q, 2.375195572649536955856341846366320025447e+104Q, 9.746830708765397472546215846003382904173e+105Q, 4.239588455190572482069216933841673146039e+107Q, 1.956494245370687105054870244894992250777e+109Q, 9.588102853447409054394849979650825404339e+110Q, 4.994557760892807128927411547962380678913e+112Q, 2.768146852290885169241442660307412799022e+114Q, 1.633928319786263704798907980813701003631e+116Q, 1.028156908727469064515118226996254551401e+118Q, 6.904080374041585885024483266963686212709e+119Q, 4.952411576392766271393256067965393360727e+121Q, 3.798774197493427340709475899043548697485e+123Q, 3.119209910408000389677151746883852508364e+125Q, 2.74464281329371919028887605085237578063e+127Q, 2.590837914912684682640131392851692377728e+129Q, 2.626566210336074467392696546232535266827e+131Q, 2.862979557234280901204803416309101850378e+133Q, 3.359121393671599351439597581159266025716e+135Q, 4.247313211033286464137443445775235101828e+137Q, 5.7942272714265457019323508964771867228e+139Q, 8.538645358004657015182819424098214783173e+141Q, 1.360888004282941018668670601150276254469e+144Q, 2.348723067724485698744588128779913095071e+146Q, 4.395029120308788033535362463288942558768e+148Q, 8.928228383284871526851861594213174257963e+150Q, 1.971533670422240464246243093548157857339e+153Q, 4.738589737247294610658233560831235896082e+155Q, 1.241308244941580876284153148872321788032e+158Q, 3.548824589134106728881153020185390663367e+160Q, 1.108821925774839482718156058757565092921e+163Q, 3.791568324747532283399755029435267152261e+165Q, 1.420930300659947104773952851462106093989e+168Q, 5.84453799109152853361078444336558106409e+170Q, 2.642333927756119541622130789938393830472e+173Q, 1.315018700128967486521348415446442009019e+176Q, 7.215055214056115599570975509522351983024e+178Q, 4.370972004835405599501947122396095759213e+181Q, 2.9283613461041822425605630116860831466e+184Q, 2.173040852495516111888092260762700043093e+187Q, 1.788985622982511228211473383825580284642e+190Q, 1.636634504773987713192039651921165926626e+193Q, 1.666570888998858107369856444049108728955e+196Q, 1.892151113181535234424384795106566625139e+199Q, 2.399341256020760750689416036737132433809e+202Q, 3.403990692562377717224530571668026437231e+205Q, 5.412684450566753125713167924326746292328e+208Q, 9.663735052574312957366051717393887459725e+211Q, 1.940785411690247394647362413292066051113e+215Q, 4.392532041151062373685805234839718468544e+218Q, 1.122469784801228315610393382333655697996e+222Q, 3.244792593820658963686565461190260558268e+225Q, 1.063151412606654581889047233605046614442e+229Q, 3.955995687476636211061457789343143304844e+232Q, 1.675093730347128892220647880504964819835e+236Q, 8.087770848773335454281892374161575798369e+239Q, 4.461929541005863065785797298033896045328e+243Q, 2.818594400456011731351928477247466992727e+247Q, 2.043076786152914736967629947070114858535e+251Q, 1.703020313436824993942113027133546248076e+255Q, 1.636038893251936899296016502545612941115e+259Q, 1.815418460356235422023246399959725267478e+263Q, 2.332142886850178672234463486793710072382e+267Q, 3.476404726198879520090342868431980509165e+271Q, 6.02725450669274575708398710171785543849e+275Q, 1.218304996377836253272518577114790751006e+280Q, 2.877990538823511127754633031010804415019e+284Q, 7.964996943223120262348859076890157988359e+288Q, 2.588973716628916728047311617227986411804e+293Q, 9.908669888497828069120771232809956622636e+297Q, 4.476782590934448698631648708447218305023e+302Q, 2.393946289872904750991457301609667478573e+307Q, 1.519194065472150234303611944283693040837e+312Q, 1.147184880467145335990085347869884772013e+317Q, 1.033627774385061887195237160951315788932e+322Q, 1.114329281092576402692439832629726866969e+327Q, 1.441479839401683621084678999839363913781e+332Q, 2.243859327319511203437262571615345659758e+337Q, 4.215418497025923051098094558302194889077e+342Q, 9.585829785115038185661111425389321480842e+347Q, 2.646481452232988267470696963344934626712e+353Q, 8.89784570848809579740737460434820021581e+358Q, 3.654478434391815119731593878923994274866e+364Q, 1.839328571998191153309682048643039357777e+370Q, 1.138091115297408561689593979279964151166e+376Q, 8.685420860596502744558689502785399264335e+381Q, 8.202294873735399393185427253762485343561e+387Q, 9.617622211012637558143840626406701008311e+393Q, 1.404972969423732814470812460457324672731e+400Q, 2.565898938978703228107858106775855677516e+406Q, 5.879082125410122180654821992667679428038e+412Q, 1.696012443986232559131127974976016333649e+419Q, 6.182635207061036709662140763355431230729e+425Q, 2.858535933001077693342990841750579771279e+432Q, 1.682537298081273384688483838923408088448e+439Q, 1.265575099379113494236586140787099830899e+446Q, 1.221210377447344985626110580846200012905e+453Q, 1.517665191579856561612622774652863045029e+460Q, 2.438792156389105075630091184035735481592e+467Q, 5.087970569512535749002437068314762668605e+474Q, 1.383791668577664156393179945731681404331e+482Q, 4.926818942421142280481071642006166530446e+489Q, 2.306079479408307605132901861123305364681e+497Q, 1.425163636904652491964810204050170654619e+505Q, 1.167988230033416008655199893436256564186e+513Q, 1.275046076993048598825372293330373578487e+521Q, 1.86246353592536022566810742828968418859e+529Q, 3.656923281780862954333590022998862124388e+537Q, 9.696905002869973525940370399688193605905e+545Q, 3.488948519517137250033917388900863677716e+554Q, 1.711541280860496566193503287636236147624e+563Q, 1.150354590150357338329469526604301396277e+572Q, 1.064586955227472600644681500814476378383e+581Q, 1.363399241303394867639622834102250083249e+590Q, 2.428730562379263868477135617904841079855e+599Q, 6.049324540156405309997840862794643030452e+608Q, 2.117864171596828953446343836759090767393e+618Q, 1.047807516700166731633507555828693597684e+628Q, 7.365840114672675880252522494113514523595e+637Q, 7.398145492560429927900357801839811327058e+647Q, 1.067636747584131414468100025618283209301e+658Q, 2.22639858034098687306401094797599805894e+668Q, 6.748057923046794570772294496845240165064e+678Q, 2.990257191488723121175096872976103128614e+689Q, 1.948901043872427503145006863820911627038e+700Q, 1.879581186786894369816802738913105922879e+711Q, 2.698997931735600125081085882104105417964e+722Q, 5.806794882741622880474886909554775109619e+733Q, 1.883770843607193027100793847871062947288e+745Q, 9.274404492358642603751756778289018245069e+756Q, 6.975307042717716858281521605314873677261e+768Q, 8.067850522456048441251197638882843500221e+780Q, 1.444817834210597780118974729779559393721e+793Q, 4.033842652061704730692481744304620504234e+805Q, 1.768122616586398867633690641669676999188e+818Q, 1.225400779279196264005900309164283624649e+831Q, 1.352538486275098128663407391866246559851e+844Q, 2.395022076176373866310260662550018260889e+857Q, 6.85473457159274328678409145257099377572e+870Q, 3.195043165613256224203167145283241373075e+884Q, 2.444011394541681034079796623093288489705e+898Q, 3.092132542900569483086826127272209424616e+912Q, 6.52202827899369001274608906112336954129e+926Q, 2.311918230803327273869816369617489055755e+941Q, 1.388602808524064591680879431092854078226e+956Q, 1.424970459220504800074970047827419053133e+971Q, 2.519528084028136647765117343629838887978e+986Q, 7.741747865648544410946053665346929221769e+1001Q, 4.170084664493231900748918523968910566173e+1017Q, 3.972609017709578843063743585633222829841e+1033Q, 6.753538916409713709617458845853916542168e+1049Q, 2.067628729105681113174425295794554011159e+1066Q, 1.150595286862592019698043377859855347102e+1083Q, 1.174811465056168119582538764054374610771e+1100Q, 2.222083328904688772385369058449897242601e+1117Q, 7.861682153952467469302910158034016013007e+1134Q, 5.254318461012202675141984565028119771927e+1152Q, 6.700594094583685233271878665147881576963e+1170Q, 1.647119020685994883163368465161853068246e+1189Q, 7.885690686668208640526803176415414652937e+1207Q, 7.4304751845758892706961097079985818407e+1226Q, 1.392792237173373732943845763489796692971e+1246Q, 5.249920365660960360703118769306589305549e+1265Q, 4.023402905801975410548914995317394511897e+1285Q, 6.339599284962247390595019787493325156388e+1305Q, 2.077241686093845039324765598314087816491e+1326Q, 1.431779975481430956320443955567912020619e+1347Q, 2.100465323416655119498460724075198611756e+1368Q, 6.636983859221341948458642440032983398444e+1389Q, 4.571823013121701821960348272081362696364e+1411Q, 6.950266919826043719478213435615389027377e+1433Q, 2.361135677422321798996803825169777731761e+1456Q, 1.81529414070336188314937395066678659112e+1479Q, 3.199377508347820763307843188560103423205e+1502Q, 1.309634685394754467330604052024343046006e+1526Q, 1.261723464022528810857575246242118215115e+1550Q, 2.899755666233745652203077582611886981277e+1574Q, 1.611713776270703974807271588562419300726e+1599Q, 2.19676411063602902712587963185490636918e+1624Q, 7.447023857089897627918973727754688355819e+1649Q, 6.369675504111348389431884118799197436233e+1675Q, 1.394815207171927514566140884379200385497e+1702Q, 7.936153825171883059251330198006999518483e+1728Q, 1.1910445325646918131560389884140321995e+1756Q, 4.787444622805551600670119808904041332089e+1783Q, 5.234499335419787802823707399035765773041e+1811Q, 1.581561346401448146226935104237919854933e+1840Q, 1.341800978646655211480455388688595380576e+1869Q, 3.248945821168265660658282098925159913182e+1898Q, 2.282556137907219990369095437167406320923e+1928Q, 4.731625652419454163270049779439076104421e+1958Q, 2.943806123841568264632623519839271578756e+1989Q, 5.592866921504286485703902089288874207169e+2020Q, 3.302335002048689098318554609779249829828e+2052Q, 6.169134926587465224122713900861282080699e+2084Q, 3.712967718086223830358857404823946563008e+2117Q, 7.333531367839546065849712040185078455141e+2150Q, 4.843145606030966902891830748397061937228e+2184Q, 1.089982666110516514588223374299888929834e+2219Q, 8.522650010812465527516484755846137052377e+2253Q, 2.3610765478146005801436450249132797273e+2289Q, 2.364162440159704628905098100196710729676e+2325Q, 8.731002547249769088070048025315387840088e+2361Q, 1.213938210671504830248830740465072981967e+2399Q, 6.488456377484030822273896401425291289227e+2436Q, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_min = -8.916559006047578828258918121202852111589Q;
if (m_max_refinements >= m_abscissas.size())
{
diff --git a/boost/math/quadrature/detail/sinh_sinh_detail.hpp b/boost/math/quadrature/detail/sinh_sinh_detail.hpp
index 4f9ca4953e..033c25f8af 100644
--- a/boost/math/quadrature/detail/sinh_sinh_detail.hpp
+++ b/boost/math/quadrature/detail/sinh_sinh_detail.hpp
@@ -336,7 +336,11 @@ void sinh_sinh_detail<Real, Policy>::init(const mpl::int_<1>&)
{ 1.57146132e+00f, 1.57679017e+00f, 1.58749564e+00f, 1.60367396e+00f, 1.62547113e+00f, 1.65308501e+00f, 1.68676814e+00f, 1.72683132e+00f, 1.77364814e+00f, 1.82766042e+00f, 1.88938482e+00f, 1.95942057e+00f, 2.03845873e+00f, 2.12729290e+00f, 2.22683194e+00f, 2.33811466e+00f, 2.46232715e+00f, 2.60082286e+00f, 2.75514621e+00f, 2.92706011e+00f, 3.11857817e+00f, 3.33200254e+00f, 3.56996830e+00f, 3.83549565e+00f, 4.13205150e+00f, 4.46362211e+00f, 4.83479919e+00f, 5.25088196e+00f, 5.71799849e+00f, 6.24325042e+00f, 6.83488580e+00f, 7.50250620e+00f, 8.25731548e+00f, 9.11241941e+00f, 1.00831875e+01f, 1.11876913e+01f, 1.24472371e+01f, 1.38870139e+01f, 1.55368872e+01f, 1.74323700e+01f, 1.96158189e+01f, 2.21379089e+01f, 2.50594593e+01f, 2.84537038e+01f, 3.24091185e+01f, 3.70329629e+01f, 4.24557264e+01f, 4.88367348e+01f, 5.63712464e+01f, 6.52994709e+01f, 7.59180776e+01f, 8.85949425e+01f, 1.03788130e+02f, 1.22070426e+02f, 1.44161210e+02f, 1.70968019e+02f, 2.03641059e+02f, 2.43645006e+02f, 2.92854081e+02f, 3.53678602e+02f, 4.29234308e+02f, 5.23570184e+02f, 6.41976690e+02f, 7.91405208e+02f, 9.81042209e+02f, 1.22309999e+03f, 1.53391256e+03f, 1.93546401e+03f, 2.45753455e+03f, 3.14073373e+03f, 4.04081819e+03f, 5.23488160e+03f, 6.83029446e+03f, 8.97771323e+03f, 1.18901592e+04f, 1.58712239e+04f, 2.13571111e+04f, 2.89798371e+04f, 3.96630673e+04f, 5.47687519e+04f, 7.63235654e+04f, 1.07371915e+05f, 1.52531667e+05f, 2.18877843e+05f, 3.17362450e+05f, 4.65120153e+05f, 6.89253766e+05f, 1.03311989e+06f, 1.56688798e+06f, 2.40549203e+06f, 3.73952896e+06f, 5.88912115e+06f, 9.39904635e+06f, 1.52090328e+07f, 2.49628719e+07f, 4.15775926e+07f, 7.03070537e+07f, 1.20759856e+08f, 2.10788251e+08f, 3.74104720e+08f, 6.75449459e+08f, 1.24131674e+09f, 2.32331003e+09f, 4.43117602e+09f, 8.61744649e+09f, 1.70983691e+10f, 3.46357452e+10f, 7.16760712e+10f, 1.51634762e+11f, 3.28172932e+11f, 7.27110260e+11f, 1.65049955e+12f, 3.84133815e+12f, 9.17374427e+12f, 2.24990195e+13f, 5.67153509e+13f, 1.47074225e+14f, 3.92701252e+14f, 1.08063998e+15f, 3.06767147e+15f, 8.99238679e+15f, 2.72472254e+16f, 8.54294612e+16f, 2.77461372e+17f, 9.34529948e+17f, 3.26799612e+18f, 1.18791443e+19f, 4.49405341e+19f, 1.77170665e+20f, },
{ 1.57096255e+00f, 1.57229290e+00f, 1.57495658e+00f, 1.57895955e+00f, 1.58431079e+00f, 1.59102230e+00f, 1.59910918e+00f, 1.60858966e+00f, 1.61948515e+00f, 1.63182037e+00f, 1.64562338e+00f, 1.66092569e+00f, 1.67776241e+00f, 1.69617233e+00f, 1.71619809e+00f, 1.73788633e+00f, 1.76128784e+00f, 1.78645779e+00f, 1.81345587e+00f, 1.84234658e+00f, 1.87319943e+00f, 1.90608922e+00f, 1.94109632e+00f, 1.97830698e+00f, 2.01781368e+00f, 2.05971547e+00f, 2.10411838e+00f, 2.15113585e+00f, 2.20088916e+00f, 2.25350798e+00f, 2.30913084e+00f, 2.36790578e+00f, 2.42999091e+00f, 2.49555516e+00f, 2.56477893e+00f, 2.63785496e+00f, 2.71498915e+00f, 2.79640147e+00f, 2.88232702e+00f, 2.97301705e+00f, 3.06874019e+00f, 3.16978367e+00f, 3.27645477e+00f, 3.38908227e+00f, 3.50801806e+00f, 3.63363896e+00f, 3.76634859e+00f, 3.90657947e+00f, 4.05479525e+00f, 4.21149322e+00f, 4.37720695e+00f, 4.55250922e+00f, 4.73801517e+00f, 4.93438579e+00f, 5.14233166e+00f, 5.36261713e+00f, 5.59606472e+00f, 5.84356014e+00f, 6.10605759e+00f, 6.38458564e+00f, 6.68025373e+00f, 6.99425915e+00f, 7.32789480e+00f, 7.68255767e+00f, 8.05975815e+00f, 8.46113023e+00f, 8.88844279e+00f, 9.34361190e+00f, 9.82871448e+00f, 1.03460033e+01f, 1.08979234e+01f, 1.14871305e+01f, 1.21165112e+01f, 1.27892047e+01f, 1.35086281e+01f, 1.42785033e+01f, 1.51028871e+01f, 1.59862046e+01f, 1.69332867e+01f, 1.79494108e+01f, 1.90403465e+01f, 2.02124072e+01f, 2.14725057e+01f, 2.28282181e+01f, 2.42878539e+01f, 2.58605342e+01f, 2.75562800e+01f, 2.93861096e+01f, 3.13621485e+01f, 3.34977526e+01f, 3.58076454e+01f, 3.83080730e+01f, 4.10169773e+01f, 4.39541917e+01f, 4.71416602e+01f, 5.06036855e+01f, 5.43672075e+01f, 5.84621188e+01f, 6.29216205e+01f, 6.77826252e+01f, 7.30862125e+01f, 7.88781469e+01f, 8.52094636e+01f, 9.21371360e+01f, 9.97248336e+01f, 1.08043785e+02f, 1.17173764e+02f, 1.27204209e+02f, 1.38235512e+02f, 1.50380485e+02f, 1.63766039e+02f, 1.78535118e+02f, 1.94848913e+02f, 2.12889407e+02f, 2.32862309e+02f, 2.55000432e+02f, 2.79567594e+02f, 3.06863126e+02f, 3.37227087e+02f, 3.71046310e+02f, 4.08761417e+02f, 4.50874968e+02f, 4.97960949e+02f, 5.50675821e+02f, 6.09771424e+02f, 6.76110054e+02f, 7.50682104e+02f, 8.34626760e+02f, 9.29256285e+02f, 1.03608458e+03f, 1.15686082e+03f, 1.29360914e+03f, 1.44867552e+03f, 1.62478326e+03f, 1.82509876e+03f, 2.05330964e+03f, 2.31371761e+03f, 2.61134924e+03f, 2.95208799e+03f, 3.34283233e+03f, 3.79168493e+03f, 4.30817984e+03f, 4.90355562e+03f, 5.59108434e+03f, 6.38646863e+03f, 7.30832183e+03f, 8.37874981e+03f, 9.62405722e+03f, 1.10756067e+04f, 1.27708661e+04f, 1.47546879e+04f, 1.70808754e+04f, 1.98141031e+04f, 2.30322789e+04f, 2.68294532e+04f, 3.13194118e+04f, 3.66401221e+04f, 4.29592484e+04f, 5.04810088e+04f, 5.94547213e+04f, 7.01854788e+04f, 8.30475173e+04f, 9.85009981e+04f, 1.17113127e+05f, 1.39584798e+05f, 1.66784302e+05f, 1.99790063e+05f, 2.39944995e+05f, 2.88925794e+05f, 3.48831531e+05f, 4.22297220e+05f, 5.12639825e+05f, 6.24046488e+05f, 7.61817907e+05f, 9.32683930e+05f, 1.14521401e+06f, 1.41035265e+06f, 1.74212004e+06f, 2.15853172e+06f, 2.68280941e+06f, 3.34498056e+06f, 4.18399797e+06f, 5.25055801e+06f, 6.61086017e+06f, 8.35163942e+06f, 1.05869253e+07f, 1.34671524e+07f, 1.71914827e+07f, 2.20245345e+07f, 2.83191730e+07f, 3.65476782e+07f, 4.73445266e+07f, 6.15653406e+07f, 8.03684303e+07f, 1.05328028e+08f, 1.38592169e+08f, 1.83103699e+08f, 2.42910946e+08f, 3.23606239e+08f, 4.32947522e+08f, 5.81743297e+08f, 7.85117979e+08f, 1.06432920e+09f, 1.44938958e+09f, 1.98286647e+09f, 2.72541431e+09f, 3.76386796e+09f, 5.22313881e+09f, 7.28378581e+09f, 1.02080964e+10f, 1.43789932e+10f, 2.03583681e+10f, 2.89749983e+10f, 4.14577375e+10f, 5.96383768e+10f, 8.62622848e+10f, 1.25466705e+11f, 1.83521298e+11f, 2.69981221e+11f, 3.99492845e+11f, 5.94638056e+11f, 8.90440997e+11f, 1.34155194e+12f, 2.03376855e+12f, 3.10262796e+12f, 4.76359832e+12f, 7.36142036e+12f, 1.14512696e+13f, 1.79331419e+13f, 2.82758550e+13f, 4.48929705e+13f, 7.17780287e+13f, 1.15585510e+14f, 1.87483389e+14f, 3.06351036e+14f, 5.04340065e+14f, 8.36616340e+14f, 1.39855635e+15f, 2.35633575e+15f, 4.00176517e+15f, 6.85137513e+15f, 1.18269011e+16f, 2.05867353e+16f, 3.61396878e+16f, 6.39911218e+16f, 1.14301619e+17f, 2.05988138e+17f, 3.74584679e+17f, 6.87444303e+17f, 1.27340764e+18f, 2.38124192e+18f, 4.49583562e+18f, 8.57144202e+18f, 1.65044358e+19f, 3.21010035e+19f, 6.30778012e+19f, 1.25240403e+20f, 2.51300530e+20f, 5.09677626e+20f, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_max = 4.03936524f;
if (m_max_refinements >= m_abscissas.size())
{
@@ -372,7 +376,11 @@ void sinh_sinh_detail<Real, Policy>::init(const mpl::int_<2>&)
{ 1.571461316550783294e+00, 1.576790166316938345e+00, 1.587495640370383316e+00, 1.603673956341370210e+00, 1.625471125457493943e+00, 1.653085011915939302e+00, 1.686768142525911236e+00, 1.726831323537516202e+00, 1.773648138667236602e+00, 1.827660421478661448e+00, 1.889384817044018196e+00, 1.959420572855037091e+00, 2.038458728047908923e+00, 2.127292904083847225e+00, 2.226831940199076941e+00, 2.338114664555130296e+00, 2.462327148722991304e+00, 2.600822860927085164e+00, 2.755146214814554359e+00, 2.927060108424483555e+00, 3.118578166240921951e+00, 3.332002540339506630e+00, 3.569968300410740276e+00, 3.835495653996447262e+00, 4.132051496512934885e+00, 4.463622106699067881e+00, 4.834799191008006557e+00, 5.250881957765679608e+00, 5.717998490875333124e+00, 6.243250421598568105e+00, 6.834885801226541839e+00, 7.502506202789340802e+00, 8.257315484493544201e+00, 9.112419405864642634e+00, 1.008318749543997758e+01, 1.118769134993865202e+01, 1.244723705914106881e+01, 1.388701390605507587e+01, 1.553688715915900190e+01, 1.743237000680942831e+01, 1.961581894823993424e+01, 2.213790886354273806e+01, 2.505945934677137610e+01, 2.845370377742137561e+01, 3.240911845969524834e+01, 3.703296289480230161e+01, 4.245572644746267911e+01, 4.883673480337985582e+01, 5.637124640586975420e+01, 6.529947092752610340e+01, 7.591807755694122837e+01, 8.859494252391663822e+01, 1.037881295005788124e+02, 1.220704263969226746e+02, 1.441612098131200535e+02, 1.709680191245773511e+02, 2.036410593843575570e+02, 2.436450058708723643e+02, 2.928540812182076105e+02, 3.536786019152253392e+02, 4.292343083967296939e+02, 5.235701840488733027e+02, 6.419766898003024575e+02, 7.914052083668759283e+02, 9.810422089081931637e+02, 1.223099994999740393e+03, 1.533912555427112127e+03, 1.935464013605830339e+03, 2.457534549912886852e+03, 3.140733731623635519e+03, 4.040818188564651898e+03, 5.234881599712225681e+03, 6.830294457607329226e+03, 8.977713228649887143e+03, 1.189015920967326839e+04, 1.587122387044346962e+04, 2.135711106445789331e+04, 2.897983705189681437e+04, 3.966306726795547950e+04, 5.476875193750000787e+04, 7.632356539388055680e+04, 1.073719149754976951e+05, 1.525316674555574152e+05, 2.188778434744216586e+05, 3.173624496019295608e+05, 4.651201525869328462e+05, 6.892537656280580572e+05, 1.033119885120019982e+06, 1.566887981043252499e+06, 2.405492027026531795e+06, 3.739528964815910340e+06, 5.889121154895580032e+06, 9.399046351922342030e+06, 1.520903276129653518e+07, 2.496287187293576168e+07, 4.157759259963074840e+07, 7.030705366950267312e+07, 1.207598558452493366e+08, 2.107882509464846833e+08, 3.741047199023457864e+08, 6.754494594987415572e+08, 1.241316740415880537e+09, 2.323310032649552862e+09, 4.431176019026625759e+09, 8.617446487400900130e+09, 1.709836906604031513e+10, 3.463574521880171339e+10, 7.167607123799270726e+10, 1.516347620910054079e+11, 3.281729323238950526e+11, 7.271102600298280790e+11, 1.650499552378780378e+12, 3.841338149508803917e+12, 9.173744267785176575e+12, 2.249901946357519979e+13, 5.671535089900611731e+13, 1.470742250307697019e+14, 3.927012518464311775e+14, 1.080639977391212820e+15, 3.067671466720475189e+15, 8.992386789198328428e+15, 2.724722536524592111e+16, 8.542946122263389258e+16, 2.774613718725574755e+17, 9.345299479382029121e+17, 3.267996122987731882e+18, 1.187914433455468315e+19, 4.494053408418564214e+19, 1.771706652195486743e+20, 7.288102552885931527e+20, 3.132512430816625349e+21, 1.408743767951073110e+22, 6.638294268236060414e+22, 3.282543608403565013e+23, 1.705920098038394064e+24, 9.332259385148524285e+24, 5.382727175874888312e+25, 3.278954235122093249e+26, 2.113191697957458099e+27, 1.443411041499643040e+28, 1.046864394654982423e+29, 8.077319226958905700e+29, 6.643146963432616277e+30, 5.835670121359986260e+31, 5.486890296790230798e+32, 5.533726968508261614e+33, 5.999734996418352834e+34, 7.009176119466122569e+35, 8.844061966424597499e+36, 1.208226860869605961e+38, 1.791648514311063338e+39, 2.891313916713205762e+40, 5.091457860211527298e+41, 9.810630588402496553e+42, 2.074441239147378860e+44, 4.827650116937700540e+45, 1.240287939111549029e+47, 3.528782858644784616e+48, 1.115449490471696659e+50, 3.930510643328196314e+51, 1.549243712957852337e+53, 6.854998238041301002e+54, 3.417479961583207704e+56, 1.926905498641079990e+58, 1.233580963004919450e+60, 9.002819902898076915e+61, 7.521415141253441645e+63, 7.224277554900578993e+65, 8.012832830535078610e+67, 1.030999620286380369e+70, 1.546174957076748679e+72, 2.715803772613248694e+74, 5.615089920571746438e+76, 1.373667859345343337e+79, 3.997541020769625126e+81, 1.391500589339800087e+84, 5.826693844912022892e+86, 2.952274820929549096e+89, 1.821023061478466282e+92, 1.375973022137941526e+95, 1.281852367543412945e+98, 1.482130127201990503e+101, 2.141574273792435314e+104, 3.894495540947112380e+107, 8.978646362580102961e+110, 2.644131589807244050e+114, 1.002403539841913834e+118, 4.931412804903905259e+121, 3.174401112435865044e+125, 2.696624001761892390e+129, 3.049799322320447166e+133, 4.634041526818687785e+137, 9.548983134803106512e+141, 2.694404866192089829e+146, 1.051502720036395325e+151, 5.734170640626244955e+155, },
{ 1.570962550997832611e+00, 1.572292902367211961e+00, 1.574956581912666755e+00, 1.578959553636163985e+00, 1.584310789563614305e+00, 1.591022301117035107e+00, 1.599109181186160337e+00, 1.608589657109067468e+00, 1.619485154826419743e+00, 1.631820374530739318e+00, 1.645623378191125679e+00, 1.660925689395424109e+00, 1.677762406016463717e+00, 1.696172326277082973e+00, 1.716198088860732467e+00, 1.737886327791014562e+00, 1.761287842885152410e+00, 1.786457786673686420e+00, 1.813455868772335587e+00, 1.842346578792652542e+00, 1.873199428986627521e+00, 1.906089217937612619e+00, 1.941096316736779451e+00, 1.978306979221816566e+00, 2.017813678003844337e+00, 2.059715468170813895e+00, 2.104118380732327493e+00, 2.151135848063375554e+00, 2.200889163814591418e+00, 2.253507979986114202e+00, 2.309130844113053375e+00, 2.367905779785113334e+00, 2.429990914023652954e+00, 2.495555155369085590e+00, 2.564778926893134514e+00, 2.637854958747451684e+00, 2.714989145296268067e+00, 2.796401472360280536e+00, 2.882327020626578700e+00, 2.973017051860293803e+00, 3.068740185193628238e+00, 3.169783671473487386e+00, 3.276454774427328601e+00, 3.389082268266156098e+00, 3.508018062292869136e+00, 3.633638964133530274e+00, 3.766348594369884204e+00, 3.906579466636309289e+00, 4.054795248667541120e+00, 4.211493221360917802e+00, 4.377206954666462219e+00, 4.552509221059946388e+00, 4.738015169510782826e+00, 4.934385785253587887e+00, 5.142331663338191074e+00, 5.362617126899976224e+00, 5.596064724397100194e+00, 5.843560143744373307e+00, 6.106057585381734693e+00, 6.384585640900671436e+00, 6.680253728973824449e+00, 6.994259146058412709e+00, 7.327894795748901060e+00, 7.682557667824588764e+00, 8.059758146071137270e+00, 8.461130232962342889e+00, 8.888442789395671080e+00, 9.343611899025485155e+00, 9.828714479494622022e+00, 1.034600327721380625e+01, 1.089792339849122916e+01, 1.148713054801325790e+01, 1.211651116619788555e+01, 1.278920468010096321e+01, 1.350862810871281096e+01, 1.427850329305334421e+01, 1.510288705493181327e+01, 1.598620462612703196e+01, 1.693328673269081128e+01, 1.794941076780000506e+01, 1.904034654190823159e+01, 2.021240716182964334e+01, 2.147250566192247370e+01, 2.282821809199713505e+01, 2.428785385941680425e+01, 2.586053422878117785e+01, 2.755628000354674426e+01, 2.938610955221109564e+01, 3.136214849990951329e+01, 3.349775258749912582e+01, 3.580764540799625468e+01, 3.830807296872530167e+01, 4.101697730155473447e+01, 4.395419165876113623e+01, 4.714166019494196927e+01, 5.060368545366659226e+01, 5.436720746019445252e+01, 5.846211877912138439e+01, 6.292162054058128784e+01, 6.778262518512416663e+01, 7.308621254265223015e+01, 7.887814686488147292e+01, 8.520946359734658334e+01, 9.213713603387774717e+01, 9.972483357670754649e+01, 1.080437851679046426e+02, 1.171737636088621692e+02, 1.272042089988687372e+02, 1.382355124664102373e+02, 1.503804848151483311e+02, 1.637660387526102742e+02, 1.785351181233383403e+02, 1.948489131607280604e+02, 2.128894073598352670e+02, 2.328623093447990790e+02, 2.550004322843281994e+02, 2.795675942672445782e+02, 3.068631259124280934e+02, 3.372270867451200874e+02, 3.710463099965576255e+02, 4.087614170466174911e+02, 4.508749684194593670e+02, 4.979609488959773491e+02, 5.506758209385785877e+02, 6.097714244663179092e+02, 6.761100535726473685e+02, 7.506821038741422446e+02, 8.346267600518081192e+02, 9.292562845315541998e+02, 1.036084578498234728e+03, 1.156860819661897657e+03, 1.293609142453808600e+03, 1.448675521854205144e+03, 1.624783259532197615e+03, 1.825098759915318560e+03, 2.053309635972617554e+03, 2.313717614494777200e+03, 2.611349236640186999e+03, 2.952087994093624299e+03, 3.342832332560548180e+03, 3.791684927756595099e+03, 4.308179838716318955e+03, 4.903555624570201673e+03, 5.591084343634811452e+03, 6.386468625571246341e+03, 7.308321829412979440e+03, 8.378749812799703561e+03, 9.624057218749638059e+03, 1.107560666191146008e+04, 1.277086605445904388e+04, 1.475468792019489452e+04, 1.708087537417066343e+04, 1.981410309695485051e+04, 2.303227888204754908e+04, 2.682945317928632535e+04, 3.131941178398428200e+04, 3.664012209706997997e+04, 4.295924836668690170e+04, 5.048100882639843572e+04, 5.945472133180055290e+04, 7.018547875172689579e+04, 8.304751726175694003e+04, 9.850099805053575446e+04, 1.171131266261766060e+05, 1.395847982160589845e+05, 1.667843016393077556e+05, 1.997900626520524686e+05, 2.399449946032992187e+05, 2.889257939838013232e+05, 3.488315309194304548e+05, 4.222972201496778447e+05, 5.126398246369253619e+05, 6.240464876221989792e+05, 7.618179073233615941e+05, 9.326839300224119257e+05, 1.145214007774297539e+06, 1.410352646274233119e+06, 1.742120041875863385e+06, 2.158531716934287014e+06, 2.682809410126426731e+06, 3.344980563595418861e+06, 4.183997972337706048e+06, 5.250558008165501752e+06, 6.610860174141680988e+06, 8.351639423967558693e+06, 1.058692532393929900e+07, 1.346715235106239409e+07, 1.719148271024263021e+07, 2.202453449027701694e+07, 2.831917301724337797e+07, 3.654767820268344932e+07, 4.734452657230626106e+07, 6.156534063509513873e+07, 8.036843026897869248e+07, 1.053280284359690289e+08, 1.385921689084126286e+08, 1.831036985925683524e+08, 2.429109457458640820e+08, 3.236062393759667463e+08, 4.329475218599986663e+08, 5.817432967962929479e+08, 7.851179789388191786e+08, 1.064329197627075307e+09, 1.449389582912945485e+09, 1.982866469377991849e+09, 2.725414314698094324e+09, 3.763867964111621444e+09, 5.223138814950990937e+09, 7.283785810644397704e+09, 1.020809642381158743e+10, 1.437899318470510521e+10, 2.035836812543633578e+10, 2.897499827080027444e+10, 4.145773751645494878e+10, 5.963837683872426287e+10, 8.626228483915530800e+10, 1.254667045389825180e+11, 1.835212982264913186e+11, 2.699812207400151604e+11, 3.994928452151922954e+11, 5.946380558701434550e+11, 8.904409967424091107e+11, 1.341551941677775838e+12, 2.033768550332151892e+12, 3.102627959875753214e+12, 4.763598321705862063e+12, 7.361420360560813584e+12, 1.145126961456557423e+13, 1.793314186996273926e+13, 2.827585501285792232e+13, 4.489297053678444669e+13, 7.177802872658499571e+13, 1.155855098545820625e+14, 1.874833886367883093e+14, 3.063510356402174454e+14, 5.043400653005970242e+14, 8.366163396892429890e+14, 1.398556351640947289e+15, 2.356335749516164682e+15, 4.001765167382637456e+15, 6.851375128404941445e+15, 1.182690111761543990e+16, 2.058673527013806443e+16, 3.613968784314904633e+16, 6.399112184394213551e+16, 1.143016185628376923e+17, 2.059881383915666443e+17, 3.745846788353680914e+17, 6.874443034683149068e+17, 1.273407643613485314e+18, 2.381241916829895366e+18, 4.495835617307108399e+18, 8.571442024901952701e+18, 1.650443584181656965e+19, 3.210100352421317851e+19, 6.307780124442703091e+19, 1.252404031157661279e+20, 2.513005295649985394e+20, 5.096776255690838436e+20, 1.045019200016673046e+21, 2.166476479260878466e+21, 4.542138145678395463e+21, 9.632082324449137128e+21, 2.066386536688254528e+22, 4.485529785554428251e+22, 9.853879573610977508e+22, 2.191158874464374408e+23, 4.932835964390971668e+23, 1.124501529971774363e+24, 2.596269136156756008e+24, 6.072292938313625501e+24, 1.438989066308003836e+25, 3.455841956406570469e+25, 8.412655191713576490e+25, 2.076289061650816510e+26, 5.196515024640220322e+26, 1.319173194089644043e+27, 3.397455895980380794e+27, 8.879057454438503591e+27, 2.355272361492064126e+28, 6.342762007722624824e+28, 1.734531093990859705e+29, 4.817893170606830871e+29, 1.359597346490148232e+30, 3.898969689906500392e+30, 1.136542986529989936e+31, 3.368450043991780017e+31, 1.015304084709817260e+32, 3.113144376221918237e+32, 9.713072739730140403e+32, 3.084517643581725946e+33, 9.972682139820497284e+33, 3.283625052288491586e+34, 1.101378785390827536e+35, 3.764333367592714297e+35, 1.311403465938242926e+36, 4.658135710682813672e+36, 1.687517347470511392e+37, 6.237053685018323490e+37, 2.352571314427744869e+38, 9.058938240219699936e+38, 3.562249097611136071e+39, 1.430959291578558210e+40, 5.873974584984375049e+40, 2.464828549811283787e+41, 1.057649203090855628e+42, 4.642475639281078035e+42, 2.085287118272421779e+43, 9.588439985186632177e+43, 4.514982011246092280e+44, 2.177974048341973204e+45, 1.076720976822900458e+46, 5.457267432929085589e+46, 2.836869270455781134e+47, 1.513103201392011626e+48, 8.283974667225617075e+48, 4.657239491995971344e+49, 2.689796370712836937e+50, 1.596597846911970388e+51, 9.744154538256586629e+51, 6.117238394843313065e+52, 3.952049650585241827e+53, 2.628701592074258213e+54, 1.800990196502679393e+55, 1.271554462563068383e+56, 9.255880104477760711e+56, 6.949737920133919393e+57, 5.385167200769965621e+58, 4.308493668102978774e+59, 3.560951557542178371e+60, 3.041888528384649992e+61, 2.687094441930837189e+62, 2.455920538900000855e+63, 2.323648254168641537e+64, 2.277129741584892331e+65, 2.312633552913224734e+66, 2.435407592981291129e+67, 2.660910388822465246e+68, 3.018105943423533920e+69, 3.555823489510192503e+70, 4.354188877793849013e+71, 5.544975795511813315e+72, 7.348276481909886336e+73, 1.013998025722423261e+75, 1.457911462244607943e+76, 2.185488876819505295e+77, 3.418022153286623008e+78, 5.580843920601835728e+79, 9.519586502799733908e+80, 1.697573578247197786e+82, 3.166906670990180014e+83, 6.185099106418675430e+84, 1.265541134386934377e+86, 2.714828965877756899e+87, 6.110386802964494082e+88, 1.444054086171083239e+90, 3.586083726638388165e+91, 9.365231868063239600e+92, 2.574080116205122449e+94, 7.452134689862302719e+95, 2.274309903836169819e+97, 7.323011134121164749e+98, 2.489816421737932462e+100, 8.946533386359281588e+101, 3.400401372391165979e+103, 1.368288186208928217e+105, 5.834277489829591931e+106, 2.638486937672383424e+108, 1.266728882767139521e+110, 6.462225178314182803e+111, 3.506432320607573604e+113, 2.025608933943268165e+115, 1.247041677084784707e+117, 8.189865188405279038e+118, 5.743610894406099965e+120, 4.305808934084489763e+122, 3.454156966079496755e+124, 2.968316601530352737e+126, 2.735456242372183592e+128, 2.706317176690077847e+130, 2.877679916342060385e+132, 3.292412878268106390e+134, 4.057840961953725969e+136, 5.393783049105737324e+138, 7.741523901672235406e+140, 1.201209962310668456e+143, 2.017456079556807301e+145, 3.672176623483062526e+147, 7.253163798058577630e+149, 1.556591535302570570e+152, 3.634399832790394885e+154, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_max = 6.114056619798597593;
if (m_max_refinements >= m_abscissas.size())
{
@@ -409,7 +417,11 @@ void sinh_sinh_detail<Real, Policy>::init(const mpl::int_<3>&)
{ 1.57146131655078329437644376888801138e+00L, 1.57679016631693834484126246342345329e+00L, 1.58749564037038331646069625234555521e+00L, 1.60367395634137020950291269057600307e+00L, 1.62547112545749394267938666988196139e+00L, 1.65308501191593930171844822364141731e+00L, 1.68676814252591123625053019619255158e+00L, 1.72683132353751620184313195813656600e+00L, 1.77364813866723660171326886678529701e+00L, 1.82766042147866144821632902536146347e+00L, 1.88938481704401819562549601165115021e+00L, 1.95942057285503709111658357403615203e+00L, 2.03845872804790892275259742585569433e+00L, 2.12729290408384722476899855222432786e+00L, 2.22683194019907694104850876757126753e+00L, 2.33811466455513029581902771513343722e+00L, 2.46232714872299130380967769641847017e+00L, 2.60082286092708516436098022317536381e+00L, 2.75514621481455435937229822050004007e+00L, 2.92706010842448355516791030533685920e+00L, 3.11857816624092195149666191379786472e+00L, 3.33200254033950662971711811118318338e+00L, 3.56996830041074027550628111498923678e+00L, 3.83549565399644726181552365400966870e+00L, 4.13205149651293488468153425460318353e+00L, 4.46362210669906788115667211361364802e+00L, 4.83479919100800655701530131187647507e+00L, 5.25088195776567960767293727240320892e+00L, 5.71799849087533312421158643544587353e+00L, 6.24325042159856810533215887376856930e+00L, 6.83488580122654183866366620676303900e+00L, 7.50250620278934080195915244309172491e+00L, 8.25731548449354420110207897041998984e+00L, 9.11241940586464263380079984086513597e+00L, 1.00831874954399775830998395457182684e+01L, 1.11876913499386520162594085796167645e+01L, 1.24472370591410688131760615976965093e+01L, 1.38870139060550758665255786705519681e+01L, 1.55368871591590018952847646637454593e+01L, 1.74323700068094283108112572669239084e+01L, 1.96158189482399342378436216339159090e+01L, 2.21379088635427380602824337731297019e+01L, 2.50594593467713760968808829296439171e+01L, 2.84537037774213756120135736520435304e+01L, 3.24091184596952483433430577491101072e+01L, 3.70329628948023016142035941015485370e+01L, 4.24557264474626791146220920324192917e+01L, 4.88367348033798558171280311705362727e+01L, 5.63712464058697542020818458752120814e+01L, 6.52994709275261034008086934786702551e+01L, 7.59180775569412283714380617539343408e+01L, 8.85949425239166382162609558265821220e+01L, 1.03788129500578812415162165531670704e+02L, 1.22070426396922674625756853326498468e+02L, 1.44161209813120053456742433728771078e+02L, 1.70968019124577351122499690038707734e+02L, 2.03641059384357556999222931732850856e+02L, 2.43645005870872364316059216110059642e+02L, 2.92854081218207610543177302881458406e+02L, 3.53678601915225339202500542949917795e+02L, 4.29234308396729693907268968564609660e+02L, 5.23570184048873302665650155276206906e+02L, 6.41976689800302457508415746115180260e+02L, 7.91405208366875928332161102969868782e+02L, 9.81042208908193163688535235538889459e+02L, 1.22309999499974039331272100414750813e+03L, 1.53391255542711212726525490457861725e+03L, 1.93546401360583033885511419988831009e+03L, 2.45753454991288685207196097797062484e+03L, 3.14073373162363551894782974867325472e+03L, 4.04081818856465189750723035050638141e+03L, 5.23488159971222568136194576211612571e+03L, 6.83029445760732922582000345557383347e+03L, 8.97771322864988714349790288910627671e+03L, 1.18901592096732683947870697270695144e+04L, 1.58712238704434696215746702894136306e+04L, 2.13571110644578933143540830593360855e+04L, 2.89798370518968143718297906801146350e+04L, 3.96630672679554794954087134590560762e+04L, 5.47687519375000078688553248953764732e+04L, 7.63235653938805568016142182690471993e+04L, 1.07371914975497695062170132456450593e+05L, 1.52531667455557415180420019888676134e+05L, 2.18877843474421658617449971461581691e+05L, 3.17362449601929560775572985879585343e+05L, 4.65120152586932846156175983364596723e+05L, 6.89253765628058057206329188782990860e+05L, 1.03311988512001998186230013733752720e+06L, 1.56688798104325249948154338241641806e+06L, 2.40549202702653179507492073842261453e+06L, 3.73952896481591033994026114668796352e+06L, 5.88912115489558003244667233279563785e+06L, 9.39904635192234203007457377008255614e+06L, 1.52090327612965351790614542733698474e+07L, 2.49628718729357616773929842263043964e+07L, 4.15775925996307484022703929049831425e+07L, 7.03070536695026731176158877103497776e+07L, 1.20759855845249336607363637052870598e+08L, 2.10788250946484683324104572583041111e+08L, 3.74104719902345786397351281755078701e+08L, 6.75449459498741557237788387723071522e+08L, 1.24131674041588053743260021864117384e+09L, 2.32331003264955286246594304305695965e+09L, 4.43117601902662575879840759020751450e+09L, 8.61744648740090012951326726568665021e+09L, 1.70983690660403151330619158427281665e+10L, 3.46357452188017133850611855017361923e+10L, 7.16760712379927072634183907084755700e+10L, 1.51634762091005407908273857408800162e+11L, 3.28172932323895052570169126695951209e+11L, 7.27110260029828078950026409435831711e+11L, 1.65049955237878037840731169761272102e+12L, 3.84133814950880391685509371196326109e+12L, 9.17374426778517657484962791255187134e+12L, 2.24990194635751997880832549111511175e+13L, 5.67153508990061173097292032404781538e+13L, 1.47074225030769701852963232235912597e+14L, 3.92701251846431177545392497147427712e+14L, 1.08063997739121282020832802862957248e+15L, 3.06767146672047518894275739534732971e+15L, 8.99238678919832842771174638355746631e+15L, 2.72472253652459211109041460799535823e+16L, 8.54294612226338925817358060817490416e+16L, 2.77461371872557475533476908014408616e+17L, 9.34529947938202912146296976663431863e+17L, 3.26799612298773188163350554315742192e+18L, 1.18791443345546831451732293519928714e+19L, 4.49405340841856421397062311314705655e+19L, 1.77170665219548674305185389795833488e+20L, 7.28810255288593152697603764235601397e+20L, 3.13251243081662534865188632436805529e+21L, 1.40874376795107311038838007000777184e+22L, 6.63829426823606041441317767891166205e+22L, 3.28254360840356501289107248021554584e+23L, 1.70592009803839406409667145645666005e+24L, 9.33225938514852428454935743602712728e+24L, 5.38272717587488831207327363463407970e+25L, 3.27895423512209324910006662705296242e+26L, 2.11319169795745809927716305122705952e+27L, 1.44341104149964304009687846325713305e+28L, 1.04686439465498242316197235200069352e+29L, 8.07731922695890570023291958025986094e+29L, 6.64314696343261627707440459400107155e+30L, 5.83567012135998626006817430636714368e+31L, 5.48689029679023079776199817150941362e+32L, 5.53372696850826161418229677716330718e+33L, 5.99973499641835283449509393028972981e+34L, 7.00917611946612256941556198729562373e+35L, 8.84406196642459749869759626748371565e+36L, 1.20822686086960596115573575744502341e+38L, 1.79164851431106333799499432947126299e+39L, 2.89131391671320576216903362266762013e+40L, 5.09145786021152729801159516043566174e+41L, 9.81063058840249655325327952160218101e+42L, 2.07444123914737886022245738089968362e+44L, 4.82765011693770054022189143000576390e+45L, 1.24028793911154902904261886940649724e+47L, 3.52878285864478461616951002487254771e+48L, 1.11544949047169665881036414807872651e+50L, 3.93051064332819631369914292573124112e+51L, 1.54924371295785233686867649142553059e+53L, 6.85499823804130100151231679166543611e+54L, 3.41747996158320770357877327002949632e+56L, 1.92690549864107998957222500013304086e+58L, 1.23358096300491944958557136475962190e+60L, 9.00281990289807691528078151573158069e+61L, 7.52141514125344164522463463202808470e+63L, 7.22427755490057899279344696654950663e+65L, 8.01283283053507860974456727997488253e+67L, 1.03099962028638036919997632019550562e+70L, 1.54617495707674867923983623892142209e+72L, 2.71580377261324869371341160824868908e+74L, 5.61508992057174643750226165228505259e+76L, 1.37366785934534333692942668275259398e+79L, 3.99754102076962512613158938364235073e+81L, 1.39150058933980008745266389466237314e+84L, 5.82669384491202289249159160687839973e+86L, 2.95227482092954909582266634062763990e+89L, 1.82102306147846628152669685943631657e+92L, 1.37597302213794152564743989887492097e+95L, 1.28185236754341294523601004808033157e+98L, 1.48213012720199050337233086306566580e+101L, 2.14157427379243531419232668034147566e+104L, 3.89449554094711237984570195229015661e+107L, 8.97864636258010296104790318951217808e+110L, 2.64413158980724405044777067425347595e+114L, 1.00240353984191383430257305957041439e+118L, 4.93141280490390525871801097705197944e+121L, 3.17440111243586504420672164931106998e+125L, 2.69662400176189239027511019786185589e+129L, 3.04979932232044716644635827452454425e+133L, 4.63404152681868778475392087605038845e+137L, 9.54898313480310651224157422560754643e+141L, 2.69440486619208982853089677098686964e+146L, 1.05150272003639532507210605903884076e+151L, 5.73417064062624495509840837865743050e+155L, 4.41627650777870044428827641421915327e+160L, 4.85653500442164862297918118887566388e+165L, 7.71243776020172406235461422008761914e+170L, 1.78944284768135145352387398006192815e+176L, 6.13948504948193852500464630902178966e+181L, 3.15374719244414866832063986813364807e+187L, 2.45678229633130089072342575625791640e+193L, 2.94097956743157560377748279040964662e+199L, 5.48435772238022826264635788020315114e+205L, 1.61576755939787162649511106856450099e+212L, 7.63055674811964328822328719215905762e+218L, 5.86357963426750903008317058039636736e+225L, 7.44578009523250679265610908767109796e+232L, 1.58753358925950887380498944645468602e+240L, 5.77757179750005470017336807397418313e+247L, 3.65046885264085030960970127282511879e+255L, 4.07509702021276189043935129812053895e+263L, 8.18389073292535025618266801702554839e+271L, 3.01238089652162618211263051563523370e+280L, 2.07176624104483264053704912869659325e+289L, 2.71562735784398218302697011744202385e+298L, 6.92451661016398143622710849660362520e+307L, 3.50810155650162047040906671177815417e+317L, 3.60896781300246599975888048597671985e+327L, 7.71058277826701049982730585006218034e+337L, 3.50154660288711246272389096490054302e+348L, 3.46175331564137723439223486579386975e+359L, 7.63696466254316472130052183903629062e+370L, 3.85655304044390258996784681505914035e+382L, 4.57665692577932081843759029527968784e+394L, 1.31143566628034307965133274338127595e+407L, 9.33142940209453779649608781259673613e+419L, 1.69703443400488874615229289912465401e+433L, 8.12664327627950884948530966790210152e+446L, 1.05671342182667061564323377987059929e+461L, 3.85123350151333031094457679550412807e+475L, 4.06487630836024540948583469098247829e+490L, 1.28516517984503545753808504263016648e+506L, 1.26025754690341684764700072541766676e+522L, 3.97331612896914344554453503890576277e+538L, 4.17965516524315248567041014799432863e+555L, 1.52416658652941127494202186163265994e+573L, 2.00432202283496263048589917253126663e+591L, 9.89983817930114056039301724151237036e+609L, 1.91539340453423886973992445388091844e+629L, 1.51593315523153267229971976448703684e+649L, 5.13233111267478387648166311677061530e+669L, 7.78392571224632702458474933380523830e+690L, 5.54632077048043201021342066119640603e+712L, 1.95012604607548018918112113273623192e+735L, 3.55940947870861006830654543397286882e+758L, 3.55349341454925685547195460273265331e+782L, 2.04795692045857243226580641802720017e+807L, 7.20348918974342452885439546130773017e+832L, 1.63778937282231874342883712446170710e+859L, 2.55384218509638087014670377175798088e+886L, 2.90332357089198897009653578594580665e+914L, 2.56300421336271050326091753908665515e+943L, 1.87504708602076913446948153935468528e+973L, 1.21573089114719501597325465689193734e+1004L, 7.48693407429699486755736805187051392e+1035L, 4.70376397570597947605315058283235338e+1068L, 3.24549375035327607806235059706162609e+1102L, 2.65365798053210741189633750297123713e+1137L, 2.78113361306514574568406809189880354e+1173L, 4.05114001708803517429009145027606492e+1210L, 8.91647476482514121118371429882160487e+1248L, 3.23223851331898724884680382253593571e+1288L, 2.10925909168894371224120829576314259e+1329L, 2.71594389750881594498007515800169231e+1371L, 7.58558239286242519535157411695442827e+1414L, 5.06701669031717221741926320252846248e+1459L, 8.95314256637167381172114473249653533e+1505L, 4.64314397380853725563695225910483395e+1553L, 7.86772811149376784892131781209226509e+1602L, 4.86578559687970087801384706555207321e+1653L, 1.23116054769360594876926981962811083e+1706L, 1.43383897399728293235616506956599019e+1760L, 8.67960762728500385489074199138374599e+1815L, 3.09584788327503858182429306492345781e+1873L, 7.40514657822678853879551103162851562e+1932L, 1.35750288266752565171774149402837640e+1994L, 2.18886955807028168114167639122307268e+2057L, 3.57839966436010585653478204799948336e+2122L, 6.86791017358151132323155526430183469e+2189L, 1.80021943882415618419042799861559854e+2259L, 7.53312429569410546159363413753399067e+2330L, 5.91165553375547478649257686857639971e+2404L, },
{ 1.57096255099783261137673508918980377e+00L, 1.57229290236721196082451564636254803e+00L, 1.57495658191266675503402671533627186e+00L, 1.57895955363616398471678434379990522e+00L, 1.58431078956361430514416599492388597e+00L, 1.59102230111703510742216272394562613e+00L, 1.59910918118616033722590556649394763e+00L, 1.60858965710906746764504456185444654e+00L, 1.61948515482641974319339137784305225e+00L, 1.63182037453073931785527493516038124e+00L, 1.64562337819112567903033806653906069e+00L, 1.66092568939542410935608828998468834e+00L, 1.67776240601646371733138779357535047e+00L, 1.69617232627708297296989766202480515e+00L, 1.71619808886073246730768842066355199e+00L, 1.73788632779101456236627555096372654e+00L, 1.76128784288515241044102589887617560e+00L, 1.78645778667368642025315725404601102e+00L, 1.81345586877233558659749539967614045e+00L, 1.84234657879265254187280543490489739e+00L, 1.87319942898662752121993510591579920e+00L, 1.90608921793761261888076943857856180e+00L, 1.94109631673677945144587926354356120e+00L, 1.97830697922181656566949720098719647e+00L, 2.01781367800384433737712026561151498e+00L, 2.05971546817081389507270282494773392e+00L, 2.10411838073232749275747224342524909e+00L, 2.15113584806337555354918618566085438e+00L, 2.20088916381459141771044083611555369e+00L, 2.25350797998611420231160903572594743e+00L, 2.30913084411305337537709048855358397e+00L, 2.36790577978511333384857209921738492e+00L, 2.42999091402365295350102767412517845e+00L, 2.49555515536908558968587982458158759e+00L, 2.56477892689313451429557802920827974e+00L, 2.63785495874745168415081659796280588e+00L, 2.71498914529626806741705564771250802e+00L, 2.79640147236028053619149909690973720e+00L, 2.88232702062657870038560203490158574e+00L, 2.97301705186029380311201985278736098e+00L, 3.06874018519362823755119514588303156e+00L, 3.16978367147348738564623946178566521e+00L, 3.27645477442732860056345607892739085e+00L, 3.38908226826615609816107421136979984e+00L, 3.50801806229286913554992299494422526e+00L, 3.63363896413353027399263692498221540e+00L, 3.76634859436988420367634452674074607e+00L, 3.90657946663630928939225987850575005e+00L, 4.05479524866754112035397645627643742e+00L, 4.21149322136091780158052739625729631e+00L, 4.37720695466646221916071477112304019e+00L, 4.55250922105994638849140210916632132e+00L, 4.73801516951078282566987752649050466e+00L, 4.93438578525358788671420711795537458e+00L, 5.14233166333819107447595069798421539e+00L, 5.36261712689997622445803908396748884e+00L, 5.59606472439710019418213140693069575e+00L, 5.84356014374437330661446789126222075e+00L, 6.10605758538173469317727364122669467e+00L, 6.38458564090067143612732202429488542e+00L, 6.68025372897382444864907987044889317e+00L, 6.99425914605841270881961646990609410e+00L, 7.32789479574890106033548644768353338e+00L, 7.68255766782458876413667730681699443e+00L, 8.05975814607113727007240055318338450e+00L, 8.46113023296234288939356989479671723e+00L, 8.88844278939567108027044653070693778e+00L, 9.34361189902548515485066576358196470e+00L, 9.82871447949462202212030994384949241e+00L, 1.03460032772138062549383568058709409e+01L, 1.08979233984912291622835480030167114e+01L, 1.14871305480132578973614919602781370e+01L, 1.21165111661978855517781913327317255e+01L, 1.27892046801009632078942555615288463e+01L, 1.35086281087128109623831457304510920e+01L, 1.42785032930533442126932924888187804e+01L, 1.51028870549318132669071327511660921e+01L, 1.59862046261270319640752848374642080e+01L, 1.69332867326908112807352382039426796e+01L, 1.79494107678000050622926329104204826e+01L, 1.90403465419082315888820165929975494e+01L, 2.02124071618296433363312214170232623e+01L, 2.14725056619224736964251610816575600e+01L, 2.28282180919971350546248653847563966e+01L, 2.42878538594168042463845071817020910e+01L, 2.58605342287811778487151334440784950e+01L, 2.75562800035467442565131080245429614e+01L, 2.93861095522110956389210768876799587e+01L, 3.13621484999095132865600012683857137e+01L, 3.34977525874991258153646142408367963e+01L, 3.58076454079962546803810835720597110e+01L, 3.83080729687253016658377309622401176e+01L, 4.10169773015547344709659456503154667e+01L, 4.39541916587611362308342994483809472e+01L, 4.71416601949419692729062784327679986e+01L, 5.06036854536665922553724504470269960e+01L, 5.43672074601944525232284101611170030e+01L, 5.84621187791213843904071404608607478e+01L, 6.29216205405812878410372213510070276e+01L, 6.77826251851241666263837617897404532e+01L, 7.30862125426522301461255132629846162e+01L, 7.88781468648814729209715096907821639e+01L, 8.52094635973465833426799692679733796e+01L, 9.21371360338777471668559829773781201e+01L, 9.97248335767075464896305315099053068e+01L, 1.08043785167904642576949987865910954e+02L, 1.17173763608862169247776700625586421e+02L, 1.27204208998868737227575356110541727e+02L, 1.38235512466410237338282474486031692e+02L, 1.50380484815148331050381123359927804e+02L, 1.63766038752610274212021042234298836e+02L, 1.78535118123338340289613569013808793e+02L, 1.94848913160728060357302969254459805e+02L, 2.12889407359835266977366307026062112e+02L, 2.32862309344799079018746113493039633e+02L, 2.55000432284328199435640048881527463e+02L, 2.79567594267244578195192766207761694e+02L, 3.06863125912428093434496643114651412e+02L, 3.37227086745120087399301385427960651e+02L, 3.71046309996557625549265358225650347e+02L, 4.08761417046617491055856040237506316e+02L, 4.50874968419459367009632339064163929e+02L, 4.97960948895977349122916983180817637e+02L, 5.50675820938578587679472462796822793e+02L, 6.09771424466317909206822143572649707e+02L, 6.76110053572647368547479902312230309e+02L, 7.50682103874142244645724064576848341e+02L, 8.34626760051808119187547981730818179e+02L, 9.29256284531554199823656475151338963e+02L, 1.03608457849823472804207172846963877e+03L, 1.15686081966189765730466332807313547e+03L, 1.29360914245380859999201252074469995e+03L, 1.44867552185420514387789438088656434e+03L, 1.62478325953219761549580736728832563e+03L, 1.82509875991531856022535679631713756e+03L, 2.05330963597261755441688599655848892e+03L, 2.31371761449477720025881552764731872e+03L, 2.61134923664018699944734187657483567e+03L, 2.95208799409362429898911389656789101e+03L, 3.34283233256054817982471990245472659e+03L, 3.79168492775659509883214798303432158e+03L, 4.30817983871631895490690508451026040e+03L, 4.90355562457020167332670064217006554e+03L, 5.59108434363481145162671079876733528e+03L, 6.38646862557124634146730890858054275e+03L, 7.30832182941297944038809179971510199e+03L, 8.37874981279970356111509048453001571e+03L, 9.62405721874963805881171453111047092e+03L, 1.10756066619114600841076275282388063e+04L, 1.27708660544590438787794590107117849e+04L, 1.47546879201948945213025955616435132e+04L, 1.70808753741706634268551294101897318e+04L, 1.98141030969548505096681178137364270e+04L, 2.30322788820475490754732581365999861e+04L, 2.68294531792863253502182123460963590e+04L, 3.13194117839842820030641964449539820e+04L, 3.66401220970699799668192565829190288e+04L, 4.29592483666869017028607105165763804e+04L, 5.04810088263984357248209974578040223e+04L, 5.94547213318005529011388227962133751e+04L, 7.01854787517268957919092596317475529e+04L, 8.30475172617569400265716546608431303e+04L, 9.85009980505357544638949542794405193e+04L, 1.17113126626176606026864191754698095e+05L, 1.39584798216058984483938678946454092e+05L, 1.66784301639307755633312351999980104e+05L, 1.99790062652052468605951710457597772e+05L, 2.39944994603299218686253514351518948e+05L, 2.88925793983801323167992289814829493e+05L, 3.48831530919430454806103930858415528e+05L, 4.22297220149677844682618484564386312e+05L, 5.12639824636925361908056913471196846e+05L, 6.24046487622198979196137566922551170e+05L, 7.61817907323361594136262168936978923e+05L, 9.32683930022411925704630601110030182e+05L, 1.14521400777429753902355978052778602e+06L, 1.41035264627423311876298925540665884e+06L, 1.74212004187586338510201667214170577e+06L, 2.15853171693428701405141183541166264e+06L, 2.68280941012642673073659887232388938e+06L, 3.34498056359541886091597912499527306e+06L, 4.18399797233770604788689812330719069e+06L, 5.25055800816550175243256559083639418e+06L, 6.61086017414168098803951872291131863e+06L, 8.35163942396755869310534556270941378e+06L, 1.05869253239392990034806970327887878e+07L, 1.34671523510623940861241599892229316e+07L, 1.71914827102426302145958883698307763e+07L, 2.20245344902770169422620623417295079e+07L, 2.83191730172433779681268016861978467e+07L, 3.65476782026834493187990343694010282e+07L, 4.73445265723062610640363034466641760e+07L, 6.15653406350951387288804933390908042e+07L, 8.03684302689786924828741611740519293e+07L, 1.05328028435969028854761469747289545e+08L, 1.38592168908412628618546923035162247e+08L, 1.83103698592568352374304770508191971e+08L, 2.42910945745864082034287213456845086e+08L, 3.23606239375966746282831194186614169e+08L, 4.32947521859998666323053129499091577e+08L, 5.81743296796292947920442886775592966e+08L, 7.85117978938819178602650773642870262e+08L, 1.06432919762707530726575966438229782e+09L, 1.44938958291294548467516226794019366e+09L, 1.98286646937799184909776706883985509e+09L, 2.72541431469809432350206616813747393e+09L, 3.76386796411162144400474070771015333e+09L, 5.22313881495099093715899688078276720e+09L, 7.28378581064439770444275729738468286e+09L, 1.02080964238115874250636198090464363e+10L, 1.43789931847051052135186583023967432e+10L, 2.03583681254363357780032810961889254e+10L, 2.89749982708002744366825785538936402e+10L, 4.14577375164549487752492409798515416e+10L, 5.96383768387242628650336526594122215e+10L, 8.62622848391553079951805623395652598e+10L, 1.25466704538982518000690409655705216e+11L, 1.83521298226491318558080545133554232e+11L, 2.69981220740015160361114268684563366e+11L, 3.99492845215192295441294253418780644e+11L, 5.94638055870143455023933020703444642e+11L, 8.90440996742409110650533033931653292e+11L, 1.34155194167777583831947241717631506e+12L, 2.03376855033215189170105222958089604e+12L, 3.10262795987575321360135087196684567e+12L, 4.76359832170586206290082815387968037e+12L, 7.36142036056081358397678626842794083e+12L, 1.14512696145655742338758840735549183e+13L, 1.79331418699627392634462052642542749e+13L, 2.82758550128579223200239017529280909e+13L, 4.48929705367844466861372765075631687e+13L, 7.17780287265849957064212371548037347e+13L, 1.15585509854582062520354852997620279e+14L, 1.87483388636788309288478433629583664e+14L, 3.06351035640217445409310567498133847e+14L, 5.04340065300597024230361727189343426e+14L, 8.36616339689242989007881200440488764e+14L, 1.39855635164094728875364679627485304e+15L, 2.35633574951616468243164849507855064e+15L, 4.00176516738263745645278590345795707e+15L, 6.85137512840494144543571512545601884e+15L, 1.18269011176154399046326619510431010e+16L, 2.05867352701380644281110910622942185e+16L, 3.61396878431490463311666873476678412e+16L, 6.39911218439421355095519025524482256e+16L, 1.14301618562837692261569180960886276e+17L, 2.05988138391566644299797673070467922e+17L, 3.74584678835368091393630059068193045e+17L, 6.87444303468314906803024757565005462e+17L, 1.27340764361348531366853034790770231e+18L, 2.38124191682989536626992792404294190e+18L, 4.49583561730710839927340662784958898e+18L, 8.57144202490195270096830399067728169e+18L, 1.65044358418165696532477771893166700e+19L, 3.21010035242131785085169993033188229e+19L, 6.30778012444270309076492866733769742e+19L, 1.25240403115766127899628450500249765e+20L, 2.51300529564998539443832117224536420e+20L, 5.09677625569083843571268035202853929e+20L, 1.04501920001667304566512216455267827e+21L, 2.16647647926087846601520265828431353e+21L, 4.54213814567839546278770815494416868e+21L, 9.63208232444913712819259248595549405e+21L, 2.06638653668825452816630915727527426e+22L, 4.48552978555442825059406438230470388e+22L, 9.85387957361097750825498509227133701e+22L, 2.19115887446437440814640517501285189e+23L, 4.93283596439097166796547625560314132e+23L, 1.12450152997177436346173556893175508e+24L, 2.59626913615675600812300017445220112e+24L, 6.07229293831362550112108555687653017e+24L, 1.43898906630800383562329122001513450e+25L, 3.45584195640657046905140678735606870e+25L, 8.41265519171357648977229820858109463e+25L, 2.07628906165081651016090959669418757e+26L, 5.19651502464022032237151119613068945e+26L, 1.31917319408964404296057699402007921e+27L, 3.39745589598038079361346075350889747e+27L, 8.87905745443850359109225209251728000e+27L, 2.35527236149206412607849676379867126e+28L, 6.34276200772262482389475687836384423e+28L, 1.73453109399085970484897533524593455e+29L, 4.81789317060683087119323058524624972e+29L, 1.35959734649014823198654051259347560e+30L, 3.89896968990650039174705544740914822e+30L, 1.13654298652998993600898528562905634e+31L, 3.36845004399178001650511659074612092e+31L, 1.01530408470981725989945294876828360e+32L, 3.11314437622191823730222798219255685e+32L, 9.71307273973014040273869048577801862e+32L, 3.08451764358172594571945077912559223e+33L, 9.97268213982049728423469082288644341e+33L, 3.28362505228849158612675319471610094e+34L, 1.10137878539082753552686700652535380e+35L, 3.76433336759271429732220889611944227e+35L, 1.31140346593824292621577115225698644e+36L, 4.65813571068281367213354863266427946e+36L, 1.68751734747051139203189162215633629e+37L, 6.23705368501832349017363870039959902e+37L, 2.35257131442774486893301429598817553e+38L, 9.05893824021969993626817980294413695e+38L, 3.56224909761113607077591549609142868e+39L, 1.43095929157855820977839447284784020e+40L, 5.87397458498437504922632656680942932e+40L, 2.46482854981128378684502286098690220e+41L, 1.05764920309085562822396787743332401e+42L, 4.64247563928107803530506772359734012e+42L, 2.08528711827242177927156523287132065e+43L, 9.58843998518663217709277358040461543e+43L, 4.51498201124609227956079072858258677e+44L, 2.17797404834197320411588567916752909e+45L, 1.07672097682290045825361349736107198e+46L, 5.45726743292908558875367244655615249e+46L, 2.83686927045578113375020568154351117e+47L, 1.51310320139201162564313806536303971e+48L, 8.28397466722561707458255405781541923e+48L, 4.65723949199597134403065145457979764e+49L, 2.68979637071283693718739500357715726e+50L, 1.59659784691197038762901224386099403e+51L, 9.74415453825658662874112107295166701e+51L, 6.11723839484331306452493250946377612e+52L, 3.95204965058524182677586041680204451e+53L, 2.62870159207425821306145211826683375e+54L, 1.80099019650267939321809025642439880e+55L, 1.27155446256306838318997486480890087e+56L, 9.25588010447776071059464920928086632e+56L, 6.94973792013391939342588109222317053e+57L, 5.38516720076996562080859176422021036e+58L, 4.30849366810297877444039522534393308e+59L, 3.56095155754217837059656555899190815e+60L, 3.04188852838464999204043663335571874e+61L, 2.68709444193083718922293037351168007e+62L, 2.45592053890000085507656649738841713e+63L, 2.32364825416864153745578539849845717e+64L, 2.27712974158489233058096874867974690e+65L, 2.31263355291322473374027008502422191e+66L, 2.43540759298129112939388619780518297e+67L, 2.66091038882246524570905302589811279e+68L, 3.01810594342353392025458974267831671e+69L, 3.55582348951019250289525994888733340e+70L, 4.35418887779384901315251041444022899e+71L, 5.54497579551181331524599144834616000e+72L, 7.34827648190988633565298908145357523e+73L, 1.01399802572242326074394064208241565e+75L, 1.45791146224460794340779409761344050e+76L, 2.18548887681950529537081926891986328e+77L, 3.41802215328662300798456454917771592e+78L, 5.58084392060183572830239216435019125e+79L, 9.51958650279973390758331753317257950e+80L, 1.69757357824719778562747265505252946e+82L, 3.16690667099018001388115076193097403e+83L, 6.18509910641867543038652223056425804e+84L, 1.26554113438693437654962757714903554e+86L, 2.71482896587775689871692274985919286e+87L, 6.11038680296449408162222719197467046e+88L, 1.44405408617108323852658132530082074e+90L, 3.58608372663838816495703910754396082e+91L, 9.36523186806323959966772742491929522e+92L, 2.57408011620512244881601880029319908e+94L, 7.45213468986230271920125476429174422e+95L, 2.27430990383616981910627355587444817e+97L, 7.32301113412116474943463116371095103e+98L, 2.48981642173793246167799170730006141e+100L, 8.94653338635928158843209476986997508e+101L, 3.40040137239116597862336436061445989e+103L, 1.36828818620892821730981225660157834e+105L, 5.83427748982959193060571787534606697e+106L, 2.63848693767238342424340754241860221e+108L, 1.26672888276713952132156406152434700e+110L, 6.46222517831418280306046165038174027e+111L, 3.50643232060757360375065377104810475e+113L, 2.02560893394326816509670349356333828e+115L, 1.24704167708478470702273287091045609e+117L, 8.18986518840527903795498196049278255e+118L, 5.74361089440609996487936977642920132e+120L, 4.30580893408448976261136511421423734e+122L, 3.45415696607949675499703108821962730e+124L, 2.96831660153035273688363706593385374e+126L, 2.73545624237218359223636851390580041e+128L, 2.70631717669007784745026117275242499e+130L, 2.87767991634206038473084413615742294e+132L, 3.29241287826810639047033778585737812e+134L, 4.05784096195372596931902665934287382e+136L, 5.39378304910573732382585500687737807e+138L, 7.74152390167223540621293648465491842e+140L, 1.20120996231066845642412985516875175e+143L, 2.01745607955680730064740044686640147e+145L, 3.67217662348306252636962893865111425e+147L, 7.25316379805857762968710347450256630e+149L, 1.55659153530257056999948366173645285e+152L, 3.63439983279039488510674235872123571e+154L, 9.24438760046827764031744167566698413e+156L, 2.56505460126015154661078513762260065e+159L, 7.77468767447849521051212939671796074e+161L, 2.57775340952739965069105894604883404e+164L, 9.36236559200171990439286451934391539e+166L, 3.73025928974609135812613567068392186e+169L, 1.63280699411172483017448754437467171e+172L, 7.86350685466830069681739337700194312e+174L, 4.17288659053103260909421860789088638e+177L, 2.44376468354452976432259429734905692e+180L, 1.58182604983516221850901239956537929e+183L, 1.13349408906485996833819126879692168e+186L, 9.00609317867158059779746161516574861e+188L, 7.94724581006520631483760616875503191e+191L, 7.80148734070770210787180909072341250e+194L, 8.53389980133319877537947288273508168e+197L, 1.04199907704816359699116619452657846e+201L, 1.42261945983107616739713958471131412e+204L, 2.17558254343347922345039318825837040e+207L, 3.73339221107050141050095672544726852e+210L, 7.20212971416878494124587287789857735e+213L, 1.56476087980246841023430707631510252e+217L, 3.83599289170088247519036274601375492e+220L, 1.06310518934360483187879118646180568e+224L, 3.33719954606082150504485397744546787e+227L, 1.18890644129926367056386614030943443e+231L, 4.81657405194041613555936914144916344e+234L, 2.22347874123114616622582251703709887e+238L, 1.17199258523361213934517364652872480e+242L, 7.06839671131322838482398929154588609e+245L, 4.88812662946732326430886472870070228e+249L, 3.88441192207630934518298772235960268e+253L, 3.55483921979499015020713995580889030e+257L, 3.75484510816250928148708038190395303e+261L, 4.58798720933643387311573482445886110e+265L, 6.49989966050568126079524541048529496e+269L, 1.07018103272413666142402906179157598e+274L, 2.05258799808849457042833394124187317e+278L, 4.59710306190259625117029822247574448e+282L, 1.20521640888055636836192268959955157e+287L, 3.70784262206985650361726040790594581e+291L, 1.34198324051735290325452259089861845e+296L, 5.72866922601176092550850127280325304e+300L, 2.89181208605318627652310091586335359e+305L, 1.73078309894901278503683645288680165e+310L, 1.23150483936231719457381379774516673e+315L, 1.04456022524616506171048138618772005e+320L, 1.05909848234544418123752752792015094e+325L, 1.28725694153849592436889057738754649e+330L, 1.88087499295689639308903342601320607e+335L, 3.31344446614783992260480183208324732e+340L, 7.05835740270200829603933852702222207e+345L, 1.82360609116987101874149506325271866e+351L, 5.73167527316999715111499624522524490e+356L, 2.19834460849656433024448179756162490e+362L, 1.03213196012299389398122351217909554e+368L, 5.95090459142945173642877532664315820e+373L, 4.22711326689560391486862730288730260e+379L, 3.71146073815998244096864189178283440e+385L, 4.04143285030597516778349567433491877e+391L, 5.47630493200706306950643242188138639e+397L, 9.26610183846830899934754118194991047e+403L, 1.96463867218278875638951764233831097e+410L, 5.23826401399289488725708314794013273e+416L, 1.76269979359229195206462702562496087e+423L, 7.51358974574222029659643352716721030e+429L, 4.07203690042780566335825621191079282e+436L, 2.81652392485993763998682010256080428e+443L, 2.49586432083962995754217338958145192e+450L, 2.84464997550187838898841424132533307e+457L, 4.18656911271834268911740204159815337e+464L, 7.98835944729121866190974499356597568e+471L, 1.98427885725374523364086923738598523e+479L, 6.44313780728812316513345459942694301e+486L, 2.74646447436726496994650106679472135e+494L, 1.54345331097536381511922890966406624e+502L, 1.14854061177091306735355343708426610e+510L, 1.13671799925771100929831048483235430e+518L, 1.50301408173820906903238314130252343e+526L, 2.66721742401349021977265127553699936e+534L, 6.38191727827371990119668697526910696e+542L, 2.06864189323929509313332139375745418e+551L, 9.12718925758572793769909253655546363e+559L, 5.50827087084343716443556503345322384e+568L, 4.56943096951975523591483538202467049e+577L, 5.23664812769936727945516120554813767e+586L, 8.33295831969513770916127078276468196e+595L, 1.85073603040006635508770638738735213e+605L, 5.76725912854578779706265298662279369e+614L, 2.53507221317613667093309510235117825e+624L, 1.58037348241924263546145926074674624e+634L, 1.40497098317887844492262106048698980e+644L, 1.79118532756424559114150403858023467e+654L, 3.29340233091271285034548969456076701e+664L, 8.78384225704905897945003526718634352e+674L, 3.41824790512159692619674889187554870e+685L, 1.95247619547378795632466874007982924e+696L, 1.64685615123975037569921507294781182e+707L, 2.06385512057306929298128483493412318e+718L, 3.86691162964076111860523245198584961e+729L, 1.09008736553561747232882422664193409e+741L, 4.65333391196364819411904308657257877e+752L, 3.02768585771015415481330091322447912e+764L, 3.02262040534180824988954474846992913e+776L, 4.66133722640174567906974646266839244e+788L, 1.11806119156969171229108916233644999e+801L, 4.20019655376202192049844032418033555e+813L, 2.48880615873773868126893696694455625e+826L, 2.34286193142054643224145247339492426e+839L, 3.52941162196327496812531706159176164e+852L, 8.57183106082165907783781027353105401e+865L, 3.38163627323872188047900717079347979e+879L, 2.18363447282104345585022834572887531e+893L, 2.32596275137292895223293068081362090e+907L, 4.11925247272574761366980289309686003e+921L, 1.22265489460258041690738897372130823e+936L, 6.13184165651799059701146847592463464e+950L, 5.23922303275545560334122760478493484e+965L, 7.69087233862553980667730597006685190e+980L, 1.95622275953749870274795206909257068e+996L, 8.69670052895401378378113763338699958e+1011L, 6.81715148318539616903616353647181598e+1027L, 9.50697711954141544724599553989093262e+1043L, 2.38019733682587370869498352841844428e+1060L, 1.07973324919847346937291516197684901e+1077L, 8.95814284819025403820872820042945790e+1093L, 1.37229192661307043018958002675397831e+1111L, 3.91918794622242371528673544888524419e+1128L, 2.10730218913863433412315532873510194e+1146L, 2.15459607934366008026324206138837528e+1164L, 4.23163839295623007237154131840451677e+1182L, 1.61294441956204958952970453918741185e+1201L, 1.20568335528354973250479511763057854e+1220L, 1.78630819666459637235669417819650103e+1239L, 5.30233997012953850434143324467683139e+1258L, 3.18800705045665419646272046839479382e+1278L, 3.92589619613994835597705628928304867e+1298L, 1.00145056975313260959947278741812233e+1319L, 5.35268808912615454171856125906228237e+1339L, 6.06491960606218539467705074145131193e+1360L, 1.47410187506507259371724909079906759e+1382L, 7.77855372825975976779550291054389078e+1403L, 9.02071339187528665617085297107535931e+1425L, 2.32776342394968427168699373890370933e+1448L, 1.35351409374730203846799381939288903e+1471L, 1.79625881886715571166142200348072039e+1494L, 5.51189494978629938318487744451579809e+1517L, 3.96270198063441303687686251379779681e+1541L, 6.76492837567767494547614386605795924e+1565L, 2.77991073110506719318274536923711255e+1590L, 2.78805951202715437087943440518839779e+1615L, 6.92116280606414755524296394791409952e+1640L, 4.31380309053366092943951122004431463e+1666L, 6.84923073262139995438889690748178280e+1692L, 2.81137418164430829179092468240459910e+1719L, 3.02821524237655652451836921974619657e+1746L, 8.69048903533522694231765189726868666e+1773L, 6.74828063313306417588175763238310325e+1801L, 1.44026065844141159256872926595644247e+1830L, 8.58426091495439408178371839859019039e+1858L, 1.45211919400936944187225846047638548e+1888L, 7.08718013380970011842483247147601395e+1917L, 1.01475962220405902523641440040104610e+1948L, 4.33542978691578087509838132034723750e+1978L, 5.62285772227295495777726116212032065e+2009L, 2.25285072921565445630031609130087435e+2041L, 2.83839050906274298341210206309759282e+2073L, 1.14501659579022194588844609345877849e+2106L, 1.50629562239998305958408533546634030e+2139L, 6.58342161306998815751663631350733541e+2172L, 9.74198999952210922892973281379349494e+2206L, 4.97552704772088889228035264268694867e+2241L, 8.94330619882842342247706838649878784e+2276L, 5.77072420156026800834371478648673792e+2312L, 1.36388225285320494361282201451878478e+2349L, 1.20508189950290985406298094670730466e+2386L, 4.06413362486490272506766749982212198e+2423L, 5.34308092015215251528601382597439463e+2461L, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_max = 8.88600744303961370002819023592353264e+00L;
if (m_max_refinements >= m_abscissas.size())
{
@@ -446,7 +458,11 @@ void sinh_sinh_detail<Real, Policy>::init(const mpl::int_<4>&)
{ 1.57146131655078329437644376888801138e+00Q, 1.57679016631693834484126246342345329e+00Q, 1.58749564037038331646069625234555521e+00Q, 1.60367395634137020950291269057600307e+00Q, 1.62547112545749394267938666988196139e+00Q, 1.65308501191593930171844822364141731e+00Q, 1.68676814252591123625053019619255158e+00Q, 1.72683132353751620184313195813656600e+00Q, 1.77364813866723660171326886678529701e+00Q, 1.82766042147866144821632902536146347e+00Q, 1.88938481704401819562549601165115021e+00Q, 1.95942057285503709111658357403615203e+00Q, 2.03845872804790892275259742585569433e+00Q, 2.12729290408384722476899855222432786e+00Q, 2.22683194019907694104850876757126753e+00Q, 2.33811466455513029581902771513343722e+00Q, 2.46232714872299130380967769641847017e+00Q, 2.60082286092708516436098022317536381e+00Q, 2.75514621481455435937229822050004007e+00Q, 2.92706010842448355516791030533685920e+00Q, 3.11857816624092195149666191379786472e+00Q, 3.33200254033950662971711811118318338e+00Q, 3.56996830041074027550628111498923678e+00Q, 3.83549565399644726181552365400966870e+00Q, 4.13205149651293488468153425460318353e+00Q, 4.46362210669906788115667211361364802e+00Q, 4.83479919100800655701530131187647507e+00Q, 5.25088195776567960767293727240320892e+00Q, 5.71799849087533312421158643544587353e+00Q, 6.24325042159856810533215887376856930e+00Q, 6.83488580122654183866366620676303900e+00Q, 7.50250620278934080195915244309172491e+00Q, 8.25731548449354420110207897041998984e+00Q, 9.11241940586464263380079984086513597e+00Q, 1.00831874954399775830998395457182684e+01Q, 1.11876913499386520162594085796167645e+01Q, 1.24472370591410688131760615976965093e+01Q, 1.38870139060550758665255786705519681e+01Q, 1.55368871591590018952847646637454593e+01Q, 1.74323700068094283108112572669239084e+01Q, 1.96158189482399342378436216339159090e+01Q, 2.21379088635427380602824337731297019e+01Q, 2.50594593467713760968808829296439171e+01Q, 2.84537037774213756120135736520435304e+01Q, 3.24091184596952483433430577491101072e+01Q, 3.70329628948023016142035941015485370e+01Q, 4.24557264474626791146220920324192917e+01Q, 4.88367348033798558171280311705362727e+01Q, 5.63712464058697542020818458752120814e+01Q, 6.52994709275261034008086934786702551e+01Q, 7.59180775569412283714380617539343408e+01Q, 8.85949425239166382162609558265821220e+01Q, 1.03788129500578812415162165531670704e+02Q, 1.22070426396922674625756853326498468e+02Q, 1.44161209813120053456742433728771078e+02Q, 1.70968019124577351122499690038707734e+02Q, 2.03641059384357556999222931732850856e+02Q, 2.43645005870872364316059216110059642e+02Q, 2.92854081218207610543177302881458406e+02Q, 3.53678601915225339202500542949917795e+02Q, 4.29234308396729693907268968564609660e+02Q, 5.23570184048873302665650155276206906e+02Q, 6.41976689800302457508415746115180260e+02Q, 7.91405208366875928332161102969868782e+02Q, 9.81042208908193163688535235538889459e+02Q, 1.22309999499974039331272100414750813e+03Q, 1.53391255542711212726525490457861725e+03Q, 1.93546401360583033885511419988831009e+03Q, 2.45753454991288685207196097797062484e+03Q, 3.14073373162363551894782974867325472e+03Q, 4.04081818856465189750723035050638141e+03Q, 5.23488159971222568136194576211612571e+03Q, 6.83029445760732922582000345557383347e+03Q, 8.97771322864988714349790288910627671e+03Q, 1.18901592096732683947870697270695144e+04Q, 1.58712238704434696215746702894136306e+04Q, 2.13571110644578933143540830593360855e+04Q, 2.89798370518968143718297906801146350e+04Q, 3.96630672679554794954087134590560762e+04Q, 5.47687519375000078688553248953764732e+04Q, 7.63235653938805568016142182690471993e+04Q, 1.07371914975497695062170132456450593e+05Q, 1.52531667455557415180420019888676134e+05Q, 2.18877843474421658617449971461581691e+05Q, 3.17362449601929560775572985879585343e+05Q, 4.65120152586932846156175983364596723e+05Q, 6.89253765628058057206329188782990860e+05Q, 1.03311988512001998186230013733752720e+06Q, 1.56688798104325249948154338241641806e+06Q, 2.40549202702653179507492073842261453e+06Q, 3.73952896481591033994026114668796352e+06Q, 5.88912115489558003244667233279563785e+06Q, 9.39904635192234203007457377008255614e+06Q, 1.52090327612965351790614542733698474e+07Q, 2.49628718729357616773929842263043964e+07Q, 4.15775925996307484022703929049831425e+07Q, 7.03070536695026731176158877103497776e+07Q, 1.20759855845249336607363637052870598e+08Q, 2.10788250946484683324104572583041111e+08Q, 3.74104719902345786397351281755078701e+08Q, 6.75449459498741557237788387723071522e+08Q, 1.24131674041588053743260021864117384e+09Q, 2.32331003264955286246594304305695965e+09Q, 4.43117601902662575879840759020751450e+09Q, 8.61744648740090012951326726568665021e+09Q, 1.70983690660403151330619158427281665e+10Q, 3.46357452188017133850611855017361923e+10Q, 7.16760712379927072634183907084755700e+10Q, 1.51634762091005407908273857408800162e+11Q, 3.28172932323895052570169126695951209e+11Q, 7.27110260029828078950026409435831711e+11Q, 1.65049955237878037840731169761272102e+12Q, 3.84133814950880391685509371196326109e+12Q, 9.17374426778517657484962791255187134e+12Q, 2.24990194635751997880832549111511175e+13Q, 5.67153508990061173097292032404781538e+13Q, 1.47074225030769701852963232235912597e+14Q, 3.92701251846431177545392497147427712e+14Q, 1.08063997739121282020832802862957248e+15Q, 3.06767146672047518894275739534732971e+15Q, 8.99238678919832842771174638355746631e+15Q, 2.72472253652459211109041460799535823e+16Q, 8.54294612226338925817358060817490416e+16Q, 2.77461371872557475533476908014408616e+17Q, 9.34529947938202912146296976663431863e+17Q, 3.26799612298773188163350554315742192e+18Q, 1.18791443345546831451732293519928714e+19Q, 4.49405340841856421397062311314705655e+19Q, 1.77170665219548674305185389795833488e+20Q, 7.28810255288593152697603764235601397e+20Q, 3.13251243081662534865188632436805529e+21Q, 1.40874376795107311038838007000777184e+22Q, 6.63829426823606041441317767891166205e+22Q, 3.28254360840356501289107248021554584e+23Q, 1.70592009803839406409667145645666005e+24Q, 9.33225938514852428454935743602712728e+24Q, 5.38272717587488831207327363463407970e+25Q, 3.27895423512209324910006662705296242e+26Q, 2.11319169795745809927716305122705952e+27Q, 1.44341104149964304009687846325713305e+28Q, 1.04686439465498242316197235200069352e+29Q, 8.07731922695890570023291958025986094e+29Q, 6.64314696343261627707440459400107155e+30Q, 5.83567012135998626006817430636714368e+31Q, 5.48689029679023079776199817150941362e+32Q, 5.53372696850826161418229677716330718e+33Q, 5.99973499641835283449509393028972981e+34Q, 7.00917611946612256941556198729562373e+35Q, 8.84406196642459749869759626748371565e+36Q, 1.20822686086960596115573575744502341e+38Q, 1.79164851431106333799499432947126299e+39Q, 2.89131391671320576216903362266762013e+40Q, 5.09145786021152729801159516043566174e+41Q, 9.81063058840249655325327952160218101e+42Q, 2.07444123914737886022245738089968362e+44Q, 4.82765011693770054022189143000576390e+45Q, 1.24028793911154902904261886940649724e+47Q, 3.52878285864478461616951002487254771e+48Q, 1.11544949047169665881036414807872651e+50Q, 3.93051064332819631369914292573124112e+51Q, 1.54924371295785233686867649142553059e+53Q, 6.85499823804130100151231679166543611e+54Q, 3.41747996158320770357877327002949632e+56Q, 1.92690549864107998957222500013304086e+58Q, 1.23358096300491944958557136475962190e+60Q, 9.00281990289807691528078151573158069e+61Q, 7.52141514125344164522463463202808470e+63Q, 7.22427755490057899279344696654950663e+65Q, 8.01283283053507860974456727997488253e+67Q, 1.03099962028638036919997632019550562e+70Q, 1.54617495707674867923983623892142209e+72Q, 2.71580377261324869371341160824868908e+74Q, 5.61508992057174643750226165228505259e+76Q, 1.37366785934534333692942668275259398e+79Q, 3.99754102076962512613158938364235073e+81Q, 1.39150058933980008745266389466237314e+84Q, 5.82669384491202289249159160687839973e+86Q, 2.95227482092954909582266634062763990e+89Q, 1.82102306147846628152669685943631657e+92Q, 1.37597302213794152564743989887492097e+95Q, 1.28185236754341294523601004808033157e+98Q, 1.48213012720199050337233086306566580e+101Q, 2.14157427379243531419232668034147566e+104Q, 3.89449554094711237984570195229015661e+107Q, 8.97864636258010296104790318951217808e+110Q, 2.64413158980724405044777067425347595e+114Q, 1.00240353984191383430257305957041439e+118Q, 4.93141280490390525871801097705197944e+121Q, 3.17440111243586504420672164931106998e+125Q, 2.69662400176189239027511019786185589e+129Q, 3.04979932232044716644635827452454425e+133Q, 4.63404152681868778475392087605038845e+137Q, 9.54898313480310651224157422560754643e+141Q, 2.69440486619208982853089677098686964e+146Q, 1.05150272003639532507210605903884076e+151Q, 5.73417064062624495509840837865743050e+155Q, 4.41627650777870044428827641421915327e+160Q, 4.85653500442164862297918118887566388e+165Q, 7.71243776020172406235461422008761914e+170Q, 1.78944284768135145352387398006192815e+176Q, 6.13948504948193852500464630902178966e+181Q, 3.15374719244414866832063986813364807e+187Q, 2.45678229633130089072342575625791640e+193Q, 2.94097956743157560377748279040964662e+199Q, 5.48435772238022826264635788020315114e+205Q, 1.61576755939787162649511106856450099e+212Q, 7.63055674811964328822328719215905762e+218Q, 5.86357963426750903008317058039636736e+225Q, 7.44578009523250679265610908767109796e+232Q, 1.58753358925950887380498944645468602e+240Q, 5.77757179750005470017336807397418313e+247Q, 3.65046885264085030960970127282511879e+255Q, 4.07509702021276189043935129812053895e+263Q, 8.18389073292535025618266801702554839e+271Q, 3.01238089652162618211263051563523370e+280Q, 2.07176624104483264053704912869659325e+289Q, 2.71562735784398218302697011744202385e+298Q, 6.92451661016398143622710849660362520e+307Q, 3.50810155650162047040906671177815417e+317Q, 3.60896781300246599975888048597671985e+327Q, 7.71058277826701049982730585006218034e+337Q, 3.50154660288711246272389096490054302e+348Q, 3.46175331564137723439223486579386975e+359Q, 7.63696466254316472130052183903629062e+370Q, 3.85655304044390258996784681505914035e+382Q, 4.57665692577932081843759029527968784e+394Q, 1.31143566628034307965133274338127595e+407Q, 9.33142940209453779649608781259673613e+419Q, 1.69703443400488874615229289912465401e+433Q, 8.12664327627950884948530966790210152e+446Q, 1.05671342182667061564323377987059929e+461Q, 3.85123350151333031094457679550412807e+475Q, 4.06487630836024540948583469098247829e+490Q, 1.28516517984503545753808504263016648e+506Q, 1.26025754690341684764700072541766676e+522Q, 3.97331612896914344554453503890576277e+538Q, 4.17965516524315248567041014799432863e+555Q, 1.52416658652941127494202186163265994e+573Q, 2.00432202283496263048589917253126663e+591Q, 9.89983817930114056039301724151237036e+609Q, 1.91539340453423886973992445388091844e+629Q, 1.51593315523153267229971976448703684e+649Q, 5.13233111267478387648166311677061530e+669Q, 7.78392571224632702458474933380523830e+690Q, 5.54632077048043201021342066119640603e+712Q, 1.95012604607548018918112113273623192e+735Q, 3.55940947870861006830654543397286882e+758Q, 3.55349341454925685547195460273265331e+782Q, 2.04795692045857243226580641802720017e+807Q, 7.20348918974342452885439546130773017e+832Q, 1.63778937282231874342883712446170710e+859Q, 2.55384218509638087014670377175798088e+886Q, 2.90332357089198897009653578594580665e+914Q, 2.56300421336271050326091753908665515e+943Q, 1.87504708602076913446948153935468528e+973Q, 1.21573089114719501597325465689193734e+1004Q, 7.48693407429699486755736805187051392e+1035Q, 4.70376397570597947605315058283235338e+1068Q, 3.24549375035327607806235059706162609e+1102Q, 2.65365798053210741189633750297123713e+1137Q, 2.78113361306514574568406809189880354e+1173Q, 4.05114001708803517429009145027606492e+1210Q, 8.91647476482514121118371429882160487e+1248Q, 3.23223851331898724884680382253593571e+1288Q, 2.10925909168894371224120829576314259e+1329Q, 2.71594389750881594498007515800169231e+1371Q, 7.58558239286242519535157411695442827e+1414Q, 5.06701669031717221741926320252846248e+1459Q, 8.95314256637167381172114473249653533e+1505Q, 4.64314397380853725563695225910483395e+1553Q, 7.86772811149376784892131781209226509e+1602Q, 4.86578559687970087801384706555207321e+1653Q, 1.23116054769360594876926981962811083e+1706Q, 1.43383897399728293235616506956599019e+1760Q, 8.67960762728500385489074199138374599e+1815Q, 3.09584788327503858182429306492345781e+1873Q, 7.40514657822678853879551103162851562e+1932Q, 1.35750288266752565171774149402837640e+1994Q, 2.18886955807028168114167639122307268e+2057Q, 3.57839966436010585653478204799948336e+2122Q, 6.86791017358151132323155526430183469e+2189Q, 1.80021943882415618419042799861559854e+2259Q, 7.53312429569410546159363413753399067e+2330Q, 5.91165553375547478649257686857639971e+2404Q, },
{ 1.57096255099783261137673508918980377e+00Q, 1.57229290236721196082451564636254803e+00Q, 1.57495658191266675503402671533627186e+00Q, 1.57895955363616398471678434379990522e+00Q, 1.58431078956361430514416599492388597e+00Q, 1.59102230111703510742216272394562613e+00Q, 1.59910918118616033722590556649394763e+00Q, 1.60858965710906746764504456185444654e+00Q, 1.61948515482641974319339137784305225e+00Q, 1.63182037453073931785527493516038124e+00Q, 1.64562337819112567903033806653906069e+00Q, 1.66092568939542410935608828998468834e+00Q, 1.67776240601646371733138779357535047e+00Q, 1.69617232627708297296989766202480515e+00Q, 1.71619808886073246730768842066355199e+00Q, 1.73788632779101456236627555096372654e+00Q, 1.76128784288515241044102589887617560e+00Q, 1.78645778667368642025315725404601102e+00Q, 1.81345586877233558659749539967614045e+00Q, 1.84234657879265254187280543490489739e+00Q, 1.87319942898662752121993510591579920e+00Q, 1.90608921793761261888076943857856180e+00Q, 1.94109631673677945144587926354356120e+00Q, 1.97830697922181656566949720098719647e+00Q, 2.01781367800384433737712026561151498e+00Q, 2.05971546817081389507270282494773392e+00Q, 2.10411838073232749275747224342524909e+00Q, 2.15113584806337555354918618566085438e+00Q, 2.20088916381459141771044083611555369e+00Q, 2.25350797998611420231160903572594743e+00Q, 2.30913084411305337537709048855358397e+00Q, 2.36790577978511333384857209921738492e+00Q, 2.42999091402365295350102767412517845e+00Q, 2.49555515536908558968587982458158759e+00Q, 2.56477892689313451429557802920827974e+00Q, 2.63785495874745168415081659796280588e+00Q, 2.71498914529626806741705564771250802e+00Q, 2.79640147236028053619149909690973720e+00Q, 2.88232702062657870038560203490158574e+00Q, 2.97301705186029380311201985278736098e+00Q, 3.06874018519362823755119514588303156e+00Q, 3.16978367147348738564623946178566521e+00Q, 3.27645477442732860056345607892739085e+00Q, 3.38908226826615609816107421136979984e+00Q, 3.50801806229286913554992299494422526e+00Q, 3.63363896413353027399263692498221540e+00Q, 3.76634859436988420367634452674074607e+00Q, 3.90657946663630928939225987850575005e+00Q, 4.05479524866754112035397645627643742e+00Q, 4.21149322136091780158052739625729631e+00Q, 4.37720695466646221916071477112304019e+00Q, 4.55250922105994638849140210916632132e+00Q, 4.73801516951078282566987752649050466e+00Q, 4.93438578525358788671420711795537458e+00Q, 5.14233166333819107447595069798421539e+00Q, 5.36261712689997622445803908396748884e+00Q, 5.59606472439710019418213140693069575e+00Q, 5.84356014374437330661446789126222075e+00Q, 6.10605758538173469317727364122669467e+00Q, 6.38458564090067143612732202429488542e+00Q, 6.68025372897382444864907987044889317e+00Q, 6.99425914605841270881961646990609410e+00Q, 7.32789479574890106033548644768353338e+00Q, 7.68255766782458876413667730681699443e+00Q, 8.05975814607113727007240055318338450e+00Q, 8.46113023296234288939356989479671723e+00Q, 8.88844278939567108027044653070693778e+00Q, 9.34361189902548515485066576358196470e+00Q, 9.82871447949462202212030994384949241e+00Q, 1.03460032772138062549383568058709409e+01Q, 1.08979233984912291622835480030167114e+01Q, 1.14871305480132578973614919602781370e+01Q, 1.21165111661978855517781913327317255e+01Q, 1.27892046801009632078942555615288463e+01Q, 1.35086281087128109623831457304510920e+01Q, 1.42785032930533442126932924888187804e+01Q, 1.51028870549318132669071327511660921e+01Q, 1.59862046261270319640752848374642080e+01Q, 1.69332867326908112807352382039426796e+01Q, 1.79494107678000050622926329104204826e+01Q, 1.90403465419082315888820165929975494e+01Q, 2.02124071618296433363312214170232623e+01Q, 2.14725056619224736964251610816575600e+01Q, 2.28282180919971350546248653847563966e+01Q, 2.42878538594168042463845071817020910e+01Q, 2.58605342287811778487151334440784950e+01Q, 2.75562800035467442565131080245429614e+01Q, 2.93861095522110956389210768876799587e+01Q, 3.13621484999095132865600012683857137e+01Q, 3.34977525874991258153646142408367963e+01Q, 3.58076454079962546803810835720597110e+01Q, 3.83080729687253016658377309622401176e+01Q, 4.10169773015547344709659456503154667e+01Q, 4.39541916587611362308342994483809472e+01Q, 4.71416601949419692729062784327679986e+01Q, 5.06036854536665922553724504470269960e+01Q, 5.43672074601944525232284101611170030e+01Q, 5.84621187791213843904071404608607478e+01Q, 6.29216205405812878410372213510070276e+01Q, 6.77826251851241666263837617897404532e+01Q, 7.30862125426522301461255132629846162e+01Q, 7.88781468648814729209715096907821639e+01Q, 8.52094635973465833426799692679733796e+01Q, 9.21371360338777471668559829773781201e+01Q, 9.97248335767075464896305315099053068e+01Q, 1.08043785167904642576949987865910954e+02Q, 1.17173763608862169247776700625586421e+02Q, 1.27204208998868737227575356110541727e+02Q, 1.38235512466410237338282474486031692e+02Q, 1.50380484815148331050381123359927804e+02Q, 1.63766038752610274212021042234298836e+02Q, 1.78535118123338340289613569013808793e+02Q, 1.94848913160728060357302969254459805e+02Q, 2.12889407359835266977366307026062112e+02Q, 2.32862309344799079018746113493039633e+02Q, 2.55000432284328199435640048881527463e+02Q, 2.79567594267244578195192766207761694e+02Q, 3.06863125912428093434496643114651412e+02Q, 3.37227086745120087399301385427960651e+02Q, 3.71046309996557625549265358225650347e+02Q, 4.08761417046617491055856040237506316e+02Q, 4.50874968419459367009632339064163929e+02Q, 4.97960948895977349122916983180817637e+02Q, 5.50675820938578587679472462796822793e+02Q, 6.09771424466317909206822143572649707e+02Q, 6.76110053572647368547479902312230309e+02Q, 7.50682103874142244645724064576848341e+02Q, 8.34626760051808119187547981730818179e+02Q, 9.29256284531554199823656475151338963e+02Q, 1.03608457849823472804207172846963877e+03Q, 1.15686081966189765730466332807313547e+03Q, 1.29360914245380859999201252074469995e+03Q, 1.44867552185420514387789438088656434e+03Q, 1.62478325953219761549580736728832563e+03Q, 1.82509875991531856022535679631713756e+03Q, 2.05330963597261755441688599655848892e+03Q, 2.31371761449477720025881552764731872e+03Q, 2.61134923664018699944734187657483567e+03Q, 2.95208799409362429898911389656789101e+03Q, 3.34283233256054817982471990245472659e+03Q, 3.79168492775659509883214798303432158e+03Q, 4.30817983871631895490690508451026040e+03Q, 4.90355562457020167332670064217006554e+03Q, 5.59108434363481145162671079876733528e+03Q, 6.38646862557124634146730890858054275e+03Q, 7.30832182941297944038809179971510199e+03Q, 8.37874981279970356111509048453001571e+03Q, 9.62405721874963805881171453111047092e+03Q, 1.10756066619114600841076275282388063e+04Q, 1.27708660544590438787794590107117849e+04Q, 1.47546879201948945213025955616435132e+04Q, 1.70808753741706634268551294101897318e+04Q, 1.98141030969548505096681178137364270e+04Q, 2.30322788820475490754732581365999861e+04Q, 2.68294531792863253502182123460963590e+04Q, 3.13194117839842820030641964449539820e+04Q, 3.66401220970699799668192565829190288e+04Q, 4.29592483666869017028607105165763804e+04Q, 5.04810088263984357248209974578040223e+04Q, 5.94547213318005529011388227962133751e+04Q, 7.01854787517268957919092596317475529e+04Q, 8.30475172617569400265716546608431303e+04Q, 9.85009980505357544638949542794405193e+04Q, 1.17113126626176606026864191754698095e+05Q, 1.39584798216058984483938678946454092e+05Q, 1.66784301639307755633312351999980104e+05Q, 1.99790062652052468605951710457597772e+05Q, 2.39944994603299218686253514351518948e+05Q, 2.88925793983801323167992289814829493e+05Q, 3.48831530919430454806103930858415528e+05Q, 4.22297220149677844682618484564386312e+05Q, 5.12639824636925361908056913471196846e+05Q, 6.24046487622198979196137566922551170e+05Q, 7.61817907323361594136262168936978923e+05Q, 9.32683930022411925704630601110030182e+05Q, 1.14521400777429753902355978052778602e+06Q, 1.41035264627423311876298925540665884e+06Q, 1.74212004187586338510201667214170577e+06Q, 2.15853171693428701405141183541166264e+06Q, 2.68280941012642673073659887232388938e+06Q, 3.34498056359541886091597912499527306e+06Q, 4.18399797233770604788689812330719069e+06Q, 5.25055800816550175243256559083639418e+06Q, 6.61086017414168098803951872291131863e+06Q, 8.35163942396755869310534556270941378e+06Q, 1.05869253239392990034806970327887878e+07Q, 1.34671523510623940861241599892229316e+07Q, 1.71914827102426302145958883698307763e+07Q, 2.20245344902770169422620623417295079e+07Q, 2.83191730172433779681268016861978467e+07Q, 3.65476782026834493187990343694010282e+07Q, 4.73445265723062610640363034466641760e+07Q, 6.15653406350951387288804933390908042e+07Q, 8.03684302689786924828741611740519293e+07Q, 1.05328028435969028854761469747289545e+08Q, 1.38592168908412628618546923035162247e+08Q, 1.83103698592568352374304770508191971e+08Q, 2.42910945745864082034287213456845086e+08Q, 3.23606239375966746282831194186614169e+08Q, 4.32947521859998666323053129499091577e+08Q, 5.81743296796292947920442886775592966e+08Q, 7.85117978938819178602650773642870262e+08Q, 1.06432919762707530726575966438229782e+09Q, 1.44938958291294548467516226794019366e+09Q, 1.98286646937799184909776706883985509e+09Q, 2.72541431469809432350206616813747393e+09Q, 3.76386796411162144400474070771015333e+09Q, 5.22313881495099093715899688078276720e+09Q, 7.28378581064439770444275729738468286e+09Q, 1.02080964238115874250636198090464363e+10Q, 1.43789931847051052135186583023967432e+10Q, 2.03583681254363357780032810961889254e+10Q, 2.89749982708002744366825785538936402e+10Q, 4.14577375164549487752492409798515416e+10Q, 5.96383768387242628650336526594122215e+10Q, 8.62622848391553079951805623395652598e+10Q, 1.25466704538982518000690409655705216e+11Q, 1.83521298226491318558080545133554232e+11Q, 2.69981220740015160361114268684563366e+11Q, 3.99492845215192295441294253418780644e+11Q, 5.94638055870143455023933020703444642e+11Q, 8.90440996742409110650533033931653292e+11Q, 1.34155194167777583831947241717631506e+12Q, 2.03376855033215189170105222958089604e+12Q, 3.10262795987575321360135087196684567e+12Q, 4.76359832170586206290082815387968037e+12Q, 7.36142036056081358397678626842794083e+12Q, 1.14512696145655742338758840735549183e+13Q, 1.79331418699627392634462052642542749e+13Q, 2.82758550128579223200239017529280909e+13Q, 4.48929705367844466861372765075631687e+13Q, 7.17780287265849957064212371548037347e+13Q, 1.15585509854582062520354852997620279e+14Q, 1.87483388636788309288478433629583664e+14Q, 3.06351035640217445409310567498133847e+14Q, 5.04340065300597024230361727189343426e+14Q, 8.36616339689242989007881200440488764e+14Q, 1.39855635164094728875364679627485304e+15Q, 2.35633574951616468243164849507855064e+15Q, 4.00176516738263745645278590345795707e+15Q, 6.85137512840494144543571512545601884e+15Q, 1.18269011176154399046326619510431010e+16Q, 2.05867352701380644281110910622942185e+16Q, 3.61396878431490463311666873476678412e+16Q, 6.39911218439421355095519025524482256e+16Q, 1.14301618562837692261569180960886276e+17Q, 2.05988138391566644299797673070467922e+17Q, 3.74584678835368091393630059068193045e+17Q, 6.87444303468314906803024757565005462e+17Q, 1.27340764361348531366853034790770231e+18Q, 2.38124191682989536626992792404294190e+18Q, 4.49583561730710839927340662784958898e+18Q, 8.57144202490195270096830399067728169e+18Q, 1.65044358418165696532477771893166700e+19Q, 3.21010035242131785085169993033188229e+19Q, 6.30778012444270309076492866733769742e+19Q, 1.25240403115766127899628450500249765e+20Q, 2.51300529564998539443832117224536420e+20Q, 5.09677625569083843571268035202853929e+20Q, 1.04501920001667304566512216455267827e+21Q, 2.16647647926087846601520265828431353e+21Q, 4.54213814567839546278770815494416868e+21Q, 9.63208232444913712819259248595549405e+21Q, 2.06638653668825452816630915727527426e+22Q, 4.48552978555442825059406438230470388e+22Q, 9.85387957361097750825498509227133701e+22Q, 2.19115887446437440814640517501285189e+23Q, 4.93283596439097166796547625560314132e+23Q, 1.12450152997177436346173556893175508e+24Q, 2.59626913615675600812300017445220112e+24Q, 6.07229293831362550112108555687653017e+24Q, 1.43898906630800383562329122001513450e+25Q, 3.45584195640657046905140678735606870e+25Q, 8.41265519171357648977229820858109463e+25Q, 2.07628906165081651016090959669418757e+26Q, 5.19651502464022032237151119613068945e+26Q, 1.31917319408964404296057699402007921e+27Q, 3.39745589598038079361346075350889747e+27Q, 8.87905745443850359109225209251728000e+27Q, 2.35527236149206412607849676379867126e+28Q, 6.34276200772262482389475687836384423e+28Q, 1.73453109399085970484897533524593455e+29Q, 4.81789317060683087119323058524624972e+29Q, 1.35959734649014823198654051259347560e+30Q, 3.89896968990650039174705544740914822e+30Q, 1.13654298652998993600898528562905634e+31Q, 3.36845004399178001650511659074612092e+31Q, 1.01530408470981725989945294876828360e+32Q, 3.11314437622191823730222798219255685e+32Q, 9.71307273973014040273869048577801862e+32Q, 3.08451764358172594571945077912559223e+33Q, 9.97268213982049728423469082288644341e+33Q, 3.28362505228849158612675319471610094e+34Q, 1.10137878539082753552686700652535380e+35Q, 3.76433336759271429732220889611944227e+35Q, 1.31140346593824292621577115225698644e+36Q, 4.65813571068281367213354863266427946e+36Q, 1.68751734747051139203189162215633629e+37Q, 6.23705368501832349017363870039959902e+37Q, 2.35257131442774486893301429598817553e+38Q, 9.05893824021969993626817980294413695e+38Q, 3.56224909761113607077591549609142868e+39Q, 1.43095929157855820977839447284784020e+40Q, 5.87397458498437504922632656680942932e+40Q, 2.46482854981128378684502286098690220e+41Q, 1.05764920309085562822396787743332401e+42Q, 4.64247563928107803530506772359734012e+42Q, 2.08528711827242177927156523287132065e+43Q, 9.58843998518663217709277358040461543e+43Q, 4.51498201124609227956079072858258677e+44Q, 2.17797404834197320411588567916752909e+45Q, 1.07672097682290045825361349736107198e+46Q, 5.45726743292908558875367244655615249e+46Q, 2.83686927045578113375020568154351117e+47Q, 1.51310320139201162564313806536303971e+48Q, 8.28397466722561707458255405781541923e+48Q, 4.65723949199597134403065145457979764e+49Q, 2.68979637071283693718739500357715726e+50Q, 1.59659784691197038762901224386099403e+51Q, 9.74415453825658662874112107295166701e+51Q, 6.11723839484331306452493250946377612e+52Q, 3.95204965058524182677586041680204451e+53Q, 2.62870159207425821306145211826683375e+54Q, 1.80099019650267939321809025642439880e+55Q, 1.27155446256306838318997486480890087e+56Q, 9.25588010447776071059464920928086632e+56Q, 6.94973792013391939342588109222317053e+57Q, 5.38516720076996562080859176422021036e+58Q, 4.30849366810297877444039522534393308e+59Q, 3.56095155754217837059656555899190815e+60Q, 3.04188852838464999204043663335571874e+61Q, 2.68709444193083718922293037351168007e+62Q, 2.45592053890000085507656649738841713e+63Q, 2.32364825416864153745578539849845717e+64Q, 2.27712974158489233058096874867974690e+65Q, 2.31263355291322473374027008502422191e+66Q, 2.43540759298129112939388619780518297e+67Q, 2.66091038882246524570905302589811279e+68Q, 3.01810594342353392025458974267831671e+69Q, 3.55582348951019250289525994888733340e+70Q, 4.35418887779384901315251041444022899e+71Q, 5.54497579551181331524599144834616000e+72Q, 7.34827648190988633565298908145357523e+73Q, 1.01399802572242326074394064208241565e+75Q, 1.45791146224460794340779409761344050e+76Q, 2.18548887681950529537081926891986328e+77Q, 3.41802215328662300798456454917771592e+78Q, 5.58084392060183572830239216435019125e+79Q, 9.51958650279973390758331753317257950e+80Q, 1.69757357824719778562747265505252946e+82Q, 3.16690667099018001388115076193097403e+83Q, 6.18509910641867543038652223056425804e+84Q, 1.26554113438693437654962757714903554e+86Q, 2.71482896587775689871692274985919286e+87Q, 6.11038680296449408162222719197467046e+88Q, 1.44405408617108323852658132530082074e+90Q, 3.58608372663838816495703910754396082e+91Q, 9.36523186806323959966772742491929522e+92Q, 2.57408011620512244881601880029319908e+94Q, 7.45213468986230271920125476429174422e+95Q, 2.27430990383616981910627355587444817e+97Q, 7.32301113412116474943463116371095103e+98Q, 2.48981642173793246167799170730006141e+100Q, 8.94653338635928158843209476986997508e+101Q, 3.40040137239116597862336436061445989e+103Q, 1.36828818620892821730981225660157834e+105Q, 5.83427748982959193060571787534606697e+106Q, 2.63848693767238342424340754241860221e+108Q, 1.26672888276713952132156406152434700e+110Q, 6.46222517831418280306046165038174027e+111Q, 3.50643232060757360375065377104810475e+113Q, 2.02560893394326816509670349356333828e+115Q, 1.24704167708478470702273287091045609e+117Q, 8.18986518840527903795498196049278255e+118Q, 5.74361089440609996487936977642920132e+120Q, 4.30580893408448976261136511421423734e+122Q, 3.45415696607949675499703108821962730e+124Q, 2.96831660153035273688363706593385374e+126Q, 2.73545624237218359223636851390580041e+128Q, 2.70631717669007784745026117275242499e+130Q, 2.87767991634206038473084413615742294e+132Q, 3.29241287826810639047033778585737812e+134Q, 4.05784096195372596931902665934287382e+136Q, 5.39378304910573732382585500687737807e+138Q, 7.74152390167223540621293648465491842e+140Q, 1.20120996231066845642412985516875175e+143Q, 2.01745607955680730064740044686640147e+145Q, 3.67217662348306252636962893865111425e+147Q, 7.25316379805857762968710347450256630e+149Q, 1.55659153530257056999948366173645285e+152Q, 3.63439983279039488510674235872123571e+154Q, 9.24438760046827764031744167566698413e+156Q, 2.56505460126015154661078513762260065e+159Q, 7.77468767447849521051212939671796074e+161Q, 2.57775340952739965069105894604883404e+164Q, 9.36236559200171990439286451934391539e+166Q, 3.73025928974609135812613567068392186e+169Q, 1.63280699411172483017448754437467171e+172Q, 7.86350685466830069681739337700194312e+174Q, 4.17288659053103260909421860789088638e+177Q, 2.44376468354452976432259429734905692e+180Q, 1.58182604983516221850901239956537929e+183Q, 1.13349408906485996833819126879692168e+186Q, 9.00609317867158059779746161516574861e+188Q, 7.94724581006520631483760616875503191e+191Q, 7.80148734070770210787180909072341250e+194Q, 8.53389980133319877537947288273508168e+197Q, 1.04199907704816359699116619452657846e+201Q, 1.42261945983107616739713958471131412e+204Q, 2.17558254343347922345039318825837040e+207Q, 3.73339221107050141050095672544726852e+210Q, 7.20212971416878494124587287789857735e+213Q, 1.56476087980246841023430707631510252e+217Q, 3.83599289170088247519036274601375492e+220Q, 1.06310518934360483187879118646180568e+224Q, 3.33719954606082150504485397744546787e+227Q, 1.18890644129926367056386614030943443e+231Q, 4.81657405194041613555936914144916344e+234Q, 2.22347874123114616622582251703709887e+238Q, 1.17199258523361213934517364652872480e+242Q, 7.06839671131322838482398929154588609e+245Q, 4.88812662946732326430886472870070228e+249Q, 3.88441192207630934518298772235960268e+253Q, 3.55483921979499015020713995580889030e+257Q, 3.75484510816250928148708038190395303e+261Q, 4.58798720933643387311573482445886110e+265Q, 6.49989966050568126079524541048529496e+269Q, 1.07018103272413666142402906179157598e+274Q, 2.05258799808849457042833394124187317e+278Q, 4.59710306190259625117029822247574448e+282Q, 1.20521640888055636836192268959955157e+287Q, 3.70784262206985650361726040790594581e+291Q, 1.34198324051735290325452259089861845e+296Q, 5.72866922601176092550850127280325304e+300Q, 2.89181208605318627652310091586335359e+305Q, 1.73078309894901278503683645288680165e+310Q, 1.23150483936231719457381379774516673e+315Q, 1.04456022524616506171048138618772005e+320Q, 1.05909848234544418123752752792015094e+325Q, 1.28725694153849592436889057738754649e+330Q, 1.88087499295689639308903342601320607e+335Q, 3.31344446614783992260480183208324732e+340Q, 7.05835740270200829603933852702222207e+345Q, 1.82360609116987101874149506325271866e+351Q, 5.73167527316999715111499624522524490e+356Q, 2.19834460849656433024448179756162490e+362Q, 1.03213196012299389398122351217909554e+368Q, 5.95090459142945173642877532664315820e+373Q, 4.22711326689560391486862730288730260e+379Q, 3.71146073815998244096864189178283440e+385Q, 4.04143285030597516778349567433491877e+391Q, 5.47630493200706306950643242188138639e+397Q, 9.26610183846830899934754118194991047e+403Q, 1.96463867218278875638951764233831097e+410Q, 5.23826401399289488725708314794013273e+416Q, 1.76269979359229195206462702562496087e+423Q, 7.51358974574222029659643352716721030e+429Q, 4.07203690042780566335825621191079282e+436Q, 2.81652392485993763998682010256080428e+443Q, 2.49586432083962995754217338958145192e+450Q, 2.84464997550187838898841424132533307e+457Q, 4.18656911271834268911740204159815337e+464Q, 7.98835944729121866190974499356597568e+471Q, 1.98427885725374523364086923738598523e+479Q, 6.44313780728812316513345459942694301e+486Q, 2.74646447436726496994650106679472135e+494Q, 1.54345331097536381511922890966406624e+502Q, 1.14854061177091306735355343708426610e+510Q, 1.13671799925771100929831048483235430e+518Q, 1.50301408173820906903238314130252343e+526Q, 2.66721742401349021977265127553699936e+534Q, 6.38191727827371990119668697526910696e+542Q, 2.06864189323929509313332139375745418e+551Q, 9.12718925758572793769909253655546363e+559Q, 5.50827087084343716443556503345322384e+568Q, 4.56943096951975523591483538202467049e+577Q, 5.23664812769936727945516120554813767e+586Q, 8.33295831969513770916127078276468196e+595Q, 1.85073603040006635508770638738735213e+605Q, 5.76725912854578779706265298662279369e+614Q, 2.53507221317613667093309510235117825e+624Q, 1.58037348241924263546145926074674624e+634Q, 1.40497098317887844492262106048698980e+644Q, 1.79118532756424559114150403858023467e+654Q, 3.29340233091271285034548969456076701e+664Q, 8.78384225704905897945003526718634352e+674Q, 3.41824790512159692619674889187554870e+685Q, 1.95247619547378795632466874007982924e+696Q, 1.64685615123975037569921507294781182e+707Q, 2.06385512057306929298128483493412318e+718Q, 3.86691162964076111860523245198584961e+729Q, 1.09008736553561747232882422664193409e+741Q, 4.65333391196364819411904308657257877e+752Q, 3.02768585771015415481330091322447912e+764Q, 3.02262040534180824988954474846992913e+776Q, 4.66133722640174567906974646266839244e+788Q, 1.11806119156969171229108916233644999e+801Q, 4.20019655376202192049844032418033555e+813Q, 2.48880615873773868126893696694455625e+826Q, 2.34286193142054643224145247339492426e+839Q, 3.52941162196327496812531706159176164e+852Q, 8.57183106082165907783781027353105401e+865Q, 3.38163627323872188047900717079347979e+879Q, 2.18363447282104345585022834572887531e+893Q, 2.32596275137292895223293068081362090e+907Q, 4.11925247272574761366980289309686003e+921Q, 1.22265489460258041690738897372130823e+936Q, 6.13184165651799059701146847592463464e+950Q, 5.23922303275545560334122760478493484e+965Q, 7.69087233862553980667730597006685190e+980Q, 1.95622275953749870274795206909257068e+996Q, 8.69670052895401378378113763338699958e+1011Q, 6.81715148318539616903616353647181598e+1027Q, 9.50697711954141544724599553989093262e+1043Q, 2.38019733682587370869498352841844428e+1060Q, 1.07973324919847346937291516197684901e+1077Q, 8.95814284819025403820872820042945790e+1093Q, 1.37229192661307043018958002675397831e+1111Q, 3.91918794622242371528673544888524419e+1128Q, 2.10730218913863433412315532873510194e+1146Q, 2.15459607934366008026324206138837528e+1164Q, 4.23163839295623007237154131840451677e+1182Q, 1.61294441956204958952970453918741185e+1201Q, 1.20568335528354973250479511763057854e+1220Q, 1.78630819666459637235669417819650103e+1239Q, 5.30233997012953850434143324467683139e+1258Q, 3.18800705045665419646272046839479382e+1278Q, 3.92589619613994835597705628928304867e+1298Q, 1.00145056975313260959947278741812233e+1319Q, 5.35268808912615454171856125906228237e+1339Q, 6.06491960606218539467705074145131193e+1360Q, 1.47410187506507259371724909079906759e+1382Q, 7.77855372825975976779550291054389078e+1403Q, 9.02071339187528665617085297107535931e+1425Q, 2.32776342394968427168699373890370933e+1448Q, 1.35351409374730203846799381939288903e+1471Q, 1.79625881886715571166142200348072039e+1494Q, 5.51189494978629938318487744451579809e+1517Q, 3.96270198063441303687686251379779681e+1541Q, 6.76492837567767494547614386605795924e+1565Q, 2.77991073110506719318274536923711255e+1590Q, 2.78805951202715437087943440518839779e+1615Q, 6.92116280606414755524296394791409952e+1640Q, 4.31380309053366092943951122004431463e+1666Q, 6.84923073262139995438889690748178280e+1692Q, 2.81137418164430829179092468240459910e+1719Q, 3.02821524237655652451836921974619657e+1746Q, 8.69048903533522694231765189726868666e+1773Q, 6.74828063313306417588175763238310325e+1801Q, 1.44026065844141159256872926595644247e+1830Q, 8.58426091495439408178371839859019039e+1858Q, 1.45211919400936944187225846047638548e+1888Q, 7.08718013380970011842483247147601395e+1917Q, 1.01475962220405902523641440040104610e+1948Q, 4.33542978691578087509838132034723750e+1978Q, 5.62285772227295495777726116212032065e+2009Q, 2.25285072921565445630031609130087435e+2041Q, 2.83839050906274298341210206309759282e+2073Q, 1.14501659579022194588844609345877849e+2106Q, 1.50629562239998305958408533546634030e+2139Q, 6.58342161306998815751663631350733541e+2172Q, 9.74198999952210922892973281379349494e+2206Q, 4.97552704772088889228035264268694867e+2241Q, 8.94330619882842342247706838649878784e+2276Q, 5.77072420156026800834371478648673792e+2312Q, 1.36388225285320494361282201451878478e+2349Q, 1.20508189950290985406298094670730466e+2386Q, 4.06413362486490272506766749982212198e+2423Q, 5.34308092015215251528601382597439463e+2461Q, },
};
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_weights.size() - 1);
+#else
+ m_committed_refinements = m_weights.size() - 1;
+#endif
m_t_max = 8.88600744303961370002819023592353264e+00Q;
if (m_max_refinements >= m_abscissas.size())
{
diff --git a/boost/math/quadrature/detail/tanh_sinh_detail.hpp b/boost/math/quadrature/detail/tanh_sinh_detail.hpp
index 87b05b317c..b881e6b4bd 100644
--- a/boost/math/quadrature/detail/tanh_sinh_detail.hpp
+++ b/boost/math/quadrature/detail/tanh_sinh_detail.hpp
@@ -45,7 +45,7 @@ public:
}
template<class F>
- Real integrate(const F f, Real* error, Real* L1, const char* function, Real left_min_complement, Real right_min_complement, Real tolerance, std::size_t* levels) const;
+ decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) integrate(const F f, Real* error, Real* L1, const char* function, Real left_min_complement, Real right_min_complement, Real tolerance, std::size_t* levels) const;
private:
const std::vector<Real>& get_abscissa_row(std::size_t n)const
@@ -181,7 +181,7 @@ private:
template<class Real, class Policy>
template<class F>
-Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1, const char* function, Real left_min_complement, Real right_min_complement, Real tolerance, std::size_t* levels) const
+decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1, const char* function, Real left_min_complement, Real right_min_complement, Real tolerance, std::size_t* levels) const
{
using std::abs;
using std::fabs;
@@ -224,10 +224,12 @@ Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1,
//
BOOST_ASSERT(m_abscissas[0][max_left_position] < 0);
BOOST_ASSERT(m_abscissas[0][max_right_position] < 0);
-
+ //
+ // The type of the result:
+ typedef decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) result_type;
Real h = m_t_max / m_inital_row_length;
- Real I0 = half_pi<Real>()*f(0, 1);
+ result_type I0 = half_pi<Real>()*f(0, 1);
Real L1_I0 = abs(I0);
for(size_t i = 1; i < m_abscissas[0].size(); ++i)
{
@@ -243,7 +245,7 @@ Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1,
}
else
xc = x - 1;
- Real yp, ym;
+ result_type yp, ym;
yp = i <= max_right_position ? f(x, -xc) : 0;
ym = i <= max_left_position ? f(-x, xc) : 0;
I0 += (yp + ym)*w;
@@ -257,7 +259,7 @@ Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1,
// L1_I0 and L1_I1 are the absolute integral values.
//
size_t k = 1;
- Real I1 = I0;
+ result_type I1 = I0;
Real L1_I1 = L1_I0;
Real err = 0;
//
@@ -274,7 +276,7 @@ Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1,
I1 = half<Real>()*I0;
L1_I1 = half<Real>()*L1_I0;
h *= half<Real>();
- Real sum = 0;
+ result_type sum = 0;
Real absum = 0;
auto const& abscissa_row = this->get_abscissa_row(k);
auto const& weight_row = this->get_weight_row(k);
@@ -327,9 +329,9 @@ Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1,
xc = x - 1;
}
- Real yp = j > max_right_index ? 0 : f(x, -xc);
- Real ym = j > max_left_index ? 0 : f(-x, xc);
- Real term = (yp + ym)*w;
+ result_type yp = j > max_right_index ? 0 : f(x, -xc);
+ result_type ym = j > max_left_index ? 0 : f(-x, xc);
+ result_type term = (yp + ym)*w;
sum += term;
// A question arises as to how accurately we actually need to estimate the L1 integral.
@@ -372,7 +374,7 @@ Real tanh_sinh_detail<Real, Policy>::integrate(const F f, Real* error, Real* L1,
// parameters. We could keep hunting until we find something, but that would handicap
// integrals which really are zero.... so a compromise then!
//
- if (err <= tolerance*L1_I1)
+ if (err <= abs(tolerance*L1_I1))
{
break;
}
@@ -506,8 +508,11 @@ void tanh_sinh_detail<Real, Policy>::init(const Real& min_complement, const mpl:
m_first_complements = {
1, 0, 1, 1, 3, 5, 11, 22,
};
-
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_abscissas.size() - 1);
+#else
+ m_committed_refinements = m_abscissas.size() - 1;
+#endif
if (m_max_refinements >= m_abscissas.size())
{
@@ -556,8 +561,11 @@ void tanh_sinh_detail<Real, Policy>::init(const Real& min_complement, const mpl:
m_first_complements = {
1, 0, 1, 1, 3, 5, 11, 22,
};
-
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_abscissas.size() - 1);
+#else
+ m_committed_refinements = m_abscissas.size() - 1;
+#endif
if (m_max_refinements >= m_abscissas.size())
{
@@ -605,8 +613,11 @@ void tanh_sinh_detail<Real, Policy>::init(const Real& min_complement, const mpl:
m_first_complements = {
1, 0, 1, 1, 3, 5, 11, 22,
};
-
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_abscissas.size() - 1);
+#else
+ m_committed_refinements = m_abscissas.size() - 1;
+#endif
if (m_max_refinements >= m_abscissas.size())
{
@@ -656,8 +667,11 @@ void tanh_sinh_detail<Real, Policy>::init(const Real& min_complement, const mpl:
m_first_complements = {
1, 0, 1, 1, 3, 5, 11, 22,
};
-
+#ifndef BOOST_MATH_NO_ATOMIC_INT
m_committed_refinements = static_cast<boost::math::detail::atomic_unsigned_integer_type>(m_abscissas.size() - 1);
+#else
+ m_committed_refinements = m_abscissas.size() - 1;
+#endif
if (m_max_refinements >= m_abscissas.size())
{
diff --git a/boost/math/quadrature/tanh_sinh.hpp b/boost/math/quadrature/tanh_sinh.hpp
index 7305d93aa2..25c65111de 100644
--- a/boost/math/quadrature/tanh_sinh.hpp
+++ b/boost/math/quadrature/tanh_sinh.hpp
@@ -44,14 +44,14 @@ public:
: m_imp(std::make_shared<detail::tanh_sinh_detail<Real, Policy>>(max_refinements, min_complement)) {}
template<class F>
- auto integrate(const F f, Real a, Real b, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(Real(std::declval<F>()(std::declval<Real>()))) const;
+ auto integrate(const F f, Real a, Real b, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(std::declval<F>()(std::declval<Real>())) const;
template<class F>
- auto integrate(const F f, Real a, Real b, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(Real(std::declval<F>()(std::declval<Real>(), std::declval<Real>()))) const;
+ auto integrate(const F f, Real a, Real b, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) const;
template<class F>
- auto integrate(const F f, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(Real(std::declval<F>()(std::declval<Real>()))) const;
+ auto integrate(const F f, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(std::declval<F>()(std::declval<Real>())) const;
template<class F>
- auto integrate(const F f, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(Real(std::declval<F>()(std::declval<Real>(), std::declval<Real>()))) const;
+ auto integrate(const F f, Real tolerance = tools::root_epsilon<Real>(), Real* error = nullptr, Real* L1 = nullptr, std::size_t* levels = nullptr) ->decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) const;
private:
std::shared_ptr<detail::tanh_sinh_detail<Real, Policy>> m_imp;
@@ -59,7 +59,7 @@ private:
template<class Real, class Policy>
template<class F>
-auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(Real(std::declval<F>()(std::declval<Real>()))) const
+auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(std::declval<F>()(std::declval<Real>())) const
{
BOOST_MATH_STD_USING
using boost::math::constants::half;
@@ -67,13 +67,15 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
static const char* function = "tanh_sinh<%1%>::integrate";
+ typedef decltype(std::declval<F>()(std::declval<Real>())) result_type;
+
if (!(boost::math::isnan)(a) && !(boost::math::isnan)(b))
{
// Infinite limits:
if ((a <= -tools::max_value<Real>()) && (b >= tools::max_value<Real>()))
{
- auto u = [&](const Real& t, const Real& tc)->Real
+ auto u = [&](const Real& t, const Real& tc)->result_type
{
Real t_sq = t*t;
Real inv;
@@ -92,7 +94,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
// Right limit is infinite:
if ((boost::math::isfinite)(a) && (b >= tools::max_value<Real>()))
{
- auto u = [&](const Real& t, const Real& tc)->Real
+ auto u = [&](const Real& t, const Real& tc)->result_type
{
Real z, arg;
if (t > -0.5f)
@@ -106,7 +108,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
return f(arg)*z*z;
};
Real left_limit = sqrt(tools::min_value<Real>()) * 4;
- Real Q = 2 * m_imp->integrate(u, error, L1, function, left_limit, tools::min_value<Real>(), tolerance, levels);
+ result_type Q = Real(2) * m_imp->integrate(u, error, L1, function, left_limit, tools::min_value<Real>(), tolerance, levels);
if (L1)
{
*L1 *= 2;
@@ -117,7 +119,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
if ((boost::math::isfinite)(b) && (a <= -tools::max_value<Real>()))
{
- auto v = [&](const Real& t, const Real& tc)->Real
+ auto v = [&](const Real& t, const Real& tc)->result_type
{
Real z;
if (t > -0.5)
@@ -133,7 +135,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
};
Real left_limit = sqrt(tools::min_value<Real>()) * 4;
- Real Q = 2 * m_imp->integrate(v, error, L1, function, left_limit, tools::min_value<Real>(), tolerance, levels);
+ result_type Q = Real(2) * m_imp->integrate(v, error, L1, function, left_limit, tools::min_value<Real>(), tolerance, levels);
if (L1)
{
*L1 *= 2;
@@ -154,11 +156,12 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
bool have_small_left = fabs(a) < 0.5f;
bool have_small_right = fabs(b) < 0.5f;
Real left_min_complement = float_next(avg_over_diff_m1) - avg_over_diff_m1;
- if (left_min_complement < tools::min_value<Real>())
- left_min_complement = tools::min_value<Real>();
+ Real min_complement_limit = (std::max)(tools::min_value<Real>(), Real(tools::min_value<Real>() / diff));
+ if (left_min_complement < min_complement_limit)
+ left_min_complement = min_complement_limit;
Real right_min_complement = avg_over_diff_p1 - float_prior(avg_over_diff_p1);
- if (right_min_complement < tools::min_value<Real>())
- right_min_complement = tools::min_value<Real>();
+ if (right_min_complement < min_complement_limit)
+ right_min_complement = min_complement_limit;
//
// These asserts will fail only if rounding errors on
// type Real have accumulated so much error that it's
@@ -169,7 +172,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
//
BOOST_ASSERT((left_min_complement * diff + a) > a);
BOOST_ASSERT((b - right_min_complement * diff) < b);
- auto u = [&](Real z, Real zc)->Real
+ auto u = [&](Real z, Real zc)->result_type
{
Real position;
if (z < -0.5)
@@ -190,7 +193,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
BOOST_ASSERT(position != b);
return f(position);
};
- Real Q = diff*m_imp->integrate(u, error, L1, function, left_min_complement, right_min_complement, tolerance, levels);
+ result_type Q = diff*m_imp->integrate(u, error, L1, function, left_min_complement, right_min_complement, tolerance, levels);
if (L1)
{
@@ -204,7 +207,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
template<class Real, class Policy>
template<class F>
-auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(Real(std::declval<F>()(std::declval<Real>(), std::declval<Real>()))) const
+auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) const
{
BOOST_MATH_STD_USING
using boost::math::constants::half;
@@ -241,7 +244,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real a, Real b, Real toleranc
template<class Real, class Policy>
template<class F>
-auto tanh_sinh<Real, Policy>::integrate(const F f, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(Real(std::declval<F>()(std::declval<Real>()))) const
+auto tanh_sinh<Real, Policy>::integrate(const F f, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(std::declval<F>()(std::declval<Real>())) const
{
using boost::math::quadrature::detail::tanh_sinh_detail;
static const char* function = "tanh_sinh<%1%>::integrate";
@@ -251,7 +254,7 @@ auto tanh_sinh<Real, Policy>::integrate(const F f, Real tolerance, Real* error,
template<class Real, class Policy>
template<class F>
-auto tanh_sinh<Real, Policy>::integrate(const F f, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(Real(std::declval<F>()(std::declval<Real>(), std::declval<Real>()))) const
+auto tanh_sinh<Real, Policy>::integrate(const F f, Real tolerance, Real* error, Real* L1, std::size_t* levels) ->decltype(std::declval<F>()(std::declval<Real>(), std::declval<Real>())) const
{
using boost::math::quadrature::detail::tanh_sinh_detail;
static const char* function = "tanh_sinh<%1%>::integrate";
diff --git a/boost/math/special_functions.hpp b/boost/math/special_functions.hpp
index c30a26c5fe..0f2a66467c 100644
--- a/boost/math/special_functions.hpp
+++ b/boost/math/special_functions.hpp
@@ -70,5 +70,6 @@
#include <boost/math/special_functions/hankel.hpp>
#include <boost/math/special_functions/ulp.hpp>
#include <boost/math/special_functions/relative_difference.hpp>
+#include <boost/math/special_functions/lambert_w.hpp>
#endif // BOOST_MATH_SPECIAL_FUNCTIONS_HPP
diff --git a/boost/math/special_functions/detail/fp_traits.hpp b/boost/math/special_functions/detail/fp_traits.hpp
index c957022223..013f830bca 100644
--- a/boost/math/special_functions/detail/fp_traits.hpp
+++ b/boost/math/special_functions/detail/fp_traits.hpp
@@ -24,7 +24,7 @@ With these techniques, the code could be simplified.
#include <boost/assert.hpp>
#include <boost/cstdint.hpp>
-#include <boost/detail/endian.hpp>
+#include <boost/predef/other/endian.h>
#include <boost/static_assert.hpp>
#include <boost/type_traits/is_floating_point.hpp>
@@ -51,9 +51,9 @@ With these techniques, the code could be simplified.
&& (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC != 0))
# ifdef _STLP_VENDOR_CSTD
# if _STLPORT_VERSION >= 0x520
-# define BOOST_FPCLASSIFY_PREFIX ::__std_alias::
+# define BOOST_FPCLASSIFY_PREFIX ::__std_alias::
# else
-# define BOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD::
+# define BOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD::
# endif
# else
# define BOOST_FPCLASSIFY_PREFIX ::std::
@@ -84,7 +84,7 @@ namespace detail {
//------------------------------------------------------------------------------
-/*
+/*
The following classes are used to tag the different methods that are used
for floating point classification
*/
@@ -216,9 +216,9 @@ template<> struct fp_traits_non_native<double, double_precision>
private:
-#if defined(BOOST_BIG_ENDIAN)
+#if BOOST_ENDIAN_BIG_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 4);
#else
BOOST_STATIC_ASSERT(false);
@@ -276,9 +276,9 @@ template<> struct fp_traits_non_native<long double, double_precision>
private:
-#if defined(BOOST_BIG_ENDIAN)
+#if BOOST_ENDIAN_BIG_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 4);
#else
BOOST_STATIC_ASSERT(false);
@@ -390,9 +390,9 @@ struct fp_traits_non_native<long double, extended_double_precision>
private:
-#if defined(BOOST_BIG_ENDIAN)
+#if BOOST_ENDIAN_BIG_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 12);
#else
BOOST_STATIC_ASSERT(false);
@@ -471,9 +471,9 @@ struct fp_traits_non_native<long double, extended_double_precision>
private:
-#if defined(BOOST_BIG_ENDIAN)
+#if BOOST_ENDIAN_BIG_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
BOOST_STATIC_CONSTANT(int, offset_ = 12);
#else
BOOST_STATIC_ASSERT(false);
@@ -557,7 +557,7 @@ struct select_native<long double>
&& !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)\
&& !defined(BOOST_INTEL)\
&& !defined(sun)\
- && !defined(__VXWORKS__)
+ && !defined(__VXWORKS__)
# define BOOST_MATH_USE_STD_FPCLASSIFY
#endif
diff --git a/boost/math/special_functions/detail/lambert_w_lookup_table.ipp b/boost/math/special_functions/detail/lambert_w_lookup_table.ipp
new file mode 100644
index 0000000000..4c48cdff5a
--- /dev/null
+++ b/boost/math/special_functions/detail/lambert_w_lookup_table.ipp
@@ -0,0 +1,134 @@
+// Copyright Paul A. Bristow 2017.
+// 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)
+
+// I:/modular-boost/libs/math/include/boost/math/special_functions/lambert_w_lookup_table.ipp
+
+// A collection of 128-bit precision integral z argument Lambert W values computed using 37 decimal digits precision.
+// C++ floating-point precision is 128-bit long double.
+// Output as 53 decimal digits, suffixed L.
+
+// C++ floating-point type is provided by lambert_w.hpp typedef.
+// For example: typedef lookup_t double; (or float or long double)
+
+// Written by I:\modular-boost\libs\math\test\lambert_w_lookup_table_generator.cpp Thu Jan 25 16:52:07 2018
+
+// Sizes of arrays of z values for Lambert W[0], W[1] ... W[64]" and W[-1], W[-2] ... W[-64].
+
+namespace boost {
+namespace math {
+namespace lambert_w_detail {
+namespace lambert_w_lookup
+{
+BOOST_STATIC_CONSTEXPR std::size_t noof_sqrts = 12;
+BOOST_STATIC_CONSTEXPR std::size_t noof_halves = 12;
+BOOST_STATIC_CONSTEXPR std::size_t noof_w0es = 65;
+BOOST_STATIC_CONSTEXPR std::size_t noof_w0zs = 65;
+BOOST_STATIC_CONSTEXPR std::size_t noof_wm1es = 64;
+BOOST_STATIC_CONSTEXPR std::size_t noof_wm1zs = 64;
+
+BOOST_STATIC_CONSTEXPR lookup_t halves[noof_halves] =
+{ // Common to Lambert W0 and W-1 (and exactly representable).
+ 0.5L, 0.25L, 0.125L, 0.0625L, 0.03125L, 0.015625L, 0.0078125L, 0.00390625L, 0.001953125L, 0.0009765625L, 0.00048828125L, 0.000244140625L
+}; // halves, 0.5, 0.25, ... 0.000244140625, common to W0 and W-1.
+
+BOOST_STATIC_CONSTEXPR lookup_t sqrtw0s[noof_sqrts] =
+{ // For Lambert W0 only.
+ 0.6065306597126334242631173765403218567L, 0.77880078307140486866846070009071995L, 0.882496902584595403104717592968701829L, 0.9394130628134757862473572557999761753L, 0.9692332344763440819139583751755278177L, 0.9844964370054084060204319075254540376L, 0.9922179382602435121227899136829802692L, 0.996101369470117490071323985506950379L, 0.9980487811074754727142805899944244847L, 0.9990239141819756622368328253791383317L, 0.9995118379398893653889967919448497792L, 0.9997558891748972165136242351259789505L
+}; // sqrtw0s
+
+BOOST_STATIC_CONSTEXPR lookup_t sqrtwm1s[noof_sqrts] =
+{ // For Lambert W-1 only.
+ 1.648721270700128146848650787814163572L, 1.284025416687741484073420568062436458L, 1.133148453066826316829007227811793873L, 1.064494458917859429563390594642889673L, 1.031743407499102670938747815281507144L, 1.015747708586685747458535072082351749L, 1.007843097206447977693453559760123579L, 1.003913889338347573443609603903460282L, 1.001955033591002812046518898047477216L, 1.000977039492416535242845292611606506L, 1.000488400478694473126173623807163354L, 1.000244170429747854937005233924135774L
+}; // sqrtwm1s
+
+BOOST_STATIC_CONSTEXPR lookup_t w0es[noof_w0zs] =
+{ // Fukushima e powers array e[0] = 2.718, 1., e[2] = e^-1 = 0.135, e[3] = e^-2 = 0.133 ... e[64] = 4.3596100000630809736231248158884615452e-28.
+ 2.7182818284590452353602874713526624978e+00L,
+ 1.0000000000000000000000000000000000000e+00L, 3.6787944117144232159552377016146086745e-01L, 1.3533528323661269189399949497248440341e-01L, 4.9787068367863942979342415650061776632e-02L,
+ 1.8315638888734180293718021273241242212e-02L, 6.7379469990854670966360484231484242488e-03L, 2.4787521766663584230451674308166678915e-03L, 9.1188196555451620800313608440928262647e-04L,
+ 3.3546262790251183882138912578086101931e-04L, 1.2340980408667954949763669073003382607e-04L, 4.5399929762484851535591515560550610238e-05L, 1.6701700790245659312635517360580879078e-05L,
+ 6.1442123533282097586823081788055323112e-06L, 2.2603294069810543257852772905386894694e-06L, 8.3152871910356788406398514256526229461e-07L, 3.0590232050182578837147949770228963937e-07L,
+ 1.1253517471925911451377517906012719164e-07L, 4.1399377187851666596510277189552806229e-08L, 1.5229979744712628436136629233517431862e-08L, 5.6027964375372675400129828162064630798e-09L,
+ 2.0611536224385578279659403801558209764e-09L, 7.5825604279119067279417432412681264430e-10L, 2.7894680928689248077189130306442932077e-10L, 1.0261879631701890303927527840612497760e-10L,
+ 3.7751345442790977516449695475234067792e-11L, 1.3887943864964020594661763746086856910e-11L, 5.1090890280633247198744001934792157666e-12L, 1.8795288165390832947582704184221926212e-12L,
+ 6.9144001069402030094125846587414092712e-13L, 2.5436656473769229103033856148576816666e-13L, 9.3576229688401746049158322233787067450e-14L, 3.4424771084699764583923893328515572846e-14L,
+ 1.2664165549094175723120904155965096382e-14L, 4.6588861451033973641842455436101684114e-15L, 1.7139084315420129663027203425760492412e-15L, 6.3051167601469893856390211922465427614e-16L,
+ 2.3195228302435693883122636097380800411e-16L, 8.5330476257440657942780498229412441658e-17L, 3.1391327920480296287089646522319196491e-17L, 1.1548224173015785986262442063323868655e-17L,
+ 4.2483542552915889953292347828586580179e-18L, 1.5628821893349887680908829951058341550e-18L, 5.7495222642935598066643808805734234249e-19L, 2.1151310375910804866314010070226514702e-19L,
+ 7.7811322411337965157133167292798981918e-20L, 2.8625185805493936444701216291839372068e-20L, 1.0530617357553812378763324449428108806e-20L, 3.8739976286871871129314774972691278293e-21L,
+ 1.4251640827409351062853210280340602263e-21L, 5.2428856633634639371718053028323436716e-22L, 1.9287498479639177830173428165270125748e-22L, 7.0954741622847041389832693878080734877e-23L,
+ 2.6102790696677048047026953153318648093e-23L, 9.6026800545086760302307696700074909076e-24L, 3.5326285722008070297353928101772088374e-24L, 1.2995814250075030736007134060714855303e-24L,
+ 4.7808928838854690812771770423179628939e-25L, 1.7587922024243116489558751288034363178e-25L, 6.4702349256454603261540395529264893765e-26L, 2.3802664086944006058943245888024963309e-26L,
+ 8.7565107626965203384887328007391660366e-27L, 3.2213402859925160890012477758489437534e-27L, 1.1850648642339810062850307390972809891e-27L, 4.3596100000630809736231248158884596428e-28L,
+
+}; // w0es
+
+BOOST_STATIC_CONSTEXPR lookup_t w0zs[noof_w0zs] =
+{ // z values for W[0], W[1], W[2] ... W[64] (Fukushima array Fk).
+ 0.0000000000000000000000000000000000000e+00L,
+ 2.7182818284590452353602874713526624978e+00L, 1.4778112197861300454460854921150015626e+01L, 6.0256610769563003222785588963745153691e+01L, 2.1839260013257695631244104481144351361e+02L,
+ 7.4206579551288301710557790020276139812e+02L, 2.4205727609564107356503230832603296776e+03L, 7.6764321089992101948460416680168500271e+03L, 2.3847663896333826197948736795623109390e+04L,
+ 7.2927755348178456069389970204894839685e+04L, 2.2026465794806716516957900645284244366e+05L, 6.5861555886717600300859134371483559776e+05L, 1.9530574970280470496960624587818413980e+06L,
+ 5.7513740961159665432393360873381476632e+06L, 1.6836459978306874888489314790750032292e+07L, 4.9035260587081659589527825691375819733e+07L, 1.4217776832812596218820837985250320561e+08L,
+ 4.1063419681078006965118239806655900596e+08L, 1.1818794444719492004981570586630806042e+09L, 3.3911637183005579560532906419857313738e+09L, 9.7033039081958055593821366108308111737e+09L,
+ 2.7695130424147508641409976558651358487e+10L, 7.8868082614895014356985518811525255163e+10L, 2.2413047926372475980079655175092843139e+11L, 6.3573893111624333505933989166748517618e+11L,
+ 1.8001224834346468131040337866531539479e+12L, 5.0889698451498078710141863447784789126e+12L, 1.4365302496248562650461177217211790925e+13L, 4.0495197800161304862957327843914007993e+13L,
+ 1.1400869461717722015726999684446230289e+14L, 3.2059423744573386440971405952224204950e+14L, 9.0051433962267018216365614546207459567e+14L, 2.5268147258457822451512967243234631750e+15L,
+ 7.0832381329352301326018261305316090522e+15L, 1.9837699245933465967698692976753294646e+16L, 5.5510470830970075484537561902113104381e+16L, 1.5520433569614702817608320254284931407e+17L,
+ 4.3360826779369661842459877227403719730e+17L, 1.2105254067703227363724895246493485480e+18L, 3.3771426165357561311906703760513324357e+18L, 9.4154106734807994163159964299613921804e+18L,
+ 2.6233583234732252918129199544138403574e+19L, 7.3049547543861043990576614751671879498e+19L, 2.0329709713386190214340167519800405595e+20L, 5.6547040503180956413560918381429636734e+20L,
+ 1.5720421975868292906615658755032744790e+21L, 4.3682149334771264822761478593874428627e+21L, 1.2132170565093316762294432610117848880e+22L, 3.3680332378068632345542636794533635462e+22L,
+ 9.3459982052259884835729892206738573922e+22L, 2.5923527642935362320437266614667426924e+23L, 7.1876803203773878618909930893087860822e+23L, 1.9921241603726199616378561653688236827e+24L,
+ 5.5192924995054165325072406547517121131e+24L, 1.5286067837683347062387143159276002521e+25L, 4.2321318958281094260005100745711666956e+25L, 1.1713293177672778461879598480402173158e+26L,
+ 3.2408603996214813669049988277609543829e+26L, 8.9641258264226027960478448084812796397e+26L, 2.4787141382364034104243901241243054434e+27L, 6.8520443388941057019777430988685937812e+27L,
+ 1.8936217407781711443114787060753312270e+28L, 5.2317811346197017832254642778313331353e+28L, 1.4450833904658542238325922893692265683e+29L, 3.9904954117194348050619127737142206367e+29L
+
+}; // w0zs
+
+BOOST_STATIC_CONSTEXPR lookup_t wm1es[noof_wm1es] =
+{ // Fukushima e array e[0] = e^1 = 2.718, e[1] = e^2 = 7.39 ... e[64] = 4.60718e+28.
+ 2.7182818284590452353602874713526624978e+00L,
+ 7.3890560989306502272304274605750078132e+00L, 2.0085536923187667740928529654581717897e+01L, 5.4598150033144239078110261202860878403e+01L, 1.4841315910257660342111558004055227962e+02L,
+ 4.0342879349273512260838718054338827961e+02L, 1.0966331584284585992637202382881214324e+03L, 2.9809579870417282747435920994528886738e+03L, 8.1030839275753840077099966894327599650e+03L,
+ 2.2026465794806716516957900645284244366e+04L, 5.9874141715197818455326485792257781614e+04L, 1.6275479141900392080800520489848678317e+05L, 4.4241339200892050332610277594908828178e+05L,
+ 1.2026042841647767777492367707678594494e+06L, 3.2690173724721106393018550460917213155e+06L, 8.8861105205078726367630237407814503508e+06L, 2.4154952753575298214775435180385823880e+07L,
+ 6.5659969137330511138786503259060033569e+07L, 1.7848230096318726084491003378872270388e+08L, 4.8516519540979027796910683054154055868e+08L, 1.3188157344832146972099988837453027851e+09L,
+ 3.5849128461315915616811599459784206892e+09L, 9.7448034462489026000346326848229752776e+09L, 2.6489122129843472294139162152811882341e+10L, 7.2004899337385872524161351466126157915e+10L,
+ 1.9572960942883876426977639787609534279e+11L, 5.3204824060179861668374730434117744166e+11L, 1.4462570642914751736770474229969288569e+12L, 3.9313342971440420743886205808435276858e+12L,
+ 1.0686474581524462146990468650741401650e+13L, 2.9048849665247425231085682111679825667e+13L, 7.8962960182680695160978022635108224220e+13L, 2.1464357978591606462429776153126088037e+14L,
+ 5.8346174252745488140290273461039101900e+14L, 1.5860134523134307281296446257746601252e+15L, 4.3112315471151952271134222928569253908e+15L, 1.1719142372802611308772939791190194522e+16L,
+ 3.1855931757113756220328671701298646000e+16L, 8.6593400423993746953606932719264934250e+16L, 2.3538526683701998540789991074903480451e+17L, 6.3984349353005494922266340351557081888e+17L,
+ 1.7392749415205010473946813036112352261e+18L, 4.7278394682293465614744575627442803708e+18L, 1.2851600114359308275809299632143099258e+19L, 3.4934271057485095348034797233406099533e+19L,
+ 9.4961194206024488745133649117118323102e+19L, 2.5813128861900673962328580021527338043e+20L, 7.0167359120976317386547159988611740546e+20L, 1.9073465724950996905250998409538484474e+21L,
+ 5.1847055285870724640874533229334853848e+21L, 1.4093490824269387964492143312370168789e+22L, 3.8310080007165768493035695487861993899e+22L, 1.0413759433029087797183472933493796440e+23L,
+ 2.8307533032746939004420635480140745409e+23L, 7.6947852651420171381827455901293939921e+23L, 2.0916594960129961539070711572146737782e+24L, 5.6857199993359322226403488206332533034e+24L,
+ 1.5455389355901039303530766911174620068e+25L, 4.2012104037905142549565934307191617684e+25L, 1.1420073898156842836629571831447656302e+26L, 3.1042979357019199087073421411071003721e+26L,
+ 8.4383566687414544890733294803731179601e+26L, 2.2937831594696098790993528402686136005e+27L, 6.2351490808116168829092387089284697448e+27L
+}; // wm1es
+
+BOOST_STATIC_CONSTEXPR lookup_t wm1zs[noof_wm1zs] =
+{ // Fukushima G array of z values for integral K, (Fukushima Gk) g[0] (k = -1) = 1 ... g[64] = -1.0264389699511303e-26.
+ -3.6787944117144232159552377016146086745e-01L,
+ -2.7067056647322538378799898994496880682e-01L, -1.4936120510359182893802724695018532990e-01L, -7.3262555554936721174872085092964968848e-02L, -3.3689734995427335483180242115742121244e-02L,
+ -1.4872513059998150538271004584900007349e-02L, -6.3831737588816134560219525908649783853e-03L, -2.6837010232200947105711130062468881545e-03L, -1.1106882367801159454787302165703044346e-03L,
+ -4.5399929762484851535591515560550610238e-04L, -1.8371870869270225243899069096638966986e-04L, -7.3730548239938517104187698145666387735e-05L, -2.9384282290753706235208604777002963102e-05L,
+ -1.1641402067449950376895791995913672125e-05L, -4.5885348075273868255721924655343445906e-06L, -1.8005627955081458322204028649620350662e-06L, -7.0378941219347833214067471222239770590e-07L,
+ -2.7413963540482731185045932620331377352e-07L, -1.0645313231320808326024667350792279852e-07L, -4.1223072448771156559318807603116419528e-08L, -1.5923376898615004128677660806663065530e-08L,
+ -6.1368298043116345769816086674174450569e-09L, -2.3602323152914347699033314033408744848e-09L, -9.0603229062698346039479269140561762700e-10L, -3.4719859662410051486654409365217142276e-10L,
+ -1.3283631472964644271673440503045960993e-10L, -5.0747278046555248958473301297399200773e-11L, -1.9360320299432568426355237044475945959e-11L, -7.3766303773930764398798182830872768331e-12L,
+ -2.8072868906520523814747496670136120235e-12L, -1.0671679036256927021016406931839827582e-12L, -4.0525329757101362313986893299088308423e-13L, -1.5374324278841211301808010293913555758e-13L,
+ -5.8272886672428440854292491647585674200e-14L, -2.2067908660514462849736574172862899665e-14L, -8.3502821888768497979241489950570881481e-15L, -3.1572276215253043438828784344882603413e-15L,
+ -1.1928704609782512589094065678481294667e-15L, -4.5038074274761565346423524046963087756e-16L, -1.6993417021166355981316939131434632072e-16L, -6.4078169762734539491726202799339200356e-17L,
+ -2.4147993510032951187990399698408378385e-17L, -9.0950634616416460925150243301974013218e-18L, -3.4236981860988704669138593608831552044e-18L, -1.2881333612472271400115547331327717431e-18L,
+ -4.8440839844747536942311292467369300505e-19L, -1.8207788854829779430777944237164900798e-19L, -6.8407875971564885101695409345634890862e-20L, -2.5690139750480973292141845983878483991e-20L,
+ -9.6437492398195889150867140826350628738e-21L, -3.6186918227651991108814673877821174787e-21L, -1.3573451162272064984454015639725697008e-21L, -5.0894204288895982960223079251039701810e-22L,
+ -1.9076194289884357960571121174956927722e-22L, -7.1476978375412669048039237333931704166e-23L, -2.6773000149758626855152191436980592206e-23L, -1.0025115553818576399048488234179587012e-23L,
+ -3.7527362568743669891693429406973638384e-24L, -1.4043571811296963574776515073934728352e-24L, -5.2539064576179122030932396804434996219e-25L, -1.9650175744554348142907611432678556896e-25L,
+ -7.3474021582506822389671905824031421322e-26L, -2.7465543000397410133825686340097295749e-26L, -1.0264389699511282259046957018510946438e-26L
+}; // wm1zs
+} // namespace lambert_w_lookup
+} // namespace detail
+} // namespace math
+} // namespace boost
diff --git a/boost/math/special_functions/erf.hpp b/boost/math/special_functions/erf.hpp
index eda223b5d2..1fe51e335d 100644
--- a/boost/math/special_functions/erf.hpp
+++ b/boost/math/special_functions/erf.hpp
@@ -182,6 +182,9 @@ T erf_imp(T z, bool invert, const Policy& pol, const mpl::int_<53>& t)
BOOST_MATH_INSTRUMENT_CODE("53-bit precision erf_imp called");
+ if ((boost::math::isnan)(z))
+ return policies::raise_denorm_error("boost::math::erf<%1%>(%1%)", "Expected a finite argument but got %1%", z, pol);
+
if(z < 0)
{
if(!invert)
diff --git a/boost/math/special_functions/lambert_w.hpp b/boost/math/special_functions/lambert_w.hpp
new file mode 100644
index 0000000000..1630669eb0
--- /dev/null
+++ b/boost/math/special_functions/lambert_w.hpp
@@ -0,0 +1,2176 @@
+// Copyright John Maddock 2017.
+// Copyright Paul A. Bristow 2016, 2017, 2018.
+// Copyright Nicholas Thompson 2018
+
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
+// copy at http ://www.boost.org/LICENSE_1_0.txt).
+
+#ifndef BOOST_MATH_SF_LAMBERT_W_HPP
+#define BOOST_MATH_SF_LAMBERT_W_HPP
+
+#ifdef _MSC_VER
+#pragma warning(disable : 4127)
+#endif
+
+/*
+Implementation of an algorithm for the Lambert W0 and W-1 real-only functions.
+
+This code is based in part on the algorithm by
+Toshio Fukushima,
+"Precise and fast computation of Lambert W-functions without transcendental function evaluations",
+J.Comp.Appl.Math. 244 (2013) 77-89,
+and on a C/C++ version by Darko Veberic, darko.veberic@ijs.si
+based on the Fukushima algorithm and Toshio Fukushima's FORTRAN version of his algorithm.
+
+First derivative of Lambert_w is derived from
+Princeton Companion to Applied Mathematics, 'The Lambert-W function', Section 1.3: Series and Generating Functions.
+
+*/
+
+/*
+TODO revise this list of macros.
+Some macros that will show some (or much) diagnostic values if #defined.
+//[boost_math_instrument_lambert_w_macros
+
+// #define-able macros
+BOOST_MATH_INSTRUMENT_LAMBERT_W_HALLEY // Halley refinement diagnostics.
+BOOST_MATH_INSTRUMENT_LAMBERT_W_PRECISION // Precision.
+BOOST_MATH_INSTRUMENT_LAMBERT_WM1 // W1 branch diagnostics.
+BOOST_MATH_INSTRUMENT_LAMBERT_WM1_HALLEY // Halley refinement diagnostics only for W-1 branch.
+BOOST_MATH_INSTRUMENT_LAMBERT_WM1_TINY // K > 64, z > -1.0264389699511303e-26
+BOOST_MATH_INSTRUMENT_LAMBERT_WM1_LOOKUP // Show results from W-1 lookup table.
+BOOST_MATH_INSTRUMENT_LAMBERT_W_SCHROEDER // Schroeder refinement diagnostics.
+BOOST_MATH_INSTRUMENT_LAMBERT_W_TERMS // Number of terms used for near-singularity series.
+BOOST_MATH_INSTRUMENT_LAMBERT_W_SINGULARITY_SERIES // Show evaluation of series near branch singularity.
+BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES_ITERATIONS // Show evaluation of series for small z.
+//] [/boost_math_instrument_lambert_w_macros]
+*/
+
+#include <boost/math/policies/error_handling.hpp>
+#include <boost/math/policies/policy.hpp>
+#include <boost/math/tools/promotion.hpp>
+#include <boost/math/special_functions/fpclassify.hpp>
+#include <boost/math/special_functions/log1p.hpp> // for log (1 + x)
+#include <boost/math/constants/constants.hpp> // For exp_minus_one == 3.67879441171442321595523770161460867e-01.
+#include <boost/math/special_functions/pow.hpp> // powers with compile time exponent, used in arbitrary precision code.
+#include <boost/math/tools/series.hpp> // series functor.
+//#include <boost/math/tools/polynomial.hpp> // polynomial.
+#include <boost/math/tools/rational.hpp> // evaluate_polynomial.
+#include <boost/mpl/int.hpp>
+#include <boost/type_traits/is_integral.hpp>
+#include <boost/math/tools/precision.hpp> // boost::math::tools::max_value().
+#include <boost/math/tools/test_value.hpp> // For create_test_value and macro BOOST_MATH_TEST_VALUE.
+
+#include <limits>
+#include <cmath>
+#include <limits>
+#include <exception>
+
+// Needed for testing and diagnostics only.
+#include <iostream>
+#include <typeinfo>
+#include <boost/math/special_functions/next.hpp> // For float_distance.
+
+typedef double lookup_t; // Type for lookup table (double or float, or even long double?)
+
+//#include "J:\Cpp\Misc\lambert_w_lookup_table_generator\lambert_w_lookup_table.ipp"
+// #include "lambert_w_lookup_table.ipp" // Boost.Math version.
+#include <boost/math/special_functions/detail/lambert_w_lookup_table.ipp>
+
+namespace boost {
+namespace math {
+namespace lambert_w_detail {
+
+//! \brief Applies a single Halley step to make a better estimate of Lambert W.
+//! \details Used the simplified formulae obtained from
+//! http://www.wolframalpha.com/input/?i=%5B2(z+exp(z)-w)+d%2Fdx+(z+exp(z)-w)%5D+%2F+%5B2+(d%2Fdx+(z+exp(z)-w))%5E2+-+(z+exp(z)-w)+d%5E2%2Fdx%5E2+(z+exp(z)-w)%5D
+//! [2(z exp(z)-w) d/dx (z exp(z)-w)] / [2 (d/dx (z exp(z)-w))^2 - (z exp(z)-w) d^2/dx^2 (z exp(z)-w)]
+
+//! \tparam T floating-point (or fixed-point) type.
+//! \param w_est Lambert W estimate.
+//! \param z Argument z for Lambert_w function.
+//! \returns New estimate of Lambert W, hopefully improved.
+//!
+template <class T>
+inline T lambert_w_halley_step(T w_est, const T z)
+{
+ BOOST_MATH_STD_USING
+ T e = exp(w_est);
+ w_est -= 2 * (w_est + 1) * (e * w_est - z) / (z * (w_est + 2) + e * (w_est * (w_est + 2) + 2));
+ return w_est;
+} // template <class T> lambert_w_halley_step(T w_est, T z)
+
+//! \brief Halley iterate to refine Lambert_w estimate,
+//! taking at least one Halley_step.
+//! Repeat Halley steps until the *last step* had fewer than half the digits wrong,
+//! the step we've just taken should have been sufficient to have completed the iteration.
+
+//! \tparam T floating-point (or fixed-point) type.
+//! \param z Argument z for Lambert_w function.
+//! \param w_est Lambert w estimate.
+template <class T>
+inline
+ T lambert_w_halley_iterate(T w_est, const T z)
+{
+ BOOST_MATH_STD_USING
+ static const T max_diff = boost::math::tools::root_epsilon<T>() * fabs(w_est);
+
+ T w_new = lambert_w_halley_step(w_est, z);
+ T diff = fabs(w_est - w_new);
+ while (diff > max_diff)
+ {
+ w_est = w_new;
+ w_new = lambert_w_halley_step(w_est, z);
+ diff = fabs(w_est - w_new);
+ }
+ return w_new;
+} // template <class T> lambert_w_halley_iterate(T w_est, T z)
+
+// Two Halley function versions that either
+// single step (if mpl::false_) or iterate (if mpl::true_).
+// Selected at compile-time using parameter 3.
+template <class T>
+inline
+T lambert_w_maybe_halley_iterate(T z, T w, mpl::false_ const&)
+{
+ return lambert_w_halley_step(z, w); // Single step.
+}
+
+template <class T>
+inline
+T lambert_w_maybe_halley_iterate(T z, T w, mpl::true_ const&)
+{
+ return lambert_w_halley_iterate(z, w); // Iterate steps.
+}
+
+//! maybe_reduce_to_double function,
+//! Two versions that have a compile-time option to
+//! reduce argument z to double precision (if mpl::true_).
+//! Version is selected at compile-time using parameter 2.
+
+template <class T>
+inline
+double maybe_reduce_to_double(const T& z, const mpl::true_&)
+{
+ return static_cast<double>(z); // Reduce to double precision.
+}
+
+template <class T>
+inline
+T maybe_reduce_to_double(const T& z, const mpl::false_&)
+{ // Don't reduce to double.
+ return z;
+}
+
+template <class T>
+inline
+double must_reduce_to_double(const T& z, const mpl::true_&)
+{
+ return static_cast<double>(z); // Reduce to double precision.
+}
+
+template <class T>
+inline
+double must_reduce_to_double(const T& z, const mpl::false_&)
+{ // try a lexical_cast and hope for the best:
+ return boost::lexical_cast<double>(z);
+}
+
+//! \brief Schroeder method, fifth-order update formula,
+//! \details See T. Fukushima page 80-81, and
+//! A. Householder, The Numerical Treatment of a Single Nonlinear Equation,
+//! McGraw-Hill, New York, 1970, section 4.4.
+//! Fukushima algorithm switches to @c schroeder_update after pre-computed bisections,
+//! chosen to ensure that the result will be achieve the +/- 10 epsilon target.
+//! \param w Lambert w estimate from bisection or series.
+//! \param y bracketing value from bisection.
+//! \returns Refined estimate of Lambert w.
+
+// Schroeder refinement, called unless NOT required by precision policy.
+template<typename T>
+inline
+T schroeder_update(const T w, const T y)
+{
+ // Compute derivatives using 5th order Schroeder refinement.
+ // Since this is the final step, it will always use the highest precision type T.
+ // Example of Call:
+ // result = schroeder_update(w, y);
+ //where
+ // w is estimate of Lambert W (from bisection or series).
+ // y is z * e^-w.
+
+ BOOST_MATH_STD_USING // Aid argument dependent lookup of abs.
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SCHROEDER
+ std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ using boost::math::float_distance;
+ T fd = float_distance<T>(w, y);
+ std::cout << "Schroder ";
+ if (abs(fd) < 214748000.)
+ {
+ std::cout << " Distance = "<< static_cast<int>(fd);
+ }
+ else
+ {
+ std::cout << "Difference w - y = " << (w - y) << ".";
+ }
+ std::cout << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SCHROEDER
+ // Fukushima equation 18, page 6.
+ const T f0 = w - y; // f0 = w - y.
+ const T f1 = 1 + y; // f1 = df/dW
+ const T f00 = f0 * f0;
+ const T f11 = f1 * f1;
+ const T f0y = f0 * y;
+ const T result =
+ w - 4 * f0 * (6 * f1 * (f11 + f0y) + f00 * y) /
+ (f11 * (24 * f11 + 36 * f0y) +
+ f00 * (6 * y * y + 8 * f1 * y + f0y)); // Fukushima Page 81, equation 21 from equation 20.
+
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SCHROEDER
+ std::cout << "Schroeder refined " << w << " " << y << ", difference " << w-y << ", change " << w - result << ", to result " << result << std::endl;
+ std::cout.precision(saved_precision); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SCHROEDER
+
+ return result;
+} // template<typename T = double> T schroeder_update(const T w, const T y)
+
+ //! \brief Series expansion used near the singularity/branch point z = -exp(-1) = -3.6787944.
+ //! Wolfram InverseSeries[Series[sqrt[2(p Exp[1 + p] + 1)], {p,-1, 20}]]
+ //! Wolfram command used to obtain 40 series terms at 50 decimal digit precision was
+ //! N[InverseSeries[Series[Sqrt[2(p Exp[1 + p] + 1)], { p,-1,40 }]], 50]
+ //! -1+p-p^2/3+(11 p^3)/72-(43 p^4)/540+(769 p^5)/17280-(221 p^6)/8505+(680863 p^7)/43545600 ...
+ //! Decimal values of specifications for built-in floating-point types below
+ //! are at least 21 digits precision == max_digits10 for long double.
+ //! Longer decimal digits strings are rationals evaluated using Wolfram.
+
+template<typename T>
+T lambert_w_singularity_series(const T p)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SINGULARITY_SERIES
+ std::size_t saved_precision = std::cout.precision(3);
+ std::cout << "Singularity_series Lambert_w p argument = " << p << std::endl;
+ std::cout
+ //<< "Argument Type = " << typeid(T).name()
+ //<< ", max_digits10 = " << std::numeric_limits<T>::max_digits10
+ //<< ", epsilon = " << std::numeric_limits<T>::epsilon()
+ << std::endl;
+ std::cout.precision(saved_precision);
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SINGULARITY_SERIES
+
+ static const T q[] =
+ {
+ -static_cast<T>(1), // j0
+ +T(1), // j1
+ -T(1) / 3, // 1/3 j2
+ +T(11) / 72, // 0.152777777777777778, // 11/72 j3
+ -T(43) / 540, // 0.0796296296296296296, // 43/540 j4
+ +T(769) / 17280, // 0.0445023148148148148, j5
+ -T(221) / 8505, // 0.0259847148736037625, j6
+ //+T(0.0156356325323339212L), // j7
+ //+T(0.015635632532333921222810111699000587889476778365667L), // j7 from Wolfram N[680863/43545600, 50]
+ +T(680863uLL) / 43545600uLL, // +0.0156356325323339212, j7
+ //-T(0.00961689202429943171L), // j8
+ -T(1963uLL) / 204120uLL, // 0.00961689202429943171, j8
+ //-T(0.0096168920242994317068391142465216539290613364687439L), // j8 from Wolfram N[1963/204120, 50]
+ +T(226287557uLL) / 37623398400uLL, // 0.00601454325295611786, j9
+ -T(5776369uLL) / 1515591000uLL, // 0.00381129803489199923, j10
+ //+T(0.00244087799114398267L), j11 0.0024408779911439826658968585286437530215699919795550
+ +T(169709463197uLL) / 69528040243200uLL, // j11
+ // -T(0.00157693034468678425L), // j12 -0.0015769303446867842539234095399314115973161850314723
+ -T(1118511313uLL) / 709296588000uLL, // j12
+ +T(667874164916771uLL) / 650782456676352000uLL, // j13
+ //+T(0.00102626332050760715L), // j13 0.0010262633205076071544375481533906861056468041465973
+ -T(500525573uLL) / 744761417400uLL, // j14
+ // -T(0.000672061631156136204L), j14
+ //+T(1003663334225097487uLL) / 234281684403486720000uLL, // j15 0.00044247306181462090993020760858473726479232802068800 error C2177: constant too big
+ //+T(0.000442473061814620910L, // j15
+ BOOST_MATH_TEST_VALUE(T, +0.000442473061814620910), // j15
+ // -T(0.000292677224729627445L), // j16
+ BOOST_MATH_TEST_VALUE(T, -0.000292677224729627445), // j16
+ //+T(0.000194387276054539318L), // j17
+ BOOST_MATH_TEST_VALUE(T, 0.000194387276054539318), // j17
+ //-T(0.000129574266852748819L), // j18
+ BOOST_MATH_TEST_VALUE(T, -0.000129574266852748819), // j18
+ //+T(0.0000866503580520812717L), // j19 N[+1150497127780071399782389/13277465363600276402995200000, 50] 0.000086650358052081271660451590462390293190597827783288
+ BOOST_MATH_TEST_VALUE(T, +0.0000866503580520812717), // j19
+ //-T(0.0000581136075044138168L) // j20 N[2853534237182741069/49102686267859224000000, 50] 0.000058113607504413816772205464778828177256611844221913
+ // -T(2853534237182741069uLL) / 49102686267859224000000uLL // j20 // error C2177: constant too big,
+ // so must use BOOST_MATH_TEST_VALUE(T, ) format in hope of using suffix Q for quad or decimal digits string for others.
+ //-T(0.000058113607504413816772205464778828177256611844221913L), // j20 N[2853534237182741069/49102686267859224000000, 50] 0.000058113607504413816772205464778828177256611844221913
+ BOOST_MATH_TEST_VALUE(T, -0.000058113607504413816772205464778828177256611844221913) // j20 - last used by Fukushima
+ // More terms don't seem to give any improvement (worse in fact) and are not use for many z values.
+ //BOOST_MATH_TEST_VALUE(T, +0.000039076684867439051635395583044527492132109160553593), // j21
+ //BOOST_MATH_TEST_VALUE(T, -0.000026338064747231098738584082718649443078703982217219), // j22
+ //BOOST_MATH_TEST_VALUE(T, +0.000017790345805079585400736282075184540383274460464169), // j23
+ //BOOST_MATH_TEST_VALUE(T, -0.000012040352739559976942274116578992585158113153190354), // j24
+ //BOOST_MATH_TEST_VALUE(T, +8.1635319824966121713827512573558687050675701559448E-6), // j25
+ //BOOST_MATH_TEST_VALUE(T, -5.5442032085673591366657251660804575198155559225316E-6) // j26
+ // -T(5.5442032085673591366657251660804575198155559225316E-6L) // j26
+ // 21 to 26 Added for long double.
+ }; // static const T q[]
+
+ /*
+ // Temporary copy of original double values for comparison; these are reproduced well.
+ static const T q[] =
+ {
+ -1L, // j0
+ +1L, // j1
+ -0.333333333333333333L, // 1/3 j2
+ +0.152777777777777778L, // 11/72 j3
+ -0.0796296296296296296L, // 43/540
+ +0.0445023148148148148L,
+ -0.0259847148736037625L,
+ +0.0156356325323339212L,
+ -0.00961689202429943171L,
+ +0.00601454325295611786L,
+ -0.00381129803489199923L,
+ +0.00244087799114398267L,
+ -0.00157693034468678425L,
+ +0.00102626332050760715L,
+ -0.000672061631156136204L,
+ +0.000442473061814620910L,
+ -0.000292677224729627445L,
+ +0.000194387276054539318L,
+ -0.000129574266852748819L,
+ +0.0000866503580520812717L,
+ -0.0000581136075044138168L // j20
+ };
+ */
+
+ // Decide how many series terms to use, increasing as z approaches the singularity,
+ // balancing run-time versus computational noise from round-off.
+ // In practice, we truncate the series expansion at a certain order.
+ // If the order is too large, not only does the amount of computation increase,
+ // but also the round-off errors accumulate.
+ // See Fukushima equation 35, page 85 for logic of choice of number of series terms.
+
+ BOOST_MATH_STD_USING // Aid argument dependent lookup (ADL) of abs.
+
+ const T absp = abs(p);
+
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_TERMS
+ {
+ int terms = 20; // Default to using all terms.
+ if (absp < 0.001150)
+ { // Very near singularity.
+ terms = 6;
+ }
+ else if (absp < 0.0766)
+ { // Near singularity.
+ terms = 10;
+ }
+ std::streamsize saved_precision = std::cout.precision(3);
+ std::cout << "abs(p) = " << absp << ", terms = " << terms << std::endl;
+ std::cout.precision(saved_precision);
+ }
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_TERMS
+
+ if (absp < 0.01159)
+ { // Only 6 near-singularity series terms are useful.
+ return
+ -1 +
+ p * (1 +
+ p * (q[2] +
+ p * (q[3] +
+ p * (q[4] +
+ p * (q[5] +
+ p * q[6]
+ )))));
+ }
+ else if (absp < 0.0766) // Use 10 near-singularity series terms.
+ { // Use 10 near-singularity series terms.
+ return
+ -1 +
+ p * (1 +
+ p * (q[2] +
+ p * (q[3] +
+ p * (q[4] +
+ p * (q[5] +
+ p * (q[6] +
+ p * (q[7] +
+ p * (q[8] +
+ p * (q[9] +
+ p * q[10]
+ )))))))));
+ }
+ else
+ { // Use all 20 near-singularity series terms.
+ return
+ -1 +
+ p * (1 +
+ p * (q[2] +
+ p * (q[3] +
+ p * (q[4] +
+ p * (q[5] +
+ p * (q[6] +
+ p * (q[7] +
+ p * (q[8] +
+ p * (q[9] +
+ p * (q[10] +
+ p * (q[11] +
+ p * (q[12] +
+ p * (q[13] +
+ p * (q[14] +
+ p * (q[15] +
+ p * (q[16] +
+ p * (q[17] +
+ p * (q[18] +
+ p * (q[19] +
+ p * q[20] // Last Fukushima term.
+ )))))))))))))))))));
+ // + // more terms for more precise T: long double ...
+ //// but makes almost no difference, so don't use more terms?
+ // p*q[21] +
+ // p*q[22] +
+ // p*q[23] +
+ // p*q[24] +
+ // p*q[25]
+ // )))))))))))))))))));
+ }
+} // template<typename T = double> T lambert_w_singularity_series(const T p)
+
+
+ /////////////////////////////////////////////////////////////////////////////////////////////
+
+ //! \brief Series expansion used near zero (abs(z) < 0.05).
+ //! \details
+ //! Coefficients of the inverted series expansion of the Lambert W function around z = 0.
+ //! Tosio Fukushima always uses all 17 terms of a Taylor series computed using Wolfram with
+ //! InverseSeries[Series[z Exp[z],{z,0,17}]]
+ //! Tosio Fukushima / Journal of Computational and Applied Mathematics 244 (2013) page 86.
+
+ //! Decimal values of specifications for built-in floating-point types below
+ //! are 21 digits precision == max_digits10 for long double.
+ //! Care! Some coefficients might overflow some fixed_point types.
+
+ //! This version is intended to allow use by user-defined types
+ //! like Boost.Multiprecision quad and cpp_dec_float types.
+ //! The three specializations below for built-in float, double
+ //! (and perhaps long double) will be chosen in preference for these types.
+
+ //! This version uses rationals computed by Wolfram as far as possible,
+ //! limited by maximum size of uLL integers.
+ //! For higher term, uses decimal digit strings computed by Wolfram up to the maximum possible using uLL rationals,
+ //! and then higher coefficients are computed as necessary using function lambert_w0_small_z_series_term
+ //! until the precision required by the policy is achieved.
+ //! InverseSeries[Series[z Exp[z],{z,0,34}]] also computed.
+
+ // Series evaluation for LambertW(z) as z -> 0.
+ // See http://functions.wolfram.com/ElementaryFunctions/ProductLog/06/01/01/0003/
+ // http://functions.wolfram.com/ElementaryFunctions/ProductLog/06/01/01/0003/MainEq1.L.gif
+
+ //! \brief lambert_w0_small_z uses a tag_type to select a variant depending on the size of the type.
+ //! The Lambert W is computed by lambert_w0_small_z for small z.
+ //! The cutoff for z smallness determined by Tosio Fukushima by trial and error is (abs(z) < 0.05),
+ //! but the optimum might be a function of the size of the type of z.
+
+ //! \details
+ //! The tag_type selection is based on the value @c std::numeric_limits<T>::max_digits10.
+ //! This allows distinguishing between long double types that commonly vary between 64 and 80-bits,
+ //! and also compilers that have a float type using 64 bits and/or long double using 128-bits.
+ //! It assumes that max_digits10 is defined correctly or this might fail to make the correct selection.
+ //! causing very small differences in computing lambert_w that would be very difficult to detect and diagnose.
+ //! Cannot switch on @c std::numeric_limits<>::max() because comparison values may overflow the compiler limit.
+ //! Cannot switch on @c std::numeric_limits<long double>::max_exponent10()
+ //! because both 80 and 128 bit floating-point implementations use 11 bits for the exponent.
+ //! So must rely on @c std::numeric_limits<long double>::max_digits10.
+
+ //! Specialization of float zero series expansion used for small z (abs(z) < 0.05).
+ //! Specializations of lambert_w0_small_z for built-in types.
+ //! These specializations should be chosen in preference to T version.
+ //! For example: lambert_w0_small_z(0.001F) should use the float version.
+ //! (Parameter Policy is not used by built-in types when all terms are used during an inline computation,
+ //! but for the tag_type selection to work, they all must include Policy in their signature.
+
+ // Forward declaration of variants of lambert_w0_small_z.
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy&, boost::mpl::int_<0> const&); // for float (32-bit) type.
+
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy&, boost::mpl::int_<1> const&); // for double (64-bit) type.
+
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy&, boost::mpl::int_<2> const&); // for long double (double extended 80-bit) type.
+
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy&, boost::mpl::int_<3> const&); // for long double (128-bit) type.
+
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy&, boost::mpl::int_<4> const&); // for float128 quadmath Q type.
+
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy&, boost::mpl::int_<5> const&); // Generic multiprecision T.
+ // Set tag_type depending on max_digits10.
+template <class T, class Policy>
+T lambert_w0_small_z(T x, const Policy& pol)
+{ //std::numeric_limits<T>::max_digits10 == 36 ? 3 : // 128-bit long double.
+ typedef boost::mpl::int_
+ <
+ std::numeric_limits<T>::is_specialized == 0 ? 5 :
+#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
+ std::numeric_limits<T>::max_digits10 <= 9 ? 0 : // for float 32-bit.
+ std::numeric_limits<T>::max_digits10 <= 17 ? 1 : // for double 64-bit.
+ std::numeric_limits<T>::max_digits10 <= 22 ? 2 : // for 80-bit double extended.
+ std::numeric_limits<T>::max_digits10 < 37 ? 4 // for both 128-bit long double (3) and 128-bit quad suffix Q type (4).
+#else
+ std::numeric_limits<T>::radix != 2 ? 5 :
+ std::numeric_limits<T>::digits <= 24 ? 0 : // for float 32-bit.
+ std::numeric_limits<T>::digits <= 53 ? 1 : // for double 64-bit.
+ std::numeric_limits<T>::digits <= 64 ? 2 : // for 80-bit double extended.
+ std::numeric_limits<T>::digits <= 113 ? 4 // for both 128-bit long double (3) and 128-bit quad suffix Q type (4).
+#endif
+ : 5 // All Generic multiprecision types.
+ > tag_type;
+ // std::cout << "\ntag type = " << tag_type << std::endl; // error C2275: 'tag_type': illegal use of this type as an expression.
+ return lambert_w0_small_z(x, pol, tag_type());
+} // template <class T> T lambert_w0_small_z(T x)
+
+ //! Specialization of float (32-bit) series expansion used for small z (abs(z) < 0.05).
+ // Only 9 Coefficients are computed to 21 decimal digits precision, ample for 32-bit float used by most platforms.
+ // Taylor series coefficients used are computed by Wolfram to 50 decimal digits using instruction
+ // N[InverseSeries[Series[z Exp[z],{z,0,34}]],50],
+ // as proposed by Tosio Fukushima and implemented by Darko Veberic.
+
+template <class T, class Policy>
+T lambert_w0_small_z(T z, const Policy&, boost::mpl::int_<0> const&)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::streamsize prec = std::cout.precision(std::numeric_limits<T>::max_digits10); // Save.
+ std::cout << "\ntag_type 0 float lambert_w0_small_z called with z = " << z << " using " << 9 << " terms of precision "
+ << std::numeric_limits<float>::max_digits10 << " decimal digits. " << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ T result =
+ z * (1 - // j1 z^1 term = 1
+ z * (1 - // j2 z^2 term = -1
+ z * (static_cast<float>(3uLL) / 2uLL - // 3/2 // j3 z^3 term = 1.5.
+ z * (2.6666666666666666667F - // 8/3 // j4
+ z * (5.2083333333333333333F - // -125/24 // j5
+ z * (10.8F - // j6
+ z * (23.343055555555555556F - // j7
+ z * (52.012698412698412698F - // j8
+ z * 118.62522321428571429F)))))))); // j9
+
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::cout << "return w = " << result << std::endl;
+ std::cout.precision(prec); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+
+ return result;
+} // template <class T> T lambert_w0_small_z(T x, mpl::int_<0> const&)
+
+ //! Specialization of double (64-bit double) series expansion used for small z (abs(z) < 0.05).
+ // 17 Coefficients are computed to 21 decimal digits precision suitable for 64-bit double used by most platforms.
+ // Taylor series coefficients used are computed by Wolfram to 50 decimal digits using instruction
+ // N[InverseSeries[Series[z Exp[z],{z,0,34}]],50], as proposed by Tosio Fukushima and implemented by Veberic.
+
+template <class T, class Policy>
+T lambert_w0_small_z(const T z, const Policy&, boost::mpl::int_<1> const&)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::streamsize prec = std::cout.precision(std::numeric_limits<T>::max_digits10); // Save.
+ std::cout << "\ntag_type 1 double lambert_w0_small_z called with z = " << z << " using " << 17 << " terms of precision, "
+ << std::numeric_limits<double>::max_digits10 << " decimal digits. " << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ T result =
+ z * (1. - // j1 z^1
+ z * (1. - // j2 z^2
+ z * (1.5 - // 3/2 // j3 z^3
+ z * (2.6666666666666666667 - // 8/3 // j4
+ z * (5.2083333333333333333 - // -125/24 // j5
+ z * (10.8 - // j6
+ z * (23.343055555555555556 - // j7
+ z * (52.012698412698412698 - // j8
+ z * (118.62522321428571429 - // j9
+ z * (275.57319223985890653 - // j10
+ z * (649.78717234347442681 - // j11
+ z * (1551.1605194805194805 - // j12
+ z * (3741.4497029592385495 - // j13
+ z * (9104.5002411580189358 - // j14
+ z * (22324.308512706601434 - // j15
+ z * (55103.621972903835338 - // j16
+ z * 136808.86090394293563)))))))))))))))); // j17 z^17
+
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::cout << "return w = " << result << std::endl;
+ std::cout.precision(prec); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+
+ return result;
+} // T lambert_w0_small_z(const T z, boost::mpl::int_<1> const&)
+
+ //! Specialization of long double (80-bit double extended) series expansion used for small z (abs(z) < 0.05).
+ // 21 Coefficients are computed to 21 decimal digits precision suitable for 80-bit long double used by some
+ // platforms including GCC and Clang when generating for Intel X86 floating-point processors with 80-bit operations enabled (the default).
+ // (This is NOT used by Microsoft Visual Studio where double and long always both use only 64-bit type.
+ // Nor used for 128-bit float128.)
+template <class T, class Policy>
+T lambert_w0_small_z(const T z, const Policy&, boost::mpl::int_<2> const&)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::streamsize precision = std::cout.precision(std::numeric_limits<T>::max_digits10); // Save.
+ std::cout << "\ntag_type 2 long double (80-bit double extended) lambert_w0_small_z called with z = " << z << " using " << 21 << " terms of precision, "
+ << std::numeric_limits<long double>::max_digits10 << " decimal digits. " << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+// T result =
+// z * (1.L - // j1 z^1
+// z * (1.L - // j2 z^2
+// z * (1.5L - // 3/2 // j3
+// z * (2.6666666666666666667L - // 8/3 // j4
+// z * (5.2083333333333333333L - // -125/24 // j5
+// z * (10.800000000000000000L - // j6
+// z * (23.343055555555555556L - // j7
+// z * (52.012698412698412698L - // j8
+// z * (118.62522321428571429L - // j9
+// z * (275.57319223985890653L - // j10
+// z * (649.78717234347442681L - // j11
+// z * (1551.1605194805194805L - // j12
+// z * (3741.4497029592385495L - // j13
+// z * (9104.5002411580189358L - // j14
+// z * (22324.308512706601434L - // j15
+// z * (55103.621972903835338L - // j16
+// z * (136808.86090394293563L - // j17 z^17 last term used by Fukushima double.
+// z * (341422.050665838363317L - // z^18
+// z * (855992.9659966075514633L - // z^19
+// z * (2.154990206091088289321e6L - // z^20
+// z * 5.4455529223144624316423e6L // z^21
+// ))))))))))))))))))));
+//
+
+ T result =
+z * (1.L - // z j1
+z * (1.L - // z^2
+z * (1.500000000000000000000000000000000L - // z^3
+z * (2.666666666666666666666666666666666L - // z ^ 4
+z * (5.208333333333333333333333333333333L - // z ^ 5
+z * (10.80000000000000000000000000000000L - // z ^ 6
+z * (23.34305555555555555555555555555555L - // z ^ 7
+z * (52.01269841269841269841269841269841L - // z ^ 8
+z * (118.6252232142857142857142857142857L - // z ^ 9
+z * (275.5731922398589065255731922398589L - // z ^ 10
+z * (649.7871723434744268077601410934744L - // z ^ 11
+z * (1551.160519480519480519480519480519L - // z ^ 12
+z * (3741.449702959238549516327294105071L - //z ^ 13
+z * (9104.500241158018935796713574491352L - // z ^ 14
+z * (22324.308512706601434280005708577137L - // z ^ 15
+z * (55103.621972903835337697771560205422L - // z ^ 16
+z * (136808.86090394293563342215789305736L - // z ^ 17
+z * (341422.05066583836331735491399356945L - // z^18
+z * (855992.9659966075514633630250633224L - // z^19
+z * (2.154990206091088289321708745358647e6L // z^20 distance -5 without term 20
+))))))))))))))))))));
+
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::cout << "return w = " << result << std::endl;
+ std::cout.precision(precision); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ return result;
+} // long double lambert_w0_small_z(const T z, boost::mpl::int_<1> const&)
+
+//! Specialization of 128-bit long double series expansion used for small z (abs(z) < 0.05).
+// 34 Taylor series coefficients used are computed by Wolfram to 50 decimal digits using instruction
+// N[InverseSeries[Series[z Exp[z],{z,0,34}]],50],
+// and are suffixed by L as they are assumed of type long double.
+// (This is NOT used for 128-bit quad boost::multiprecision::float128 type which required a suffix Q
+// nor multiprecision type cpp_bin_float_quad that can only be initialised at full precision of the type
+// constructed with a decimal digit string like "2.6666666666666666666666666666666666666666666666667".)
+
+template <class T, class Policy>
+T lambert_w0_small_z(const T z, const Policy&, boost::mpl::int_<3> const&)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::streamsize precision = std::cout.precision(std::numeric_limits<T>::max_digits10); // Save.
+ std::cout << "\ntag_type 3 long double (128-bit) lambert_w0_small_z called with z = " << z << " using " << 17 << " terms of precision, "
+ << std::numeric_limits<double>::max_digits10 << " decimal digits. " << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ T result =
+ z * (1.L - // j1
+ z * (1.L - // j2
+ z * (1.5L - // 3/2 // j3
+ z * (2.6666666666666666666666666666666666L - // 8/3 // j4
+ z * (5.2052083333333333333333333333333333L - // -125/24 // j5
+ z * (10.800000000000000000000000000000000L - // j6
+ z * (23.343055555555555555555555555555555L - // j7
+ z * (52.0126984126984126984126984126984126L - // j8
+ z * (118.625223214285714285714285714285714L - // j9
+ z * (275.57319223985890652557319223985890L - // * z ^ 10 - // j10
+ z * (649.78717234347442680776014109347442680776014109347L - // j11
+ z * (1551.1605194805194805194805194805194805194805194805L - // j12
+ z * (3741.4497029592385495163272941050718828496606274384L - // j13
+ z * (9104.5002411580189357967135744913522691300469078247L - // j14
+ z * (22324.308512706601434280005708577137148565719994291L - // j15
+ z * (55103.621972903835337697771560205422639285073147507L - // j16
+ z * 136808.86090394293563342215789305736395683485630576L // j17
+ ))))))))))))))));
+
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::cout << "return w = " << result << std::endl;
+ std::cout.precision(precision); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ return result;
+} // T lambert_w0_small_z(const T z, boost::mpl::int_<3> const&)
+
+//! Specialization of 128-bit quad series expansion used for small z (abs(z) < 0.05).
+// 34 Taylor series coefficients used were computed by Wolfram to 50 decimal digits using instruction
+// N[InverseSeries[Series[z Exp[z],{z,0,34}]],50],
+// and are suffixed by Q as they are assumed of type quad.
+// This could be used for 128-bit quad (which requires a suffix Q for full precision).
+// But experiments with GCC 7.2.0 show that while this gives full 128-bit precision
+// when the -f-ext-numeric-literals option is in force and the libquadmath library available,
+// over the range -0.049 to +0.049,
+// it is slightly slower than getting a double approximation followed by a single Halley step.
+
+#ifdef BOOST_HAS_FLOAT128
+template <class T, class Policy>
+T lambert_w0_small_z(const T z, const Policy&, boost::mpl::int_<4> const&)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::streamsize precision = std::cout.precision(std::numeric_limits<T>::max_digits10); // Save.
+ std::cout << "\ntag_type 4 128-bit quad float128 lambert_w0_small_z called with z = " << z << " using " << 34 << " terms of precision, "
+ << std::numeric_limits<float128>::max_digits10 << " max decimal digits." << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ T result =
+ z * (1.Q - // z j1
+ z * (1.Q - // z^2
+ z * (1.500000000000000000000000000000000Q - // z^3
+ z * (2.666666666666666666666666666666666Q - // z ^ 4
+ z * (5.208333333333333333333333333333333Q - // z ^ 5
+ z * (10.80000000000000000000000000000000Q - // z ^ 6
+ z * (23.34305555555555555555555555555555Q - // z ^ 7
+ z * (52.01269841269841269841269841269841Q - // z ^ 8
+ z * (118.6252232142857142857142857142857Q - // z ^ 9
+ z * (275.5731922398589065255731922398589Q - // z ^ 10
+ z * (649.7871723434744268077601410934744Q - // z ^ 11
+ z * (1551.160519480519480519480519480519Q - // z ^ 12
+ z * (3741.449702959238549516327294105071Q - //z ^ 13
+ z * (9104.500241158018935796713574491352Q - // z ^ 14
+ z * (22324.308512706601434280005708577137Q - // z ^ 15
+ z * (55103.621972903835337697771560205422Q - // z ^ 16
+ z * (136808.86090394293563342215789305736Q - // z ^ 17
+ z * (341422.05066583836331735491399356945Q - // z^18
+ z * (855992.9659966075514633630250633224Q - // z^19
+ z * (2.154990206091088289321708745358647e6Q - // 20
+ z * (5.445552922314462431642316420035073e6Q - // 21
+ z * (1.380733000216662949061923813184508e7Q - // 22
+ z * (3.511704498513923292853869855945334e7Q - // 23
+ z * (8.956800256102797693072819557780090e7Q - // 24
+ z * (2.290416846187949813964782641734774e8Q - // 25
+ z * (5.871035041171798492020292225245235e8Q - // 26
+ z * (1.508256053857792919641317138812957e9Q - // 27
+ z * (3.882630161293188940385873468413841e9Q - // 28
+ z * (1.001394313665482968013913601565723e10Q - // 29
+ z * (2.587356736265760638992878359024929e10Q - // 30
+ z * (6.696209709358073856946120522333454e10Q - // 31
+ z * (1.735711659599198077777078238043644e11Q - // 32
+ z * (4.505680465642353886756098108484670e11Q - // 33
+ z * (1.171223178256487391904047636564823e12Q //z^34
+ ))))))))))))))))))))))))))))))))));
+
+
+ #ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::cout << "return w = " << result << std::endl;
+ std::cout.precision(precision); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+
+ return result;
+} // T lambert_w0_small_z(const T z, boost::mpl::int_<4> const&) float128
+
+#else
+
+template <class T, class Policy>
+inline T lambert_w0_small_z(const T z, const Policy& pol, boost::mpl::int_<4> const&)
+{
+ return lambert_w0_small_z(z, pol, boost::mpl::int_<5>());
+}
+
+#endif // BOOST_HAS_FLOAT128
+
+//! Series functor to compute series term using pow and factorial.
+//! \details Functor is called after evaluating polynomial with the coefficients as rationals below.
+template <class T>
+struct lambert_w0_small_z_series_term
+{
+ typedef T result_type;
+ //! \param _z Lambert W argument z.
+ //! \param -term -pow<18>(z) / 6402373705728000uLL
+ //! \param _k number of terms == initially 18
+
+ // Note *after* evaluating N terms, its internal state has k = N and term = (-1)^N z^N.
+
+ lambert_w0_small_z_series_term(T _z, T _term, int _k)
+ : k(_k), z(_z), term(_term) { }
+
+ T operator()()
+ { // Called by sum_series until needs precision set by factor (policy::get_epsilon).
+ using std::pow;
+ ++k;
+ term *= -z / k;
+ //T t = pow(z, k) * pow(T(k), -1 + k) / factorial<T>(k); // (z^k * k(k-1)^k) / k!
+ T result = term * pow(T(k), -1 + k); // term * k^(k-1)
+ // std::cout << " k = " << k << ", term = " << term << ", result = " << result << std::endl;
+ return result; //
+ }
+private:
+ int k;
+ T z;
+ T term;
+}; // template <class T> struct lambert_w0_small_z_series_term
+
+ //! Generic variant for T a User-defined types like Boost.Multiprecision.
+template <class T, class Policy>
+inline T lambert_w0_small_z(T z, const Policy& pol, boost::mpl::int_<5> const&)
+{
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::streamsize precision = std::cout.precision(std::numeric_limits<T>::max_digits10); // Save.
+ std::cout << "Generic lambert_w0_small_z called with z = " << z << " using as many terms needed for precision." << std::endl;
+ std::cout << "Argument z is of type " << typeid(T).name() << std::endl;
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+
+ // First several terms of the series are tabulated and evaluated as a polynomial:
+ // this will save us a bunch of expensive calls to pow.
+ // Then our series functor is initialized "as if" it had already reached term 18,
+ // enough evaluation of built-in 64-bit double and float (and 80-bit long double?) types.
+
+ // Coefficients should be stored such that the coefficients for the x^i terms are in poly[i].
+ static const T coeff[] =
+ {
+ 0, // z^0 Care: zeroth term needed by tools::evaluate_polynomial, but not in the Wolfram equation, so indexes are one different!
+ 1, // z^1 term.
+ -1, // z^2 term
+ static_cast<T>(3uLL) / 2uLL, // z^3 term.
+ -static_cast<T>(8uLL) / 3uLL, // z^4
+ static_cast<T>(125uLL) / 24uLL, // z^5
+ -static_cast<T>(54uLL) / 5uLL, // z^6
+ static_cast<T>(16807uLL) / 720uLL, // z^7
+ -static_cast<T>(16384uLL) / 315uLL, // z^8
+ static_cast<T>(531441uLL) / 4480uLL, // z^9
+ -static_cast<T>(156250uLL) / 567uLL, // z^10
+ static_cast<T>(2357947691uLL) / 3628800uLL, // z^11
+ -static_cast<T>(2985984uLL) / 1925uLL, // z^12
+ static_cast<T>(1792160394037uLL) / 479001600uLL, // z^13
+ -static_cast<T>(7909306972uLL) / 868725uLL, // z^14
+ static_cast<T>(320361328125uLL) / 14350336uLL, // z^15
+ -static_cast<T>(35184372088832uLL) / 638512875uLL, // z^16
+ static_cast<T>(2862423051509815793uLL) / 20922789888000uLL, // z^17 term
+ -static_cast<T>(5083731656658uLL) / 14889875uLL,
+ // z^18 term. = 136808.86090394293563342215789305735851647769682393
+
+ // z^18 is biggest that can be computed as rational using the largest possible uLL integers,
+ // so higher terms cannot be potentially compiler-computed as uLL rationals.
+ // Wolfram (5083731656658 z ^ 18) / 14889875 or
+ // -341422.05066583836331735491399356945575432970390954 z^18
+
+ // See note below calling the functor to compute another term,
+ // sufficient for 80-bit long double precision.
+ // Wolfram -341422.05066583836331735491399356945575432970390954 z^19 term.
+ // (5480386857784802185939 z^19)/6402373705728000
+ // But now this variant is not used to compute long double
+ // as specializations are provided above.
+ }; // static const T coeff[]
+
+ /*
+ Table of 19 computed coefficients:
+
+ #0 0
+ #1 1
+ #2 -1
+ #3 1.5
+ #4 -2.6666666666666666666666666666666665382713370408509
+ #5 5.2083333333333333333333333333333330765426740817019
+ #6 -10.800000000000000000000000000000000616297582203915
+ #7 23.343055555555555555555555555555555076212991619177
+ #8 -52.012698412698412698412698412698412659282693193402
+ #9 118.62522321428571428571428571428571146835390992496
+ #10 -275.57319223985890652557319223985891400375196748314
+ #11 649.7871723434744268077601410934743969785223845882
+ #12 -1551.1605194805194805194805194805194947599566007429
+ #13 3741.4497029592385495163272941050719510009019331763
+ #14 -9104.5002411580189357967135744913524243896052869184
+ #15 22324.308512706601434280005708577137322392070452582
+ #16 -55103.621972903835337697771560205423203318720697224
+ #17 136808.86090394293563342215789305735851647769682393
+ 136808.86090394293563342215789305735851647769682393 == Exactly same as Wolfram computed value.
+ #18 -341422.05066583836331735491399356947486381600607416
+ 341422.05066583836331735491399356945575432970390954 z^19 Wolfram value differs at 36 decimal digit, as expected.
+ */
+
+ using boost::math::policies::get_epsilon; // for type T.
+ using boost::math::tools::sum_series;
+ using boost::math::tools::evaluate_polynomial;
+ // http://www.boost.org/doc/libs/release/libs/math/doc/html/math_toolkit/roots/rational.html
+
+ // std::streamsize prec = std::cout.precision(std::numeric_limits <T>::max_digits10);
+
+ T result = evaluate_polynomial(coeff, z);
+ // template <std::size_t N, class T, class V>
+ // V evaluate_polynomial(const T(&poly)[N], const V& val);
+ // Size of coeff found from N
+ //std::cout << "evaluate_polynomial(coeff, z); == " << result << std::endl;
+ //std::cout << "result = " << result << std::endl;
+ // It's an artefact of the way I wrote the functor: *after* evaluating N
+ // terms, its internal state has k = N and term = (-1)^N z^N. So after
+ // evaluating 18 terms, we initialize the functor to the term we've just
+ // evaluated, and then when it's called, it increments itself to the next term.
+ // So 18!is 6402373705728000, which is where that comes from.
+
+ // The 19th coefficient of the polynomial is actually, 19 ^ 18 / 19!=
+ // 104127350297911241532841 / 121645100408832000 which after removing GCDs
+ // reduces down to Wolfram rational 5480386857784802185939 / 6402373705728000.
+ // Wolfram z^19 term +(5480386857784802185939 z^19) /6402373705728000
+ // +855992.96599660755146336302506332246623424823099755 z^19
+
+ //! Evaluate Functor.
+ lambert_w0_small_z_series_term<T> s(z, -pow<18>(z) / 6402373705728000uLL, 18);
+
+ // Temporary to list the coefficients.
+ //std::cout << " Table of coefficients" << std::endl;
+ //std::streamsize saved_precision = std::cout.precision(50);
+ //for (size_t i = 0; i != 19; i++)
+ //{
+ // std::cout << "#" << i << " " << coeff[i] << std::endl;
+ //}
+ //std::cout.precision(saved_precision);
+
+ boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>(); // Max iterations from policy.
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+ std::cout << "max iter from policy = " << max_iter << std::endl;
+ // // max iter from policy = 1000000 is default.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES
+
+ result = sum_series(s, get_epsilon<T, Policy>(), max_iter, result);
+ // result == evaluate_polynomial.
+ //sum_series(Functor& func, int bits, boost::uintmax_t& max_terms, const U& init_value)
+ // std::cout << "sum_series(s, get_epsilon<T, Policy>(), max_iter, result); = " << result << std::endl;
+
+ //T epsilon = get_epsilon<T, Policy>();
+ //std::cout << "epilson from policy = " << epsilon << std::endl;
+ // epilson from policy = 1.93e-34 for T == quad
+ // 5.35e-51 for t = cpp_bin_float_50
+
+ // std::cout << " get eps = " << get_epsilon<T, Policy>() << std::endl; // quad eps = 1.93e-34, bin_float_50 eps = 5.35e-51
+ policies::check_series_iterations<T>("boost::math::lambert_w0_small_z<%1%>(%1%)", max_iter, pol);
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES_ITERATIONS
+ std::cout << "z = " << z << " needed " << max_iter << " iterations." << std::endl;
+ std::cout.precision(prec); // Restore.
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W_SMALL_Z_SERIES_ITERATIONS
+ return result;
+} // template <class T, class Policy> inline T lambert_w0_small_z_series(T z, const Policy& pol)
+
+// Approximate lambert_w0 (used for z values that are outside range of lookup table or rational functions)
+// Corless equation 4.19, page 349, and Chapeau-Blondeau equation 20, page 2162.
+template <typename T>
+inline
+T lambert_w0_approx(T z)
+{
+ BOOST_MATH_STD_USING
+ T lz = log(z);
+ T llz = log(lz);
+ T w = lz - llz + (llz / lz); // Corless equation 4.19, page 349, and Chapeau-Blondeau equation 20, page 2162.
+ return w;
+ // std::cout << "w max " << max_w << std::endl; // double 703.227
+}
+
+ //////////////////////////////////////////////////////////////////////////////////////////
+
+//! \brief Lambert_w0 implementations for float, double and higher precisions.
+//! 3rd parameter used to select which version is used.
+
+//! /details Rational polynomials are provided for several range of argument z.
+//! For very small values of z, and for z very near the branch singularity at -e^-1 (~= -0.367879),
+//! two other series functions are used.
+
+//! float precision polynomials are used for 32-bit (usually float) precision (for speed)
+//! double precision polynomials are used for 64-bit (usually double) precision.
+//! For higher precisions, a 64-bit double approximation is computed first,
+//! and then refined using Halley interations.
+
+template <class T>
+inline T get_near_singularity_param(T z)
+{
+ BOOST_MATH_STD_USING
+ const T p2 = 2 * (boost::math::constants::e<T>() * z + 1);
+ const T p = sqrt(p2);
+ return p;
+}
+inline float get_near_singularity_param(float z)
+{
+ return static_cast<float>(get_near_singularity_param((double)z));
+}
+inline double get_near_singularity_param(double z)
+{
+ return static_cast<double>(get_near_singularity_param((long double)z));
+}
+
+// Forward declarations:
+
+//template <class T, class Policy> T lambert_w0_small_z(T z, const Policy& pol);
+//template <class T, class Policy>
+//T lambert_w0_imp(T w, const Policy& pol, const mpl::int_<0>&); // 32 bit usually float.
+//template <class T, class Policy>
+//T lambert_w0_imp(T w, const Policy& pol, const mpl::int_<1>&); // 64 bit usually double.
+//template <class T, class Policy>
+//T lambert_w0_imp(T w, const Policy& pol, const mpl::int_<2>&); // 80-bit long double.
+
+template <class T>
+T lambert_w_positive_rational_float(T z)
+{
+ BOOST_MATH_STD_USING
+ if (z < 2)
+ {
+ if (z < 0.5)
+ { // 0.05 < z < 0.5
+ // Maximum Deviation Found: 2.993e-08
+ // Expected Error Term : 2.993e-08
+ // Maximum Relative Change in Control Points : 7.555e-04 Y offset : -8.196592331e-01
+ static const T Y = 8.196592331e-01f;
+ static const T P[] = {
+ 1.803388345e-01f,
+ -4.820256838e-01f,
+ -1.068349741e+00f,
+ -3.506624319e-02f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 2.871703469e+00f,
+ 1.690949264e+00f,
+ };
+ return z * (Y + boost::math::tools::evaluate_polynomial(P, z) / boost::math::tools::evaluate_polynomial(Q, z));
+ }
+ else
+ { // 0.5 < z < 2
+ // Max error in interpolated form: 1.018e-08
+ static const T Y = 5.503368378e-01f;
+ static const T P[] = {
+ 4.493332766e-01f,
+ 2.543432707e-01f,
+ -4.808788799e-01f,
+ -1.244425316e-01f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 2.780661241e+00f,
+ 1.830840318e+00f,
+ 2.407221031e-01f,
+ };
+ return z * (Y + boost::math::tools::evaluate_rational(P, Q, z));
+ }
+ }
+ else if (z < 6)
+ {
+ // 2 < z < 6
+ // Max error in interpolated form: 2.944e-08
+ static const T Y = 1.162393570e+00f;
+ static const T P[] = {
+ -1.144183394e+00f,
+ -4.712732855e-01f,
+ 1.563162512e-01f,
+ 1.434010911e-02f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 1.192626340e+00f,
+ 2.295580708e-01f,
+ 5.477869455e-03f,
+ };
+ return Y + boost::math::tools::evaluate_rational(P, Q, z);
+ }
+ else if (z < 18)
+ {
+ // 6 < z < 18
+ // Max error in interpolated form: 5.893e-08
+ static const T Y = 1.809371948e+00f;
+ static const T P[] = {
+ -1.689291769e+00f,
+ -3.337812742e-01f,
+ 3.151434873e-02f,
+ 1.134178734e-03f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 5.716915685e-01f,
+ 4.489521292e-02f,
+ 4.076716763e-04f,
+ };
+ return Y + boost::math::tools::evaluate_rational(P, Q, z);
+ }
+ else if (z < 9897.12905874) // 2.8 < log(z) < 9.2
+ {
+ // Max error in interpolated form: 1.771e-08
+ static const T Y = -1.402973175e+00f;
+ static const T P[] = {
+ 1.966174312e+00f,
+ 2.350864728e-01f,
+ -5.098074353e-02f,
+ -1.054818339e-02f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 4.388208264e-01f,
+ 8.316639634e-02f,
+ 3.397187918e-03f,
+ -1.321489743e-05f,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_polynomial(P, log_w) / boost::math::tools::evaluate_polynomial(Q, log_w);
+ }
+ else if (z < 7.896296e+13) // 9.2 < log(z) <= 32
+ {
+ // Max error in interpolated form: 5.821e-08
+ static const T Y = -2.735729218e+00f;
+ static const T P[] = {
+ 3.424903470e+00f,
+ 7.525631787e-02f,
+ -1.427309584e-02f,
+ -1.435974178e-05f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 2.514005579e-01f,
+ 6.118994652e-03f,
+ -1.357889535e-05f,
+ 7.312865624e-08f,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_polynomial(P, log_w) / boost::math::tools::evaluate_polynomial(Q, log_w);
+ }
+ else // 32 < log(z) < 100
+ {
+ // Max error in interpolated form: 1.491e-08
+ static const T Y = -4.012863159e+00f;
+ static const T P[] = {
+ 4.431629226e+00f,
+ 2.756690487e-01f,
+ -2.992956930e-03f,
+ -4.912259384e-05f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 2.015434591e-01f,
+ 4.949426142e-03f,
+ 1.609659944e-05f,
+ -5.111523436e-09f,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_polynomial(P, log_w) / boost::math::tools::evaluate_polynomial(Q, log_w);
+ }
+}
+
+template <class T, class Policy>
+T lambert_w_negative_rational_float(T z, const Policy& pol)
+{
+ BOOST_MATH_STD_USING
+ if (z > -0.27)
+ {
+ if (z < -0.051)
+ {
+ // -0.27 < z < -0.051
+ // Max error in interpolated form: 5.080e-08
+ static const T Y = 1.255809784e+00f;
+ static const T P[] = {
+ -2.558083412e-01f,
+ -2.306524098e+00f,
+ -5.630887033e+00f,
+ -3.803974556e+00f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 5.107680783e+00f,
+ 7.914062868e+00f,
+ 3.501498501e+00f,
+ };
+ return z * (Y + boost::math::tools::evaluate_rational(P, Q, z));
+ }
+ else
+ {
+ // Very small z so use a series function.
+ return lambert_w0_small_z(z, pol);
+ }
+ }
+ else if (z > -0.3578794411714423215955237701)
+ { // Very close to branch singularity.
+ // Max error in interpolated form: 5.269e-08
+ static const T Y = 1.220928431e-01f;
+ static const T P[] = {
+ -1.221787446e-01f,
+ -6.816155875e+00f,
+ 7.144582035e+01f,
+ 1.128444390e+03f,
+ };
+ static const T Q[] = {
+ 1.000000000e+00f,
+ 6.480326790e+01f,
+ 1.869145243e+02f,
+ -1.361804274e+03f,
+ 1.117826726e+03f,
+ };
+ T d = z + 0.367879441171442321595523770161460867445811f;
+ return -d / (Y + boost::math::tools::evaluate_polynomial(P, d) / boost::math::tools::evaluate_polynomial(Q, d));
+ }
+ else
+ {
+ // z is very close (within 0.01) of the singularity at e^-1.
+ return lambert_w_singularity_series(get_near_singularity_param(z));
+ }
+}
+
+//! Lambert_w0 @b 'float' implementation, selected when T is 32-bit precision.
+template <class T, class Policy>
+inline T lambert_w0_imp(T z, const Policy& pol, const mpl::int_<1>&)
+{
+ static const char* function = "boost::math::lambert_w0<%1%>"; // For error messages.
+ BOOST_MATH_STD_USING // Aid ADL of std functions.
+
+ if ((boost::math::isnan)(z))
+ {
+ return boost::math::policies::raise_domain_error<T>(function, "Expected a value > -e^-1 (-0.367879...) but got %1%.", z, pol);
+ }
+ if ((boost::math::isinf)(z))
+ {
+ return boost::math::policies::raise_overflow_error<T>(function, "Expected a finite value but got %1%.", z, pol);
+ }
+
+ if (z >= 0.05) // Fukushima switch point.
+ // if (z >= 0.045) // 34 terms makes 128-bit 'exact' below 0.045.
+ { // Normal ranges using several rational polynomials.
+ return lambert_w_positive_rational_float(z);
+ }
+ else if (z <= -0.3678794411714423215955237701614608674458111310f)
+ {
+ if (z < -0.3678794411714423215955237701614608674458111310f)
+ return boost::math::policies::raise_domain_error<T>(function, "Expected z >= -e^-1 (-0.367879...) but got %1%.", z, pol);
+ return -1;
+ }
+ else // z < 0.05
+ {
+ return lambert_w_negative_rational_float(z, pol);
+ }
+} // T lambert_w0_imp(T z, const Policy& pol, const mpl::int_<1>&) for 32-bit usually float.
+
+template <class T>
+T lambert_w_positive_rational_double(T z)
+{
+ BOOST_MATH_STD_USING
+ if (z < 2)
+ {
+ if (z < 0.5)
+ {
+ // Max error in interpolated form: 2.255e-17
+ static const T offset = 8.19659233093261719e-01;
+ static const T P[] = {
+ 1.80340766906685177e-01,
+ 3.28178241493119307e-01,
+ -2.19153620687139706e+00,
+ -7.24750929074563990e+00,
+ -7.28395876262524204e+00,
+ -2.57417169492512916e+00,
+ -2.31606948888704503e-01
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 7.36482529307436604e+00,
+ 2.03686007856430677e+01,
+ 2.62864592096657307e+01,
+ 1.59742041380858333e+01,
+ 4.03760534788374589e+00,
+ 2.91327346750475362e-01
+ };
+ return z * (offset + boost::math::tools::evaluate_polynomial(P, z) / boost::math::tools::evaluate_polynomial(Q, z));
+ }
+ else
+ {
+ // Max error in interpolated form: 3.806e-18
+ static const T offset = 5.50335884094238281e-01;
+ static const T P[] = {
+ 4.49664083944098322e-01,
+ 1.90417666196776909e+00,
+ 1.99951368798255994e+00,
+ -6.91217310299270265e-01,
+ -1.88533935998617058e+00,
+ -7.96743968047750836e-01,
+ -1.02891726031055254e-01,
+ -3.09156013592636568e-03
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 6.45854489419584014e+00,
+ 1.54739232422116048e+01,
+ 1.72606164253337843e+01,
+ 9.29427055609544096e+00,
+ 2.29040824649748117e+00,
+ 2.21610620995418981e-01,
+ 5.70597669908194213e-03
+ };
+ return z * (offset + boost::math::tools::evaluate_rational(P, Q, z));
+ }
+ }
+ else if (z < 6)
+ {
+ // 2 < z < 6
+ // Max error in interpolated form: 1.216e-17
+ static const T Y = 1.16239356994628906e+00;
+ static const T P[] = {
+ -1.16230494982099475e+00,
+ -3.38528144432561136e+00,
+ -2.55653717293161565e+00,
+ -3.06755172989214189e-01,
+ 1.73149743765268289e-01,
+ 3.76906042860014206e-02,
+ 1.84552217624706666e-03,
+ 1.69434126904822116e-05,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 3.77187616711220819e+00,
+ 4.58799960260143701e+00,
+ 2.24101228462292447e+00,
+ 4.54794195426212385e-01,
+ 3.60761772095963982e-02,
+ 9.25176499518388571e-04,
+ 4.43611344705509378e-06,
+ };
+ return Y + boost::math::tools::evaluate_rational(P, Q, z);
+ }
+ else if (z < 18)
+ {
+ // 6 < z < 18
+ // Max error in interpolated form: 1.985e-19
+ static const T offset = 1.80937194824218750e+00;
+ static const T P[] =
+ {
+ -1.80690935424793635e+00,
+ -3.66995929380314602e+00,
+ -1.93842957940149781e+00,
+ -2.94269984375794040e-01,
+ 1.81224710627677778e-03,
+ 2.48166798603547447e-03,
+ 1.15806592415397245e-04,
+ 1.43105573216815533e-06,
+ 3.47281483428369604e-09
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 2.57319080723908597e+00,
+ 1.96724528442680658e+00,
+ 5.84501352882650722e-01,
+ 7.37152837939206240e-02,
+ 3.97368430940416778e-03,
+ 8.54941838187085088e-05,
+ 6.05713225608426678e-07,
+ 8.17517283816615732e-10
+ };
+ return offset + boost::math::tools::evaluate_rational(P, Q, z);
+ }
+ else if (z < 9897.12905874) // 2.8 < log(z) < 9.2
+ {
+ // Max error in interpolated form: 1.195e-18
+ static const T Y = -1.40297317504882812e+00;
+ static const T P[] = {
+ 1.97011826279311924e+00,
+ 1.05639945701546704e+00,
+ 3.33434529073196304e-01,
+ 3.34619153200386816e-02,
+ -5.36238353781326675e-03,
+ -2.43901294871308604e-03,
+ -2.13762095619085404e-04,
+ -4.85531936495542274e-06,
+ -2.02473518491905386e-08,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 8.60107275833921618e-01,
+ 4.10420467985504373e-01,
+ 1.18444884081994841e-01,
+ 2.16966505556021046e-02,
+ 2.24529766630769097e-03,
+ 9.82045090226437614e-05,
+ 1.36363515125489502e-06,
+ 3.44200749053237945e-09,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_rational(P, Q, log_w);
+ }
+ else if (z < 7.896296e+13) // 9.2 < log(z) <= 32
+ {
+ // Max error in interpolated form: 6.529e-18
+ static const T Y = -2.73572921752929688e+00;
+ static const T P[] = {
+ 3.30547638424076217e+00,
+ 1.64050071277550167e+00,
+ 4.57149576470736039e-01,
+ 4.03821227745424840e-02,
+ -4.99664976882514362e-04,
+ -1.28527893803052956e-04,
+ -2.95470325373338738e-06,
+ -1.76662025550202762e-08,
+ -1.98721972463709290e-11,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 6.91472559412458759e-01,
+ 2.48154578891676774e-01,
+ 4.60893578284335263e-02,
+ 3.60207838982301946e-03,
+ 1.13001153242430471e-04,
+ 1.33690948263488455e-06,
+ 4.97253225968548872e-09,
+ 3.39460723731970550e-12,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_rational(P, Q, log_w);
+ }
+ else if (z < 2.6881171e+43) // 32 < log(z) < 100
+ {
+ // Max error in interpolated form: 2.015e-18
+ static const T Y = -4.01286315917968750e+00;
+ static const T P[] = {
+ 5.07714858354309672e+00,
+ -3.32994414518701458e+00,
+ -8.61170416909864451e-01,
+ -4.01139705309486142e-02,
+ -1.85374201771834585e-04,
+ 1.08824145844270666e-05,
+ 1.17216905810452396e-07,
+ 2.97998248101385990e-10,
+ 1.42294856434176682e-13,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ -4.85840770639861485e-01,
+ -3.18714850604827580e-01,
+ -3.20966129264610534e-02,
+ -1.06276178044267895e-03,
+ -1.33597828642644955e-05,
+ -6.27900905346219472e-08,
+ -9.35271498075378319e-11,
+ -2.60648331090076845e-14,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_rational(P, Q, log_w);
+ }
+ else // 100 < log(z) < 710
+ {
+ // Max error in interpolated form: 5.277e-18
+ static const T Y = -5.70115661621093750e+00;
+ static const T P[] = {
+ 6.42275660145116698e+00,
+ 1.33047964073367945e+00,
+ 6.72008923401652816e-02,
+ 1.16444069958125895e-03,
+ 7.06966760237470501e-06,
+ 5.48974896149039165e-09,
+ -7.00379652018853621e-11,
+ -1.89247635913659556e-13,
+ -1.55898770790170598e-16,
+ -4.06109208815303157e-20,
+ -2.21552699006496737e-24,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 3.34498588416632854e-01,
+ 2.51519862456384983e-02,
+ 6.81223810622416254e-04,
+ 7.94450897106903537e-06,
+ 4.30675039872881342e-08,
+ 1.10667669458467617e-10,
+ 1.31012240694192289e-13,
+ 6.53282047177727125e-17,
+ 1.11775518708172009e-20,
+ 3.78250395617836059e-25,
+ };
+ T log_w = log(z);
+ return log_w + Y + boost::math::tools::evaluate_rational(P, Q, log_w);
+ }
+}
+
+template <class T, class Policy>
+T lambert_w_negative_rational_double(T z, const Policy& pol)
+{
+ BOOST_MATH_STD_USING
+ if (z > -0.1)
+ {
+ if (z < -0.051)
+ {
+ // -0.1 < z < -0.051
+ // Maximum Deviation Found: 4.402e-22
+ // Expected Error Term : 4.240e-22
+ // Maximum Relative Change in Control Points : 4.115e-03
+ static const T Y = 1.08633995056152344e+00;
+ static const T P[] = {
+ -8.63399505615014331e-02,
+ -1.64303871814816464e+00,
+ -7.71247913918273738e+00,
+ -1.41014495545382454e+01,
+ -1.02269079949257616e+01,
+ -2.17236002836306691e+00,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 7.44775406945739243e+00,
+ 2.04392643087266541e+01,
+ 2.51001961077774193e+01,
+ 1.31256080849023319e+01,
+ 2.11640324843601588e+00,
+ };
+ return z * (Y + boost::math::tools::evaluate_rational(P, Q, z));
+ }
+ else
+ {
+ // Very small z > 0.051:
+ return lambert_w0_small_z(z, pol);
+ }
+ }
+ else if (z > -0.2)
+ {
+ // -0.2 < z < -0.1
+ // Maximum Deviation Found: 2.898e-20
+ // Expected Error Term : 2.873e-20
+ // Maximum Relative Change in Control Points : 3.779e-04
+ static const T Y = 1.20359611511230469e+00;
+ static const T P[] = {
+ -2.03596115108465635e-01,
+ -2.95029082937201859e+00,
+ -1.54287922188671648e+01,
+ -3.81185809571116965e+01,
+ -4.66384358235575985e+01,
+ -2.59282069989642468e+01,
+ -4.70140451266553279e+00,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 9.57921436074599929e+00,
+ 3.60988119290234377e+01,
+ 6.73977699505546007e+01,
+ 6.41104992068148823e+01,
+ 2.82060127225153607e+01,
+ 4.10677610657724330e+00,
+ };
+ return z * (Y + boost::math::tools::evaluate_rational(P, Q, z));
+ }
+ else if (z > -0.3178794411714423215955237)
+ {
+ // Max error in interpolated form: 6.996e-18
+ static const T Y = 3.49680423736572266e-01;
+ static const T P[] = {
+ -3.49729841718749014e-01,
+ -6.28207407760709028e+01,
+ -2.57226178029669171e+03,
+ -2.50271008623093747e+04,
+ 1.11949239154711388e+05,
+ 1.85684566607844318e+06,
+ 4.80802490427638643e+06,
+ 2.76624752134636406e+06,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 1.82717661215113000e+02,
+ 8.00121119810280100e+03,
+ 1.06073266717010129e+05,
+ 3.22848993926057721e+05,
+ -8.05684814514171256e+05,
+ -2.59223192927265737e+06,
+ -5.61719645211570871e+05,
+ 6.27765369292636844e+04,
+ };
+ T d = z + 0.367879441171442321595523770161460867445811;
+ return -d / (Y + boost::math::tools::evaluate_polynomial(P, d) / boost::math::tools::evaluate_polynomial(Q, d));
+ }
+ else if (z > -0.3578794411714423215955237701)
+ {
+ // Max error in interpolated form: 1.404e-17
+ static const T Y = 5.00126481056213379e-02;
+ static const T P[] = {
+ -5.00173570682372162e-02,
+ -4.44242461870072044e+01,
+ -9.51185533619946042e+03,
+ -5.88605699015429386e+05,
+ -1.90760843597427751e+06,
+ 5.79797663818311404e+08,
+ 1.11383352508459134e+10,
+ 5.67791253678716467e+10,
+ 6.32694500716584572e+10,
+ };
+ static const T Q[] = {
+ 1.00000000000000000e+00,
+ 9.08910517489981551e+02,
+ 2.10170163753340133e+05,
+ 1.67858612416470327e+07,
+ 4.90435561733227953e+08,
+ 4.54978142622939917e+09,
+ 2.87716585708739168e+09,
+ -4.59414247951143131e+10,
+ -1.72845216404874299e+10,
+ };
+ T d = z + 0.36787944117144232159552377016146086744581113103176804;
+ return -d / (Y + boost::math::tools::evaluate_polynomial(P, d) / boost::math::tools::evaluate_polynomial(Q, d));
+ }
+ else
+ { // z is very close (within 0.01) of the singularity at -e^-1,
+ // so use a series expansion from R. M. Corless et al.
+ const T p2 = 2 * (boost::math::constants::e<T>() * z + 1);
+ const T p = sqrt(p2);
+ return lambert_w_detail::lambert_w_singularity_series(p);
+ }
+}
+
+//! Lambert_w0 @b 'double' implementation, selected when T is 64-bit precision.
+template <class T, class Policy>
+inline T lambert_w0_imp(T z, const Policy& pol, const mpl::int_<2>&)
+{
+ static const char* function = "boost::math::lambert_w0<%1%>";
+ BOOST_MATH_STD_USING // Aid ADL of std functions.
+
+ // Detect unusual case of 32-bit double with a wider/64-bit long double
+ BOOST_STATIC_ASSERT_MSG(std::numeric_limits<double>::digits >= 53,
+ "Our double precision coefficients will be truncated, "
+ "please file a bug report with details of your platform's floating point types "
+ "- or possibly edit the coefficients to have "
+ "an appropriate size-suffix for 64-bit floats on your platform - L?");
+
+ if ((boost::math::isnan)(z))
+ {
+ return boost::math::policies::raise_domain_error<T>(function, "Expected a value > -e^-1 (-0.367879...) but got %1%.", z, pol);
+ }
+ if ((boost::math::isinf)(z))
+ {
+ return boost::math::policies::raise_overflow_error<T>(function, "Expected a finite value but got %1%.", z, pol);
+ }
+
+ if (z >= 0.05)
+ {
+ return lambert_w_positive_rational_double(z);
+ }
+ else if (z <= -0.36787944117144232159552377016146086744581113103176804) // Precision is max_digits10(cpp_bin_float_50).
+ {
+ if (z < -0.36787944117144232159552377016146086744581113103176804)
+ {
+ return boost::math::policies::raise_domain_error<T>(function, "Expected z >= -e^-1 (-0.367879...) but got %1%.", z, pol);
+ }
+ return -1;
+ }
+ else
+ {
+ return lambert_w_negative_rational_double(z, pol);
+ }
+} // T lambert_w0_imp(T z, const Policy& pol, const mpl::int_<2>&) 64-bit precision, usually double.
+
+//! lambert_W0 implementation for extended precision types including
+//! long double (80-bit and 128-bit), ???
+//! quad float128, Boost.Multiprecision types like cpp_bin_float_quad, cpp_bin_float_50...
+
+template <class T, class Policy>
+inline T lambert_w0_imp(T z, const Policy& pol, const mpl::int_<0>&)
+{
+ static const char* function = "boost::math::lambert_w0<%1%>";
+ BOOST_MATH_STD_USING // Aid ADL of std functions.
+
+ // Filter out special cases first:
+ if ((boost::math::isnan)(z))
+ {
+ return boost::math::policies::raise_domain_error<T>(function, "Expected z >= -e^-1 (-0.367879...) but got %1%.", z, pol);
+ }
+ if (fabs(z) <= 0.05f)
+ {
+ // Very small z:
+ return lambert_w0_small_z(z, pol);
+ }
+ if (z > (std::numeric_limits<double>::max)())
+ {
+ if ((boost::math::isinf)(z))
+ {
+ return policies::raise_overflow_error<T>(function, 0, pol);
+ // Or might return infinity if available else max_value,
+ // but other Boost.Math special functions raise overflow.
+ }
+ // z is larger than the largest double, so cannot use the polynomial to get an approximation,
+ // so use the asymptotic approximation and Halley iterate:
+
+ T w = lambert_w0_approx(z); // Make an inline function as also used elsewhere.
+ //T lz = log(z);
+ //T llz = log(lz);
+ //T w = lz - llz + (llz / lz); // Corless equation 4.19, page 349, and Chapeau-Blondeau equation 20, page 2162.
+ return lambert_w_halley_iterate(w, z);
+ }
+ if (z < -0.3578794411714423215955237701)
+ { // Very close to branch point so rational polynomials are not usable.
+ if (z <= -boost::math::constants::exp_minus_one<T>())
+ {
+ if (z == -boost::math::constants::exp_minus_one<T>())
+ { // Exactly at the branch point singularity.
+ return -1;
+ }
+ return boost::math::policies::raise_domain_error<T>(function, "Expected z >= -e^-1 (-0.367879...) but got %1%.", z, pol);
+ }
+ // z is very close (within 0.01) of the branch singularity at -e^-1
+ // so use a series approximation proposed by Corless et al.
+ const T p2 = 2 * (boost::math::constants::e<T>() * z + 1);
+ const T p = sqrt(p2);
+ T w = lambert_w_detail::lambert_w_singularity_series(p);
+ return lambert_w_halley_iterate(w, z);
+ }
+
+ // Phew! If we get here we are in the normal range of the function,
+ // so get a double precision approximation first, then iterate to full precision of T.
+ // We define a tag_type that is:
+ // mpl::true_ if there are so many digits precision wanted that iteration is necessary.
+ // mpl::false_ if a single Halley step is sufficient.
+
+ typedef typename policies::precision<T, Policy>::type precision_type;
+ typedef mpl::bool_<
+ (precision_type::value == 0) || (precision_type::value > 113) ?
+ true // Unknown at compile-time, variable/arbitrary, or more than float128 or cpp_bin_quad 128-bit precision.
+ : false // float, double, float128, cpp_bin_quad 128-bit, so single Halley step.
+ > tag_type;
+
+ // For speed, we also cast z to type double when that is possible
+ // if (boost::is_constructible<double, T>() == true).
+ T w = lambert_w0_imp(maybe_reduce_to_double(z, boost::is_constructible<double, T>()), pol, mpl::int_<2>());
+
+ return lambert_w_maybe_halley_iterate(w, z, tag_type());
+
+} // T lambert_w0_imp(T z, const Policy& pol, const mpl::int_<0>&) all extended precision types.
+
+ // Lambert w-1 implementation
+// ==============================================================================================
+
+ //! Lambert W for W-1 branch, -max(z) < z <= -1/e.
+ // TODO is -max(z) allowed?
+template<typename T, class Policy>
+T lambert_wm1_imp(const T z, const Policy& pol)
+{
+ // Catch providing an integer value as parameter x to lambert_w, for example, lambert_w(1).
+ // Need to ensure it is a floating-point type (of the desired type, float 1.F, double 1., or long double 1.L),
+ // or static_casted integer, for example: static_cast<float>(1) or static_cast<cpp_dec_float_50>(1).
+ // Want to allow fixed_point types too, so do not just test for floating-point.
+ // Integral types should be promoted to double by user Lambert w functions.
+ // If integral type provided to user function lambert_w0 or lambert_wm1,
+ // then should already have been promoted to double.
+ BOOST_STATIC_ASSERT_MSG(!boost::is_integral<T>::value,
+ "Must be floating-point or fixed type (not integer type), for example: lambert_wm1(1.), not lambert_wm1(1)!");
+
+ BOOST_MATH_STD_USING // Aid argument dependent lookup (ADL) of abs.
+
+ const char* function = "boost::math::lambert_wm1<RealType>(<RealType>)"; // Used for error messages.
+
+ // Check for edge and corner cases first:
+ if ((boost::math::isnan)(z))
+ {
+ return policies::raise_domain_error(function,
+ "Argument z is NaN!",
+ z, pol);
+ } // isnan
+
+ if ((boost::math::isinf)(z))
+ {
+ return policies::raise_domain_error(function,
+ "Argument z is infinite!",
+ z, pol);
+ } // isinf
+
+ if (z == static_cast<T>(0))
+ { // z is exactly zero so return -std::numeric_limits<T>::infinity();
+ if (std::numeric_limits<T>::has_infinity)
+ {
+ return -std::numeric_limits<T>::infinity();
+ }
+ else
+ {
+ return -tools::max_value<T>();
+ }
+ }
+ if (std::numeric_limits<T>::has_denorm)
+ { // All real types except arbitrary precision.
+ if (!(boost::math::isnormal)(z))
+ { // Almost zero - might also just return infinity like z == 0 or max_value?
+ return policies::raise_overflow_error(function,
+ "Argument z = %1% is denormalized! (must be z > (std::numeric_limits<RealType>::min)() or z == 0)",
+ z, pol);
+ }
+ }
+
+ if (z > static_cast<T>(0))
+ { //
+ return policies::raise_domain_error(function,
+ "Argument z = %1% is out of range (z <= 0) for Lambert W-1 branch! (Try Lambert W0 branch?)",
+ z, pol);
+ }
+ if (z > -boost::math::tools::min_value<T>())
+ { // z is denormalized, so cannot be computed.
+ // -std::numeric_limits<T>::min() is smallest for type T,
+ // for example, for double: lambert_wm1(-2.2250738585072014e-308) = -714.96865723796634
+ return policies::raise_overflow_error(function,
+ "Argument z = %1% is too small (z < -std::numeric_limits<T>::min so denormalized) for Lambert W-1 branch!",
+ z, pol);
+ }
+ if (z == -boost::math::constants::exp_minus_one<T>()) // == singularity/branch point z = -exp(-1) = -3.6787944.
+ { // At singularity, so return exactly -1.
+ return -static_cast<T>(1);
+ }
+ // z is too negative for the W-1 (or W0) branch.
+ if (z < -boost::math::constants::exp_minus_one<T>()) // > singularity/branch point z = -exp(-1) = -3.6787944.
+ {
+ return policies::raise_domain_error(function,
+ "Argument z = %1% is out of range (z < -exp(-1) = -3.6787944... <= 0) for Lambert W-1 (or W0) branch!",
+ z, pol);
+ }
+ if (z < static_cast<T>(-0.35))
+ { // Close to singularity/branch point z = -0.3678794411714423215955237701614608727 but on W-1 branch.
+ const T p2 = 2 * (boost::math::constants::e<T>() * z + 1);
+ if (p2 == 0)
+ { // At the singularity at branch point.
+ return -1;
+ }
+ if (p2 > 0)
+ {
+ T w_series = lambert_w_singularity_series(T(-sqrt(p2)));
+ if (boost::math::tools::digits<T>() > 53)
+ { // Multiprecision, so try a Halley refinement.
+ w_series = lambert_w_detail::lambert_w_halley_iterate(w_series, z);
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_WM1_NOT_BUILTIN
+ std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ std::cout << "Lambert W-1 Halley updated to " << w_series << std::endl;
+ std::cout.precision(saved_precision);
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_WM1_NOT_BUILTIN
+ }
+ return w_series;
+ }
+ // Should not get here.
+ return policies::raise_domain_error(function,
+ "Argument z = %1% is out of range for Lambert W-1 branch. (Should not get here - please report!)",
+ z, pol);
+ } // if (z < -0.35)
+
+ using lambert_w_lookup::wm1es;
+ using lambert_w_lookup::wm1zs;
+ using lambert_w_lookup::noof_wm1zs; // size == 64
+
+ // std::cout <<" Wm1zs[63] (== G[64]) = " << " " << wm1zs[63] << std::endl; // Wm1zs[63] (== G[64]) = -1.0264389699511283e-26
+ // Check that z argument value is not smaller than lookup_table G[64]
+ // std::cout << "(z > wm1zs[63]) = " << std::boolalpha << (z > wm1zs[63]) << std::endl;
+
+ if (z >= wm1zs[63]) // wm1zs[63] = -1.0264389699511282259046957018510946438e-26L W = 64.00000000000000000
+ { // z >= -1.0264389699511303e-26 (but z != 0 and z >= std::numeric_limits<T>::min() and so NOT denormalized).
+
+ // Some info on Lambert W-1 values for extreme values of z.
+ // std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ // std::cout << "-std::numeric_limits<float>::min() = " << -(std::numeric_limits<float>::min)() << std::endl;
+ // std::cout << "-std::numeric_limits<double>::min() = " << -(std::numeric_limits<double>::min)() << std::endl;
+ // -std::numeric_limits<float>::min() = -1.1754943508222875e-38
+ // -std::numeric_limits<double>::min() = -2.2250738585072014e-308
+ // N[productlog(-1, -1.1754943508222875 * 10^-38 ), 50] = -91.856775324595479509567756730093823993834155027858
+ // N[productlog(-1, -2.2250738585072014e-308 * 10^-308 ), 50] = -1424.8544521230553853558132180518404363617968042942
+ // N[productlog(-1, -1.4325445274604020119111357113179868158* 10^-27), 37] = -65.99999999999999999999999999999999955
+
+ // R.M.Corless, G.H.Gonnet, D.E.G.Hare, D.J.Jeffrey, and D.E.Knuth,
+ // “On the Lambert W function, ” Adv.Comput.Math., vol. 5, pp. 329–359, 1996.
+ // Francois Chapeau-Blondeau and Abdelilah Monir
+ // Numerical Evaluation of the Lambert W Function
+ // IEEE Transactions On Signal Processing, VOL. 50, NO. 9, Sep 2002
+ // https://pdfs.semanticscholar.org/7a5a/76a9369586dd0dd34dda156d8f2779d1fd59.pdf
+ // Estimate Lambert W using ln(-z) ...
+ // This is roughly the power of ten * ln(10) ~= 2.3. n ~= 10^n
+ // and improve by adding a second term -ln(ln(-z))
+ T guess; // bisect lowest possible Gk[=64] (for lookup_t type)
+ T lz = log(-z);
+ T llz = log(-lz);
+ guess = lz - llz + (llz / lz); // Chapeau-Blondeau equation 20, page 2162.
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_WM1_TINY
+ std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ std::cout << "z = " << z << ", guess = " << guess << ", ln(-z) = " << lz << ", ln(-ln(-z) = " << llz << ", llz/lz = " << (llz / lz) << std::endl;
+ // z = -1.0000000000000001e-30, guess = -73.312782616731482, ln(-z) = -69.077552789821368, ln(-ln(-z) = 4.2352298269101114, llz/lz = -0.061311231447304194
+ // z = -9.9999999999999999e-91, guess = -212.56650048504233, ln(-z) = -207.23265836946410, ln(-ln(-z) = 5.3338421155782205, llz/lz = -0.025738424423764311
+ // >z = -2.2250738585072014e-308, guess = -714.95942238244606, ln(-z) = -708.39641853226408, ln(-ln(-z) = 6.5630038501819854, llz/lz = -0.0092645920821846622
+ int d10 = policies::digits_base10<T, Policy>(); // policy template parameter digits10
+ int d2 = policies::digits<T, Policy>(); // digits base 2 from policy.
+ std::cout << "digits10 = " << d10 << ", digits2 = " << d2 // For example: digits10 = 1, digits2 = 5
+ << std::endl;
+ std::cout.precision(saved_precision);
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_WM1_TINY
+ if (policies::digits<T, Policy>() < 12)
+ { // For the worst case near w = 64, the error in the 'guess' is ~0.008, ratio ~ 0.0001 or 1 in 10,000 digits 10 ~= 4, or digits2 ~= 12.
+ return guess;
+ }
+ T result = lambert_w_detail::lambert_w_halley_iterate(guess, z);
+ return result;
+
+ // Was Fukushima
+ // G[k=64] == g[63] == -1.02643897e-26
+ //return policies::raise_domain_error(function,
+ // "Argument z = %1% is too small (< -1.02643897e-26) ! (Should not occur, please report.",
+ // z, pol);
+ } // Z too small so use approximation and Halley.
+ // Else Use a lookup table to find the nearest integer part of Lambert W-1 as starting point for Bisection.
+
+ if (boost::math::tools::digits<T>() > 53)
+ { // T is more precise than 64-bit double (or long double, or ?),
+ // so compute an approximate value using only one Schroeder refinement,
+ // (avoiding any double-precision Halley refinement from policy double_digits2<50> 53 - 3 = 50
+ // because are next going to use Halley refinement at full/high precision using this as an approximation).
+ using boost::math::policies::precision;
+ using boost::math::policies::digits10;
+ using boost::math::policies::digits2;
+ using boost::math::policies::policy;
+ // Compute a 50-bit precision approximate W0 in a double (no Halley refinement).
+ T double_approx(static_cast<T>(lambert_wm1_imp(must_reduce_to_double(z, boost::is_constructible<double, T>()), policy<digits2<50> >())));
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_WM1_NOT_BUILTIN
+ std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ std::cout << "Lambert_wm1 Argument Type " << typeid(T).name() << " approximation double = " << double_approx << std::endl;
+ std::cout.precision(saved_precision);
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_WM1
+ // Perform additional Halley refinement(s) to ensure that
+ // get a near as possible to correct result (usually +/- one epsilon).
+ T result = lambert_w_halley_iterate(double_approx, z);
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_WM1
+ std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ std::cout << "Result " << typeid(T).name() << " precision Halley refinement = " << result << std::endl;
+ std::cout.precision(saved_precision);
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_WM1
+ return result;
+ } // digits > 53 - higher precision than double.
+ else // T is double or less precision.
+ { // Use a lookup table to find the nearest integer part of Lambert W as starting point for Bisection.
+ using namespace boost::math::lambert_w_detail::lambert_w_lookup;
+ // Bracketing sequence n = (2, 4, 8, 16, 32, 64) for W-1 branch. (0 is -infinity)
+ // Since z is probably quite small, start with lowest n (=2).
+ int n = 2;
+ if (wm1zs[n - 1] > z)
+ {
+ goto bisect;
+ }
+ for (int j = 1; j <= 5; ++j)
+ {
+ n *= 2;
+ if (wm1zs[n - 1] > z)
+ {
+ goto overshot;
+ }
+ }
+ // else z < g[63] == -1.0264389699511303e-26, so Lambert W-1 integer part > 64.
+ // This should not now occur (should be caught by test and code above) so should be a logic_error?
+ return policies::raise_domain_error(function,
+ "Argument z = %1% is too small (< -1.026439e-26) (logic error - please report!)",
+ z, pol);
+ overshot:
+ {
+ int nh = n / 2;
+ for (int j = 1; j <= 5; ++j)
+ {
+ nh /= 2; // halve step size.
+ if (nh <= 0)
+ {
+ break; // goto bisect;
+ }
+ if (wm1zs[n - nh - 1] > z)
+ {
+ n -= nh;
+ }
+ }
+ }
+ bisect:
+ --n;
+ // g[n] now holds lambert W of floor integer n and g[n+1] the ceil part;
+ // these are used as initial values for bisection.
+#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_WM1_LOOKUP
+ std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+ std::cout << "Result lookup W-1(" << z << ") bisection between wm1zs[" << n - 1 << "] = " << wm1zs[n - 1] << " and wm1zs[" << n << "] = " << wm1zs[n]
+ << ", bisect mean = " << (wm1zs[n - 1] + wm1zs[n]) / 2 << std::endl;
+ std::cout.precision(saved_precision);
+#endif // BOOST_MATH_INSTRUMENT_LAMBERT_WM1_LOOKUP
+
+ // Compute bisections is the number of bisections computed from n,
+ // such that a single application of the fifth-order Schroeder update formula
+ // after the bisections is enough to evaluate Lambert W-1 with (near?) 53-bit accuracy.
+ // Fukushima established these by trial and error?
+ int bisections = 11; // Assume maximum number of bisections will be needed (most common case).
+ if (n >= 8)
+ {
+ bisections = 8;
+ }
+ else if (n >= 3)
+ {
+ bisections = 9;
+ }
+ else if (n >= 2)
+ {
+ bisections = 10;
+ }
+ // Bracketing, Fukushima section 2.3, page 82:
+ // (Avoiding using exponential function for speed).
+ // Only use @c lookup_t precision, default double, for bisection (again for speed),
+ // and use later Halley refinement for higher precisions.
+ using lambert_w_lookup::halves;
+ using lambert_w_lookup::sqrtwm1s;
+
+ typedef typename mpl::if_c<boost::is_constructible<lookup_t, T>::value, lookup_t, T>::type calc_type;
+
+ calc_type w = -static_cast<calc_type>(n); // Equation 25,
+ calc_type y = static_cast<calc_type>(z * wm1es[n - 1]); // Equation 26,
+ // Perform the bisections fractional bisections for necessary precision.
+ for (int j = 0; j < bisections; ++j)
+ { // Equation 27.
+ calc_type wj = w - halves[j]; // Subtract 1/2, 1/4, 1/8 ...
+ calc_type yj = y * sqrtwm1s[j]; // Multiply by sqrt(1/e), ...
+ if (wj < yj)
+ {
+ w = wj;
+ y = yj;
+ }
+ } // for j
+ return static_cast<T>(schroeder_update(w, y)); // Schroeder 5th order method refinement.
+
+// else // Perform additional Halley refinement(s) to ensure that
+// // get a near as possible to correct result (usually +/- epsilon).
+// {
+// // result = lambert_w_halley_iterate(result, z);
+// result = lambert_w_halley_step(result, z); // Just one Halley step should be enough.
+//#ifdef BOOST_MATH_INSTRUMENT_LAMBERT_WM1_HALLEY
+// std::streamsize saved_precision = std::cout.precision(std::numeric_limits<T>::max_digits10);
+// std::cout << "Halley refinement estimate = " << result << std::endl;
+// std::cout.precision(saved_precision);
+//#endif // BOOST_MATH_INSTRUMENT_LAMBERT_W1_HALLEY
+// return result; // Halley
+// } // Schroeder or Schroeder and Halley.
+ }
+ } // template<typename T = double> T lambert_wm1_imp(const T z)
+} // namespace lambert_w_detail
+
+///////////////////////////// User Lambert w functions. //////////////////////////////
+
+//! Lambert W0 using User-defined policy.
+ template <class T, class Policy>
+ inline
+ typename boost::math::tools::promote_args<T>::type
+ lambert_w0(T z, const Policy& pol)
+ {
+ // Promote integer or expression template arguments to double,
+ // without doing any other internal promotion like float to double.
+ typedef typename tools::promote_args<T>::type result_type;
+
+ // Work out what precision has been selected,
+ // based on the Policy and the number type.
+ typedef typename policies::precision<result_type, Policy>::type precision_type;
+ // and then select the correct implementation based on that precision (not the type T):
+ typedef mpl::int_<
+ (precision_type::value == 0) || (precision_type::value > 53) ?
+ 0 // either variable precision (0), or greater than 64-bit precision.
+ : (precision_type::value <= 24) ? 1 // 32-bit (probably float) precision.
+ : 2 // 64-bit (probably double) precision.
+ > tag_type;
+
+ return lambert_w_detail::lambert_w0_imp(result_type(z), pol, tag_type()); //
+ } // lambert_w0(T z, const Policy& pol)
+
+ //! Lambert W0 using default policy.
+ template <class T>
+ inline
+ typename tools::promote_args<T>::type
+ lambert_w0(T z)
+ {
+ // Promote integer or expression template arguments to double,
+ // without doing any other internal promotion like float to double.
+ typedef typename tools::promote_args<T>::type result_type;
+
+ // Work out what precision has been selected, based on the Policy and the number type.
+ // For the default policy version, we want the *default policy* precision for T.
+ typedef typename policies::precision<result_type, policies::policy<> >::type precision_type;
+ // and then select the correct implementation based on that (not the type T):
+ typedef mpl::int_<
+ (precision_type::value == 0) || (precision_type::value > 53) ?
+ 0 // either variable precision (0), or greater than 64-bit precision.
+ : (precision_type::value <= 24) ? 1 // 32-bit (probably float) precision.
+ : 2 // 64-bit (probably double) precision.
+ > tag_type;
+ return lambert_w_detail::lambert_w0_imp(result_type(z), policies::policy<>(), tag_type());
+ } // lambert_w0(T z) using default policy.
+
+ //! W-1 branch (-max(z) < z <= -1/e).
+
+ //! Lambert W-1 using User-defined policy.
+ template <class T, class Policy>
+ inline
+ typename tools::promote_args<T>::type
+ lambert_wm1(T z, const Policy& pol)
+ {
+ // Promote integer or expression template arguments to double,
+ // without doing any other internal promotion like float to double.
+ typedef typename tools::promote_args<T>::type result_type;
+ return lambert_w_detail::lambert_wm1_imp(result_type(z), pol); //
+ }
+
+ //! Lambert W-1 using default policy.
+ template <class T>
+ inline
+ typename tools::promote_args<T>::type
+ lambert_wm1(T z)
+ {
+ typedef typename tools::promote_args<T>::type result_type;
+ return lambert_w_detail::lambert_wm1_imp(result_type(z), policies::policy<>());
+ } // lambert_wm1(T z)
+
+ // First derivative of Lambert W0 and W-1.
+ template <class T, class Policy>
+ inline typename tools::promote_args<T>::type
+ lambert_w0_prime(T z, const Policy& pol)
+ {
+ typedef typename tools::promote_args<T>::type result_type;
+ using std::numeric_limits;
+ if (z == 0)
+ {
+ return static_cast<result_type>(1);
+ }
+ // This is the sensible choice if we regard the Lambert-W function as complex analytic.
+ // Of course on the real line, it's just undefined.
+ if (z == - boost::math::constants::exp_minus_one<result_type>())
+ {
+ return numeric_limits<result_type>::has_infinity ? numeric_limits<result_type>::infinity() : boost::math::tools::max_value<result_type>();
+ }
+ // if z < -1/e, we'll let lambert_w0 do the error handling:
+ result_type w = lambert_w0(result_type(z), pol);
+ // If w ~ -1, then presumably this can get inaccurate.
+ // Is there an accurate way to evaluate 1 + W(-1/e + eps)?
+ // Yes: This is discussed in the Princeton Companion to Applied Mathematics,
+ // 'The Lambert-W function', Section 1.3: Series and Generating Functions.
+ // 1 + W(-1/e + x) ~ sqrt(2ex).
+ // Nick is not convinced this formula is more accurate than the naive one.
+ // However, for z != -1/e, we never get rounded to w = -1 in any precision I've tested (up to cpp_bin_float_100).
+ return w / (z * (1 + w));
+ } // lambert_w0_prime(T z)
+
+ template <class T>
+ inline typename tools::promote_args<T>::type
+ lambert_w0_prime(T z)
+ {
+ return lambert_w0_prime(z, policies::policy<>());
+ }
+
+ template <class T, class Policy>
+ inline typename tools::promote_args<T>::type
+ lambert_wm1_prime(T z, const Policy& pol)
+ {
+ using std::numeric_limits;
+ typedef typename tools::promote_args<T>::type result_type;
+ //if (z == 0)
+ //{
+ // return static_cast<result_type>(1);
+ //}
+ //if (z == - boost::math::constants::exp_minus_one<result_type>())
+ if (z == 0 || z == - boost::math::constants::exp_minus_one<result_type>())
+ {
+ return numeric_limits<result_type>::has_infinity ? -numeric_limits<result_type>::infinity() : -boost::math::tools::max_value<result_type>();
+ }
+
+ result_type w = lambert_wm1(z, pol);
+ return w/(z*(1+w));
+ } // lambert_wm1_prime(T z)
+
+ template <class T>
+ inline typename tools::promote_args<T>::type
+ lambert_wm1_prime(T z)
+ {
+ return lambert_wm1_prime(z, policies::policy<>());
+ }
+
+}} //boost::math namespaces
+
+#endif // #ifdef BOOST_MATH_SF_LAMBERT_W_HPP
+
diff --git a/boost/math/special_functions/math_fwd.hpp b/boost/math/special_functions/math_fwd.hpp
index 4f44f56113..795620b4ed 100644
--- a/boost/math/special_functions/math_fwd.hpp
+++ b/boost/math/special_functions/math_fwd.hpp
@@ -1085,6 +1085,27 @@ namespace boost
const unsigned number_of_bernoullis_b2n,
OutputIterator out_it);
+ // Lambert W:
+ template <class T, class Policy>
+ typename boost::math::tools::promote_args<T>::type lambert_w0(T z, const Policy& pol);
+ template <class T>
+ typename boost::math::tools::promote_args<T>::type lambert_w0(T z);
+ template <class T, class Policy>
+ typename boost::math::tools::promote_args<T>::type lambert_wm1(T z, const Policy& pol);
+ template <class T>
+ typename boost::math::tools::promote_args<T>::type lambert_wm1(T z);
+ template <class T, class Policy>
+ typename boost::math::tools::promote_args<T>::type lambert_w0_prime(T z, const Policy& pol);
+ template <class T>
+ typename boost::math::tools::promote_args<T>::type lambert_w0_prime(T z);
+ template <class T, class Policy>
+ typename boost::math::tools::promote_args<T>::type lambert_wm1_prime(T z, const Policy& pol);
+ template <class T>
+ typename boost::math::tools::promote_args<T>::type lambert_wm1_prime(T z);
+
+
+
+
} // namespace math
} // namespace boost
@@ -1643,6 +1664,12 @@ template <class OutputIterator, class T>\
OutputIterator tangent_t2n(int start_index, unsigned number_of_bernoullis_b2n, OutputIterator out_it)\
{ return boost::math::tangent_t2n<T>(start_index, number_of_bernoullis_b2n, out_it, Policy()); }\
\
+ template <class T> inline typename boost::math::tools::promote_args<T>::type lambert_w0(T z) { return boost::math::lambert_w0(z, Policy()); }\
+ template <class T> inline typename boost::math::tools::promote_args<T>::type lambert_wm1(T z) { return boost::math::lambert_w0(z, Policy()); }\
+ template <class T> inline typename boost::math::tools::promote_args<T>::type lambert_w0_prime(T z) { return boost::math::lambert_w0(z, Policy()); }\
+ template <class T> inline typename boost::math::tools::promote_args<T>::type lambert_wm1_prime(T z) { return boost::math::lambert_w0(z, Policy()); }\
+ \
+
diff --git a/boost/math/special_functions/next.hpp b/boost/math/special_functions/next.hpp
index a63983e1c3..e27bf0ed95 100644
--- a/boost/math/special_functions/next.hpp
+++ b/boost/math/special_functions/next.hpp
@@ -73,7 +73,7 @@ inline T normalize_value(const T& val, const mpl::true_&)
BOOST_STATIC_ASSERT(std::numeric_limits<T>::is_specialized);
BOOST_STATIC_ASSERT(std::numeric_limits<T>::radix != 2);
- boost::intmax_t shift = std::numeric_limits<T>::digits - ilogb(val) - 1;
+ boost::intmax_t shift = (boost::intmax_t)std::numeric_limits<T>::digits - (boost::intmax_t)ilogb(val) - 1;
T result = scalbn(val, shift);
result = round(result);
return scalbn(result, -shift);
diff --git a/boost/math/special_functions/relative_difference.hpp b/boost/math/special_functions/relative_difference.hpp
index 544feda61b..57ad245ef5 100644
--- a/boost/math/special_functions/relative_difference.hpp
+++ b/boost/math/special_functions/relative_difference.hpp
@@ -69,7 +69,7 @@ namespace boost{
return (std::max)(fabs((a - b) / a), fabs((a - b) / b));
}
-#if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
+#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && (LDBL_MAX_EXP <= DBL_MAX_EXP)
template <>
inline boost::math::tools::promote_args<double, double>::type relative_difference(const double& arg_a, const double& arg_b)
{
diff --git a/boost/math/special_functions/trunc.hpp b/boost/math/special_functions/trunc.hpp
index 3f80c96fee..8a7b042449 100644
--- a/boost/math/special_functions/trunc.hpp
+++ b/boost/math/special_functions/trunc.hpp
@@ -50,7 +50,7 @@ inline typename tools::promote_args<T>::type trunc(const T& v)
// implicit convertion to the integer types. For user-defined
// number types this will likely not be the case. In that case
// these functions should either be specialized for the UDT in
-// question, or else overloads should be placed in the same
+// question, or else overloads should be placed in the same
// namespace as the UDT: these will then be found via argument
// dependent lookup. See our concept archetypes for examples.
//
diff --git a/boost/math/tools/complex.hpp b/boost/math/tools/complex.hpp
new file mode 100644
index 0000000000..f3c01846dc
--- /dev/null
+++ b/boost/math/tools/complex.hpp
@@ -0,0 +1,57 @@
+// Copyright John Maddock 2018.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//
+// Tools for operator on complex as well as scalar types.
+//
+
+#include <boost/type_traits/is_complex.hpp>
+
+namespace boost {
+ namespace math {
+ namespace tools {
+
+ //
+ // Speicalize this trait for user-defined complex types (ie Boost.Multiprecision):
+ //
+ template <class T>
+ struct is_complex_type : public boost::is_complex<T> {};
+ //
+ // Use this trait to typecast integer literals to something
+ // that will interoperate with T:
+ //
+ template <class T, bool = is_complex_type<T>::value>
+ struct integer_scalar_type
+ {
+ typedef int type;
+ };
+ template <class T>
+ struct integer_scalar_type<T, true>
+ {
+ typedef typename T::value_type type;
+ };
+ template <class T, bool = is_complex_type<T>::value>
+ struct unsigned_scalar_type
+ {
+ typedef unsigned type;
+ };
+ template <class T>
+ struct unsigned_scalar_type<T, true>
+ {
+ typedef typename T::value_type type;
+ };
+ template <class T, bool = is_complex_type<T>::value>
+ struct scalar_type
+ {
+ typedef T type;
+ };
+ template <class T>
+ struct scalar_type<T, true>
+ {
+ typedef typename T::value_type type;
+ };
+
+
+} } }
diff --git a/boost/math/tools/fraction.hpp b/boost/math/tools/fraction.hpp
index a787c603f3..8c41d4472d 100644
--- a/boost/math/tools/fraction.hpp
+++ b/boost/math/tools/fraction.hpp
@@ -15,6 +15,7 @@
#include <boost/type_traits/integral_constant.hpp>
#include <boost/mpl/if.hpp>
#include <boost/math/tools/precision.hpp>
+#include <boost/math/tools/complex.hpp>
namespace boost{ namespace math{ namespace tools{
@@ -68,6 +69,22 @@ namespace detail
{
};
+ template <class T, bool = is_complex_type<T>::value>
+ struct tiny_value
+ {
+ static T get() {
+ return tools::min_value<T>();
+ }
+ };
+ template <class T>
+ struct tiny_value<T, true>
+ {
+ typedef typename T::value_type value_type;
+ static T get() {
+ return tools::min_value<value_type>();
+ }
+ };
+
} // namespace detail
//
@@ -93,14 +110,19 @@ inline typename detail::fraction_traits<Gen>::result_type continued_fraction_b(G
typedef detail::fraction_traits<Gen> traits;
typedef typename traits::result_type result_type;
typedef typename traits::value_type value_type;
+ typedef typename integer_scalar_type<result_type>::type integer_type;
+ typedef typename scalar_type<result_type>::type scalar_type;
- result_type tiny = tools::min_value<result_type>();
+ integer_type const zero(0), one(1);
+
+ result_type tiny = detail::tiny_value<result_type>::get();
+ scalar_type terminator = abs(factor);
value_type v = g();
result_type f, C, D, delta;
f = traits::b(v);
- if(f == 0)
+ if(f == zero)
f = tiny;
C = f;
D = 0;
@@ -110,15 +132,15 @@ inline typename detail::fraction_traits<Gen>::result_type continued_fraction_b(G
do{
v = g();
D = traits::b(v) + traits::a(v) * D;
- if(D == 0)
+ if(D == result_type(0))
D = tiny;
C = traits::b(v) + traits::a(v) / C;
- if(C == 0)
+ if(C == zero)
C = tiny;
- D = 1/D;
+ D = one/D;
delta = C*D;
f = f * delta;
- }while((fabs(delta - 1) > factor) && --counter);
+ }while((abs(delta - one) > terminator) && --counter);
max_terms = max_terms - counter;
@@ -183,15 +205,20 @@ inline typename detail::fraction_traits<Gen>::result_type continued_fraction_a(G
typedef detail::fraction_traits<Gen> traits;
typedef typename traits::result_type result_type;
typedef typename traits::value_type value_type;
+ typedef typename integer_scalar_type<result_type>::type integer_type;
+ typedef typename scalar_type<result_type>::type scalar_type;
+
+ integer_type const zero(0), one(1);
- result_type tiny = tools::min_value<result_type>();
+ result_type tiny = detail::tiny_value<result_type>::get();
+ scalar_type terminator = abs(factor);
value_type v = g();
result_type f, C, D, delta, a0;
f = traits::b(v);
a0 = traits::a(v);
- if(f == 0)
+ if(f == zero)
f = tiny;
C = f;
D = 0;
@@ -201,15 +228,15 @@ inline typename detail::fraction_traits<Gen>::result_type continued_fraction_a(G
do{
v = g();
D = traits::b(v) + traits::a(v) * D;
- if(D == 0)
+ if(D == zero)
D = tiny;
C = traits::b(v) + traits::a(v) / C;
- if(C == 0)
+ if(C == zero)
C = tiny;
- D = 1/D;
+ D = one/D;
delta = C*D;
f = f * delta;
- }while((fabs(delta - 1) > factor) && --counter);
+ }while((abs(delta - one) > terminator) && --counter);
max_terms = max_terms - counter;
diff --git a/boost/math/tools/precision.hpp b/boost/math/tools/precision.hpp
index 6538083b99..6d1de64371 100644
--- a/boost/math/tools/precision.hpp
+++ b/boost/math/tools/precision.hpp
@@ -377,7 +377,7 @@ inline T forth_root_epsilon_imp(const T*, const mpl::int_<0>&)
template <class T>
struct root_epsilon_traits
{
- typedef mpl::int_< (::std::numeric_limits<T>::radix == 2) ? std::numeric_limits<T>::digits : 0> tag_type;
+ typedef mpl::int_< (::std::numeric_limits<T>::radix == 2) && (::std::numeric_limits<T>::digits != INT_MAX) ? std::numeric_limits<T>::digits : 0> tag_type;
BOOST_STATIC_CONSTANT(bool, has_noexcept = (tag_type::value == 113) || (tag_type::value == 64) || (tag_type::value == 53) || (tag_type::value == 24));
};
diff --git a/boost/math/tools/roots.hpp b/boost/math/tools/roots.hpp
index 25300fee38..81e8466138 100644
--- a/boost/math/tools/roots.hpp
+++ b/boost/math/tools/roots.hpp
@@ -267,8 +267,13 @@ T newton_raphson_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_
#endif
if(fabs(delta * 2) > fabs(delta2))
{
- // last two steps haven't converged, try bisection:
+ // last two steps haven't converged.
delta = (delta > 0) ? (result - min) / 2 : (result - max) / 2;
+ if (fabs(delta) > fabs(result))
+ delta = sign(delta) * result; // protect against huge jumps!
+ // reset delta2 so we don't take this branch next time round:
+ delta1 = delta;
+ delta2 = 3 * delta;
}
guess = result;
result -= delta;
@@ -350,12 +355,11 @@ namespace detail{
T f0(0), f1, f2;
T result = guess;
- T factor = static_cast<T>(ldexp(1.0, 1 - digits));
+ T factor = ldexp(static_cast<T>(1.0), 1 - digits);
T delta = (std::max)(T(10000000 * guess), T(10000000)); // arbitarily large delta
T last_f0 = 0;
T delta1 = delta;
T delta2 = delta;
-
bool out_of_bounds_sentry = false;
#ifdef BOOST_MATH_INSTRUMENT
@@ -415,13 +419,14 @@ namespace detail{
T convergence = fabs(delta / delta2);
if((convergence > 0.8) && (convergence < 2))
{
- // last two steps haven't converged, try bisection:
+ // last two steps haven't converged.
delta = (delta > 0) ? (result - min) / 2 : (result - max) / 2;
- if(fabs(delta) > result)
+ if (fabs(delta) > result)
delta = sign(delta) * result; // protect against huge jumps!
// reset delta2 so that this branch will *not* be taken on the
// next iteration:
delta2 = delta * 3;
+ delta1 = delta;
BOOST_MATH_INSTRUMENT_VARIABLE(delta);
}
guess = result;
diff --git a/boost/math/tools/series.hpp b/boost/math/tools/series.hpp
index ab01549a2d..eea1046cd3 100644
--- a/boost/math/tools/series.hpp
+++ b/boost/math/tools/series.hpp
@@ -35,7 +35,7 @@ inline typename Functor::result_type sum_series(Functor& func, const U& factor,
next_term = func();
result += next_term;
}
- while((fabs(factor * result) < fabs(next_term)) && --counter);
+ while((abs(factor * result) < abs(next_term)) && --counter);
// set max_terms to the actual number of terms of the series evaluated:
max_terms = max_terms - counter;
diff --git a/boost/math/tools/test_value.hpp b/boost/math/tools/test_value.hpp
new file mode 100644
index 0000000000..e597f2ad48
--- /dev/null
+++ b/boost/math/tools/test_value.hpp
@@ -0,0 +1,118 @@
+// Copyright Paul A. Bristow 2017.
+// Copyright John Maddock 2017.
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt
+// or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// test_value.hpp
+
+#ifndef TEST_VALUE_HPP
+#define TEST_VALUE_HPP
+
+// BOOST_MATH_TEST_VALUE is used to create a test value of suitable type from a decimal digit string.
+// Two parameters, both a floating-point literal double like 1.23 (not long double so no suffix L)
+// and a decimal digit string const char* like "1.23" must be provided.
+// The decimal value represented must be the same of course, with at least enough precision for long double.
+// Note there are two gotchas to this approach:
+// * You need all values to be real floating-point values
+// * and *MUST* include a decimal point (to avoid confusion with an integer literal).
+// * It's slow to compile compared to a simple literal.
+
+// Speed is not an issue for a few test values,
+// but it's not generally usable in large tables
+// where you really need everything to be statically initialized.
+
+// Macro BOOST_MATH_INSTRUMENT_CREATE_TEST_VALUE provides a global diagnostic value for create_type.
+
+#include <boost/cstdfloat.hpp> // For float_64_t, float128_t. Must be first include!
+#include <boost/lexical_cast.hpp>
+#include <boost/type_traits/is_constructible.hpp>
+#include <boost/type_traits/is_convertible.hpp>
+
+#ifdef BOOST_MATH_INSTRUMENT_CREATE_TEST_VALUE
+// global int create_type(0); must be defined before including this file.
+#endif
+
+#ifdef BOOST_HAS_FLOAT128
+typedef __float128 largest_float;
+#define BOOST_MATH_TEST_LARGEST_FLOAT_SUFFIX(x) x##Q
+#define BOOST_MATH_TEST_LARGEST_FLOAT_DIGITS 113
+#else
+typedef long double largest_float;
+#define BOOST_MATH_TEST_LARGEST_FLOAT_SUFFIX(x) x##L
+#define BOOST_MATH_TEST_LARGEST_FLOAT_DIGITS std::numeric_limits<long double>::digits
+#endif
+
+template <class T, class T2>
+inline T create_test_value(largest_float val, const char*, const boost::mpl::true_&, const T2&)
+{ // Construct from long double or quad parameter val (ignoring string/const char* str).
+ // (This is case for MPL parameters = true_ and T2 == false_,
+ // and MPL parameters = true_ and T2 == true_ cpp_bin_float)
+ // All built-in/fundamental floating-point types,
+ // and other User-Defined Types that can be constructed without loss of precision
+ // from long double suffix L (or quad suffix Q),
+ //
+ // Choose this method, even if can be constructed from a string,
+ // because it will be faster, and more likely to be the closest representation.
+ // (This is case for MPL parameters = mpl::true_ and T2 == mpl::true_).
+ #ifdef BOOST_MATH_INSTRUMENT_CREATE_TEST_VALUE
+ create_type = 1;
+ #endif
+ return static_cast<T>(val);
+}
+
+template <class T>
+inline T create_test_value(largest_float, const char* str, const boost::mpl::false_&, const boost::mpl::true_&)
+{ // Construct from decimal digit string const char* @c str (ignoring long double parameter).
+ // For example, extended precision or other User-Defined types which ARE constructible from a string
+ // (but not from double, or long double without loss of precision).
+ // (This is case for MPL parameters = mpl::false_ and T2 == mpl::true_).
+ #ifdef BOOST_MATH_INSTRUMENT_CREATE_TEST_VALUE
+ create_type = 2;
+ #endif
+ return T(str);
+}
+
+template <class T>
+inline T create_test_value(largest_float, const char* str, const boost::mpl::false_&, const boost::mpl::false_&)
+{ // Create test value using from lexical cast of decimal digit string const char* str.
+ // For example, extended precision or other User-Defined types which are NOT constructible from a string
+ // (NOR constructible from a long double).
+ // (This is case T1 = mpl::false and T2 == mpl::false).
+ #ifdef BOOST_MATH_INSTRUMENT_CREATE_TEST_VALUE
+ create_type = 3;
+ #endif
+ return boost::lexical_cast<T>(str);
+}
+
+// T real type, x a decimal digits representation of a floating-point, for example: 12.34.
+// It must include a decimal point (or it would be interpreted as an integer).
+
+// x is converted to a long double by appending the letter L (to suit long double fundamental type), 12.34L.
+// x is also passed as a const char* or string representation "12.34"
+// (to suit most other types that cannot be constructed from long double without possible loss).
+
+// BOOST_MATH_TEST_LARGEST_FLOAT_SUFFIX(x) makes a long double or quad version, with
+// suffix a letter L (or Q) to suit long double (or quad) fundamental type, 12.34L or 12.34Q.
+// #x makes a decimal digit string version to suit multiprecision and fixed_point constructors, "12.34".
+// (Constructing from double or long double (or quad) could lose precision for multiprecision or fixed-point).
+
+// The matching create_test_value function above is chosen depending on the T1 and T2 mpl bool truths.
+// The string version from #x is used if the precision of T is greater than long double.
+
+// Example: long double test_value = BOOST_MATH_TEST_VALUE(double, 1.23456789);
+
+#define BOOST_MATH_TEST_VALUE(T, x) create_test_value<T>(\
+ BOOST_MATH_TEST_LARGEST_FLOAT_SUFFIX(x),\
+ #x,\
+ boost::mpl::bool_<\
+ std::numeric_limits<T>::is_specialized &&\
+ (std::numeric_limits<T>::radix == 2)\
+ && (std::numeric_limits<T>::digits <= BOOST_MATH_TEST_LARGEST_FLOAT_DIGITS)\
+ && boost::is_convertible<largest_float, T>::value>(),\
+ boost::mpl::bool_<\
+ boost::is_constructible<T, const char*>::value>()\
+)
+#endif // TEST_VALUE_HPP
diff --git a/boost/math/tools/toms748_solve.hpp b/boost/math/tools/toms748_solve.hpp
index aee6258e11..8beb0172da 100644
--- a/boost/math/tools/toms748_solve.hpp
+++ b/boost/math/tools/toms748_solve.hpp
@@ -302,6 +302,12 @@ std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, const T& fax, const
static const char* function = "boost::math::tools::toms748_solve<%1%>";
+ //
+ // Sanity check - are we allowed to iterate at all?
+ //
+ if (max_iter == 0)
+ return std::make_pair(ax, bx);
+
boost::uintmax_t count = max_iter;
T a, b, fa, fb, c, u, fu, a0, b0, d, fd, e, fe;
static const T mu = 0.5f;
@@ -477,6 +483,8 @@ inline std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, const T& fax
template <class F, class T, class Tol, class Policy>
inline std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, Tol tol, boost::uintmax_t& max_iter, const Policy& pol)
{
+ if (max_iter <= 2)
+ return std::make_pair(ax, bx);
max_iter -= 2;
std::pair<T, T> r = toms748_solve(f, ax, bx, f(ax), f(bx), tol, max_iter, pol);
max_iter += 2;
diff --git a/boost/move/algo/move.hpp b/boost/move/algo/move.hpp
index 2390877a43..5d5ba19ea0 100644
--- a/boost/move/algo/move.hpp
+++ b/boost/move/algo/move.hpp
@@ -27,7 +27,7 @@
#include <boost/move/utility_core.hpp>
#include <boost/move/detail/iterator_traits.hpp>
#include <boost/move/detail/iterator_to_raw_pointer.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/core/no_exceptions_support.hpp>
namespace boost {
diff --git a/boost/move/algorithm.hpp b/boost/move/algorithm.hpp
index 825d7716c2..880d661e7d 100644
--- a/boost/move/algorithm.hpp
+++ b/boost/move/algorithm.hpp
@@ -27,7 +27,7 @@
#include <boost/move/utility_core.hpp>
#include <boost/move/iterator.hpp>
#include <boost/move/algo/move.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/core/no_exceptions_support.hpp>
#include <algorithm> //copy, copy_backward
#include <memory> //uninitialized_copy
diff --git a/boost/move/core.hpp b/boost/move/core.hpp
index c0f5be59d4..b34740dcf8 100644
--- a/boost/move/core.hpp
+++ b/boost/move/core.hpp
@@ -60,7 +60,11 @@
#define BOOST_MOVE_TO_RV_CAST(RV_TYPE, ARG) reinterpret_cast<RV_TYPE>(ARG)
//Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
- #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS BOOST_MAY_ALIAS
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40400) && (BOOST_GCC < 40500)
+ #define BOOST_RV_ATTRIBUTE_MAY_ALIAS BOOST_MAY_ALIAS
+ #else
+ #define BOOST_RV_ATTRIBUTE_MAY_ALIAS
+ #endif
namespace boost {
@@ -70,7 +74,7 @@
//
//////////////////////////////////////////////////////////////////////////////
template <class T>
- class rv
+ class BOOST_RV_ATTRIBUTE_MAY_ALIAS rv
: public ::boost::move_detail::if_c
< ::boost::move_detail::is_class<T>::value
, T
@@ -81,7 +85,7 @@
~rv() throw();
rv(rv const&);
void operator=(rv const&);
- } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
+ };
//////////////////////////////////////////////////////////////////////////////
diff --git a/boost/move/detail/meta_utils.hpp b/boost/move/detail/meta_utils.hpp
index e45394c97d..f16e185d6d 100644
--- a/boost/move/detail/meta_utils.hpp
+++ b/boost/move/detail/meta_utils.hpp
@@ -67,6 +67,8 @@ typedef bool_<false> false_;
// nat
//////////////////////////////////////
struct nat{};
+struct nat2{};
+struct nat3{};
//////////////////////////////////////
// yes_type/no_type
diff --git a/boost/move/detail/type_traits.hpp b/boost/move/detail/type_traits.hpp
index a3326d00e1..8432ca2283 100644
--- a/boost/move/detail/type_traits.hpp
+++ b/boost/move/detail/type_traits.hpp
@@ -973,7 +973,7 @@ struct aligned_struct;
template<std::size_t Len>\
struct BOOST_ALIGNMENT(A) aligned_struct<Len, A>\
{\
- char data[Len];\
+ unsigned char data[Len];\
};\
//
@@ -1000,7 +1000,7 @@ template<std::size_t Len, std::size_t Align>
union aligned_struct_wrapper
{
aligned_struct<Len, Align> aligner;
- char data[sizeof(aligned_struct<Len, Align>)];
+ unsigned char data[sizeof(aligned_struct<Len, Align>)];
};
template<std::size_t Len, std::size_t Align>
@@ -1015,7 +1015,7 @@ template<class T, std::size_t Len>
union aligned_union
{
T aligner;
- char data[Len];
+ unsigned char data[Len];
};
template<std::size_t Len, std::size_t Align, class T, bool Ok>
diff --git a/boost/mp11/algorithm.hpp b/boost/mp11/algorithm.hpp
index 4f24c4f5d3..581a213809 100644
--- a/boost/mp11/algorithm.hpp
+++ b/boost/mp11/algorithm.hpp
@@ -21,8 +21,7 @@
#include <boost/mp11/detail/mp_min_element.hpp>
#include <boost/mp11/detail/config.hpp>
#include <boost/mp11/integer_sequence.hpp>
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+#include <boost/mp11/detail/config.hpp>
#include <type_traits>
#include <utility>
@@ -41,7 +40,7 @@ template<template<class...> class F, class... L> struct mp_transform_impl
template<template<class...> class F, template<class...> class L, class... T> struct mp_transform_impl<F, L<T...>>
{
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class... U> struct f { using type = F<U...>; };
@@ -56,7 +55,7 @@ template<template<class...> class F, template<class...> class L, class... T> str
template<template<class...> class F, template<class...> class L1, class... T1, template<class...> class L2, class... T2> struct mp_transform_impl<F, L1<T1...>, L2<T2...>>
{
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class... U> struct f { using type = F<U...>; };
@@ -71,7 +70,7 @@ template<template<class...> class F, template<class...> class L1, class... T1, t
template<template<class...> class F, template<class...> class L1, class... T1, template<class...> class L2, class... T2, template<class...> class L3, class... T3> struct mp_transform_impl<F, L1<T1...>, L2<T2...>, L3<T3...>>
{
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class... U> struct f { using type = F<U...>; };
@@ -84,7 +83,7 @@ template<template<class...> class F, template<class...> class L1, class... T1, t
#endif
};
-#if BOOST_WORKAROUND( BOOST_MSVC, == 1900 ) || BOOST_WORKAROUND( BOOST_GCC, < 40800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1900 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 40800 )
template<class... L> using mp_same_size_1 = mp_same<mp_size<L>...>;
template<class... L> struct mp_same_size_2: mp_defer<mp_same_size_1, L...> {};
@@ -95,7 +94,7 @@ struct list_size_mismatch
{
};
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<template<class...> class F, class... L> struct mp_transform_cuda_workaround
{
@@ -106,13 +105,13 @@ template<template<class...> class F, class... L> struct mp_transform_cuda_workar
} // namespace detail
-#if BOOST_WORKAROUND( BOOST_MSVC, == 1900 ) || BOOST_WORKAROUND( BOOST_GCC, < 40800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1900 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 40800 )
template<template<class...> class F, class... L> using mp_transform = typename mp_if<typename detail::mp_same_size_2<L...>::type, detail::mp_transform_impl<F, L...>, detail::list_size_mismatch>::type;
#else
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<template<class...> class F, class... L> using mp_transform = typename detail::mp_transform_cuda_workaround< F, L...>::type::type;
@@ -155,7 +154,7 @@ template<template<class...> class P, template<class...> class F, class... L> str
using Qp = mp_quote<P>;
using Qf = mp_quote<F>;
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class... U> struct _f_ { using type = mp_eval_if_q<mp_not<mp_invoke<Qp, U...>>, mp_first<mp_list<U...>>, Qf, U...>; };
template<class... U> using _f = typename _f_<U...>::type;
@@ -182,7 +181,7 @@ template<class L, class V> struct mp_fill_impl;
template<template<class...> class L, class... T, class V> struct mp_fill_impl<L<T...>, V>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1900 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1900 )
template<class...> struct _f { using type = V; };
using type = L<typename _f<T>::type...>;
@@ -320,7 +319,7 @@ template<class L, std::size_t I> struct mp_at_c_impl
#endif
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<class L, std::size_t I> struct mp_at_c_cuda_workaround
{
@@ -331,7 +330,7 @@ template<class L, std::size_t I> struct mp_at_c_cuda_workaround
} // namespace detail
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<class L, std::size_t I> using mp_at_c = typename detail::mp_at_c_cuda_workaround< L, I >::type::type;
@@ -392,7 +391,7 @@ template<class L, class V, class W> struct mp_replace_impl;
template<template<class...> class L, class... T, class V, class W> struct mp_replace_impl<L<T...>, V, W>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<class A> struct _f { using type = mp_if<std::is_same<A, V>, W, A>; };
using type = L<typename _f<T>::type...>;
#else
@@ -413,7 +412,7 @@ template<class L, template<class...> class P, class W> struct mp_replace_if_impl
template<template<class...> class L, class... T, template<class...> class P, class W> struct mp_replace_if_impl<L<T...>, P, W>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class U> struct _f { using type = mp_if<P<U>, W, U>; };
using type = L<typename _f<T>::type...>;
#else
@@ -435,7 +434,7 @@ template<class L, template<class...> class P> struct mp_copy_if_impl;
template<template<class...> class L, class... T, template<class...> class P> struct mp_copy_if_impl<L<T...>, P>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class U> struct _f { using type = mp_if<P<U>, mp_list<U>, mp_list<>>; };
using type = mp_append<L<>, typename _f<T>::type...>;
#else
@@ -457,7 +456,7 @@ template<class L, class V> struct mp_remove_impl;
template<template<class...> class L, class... T, class V> struct mp_remove_impl<L<T...>, V>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class U> struct _f { using type = mp_if<std::is_same<U, V>, mp_list<>, mp_list<U>>; };
using type = mp_append<L<>, typename _f<T>::type...>;
#else
@@ -478,7 +477,7 @@ template<class L, template<class...> class P> struct mp_remove_if_impl;
template<template<class...> class L, class... T, template<class...> class P> struct mp_remove_if_impl<L<T...>, P>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class U> struct _f { using type = mp_if<P<U>, mp_list<>, mp_list<U>>; };
using type = mp_append<L<>, typename _f<T>::type...>;
#else
@@ -514,7 +513,7 @@ namespace detail
template<class L, template<class...> class P> struct mp_sort_impl;
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<template<class...> class L, class... T, template<class...> class P> struct mp_sort_impl<L<T...>, P>
{
@@ -578,7 +577,7 @@ template<template<class...> class L, class T1, class... T, std::size_t I, templa
using L2 = mp_second<part>;
- #if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
struct detail
{
@@ -593,9 +592,10 @@ template<template<class...> class L, class T1, class... T, std::size_t I, templa
>;
};
};
+
using type = typename detail::mp_nth_element_impl_cuda_workaround::type::type;
- #else
+#else
using type = typename mp_cond<
@@ -605,7 +605,7 @@ template<template<class...> class L, class T1, class... T, std::size_t I, templa
>::type;
- #endif
+#endif
};
} // namespace detail
@@ -620,7 +620,7 @@ namespace detail
template<class L, class V> struct mp_find_impl;
-#if defined( BOOST_CLANG ) && defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS )
+#if BOOST_MP11_CLANG && defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS )
struct mp_index_holder
{
@@ -657,7 +657,7 @@ template<template<class...> class L, class V> struct mp_find_impl<L<>, V>
using type = mp_size_t<0>;
};
-#if !defined( BOOST_NO_CXX14_CONSTEXPR )
+#if defined( BOOST_MP11_HAS_CXX14_CONSTEXPR )
constexpr std::size_t cx_find_index( bool const * first, bool const * last )
{
@@ -689,7 +689,7 @@ template<template<class...> class L, class... T, class V> struct mp_find_impl<L<
#else
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<template<class...> class L, class... T, class V> struct mp_find_impl<L<T...>, V>
{
@@ -729,7 +729,7 @@ namespace detail
template<class L, template<class...> class P> struct mp_find_if_impl;
-#if defined( BOOST_CLANG ) && defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS )
+#if BOOST_MP11_CLANG && defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS )
template<template<class...> class L, class... T, template<class...> class P> struct mp_find_if_impl<L<T...>, P>
{
@@ -752,7 +752,7 @@ template<template<class...> class L, class... T, template<class...> class P> str
#else
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<template<class...> class L, class... T, template<class...> class P> struct mp_find_if_impl<L<T...>, P>
{
@@ -793,7 +793,7 @@ namespace detail
template<class L> struct mp_reverse_impl;
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<template<class...> class L, class... T> struct mp_reverse_impl<L<T...>>
{
@@ -873,7 +873,7 @@ namespace detail
template<class L, class V, template<class...> class F> struct mp_reverse_fold_impl;
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<template<class...> class L, class... T, class V, template<class...> class F> struct mp_reverse_fold_impl<L<T...>, V, F>
{
@@ -957,20 +957,20 @@ template<class L, std::size_t I, class W> using mp_replace_at_c = typename detai
namespace detail
{
-template<class... T, class F> BOOST_CONSTEXPR F mp_for_each_impl( mp_list<T...>, F && f )
+template<class... T, class F> BOOST_MP11_CONSTEXPR F mp_for_each_impl( mp_list<T...>, F && f )
{
using A = int[sizeof...(T)];
return (void)A{ ((void)f(T()), 0)... }, std::forward<F>(f);
}
-template<class F> BOOST_CONSTEXPR F mp_for_each_impl( mp_list<>, F && f )
+template<class F> BOOST_MP11_CONSTEXPR F mp_for_each_impl( mp_list<>, F && f )
{
return std::forward<F>(f);
}
} // namespace detail
-template<class L, class F> BOOST_CONSTEXPR F mp_for_each( F && f )
+template<class L, class F> BOOST_MP11_CONSTEXPR F mp_for_each( F && f )
{
return detail::mp_for_each_impl( mp_rename<L, mp_list>(), std::forward<F>(f) );
}
@@ -987,6 +987,30 @@ template<class L, class I, class J> using mp_erase = mp_append<mp_take<L, I>, mp
// mp_erase_c<L, I, J>
template<class L, std::size_t I, std::size_t J> using mp_erase_c = mp_append<mp_take_c<L, I>, mp_drop_c<L, J>>;
+// mp_starts_with<L1, L2>
+// contributed by Glen Joseph Fernandes (glenjofe@gmail.com)
+namespace detail {
+
+template<class L1, class L2>
+struct mp_starts_with_impl { };
+
+template<template<class...> class L1, class... T1, template<class...> class L2,
+ class... T2>
+struct mp_starts_with_impl<L1<T1...>, L2<T2...> > {
+ template<class L>
+ static mp_false check(L);
+
+ template<class... T>
+ static mp_true check(mp_list<T2..., T...>);
+
+ using type = decltype(check(mp_list<T1...>()));
+};
+
+} // namespace detail
+
+template<class L1, class L2>
+using mp_starts_with = typename detail::mp_starts_with_impl<L1, L2>::type;
+
// mp_min_element<L, P>
// mp_max_element<L, P>
// in detail/mp_min_element.hpp
diff --git a/boost/mp11/bind.hpp b/boost/mp11/bind.hpp
index fa52d2d13d..bbdecd2208 100644
--- a/boost/mp11/bind.hpp
+++ b/boost/mp11/bind.hpp
@@ -87,7 +87,20 @@ template<template<class...> class F, class... U, class... T> struct eval_bound_a
template<template<class...> class F, class... T> struct mp_bind
{
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1915 )
+private:
+
+ template<class... U> struct _f { using type = F<typename detail::eval_bound_arg<T, U...>::type...>; };
+
+public:
+
+ template<class... U> using fn = typename _f<U...>::type;
+
+#else
+
template<class... U> using fn = F<typename detail::eval_bound_arg<T, U...>::type...>;
+
+#endif
};
template<class Q, class... T> using mp_bind_q = mp_bind<Q::template fn, T...>;
diff --git a/boost/mp11/detail/config.hpp b/boost/mp11/detail/config.hpp
index 489914d661..0ddb172d34 100644
--- a/boost/mp11/detail/config.hpp
+++ b/boost/mp11/detail/config.hpp
@@ -1,43 +1,123 @@
#ifndef BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED
#define BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED
-// Copyright 2016 Peter Dimov.
+// Copyright 2016, 2018 Peter Dimov.
//
// 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
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+// BOOST_MP11_WORKAROUND
-#if defined( BOOST_NO_CXX11_CONSTEXPR )
+#if defined( BOOST_STRICT_CONFIG ) || defined( BOOST_MP11_NO_WORKAROUNDS )
-# define BOOST_MP11_NO_CONSTEXPR
+# define BOOST_MP11_WORKAROUND( symbol, test ) 0
+
+#else
+
+# define BOOST_MP11_WORKAROUND( symbol, test ) ((symbol) != 0 && ((symbol) test))
+
+#endif
+
+//
+
+#define BOOST_MP11_CUDA 0
+#define BOOST_MP11_CLANG 0
+#define BOOST_MP11_INTEL 0
+#define BOOST_MP11_GCC 0
+#define BOOST_MP11_MSVC 0
+
+#define BOOST_MP11_CONSTEXPR constexpr
+
+#if defined( __CUDACC__ )
+
+// nvcc
-#elif defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+# undef BOOST_MP11_CUDA
+# define BOOST_MP11_CUDA (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__)
+
+// CUDA (8.0) has no constexpr support in msvc mode:
+# if defined(_MSC_VER) && (BOOST_MP11_CUDA < 9000000)
# define BOOST_MP11_NO_CONSTEXPR
+# undef BOOST_MP11_CONSTEXPR
+# define BOOST_MP11_CONSTEXPR
+
+# endif
+
+#elif defined(__clang__)
+
+// Clang
+
+# undef BOOST_MP11_CLANG
+# define BOOST_MP11_CLANG (__clang_major__ * 100 + __clang_minor__)
+
+# if defined(__has_cpp_attribute)
+# if __has_cpp_attribute(fallthrough) && __cplusplus >= 201406L // Clang 3.9+ in c++1z mode
+# define BOOST_MP11_HAS_FOLD_EXPRESSIONS
+# endif
+# endif
+
+#if BOOST_MP11_CLANG < 400 && __cplusplus >= 201402L \
+ && defined( __GLIBCXX__ ) && !__has_include(<shared_mutex>)
+
+// Clang pre-4 in C++14 mode, libstdc++ pre-4.9, ::gets is not defined,
+// but Clang tries to import it into std
+
+ extern "C" char *gets (char *__s);
#endif
-#if defined(__cpp_fold_expressions) && __cpp_fold_expressions >= 201603
+#elif defined(__INTEL_COMPILER)
-# define BOOST_MP11_HAS_FOLD_EXPRESSIONS
+// Intel C++
-#elif defined(BOOST_CLANG) && defined(__has_cpp_attribute)
-# if __has_cpp_attribute(fallthrough) && __cplusplus >= 201406L // Clang 3.9+ in c++1z mode
+# undef BOOST_MP11_INTEL
+# define BOOST_MP11_INTEL __INTEL_COMPILER
-# define BOOST_MP11_HAS_FOLD_EXPRESSIONS
+#elif defined(__GNUC__)
+
+// g++
+
+# undef BOOST_MP11_GCC
+# define BOOST_MP11_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+
+#elif defined(_MSC_VER)
+
+// MS Visual C++
+# undef BOOST_MP11_MSVC
+# define BOOST_MP11_MSVC _MSC_VER
+
+# if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
+# define BOOST_MP11_NO_CONSTEXPR
# endif
+
+#if _MSC_FULL_VER < 190024210 // 2015u3
+# undef BOOST_MP11_CONSTEXPR
+# define BOOST_MP11_CONSTEXPR
+#endif
+
#endif
+// BOOST_MP11_HAS_CXX14_CONSTEXPR
+
+#if !defined(BOOST_MP11_NO_CONSTEXPR) && defined(__cpp_constexpr) && __cpp_constexpr >= 201304
+# define BOOST_MP11_HAS_CXX14_CONSTEXPR
+#endif
+
+// BOOST_MP11_HAS_FOLD_EXPRESSIONS
+
+#if !defined(BOOST_MP11_HAS_FOLD_EXPRESSIONS) && defined(__cpp_fold_expressions) && __cpp_fold_expressions >= 201603
+# define BOOST_MP11_HAS_FOLD_EXPRESSIONS
+#endif
+
+// BOOST_MP11_HAS_TYPE_PACK_ELEMENT
+
#if defined(__has_builtin)
# if __has_builtin(__type_pack_element)
-
# define BOOST_MP11_HAS_TYPE_PACK_ELEMENT
-
# endif
#endif
diff --git a/boost/mp11/detail/mp_append.hpp b/boost/mp11/detail/mp_append.hpp
index 1e48f01fe0..8a8f4d5585 100644
--- a/boost/mp11/detail/mp_append.hpp
+++ b/boost/mp11/detail/mp_append.hpp
@@ -10,8 +10,7 @@
#include <boost/mp11/detail/mp_list.hpp>
#include <boost/mp11/utility.hpp>
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+#include <boost/mp11/detail/config.hpp>
namespace boost
{
@@ -25,7 +24,7 @@ namespace detail
template<class... L> struct mp_append_impl;
-#if BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<> struct mp_append_impl<>
{
@@ -133,7 +132,7 @@ template<
using type = typename mp_append_impl<prefix, Lr...>::type;
};
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<class... L>
struct mp_append_impl_cuda_workaround
diff --git a/boost/mp11/detail/mp_count.hpp b/boost/mp11/detail/mp_count.hpp
index 4ae1144e1e..4bd19532bd 100644
--- a/boost/mp11/detail/mp_count.hpp
+++ b/boost/mp11/detail/mp_count.hpp
@@ -11,7 +11,6 @@
#include <boost/mp11/integral.hpp>
#include <boost/mp11/detail/mp_plus.hpp>
#include <boost/mp11/detail/config.hpp>
-#include <boost/config.hpp>
namespace boost
{
@@ -91,7 +90,7 @@ template<template<class...> class L, class... T, template<class...> class P> str
template<template<class...> class L, class... T, template<class...> class P> struct mp_count_if_impl<L<T...>, P>
{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 )
template<class T> struct _f { using type = mp_to_bool<P<T>>; };
using type = mp_size_t<mp_plus<typename _f<T>::type...>::value>;
diff --git a/boost/mp11/detail/mp_fold.hpp b/boost/mp11/detail/mp_fold.hpp
index 9afe01337b..0745e876f6 100644
--- a/boost/mp11/detail/mp_fold.hpp
+++ b/boost/mp11/detail/mp_fold.hpp
@@ -8,8 +8,7 @@
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+#include <boost/mp11/detail/config.hpp>
namespace boost
{
@@ -25,7 +24,7 @@ template<class L, class V, template<class...> class F> struct mp_fold_impl
// An error "no type named 'type'" here means that the first argument to mp_fold is not a list
};
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 )
template<template<class...> class L, class... T, class V, template<class...> class F> struct mp_fold_impl<L<T...>, V, F>
{
diff --git a/boost/mp11/detail/mp_plus.hpp b/boost/mp11/detail/mp_plus.hpp
index f6d75acdf3..8df6927097 100644
--- a/boost/mp11/detail/mp_plus.hpp
+++ b/boost/mp11/detail/mp_plus.hpp
@@ -9,7 +9,6 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/mp11/detail/config.hpp>
-#include <boost/config/workaround.hpp>
#include <type_traits>
namespace boost
@@ -21,7 +20,7 @@ namespace mp11
namespace detail
{
-#if defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS )
+#if defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS ) && !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1915 )
template<class... T> struct mp_plus_impl
{
@@ -38,7 +37,7 @@ template<> struct mp_plus_impl<>
using type = std::integral_constant<int, 0>;
};
-#if BOOST_WORKAROUND( BOOST_GCC, < 40800 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 40800 )
template<class T1, class... T> struct mp_plus_impl<T1, T...>
{
diff --git a/boost/mp11/detail/mp_with_index.hpp b/boost/mp11/detail/mp_with_index.hpp
index b198635a8e..1062877df1 100644
--- a/boost/mp11/detail/mp_with_index.hpp
+++ b/boost/mp11/detail/mp_with_index.hpp
@@ -9,17 +9,23 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/mp11/integral.hpp>
-#include <boost/config.hpp>
+#include <boost/mp11/detail/config.hpp>
#include <type_traits>
#include <utility>
#include <cassert>
-#if !defined( BOOST_NO_CXX14_CONSTEXPR )
+#if defined( BOOST_MP11_HAS_CXX14_CONSTEXPR )
# define BOOST_MP11_CONSTEXPR14 constexpr
#else
# define BOOST_MP11_CONSTEXPR14
#endif
+#if defined( _MSC_VER ) && !defined( __clang__ )
+# define BOOST_MP11_UNREACHABLE() __assume(false)
+#else
+# define BOOST_MP11_UNREACHABLE() __builtin_unreachable()
+#endif
+
namespace boost
{
namespace mp11
@@ -74,8 +80,9 @@ template<> struct mp_with_index_impl_<2>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
- default: return std::forward<F>(f)( mp_size_t<K+1>() );
+ case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
}
}
};
@@ -86,9 +93,10 @@ template<> struct mp_with_index_impl_<3>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
- default: return std::forward<F>(f)( mp_size_t<K+2>() );
+ case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
}
}
};
@@ -99,10 +107,11 @@ template<> struct mp_with_index_impl_<4>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
- default: return std::forward<F>(f)( mp_size_t<K+3>() );
+ case 3: return std::forward<F>(f)( mp_size_t<K+3>() );
}
}
};
@@ -113,11 +122,12 @@ template<> struct mp_with_index_impl_<5>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
case 3: return std::forward<F>(f)( mp_size_t<K+3>() );
- default: return std::forward<F>(f)( mp_size_t<K+4>() );
+ case 4: return std::forward<F>(f)( mp_size_t<K+4>() );
}
}
};
@@ -128,12 +138,13 @@ template<> struct mp_with_index_impl_<6>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
case 3: return std::forward<F>(f)( mp_size_t<K+3>() );
case 4: return std::forward<F>(f)( mp_size_t<K+4>() );
- default: return std::forward<F>(f)( mp_size_t<K+5>() );
+ case 5: return std::forward<F>(f)( mp_size_t<K+5>() );
}
}
};
@@ -144,13 +155,14 @@ template<> struct mp_with_index_impl_<7>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
case 3: return std::forward<F>(f)( mp_size_t<K+3>() );
case 4: return std::forward<F>(f)( mp_size_t<K+4>() );
case 5: return std::forward<F>(f)( mp_size_t<K+5>() );
- default: return std::forward<F>(f)( mp_size_t<K+6>() );
+ case 6: return std::forward<F>(f)( mp_size_t<K+6>() );
}
}
};
@@ -161,6 +173,7 @@ template<> struct mp_with_index_impl_<8>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -168,7 +181,7 @@ template<> struct mp_with_index_impl_<8>
case 4: return std::forward<F>(f)( mp_size_t<K+4>() );
case 5: return std::forward<F>(f)( mp_size_t<K+5>() );
case 6: return std::forward<F>(f)( mp_size_t<K+6>() );
- default: return std::forward<F>(f)( mp_size_t<K+7>() );
+ case 7: return std::forward<F>(f)( mp_size_t<K+7>() );
}
}
};
@@ -179,6 +192,7 @@ template<> struct mp_with_index_impl_<9>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -187,7 +201,7 @@ template<> struct mp_with_index_impl_<9>
case 5: return std::forward<F>(f)( mp_size_t<K+5>() );
case 6: return std::forward<F>(f)( mp_size_t<K+6>() );
case 7: return std::forward<F>(f)( mp_size_t<K+7>() );
- default: return std::forward<F>(f)( mp_size_t<K+8>() );
+ case 8: return std::forward<F>(f)( mp_size_t<K+8>() );
}
}
};
@@ -198,6 +212,7 @@ template<> struct mp_with_index_impl_<10>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -207,7 +222,7 @@ template<> struct mp_with_index_impl_<10>
case 6: return std::forward<F>(f)( mp_size_t<K+6>() );
case 7: return std::forward<F>(f)( mp_size_t<K+7>() );
case 8: return std::forward<F>(f)( mp_size_t<K+8>() );
- default: return std::forward<F>(f)( mp_size_t<K+9>() );
+ case 9: return std::forward<F>(f)( mp_size_t<K+9>() );
}
}
};
@@ -218,6 +233,7 @@ template<> struct mp_with_index_impl_<11>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -228,7 +244,7 @@ template<> struct mp_with_index_impl_<11>
case 7: return std::forward<F>(f)( mp_size_t<K+7>() );
case 8: return std::forward<F>(f)( mp_size_t<K+8>() );
case 9: return std::forward<F>(f)( mp_size_t<K+9>() );
- default: return std::forward<F>(f)( mp_size_t<K+10>() );
+ case 10: return std::forward<F>(f)( mp_size_t<K+10>() );
}
}
};
@@ -239,6 +255,7 @@ template<> struct mp_with_index_impl_<12>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -250,7 +267,7 @@ template<> struct mp_with_index_impl_<12>
case 8: return std::forward<F>(f)( mp_size_t<K+8>() );
case 9: return std::forward<F>(f)( mp_size_t<K+9>() );
case 10: return std::forward<F>(f)( mp_size_t<K+10>() );
- default: return std::forward<F>(f)( mp_size_t<K+11>() );
+ case 11: return std::forward<F>(f)( mp_size_t<K+11>() );
}
}
};
@@ -261,6 +278,7 @@ template<> struct mp_with_index_impl_<13>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -273,7 +291,7 @@ template<> struct mp_with_index_impl_<13>
case 9: return std::forward<F>(f)( mp_size_t<K+9>() );
case 10: return std::forward<F>(f)( mp_size_t<K+10>() );
case 11: return std::forward<F>(f)( mp_size_t<K+11>() );
- default: return std::forward<F>(f)( mp_size_t<K+12>() );
+ case 12: return std::forward<F>(f)( mp_size_t<K+12>() );
}
}
};
@@ -284,6 +302,7 @@ template<> struct mp_with_index_impl_<14>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -297,7 +316,7 @@ template<> struct mp_with_index_impl_<14>
case 10: return std::forward<F>(f)( mp_size_t<K+10>() );
case 11: return std::forward<F>(f)( mp_size_t<K+11>() );
case 12: return std::forward<F>(f)( mp_size_t<K+12>() );
- default: return std::forward<F>(f)( mp_size_t<K+13>() );
+ case 13: return std::forward<F>(f)( mp_size_t<K+13>() );
}
}
};
@@ -308,6 +327,7 @@ template<> struct mp_with_index_impl_<15>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -322,7 +342,7 @@ template<> struct mp_with_index_impl_<15>
case 11: return std::forward<F>(f)( mp_size_t<K+11>() );
case 12: return std::forward<F>(f)( mp_size_t<K+12>() );
case 13: return std::forward<F>(f)( mp_size_t<K+13>() );
- default: return std::forward<F>(f)( mp_size_t<K+14>() );
+ case 14: return std::forward<F>(f)( mp_size_t<K+14>() );
}
}
};
@@ -333,6 +353,7 @@ template<> struct mp_with_index_impl_<16>
{
switch( i )
{
+ default: BOOST_MP11_UNREACHABLE();
case 0: return std::forward<F>(f)( mp_size_t<K+0>() );
case 1: return std::forward<F>(f)( mp_size_t<K+1>() );
case 2: return std::forward<F>(f)( mp_size_t<K+2>() );
@@ -348,7 +369,7 @@ template<> struct mp_with_index_impl_<16>
case 12: return std::forward<F>(f)( mp_size_t<K+12>() );
case 13: return std::forward<F>(f)( mp_size_t<K+13>() );
case 14: return std::forward<F>(f)( mp_size_t<K+14>() );
- default: return std::forward<F>(f)( mp_size_t<K+15>() );
+ case 15: return std::forward<F>(f)( mp_size_t<K+15>() );
}
}
};
@@ -367,6 +388,7 @@ template<class N, class F> inline BOOST_MP11_CONSTEXPR14 decltype(std::declval<F
}
#undef BOOST_MP11_CONSTEXPR14
+#undef BOOST_MP11_UNREACHABLE
} // namespace mp11
} // namespace boost
diff --git a/boost/mp11/function.hpp b/boost/mp11/function.hpp
index 5968f52dac..d0fbb25a43 100644
--- a/boost/mp11/function.hpp
+++ b/boost/mp11/function.hpp
@@ -15,6 +15,7 @@
#include <boost/mp11/detail/mp_plus.hpp>
#include <boost/mp11/detail/mp_min_element.hpp>
#include <boost/mp11/detail/mp_void.hpp>
+#include <boost/mp11/detail/config.hpp>
#include <type_traits>
namespace boost
@@ -26,7 +27,7 @@ namespace mp11
// in detail/mp_void.hpp
// mp_and<T...>
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1910 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1910 )
namespace detail
{
@@ -79,7 +80,7 @@ template<class... T> using mp_and = typename detail::mp_and_impl<mp_list<T...>>:
#endif
// mp_all<T...>
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 ) || BOOST_WORKAROUND( BOOST_GCC, < 80200 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 80200 )
template<class... T> using mp_all = mp_bool< mp_count_if< mp_list<T...>, mp_not >::value == 0 >;
@@ -124,7 +125,7 @@ template<class T1, class... T> struct mp_or_impl<T1, T...>
} // namespace detail
// mp_any<T...>
-#if defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS ) && !BOOST_WORKAROUND( BOOST_GCC, < 80200 )
+#if defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS ) && !BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 80200 )
template<class... T> using mp_any = mp_bool<(static_cast<bool>(T::value) || ...)>;
diff --git a/boost/mp11/list.hpp b/boost/mp11/list.hpp
index 33e2d199fa..b764175930 100644
--- a/boost/mp11/list.hpp
+++ b/boost/mp11/list.hpp
@@ -11,8 +11,7 @@
#include <boost/mp11/integral.hpp>
#include <boost/mp11/detail/mp_list.hpp>
#include <boost/mp11/detail/mp_append.hpp>
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+#include <boost/mp11/detail/config.hpp>
#include <type_traits>
namespace boost
diff --git a/boost/mp11/tuple.hpp b/boost/mp11/tuple.hpp
index a5de900959..c65be1b1dc 100644
--- a/boost/mp11/tuple.hpp
+++ b/boost/mp11/tuple.hpp
@@ -9,14 +9,13 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/mp11/integer_sequence.hpp>
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+#include <boost/mp11/detail/config.hpp>
#include <tuple>
#include <utility>
#include <type_traits>
#include <cstddef>
-#if defined(BOOST_MSVC)
+#if BOOST_MP11_MSVC
# pragma warning( push )
# pragma warning( disable: 4100 ) // unreferenced formal parameter 'tp'
#endif
@@ -30,7 +29,7 @@ namespace mp11
namespace detail
{
-template<class F, class Tp, std::size_t... J> BOOST_CONSTEXPR auto tuple_apply_impl( F && f, Tp && tp, integer_sequence<std::size_t, J...> )
+template<class F, class Tp, std::size_t... J> BOOST_MP11_CONSTEXPR auto tuple_apply_impl( F && f, Tp && tp, integer_sequence<std::size_t, J...> )
-> decltype( std::forward<F>(f)( std::get<J>(std::forward<Tp>(tp))... ) )
{
return std::forward<F>(f)( std::get<J>(std::forward<Tp>(tp))... );
@@ -40,7 +39,7 @@ template<class F, class Tp, std::size_t... J> BOOST_CONSTEXPR auto tuple_apply_i
template<class F, class Tp,
class Seq = make_index_sequence<std::tuple_size<typename std::remove_reference<Tp>::type>::value>>
-BOOST_CONSTEXPR auto tuple_apply( F && f, Tp && tp )
+BOOST_MP11_CONSTEXPR auto tuple_apply( F && f, Tp && tp )
-> decltype( detail::tuple_apply_impl( std::forward<F>(f), std::forward<Tp>(tp), Seq() ) )
{
return detail::tuple_apply_impl( std::forward<F>(f), std::forward<Tp>(tp), Seq() );
@@ -50,7 +49,7 @@ BOOST_CONSTEXPR auto tuple_apply( F && f, Tp && tp )
namespace detail
{
-template<class T, class Tp, std::size_t... J> BOOST_CONSTEXPR T construct_from_tuple_impl( Tp && tp, integer_sequence<std::size_t, J...> )
+template<class T, class Tp, std::size_t... J> BOOST_MP11_CONSTEXPR T construct_from_tuple_impl( Tp && tp, integer_sequence<std::size_t, J...> )
{
return T( std::get<J>(std::forward<Tp>(tp))... );
}
@@ -59,7 +58,7 @@ template<class T, class Tp, std::size_t... J> BOOST_CONSTEXPR T construct_from_t
template<class T, class Tp,
class Seq = make_index_sequence<std::tuple_size<typename std::remove_reference<Tp>::type>::value>>
-BOOST_CONSTEXPR T construct_from_tuple( Tp && tp )
+BOOST_MP11_CONSTEXPR T construct_from_tuple( Tp && tp )
{
return detail::construct_from_tuple_impl<T>( std::forward<Tp>(tp), Seq() );
}
@@ -68,20 +67,20 @@ BOOST_CONSTEXPR T construct_from_tuple( Tp && tp )
namespace detail
{
-template<class Tp, std::size_t... J, class F> BOOST_CONSTEXPR F tuple_for_each_impl( Tp && tp, integer_sequence<std::size_t, J...>, F && f )
+template<class Tp, std::size_t... J, class F> BOOST_MP11_CONSTEXPR F tuple_for_each_impl( Tp && tp, integer_sequence<std::size_t, J...>, F && f )
{
using A = int[sizeof...(J)];
return (void)A{ ((void)f(std::get<J>(std::forward<Tp>(tp))), 0)... }, std::forward<F>(f);
}
-template<class Tp, class F> BOOST_CONSTEXPR F tuple_for_each_impl( Tp && /*tp*/, integer_sequence<std::size_t>, F && f )
+template<class Tp, class F> BOOST_MP11_CONSTEXPR F tuple_for_each_impl( Tp && /*tp*/, integer_sequence<std::size_t>, F && f )
{
return std::forward<F>(f);
}
} // namespace detail
-template<class Tp, class F> BOOST_CONSTEXPR F tuple_for_each( Tp && tp, F && f )
+template<class Tp, class F> BOOST_MP11_CONSTEXPR F tuple_for_each( Tp && tp, F && f )
{
using seq = make_index_sequence<std::tuple_size<typename std::remove_reference<Tp>::type>::value>;
return detail::tuple_for_each_impl( std::forward<Tp>(tp), seq(), std::forward<F>(f) );
@@ -90,7 +89,7 @@ template<class Tp, class F> BOOST_CONSTEXPR F tuple_for_each( Tp && tp, F && f )
} // namespace mp11
} // namespace boost
-#if defined(BOOST_MSVC)
+#if BOOST_MP11_MSVC
# pragma warning( pop )
#endif
diff --git a/boost/mp11/utility.hpp b/boost/mp11/utility.hpp
index eb4fe08dc6..e19ec8e77b 100644
--- a/boost/mp11/utility.hpp
+++ b/boost/mp11/utility.hpp
@@ -9,8 +9,7 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/mp11/integral.hpp>
-#include <boost/config.hpp>
-#include <boost/config/workaround.hpp>
+#include <boost/mp11/detail/config.hpp>
namespace boost
{
@@ -54,7 +53,7 @@ template<class C, class T, class... E> using mp_if = typename detail::mp_if_c_im
// mp_valid
-#if BOOST_WORKAROUND(BOOST_INTEL, BOOST_TESTED_AT(1800))
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_INTEL, != 0 ) // tested at 1800
// contributed by Roland Schulz in https://github.com/boostorg/mp11/issues/17
@@ -106,7 +105,7 @@ struct mp_no_type
{
};
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<template<class...> class F, class... T> struct mp_defer_cuda_workaround
{
@@ -117,7 +116,7 @@ template<template<class...> class F, class... T> struct mp_defer_cuda_workaround
} // namespace detail
-#if BOOST_WORKAROUND( BOOST_CUDA_VERSION, >= 9000000 && BOOST_CUDA_VERSION < 10000000 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 )
template<template<class...> class F, class... T> using mp_defer = typename detail::mp_defer_cuda_workaround< F, T...>::type;
@@ -189,7 +188,7 @@ template<template<class...> class F> struct mp_quote_trait
};
// mp_invoke
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1900 )
+#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 )
namespace detail
{
@@ -200,7 +199,7 @@ template<class Q, class... T> struct mp_invoke_impl: mp_defer<Q::template fn, T.
template<class Q, class... T> using mp_invoke = typename detail::mp_invoke_impl<Q, T...>::type;
-#elif BOOST_WORKAROUND( BOOST_GCC, < 50000 )
+#elif BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 50000 )
template<class Q, class... T> using mp_invoke = typename mp_defer<Q::template fn, T...>::type;
diff --git a/boost/mpi/collectives/all_reduce.hpp b/boost/mpi/collectives/all_reduce.hpp
index 06e116a65e..e6ce93c81b 100644
--- a/boost/mpi/collectives/all_reduce.hpp
+++ b/boost/mpi/collectives/all_reduce.hpp
@@ -48,10 +48,10 @@ namespace detail {
template<typename T, typename Op>
void
all_reduce_impl(const communicator& comm, const T* in_values, int n,
- T* out_values, Op op, mpl::false_ /*is_mpi_op*/,
+ T* out_values, Op /* op */, mpl::false_ /*is_mpi_op*/,
mpl::true_ /*is_mpi_datatype*/)
{
- user_op<Op, T> mpi_op(op);
+ user_op<Op, T> mpi_op;
BOOST_MPI_CHECK_RESULT(MPI_Allreduce,
(const_cast<T*>(in_values), out_values, n,
boost::mpi::get_mpi_datatype<T>(*in_values),
diff --git a/boost/mpi/collectives/reduce.hpp b/boost/mpi/collectives/reduce.hpp
index 1e2722ee6d..3248e3247f 100644
--- a/boost/mpi/collectives/reduce.hpp
+++ b/boost/mpi/collectives/reduce.hpp
@@ -81,7 +81,7 @@ namespace detail {
T* out_values, Op op, int root, mpl::false_ /*is_mpi_op*/,
mpl::true_/*is_mpi_datatype*/)
{
- user_op<Op, T> mpi_op(op);
+ user_op<Op, T> mpi_op;
BOOST_MPI_CHECK_RESULT(MPI_Reduce,
(const_cast<T*>(in_values), out_values, n,
boost::mpi::get_mpi_datatype<T>(*in_values),
@@ -96,7 +96,7 @@ namespace detail {
reduce_impl(const communicator& comm, const T* in_values, int n, Op op,
int root, mpl::false_/*is_mpi_op*/, mpl::true_/*is_mpi_datatype*/)
{
- user_op<Op, T> mpi_op(op);
+ user_op<Op, T> mpi_op;
BOOST_MPI_CHECK_RESULT(MPI_Reduce,
(const_cast<T*>(in_values), 0, n,
boost::mpi::get_mpi_datatype<T>(*in_values),
diff --git a/boost/mpi/collectives/scan.hpp b/boost/mpi/collectives/scan.hpp
index 9264838ae8..a840436c7e 100644
--- a/boost/mpi/collectives/scan.hpp
+++ b/boost/mpi/collectives/scan.hpp
@@ -67,7 +67,7 @@ namespace detail {
scan_impl(const communicator& comm, const T* in_values, int n, T* out_values,
Op op, mpl::false_ /*is_mpi_op*/, mpl::true_ /*is_mpi_datatype*/)
{
- user_op<Op, T> mpi_op(op);
+ user_op<Op, T> mpi_op;
BOOST_MPI_CHECK_RESULT(MPI_Scan,
(const_cast<T*>(in_values), out_values, n,
boost::mpi::get_mpi_datatype<T>(*in_values),
diff --git a/boost/mpi/communicator.hpp b/boost/mpi/communicator.hpp
index af29d1c6ff..6e55b167f9 100644
--- a/boost/mpi/communicator.hpp
+++ b/boost/mpi/communicator.hpp
@@ -21,6 +21,7 @@
#include <boost/shared_ptr.hpp>
#include <boost/mpi/datatype.hpp>
#include <boost/mpi/nonblocking.hpp>
+#include <boost/static_assert.hpp>
#include <utility>
#include <iterator>
#include <stdexcept> // for std::range_error
@@ -264,9 +265,17 @@ class BOOST_MPI_DECL communicator
* a single MPI_Send call. For variable-length data, e.g.,
* serialized types and packed archives, two messages will be sent
* via MPI_Send: one containing the length of the data and the
- * second containing the data itself. Note that the transmission
- * mode for variable-length data is an implementation detail that
- * is subject to change.
+ * second containing the data itself.
+ *
+ * Std::vectors of MPI data type
+ * are considered variable size, e.g. their number of elements is
+ * unknown and must be transmited (although the serialization process
+ * is skipped). You can use the array specialized versions of
+ * communication methods is both sender and receiver know the vector
+ * size.
+ *
+ * Note that the transmission mode for variable-length data is an
+ * implementation detail that is subject to change.
*
* @param dest The rank of the remote process to which the data
* will be sent.
@@ -277,7 +286,7 @@ class BOOST_MPI_DECL communicator
*
* @param value The value that will be transmitted to the
* receiver. The type @c T of this value must meet the aforementioned
- * criteria for transmission.
+ * criteria for transmission.
*/
template<typename T>
void send(int dest, int tag, const T& value) const;
@@ -285,14 +294,6 @@ class BOOST_MPI_DECL communicator
template<typename T, typename A>
void send(int dest, int tag, const std::vector<T,A>& value) const;
- template<typename T, typename A>
- void send_vector(int dest, int tag, const std::vector<T,A>& value,
- mpl::true_) const;
-
- template<typename T, typename A>
- void send_vector(int dest, int tag, const std::vector<T,A>& value,
- mpl::false_) const;
-
/**
* @brief Send the skeleton of an object.
*
@@ -408,14 +409,6 @@ class BOOST_MPI_DECL communicator
template<typename T, typename A>
status recv(int source, int tag, std::vector<T,A>& value) const;
- template<typename T, typename A>
- status recv_vector(int source, int tag, std::vector<T,A>& value,
- mpl::true_) const;
-
- template<typename T, typename A>
- status recv_vector(int source, int tag, std::vector<T,A>& value,
- mpl::false_) const;
-
/**
* @brief Receive a skeleton from a remote process.
*
@@ -544,7 +537,8 @@ class BOOST_MPI_DECL communicator
*
* @param value The value that will be transmitted to the
* receiver. The type @c T of this value must meet the aforementioned
- * criteria for transmission.
+ * criteria for transmission. If modified before transmited, the
+ * modification may or may not be transmited.
*
* @returns a @c request object that describes this communication.
*/
@@ -609,6 +603,9 @@ class BOOST_MPI_DECL communicator
template<typename T>
request isend(int dest, int tag, const T* values, int n) const;
+ template<typename T, class A>
+ request isend(int dest, int tag, const std::vector<T,A>& values) const;
+
/**
* @brief Send a message to another process without any data
* without blocking.
@@ -693,6 +690,9 @@ class BOOST_MPI_DECL communicator
template<typename T>
request irecv(int source, int tag, T* values, int n) const;
+ template<typename T, typename A>
+ request irecv(int source, int tag, std::vector<T,A>& values) const;
+
/**
* @brief Initiate receipt of a message from a remote process that
* carries no data.
@@ -1100,6 +1100,39 @@ class BOOST_MPI_DECL communicator
request
array_irecv_impl(int source, int tag, T* values, int n, mpl::false_) const;
+ // We're sending/receivig a vector with associated MPI datatype.
+ // We need to send/recv the size and then the data and make sure
+ // blocking and non blocking method agrees on the format.
+ template<typename T, typename A>
+ request irecv_vector(int source, int tag, std::vector<T,A>& values,
+ mpl::true_) const;
+ template<typename T, class A>
+ request isend_vector(int dest, int tag, const std::vector<T,A>& values,
+ mpl::true_) const;
+ template<typename T, typename A>
+ void send_vector(int dest, int tag, const std::vector<T,A>& value,
+ mpl::true_) const;
+ template<typename T, typename A>
+ status recv_vector(int source, int tag, std::vector<T,A>& value,
+ mpl::true_) const;
+
+ // We're sending/receivig a vector with no associated MPI datatype.
+ // We need to send/recv it as an archive and make sure
+ // blocking and non blocking method agrees on the format.
+ template<typename T, typename A>
+ request irecv_vector(int source, int tag, std::vector<T,A>& values,
+ mpl::false_) const;
+ template<typename T, class A>
+ request isend_vector(int dest, int tag, const std::vector<T,A>& values,
+ mpl::false_) const;
+ template<typename T, typename A>
+ void send_vector(int dest, int tag, const std::vector<T,A>& value,
+ mpl::false_) const;
+ template<typename T, typename A>
+ status recv_vector(int source, int tag, std::vector<T,A>& value,
+ mpl::false_) const;
+
+ protected:
shared_ptr<MPI_Comm> comm_ptr;
};
@@ -1539,6 +1572,35 @@ request communicator::isend(int dest, int tag, const T& value) const
return this->isend_impl(dest, tag, value, is_mpi_datatype<T>());
}
+template<typename T, class A>
+request communicator::isend(int dest, int tag, const std::vector<T,A>& values) const
+{
+ return this->isend_vector(dest, tag, values, is_mpi_datatype<T>());
+}
+
+template<typename T, class A>
+request
+communicator::isend_vector(int dest, int tag, const std::vector<T,A>& values,
+ mpl::true_) const
+{
+ std::size_t size = values.size();
+ request req = this->isend_impl(dest, tag, size, mpl::true_());
+ BOOST_MPI_CHECK_RESULT(MPI_Isend,
+ (const_cast<T*>(values.data()), size,
+ get_mpi_datatype<T>(),
+ dest, tag, MPI_Comm(*this), &req.m_requests[1]));
+ return req;
+
+}
+
+template<typename T, class A>
+request
+communicator::isend_vector(int dest, int tag, const std::vector<T,A>& values,
+ mpl::false_ no) const
+{
+ return this->isend_impl(dest, tag, values, no);
+}
+
template<typename T>
request
communicator::array_isend_impl(int dest, int tag, const T* values, int n,
@@ -1658,6 +1720,31 @@ namespace detail {
stat.m_count = count;
}
+
+ /**
+ * Internal data structure that stores everything required to manage
+ * the receipt of an array of primitive data but unknown size.
+ * Such an array can have been send with blocking operation and so must
+ * be compatible with the (size_t,raw_data[]) format.
+ */
+ template<typename T, class A>
+ struct dynamic_array_irecv_data
+ {
+ BOOST_STATIC_ASSERT_MSG(is_mpi_datatype<T>::value, "Can only be specialized for MPI datatypes.");
+
+ dynamic_array_irecv_data(const communicator& comm, int source, int tag,
+ std::vector<T,A>& values)
+ : comm(comm), source(source), tag(tag), count(-1), values(values)
+ {
+ }
+
+ communicator comm;
+ int source;
+ int tag;
+ std::size_t count;
+ std::vector<T,A>& values;
+ };
+
}
template<typename T>
@@ -1778,6 +1865,62 @@ request::handle_serialized_array_irecv(request* self, request_action action)
}
}
+template<typename T, class A>
+optional<status>
+request::handle_dynamic_primitive_array_irecv(request* self, request_action action)
+{
+ typedef detail::dynamic_array_irecv_data<T,A> data_t;
+ shared_ptr<data_t> data = static_pointer_cast<data_t>(self->m_data);
+
+ if (action == ra_wait) {
+ status stat;
+ if (self->m_requests[1] == MPI_REQUEST_NULL) {
+ // Wait for the count message to complete
+ BOOST_MPI_CHECK_RESULT(MPI_Wait,
+ (self->m_requests, &stat.m_status));
+ // Resize our buffer and get ready to receive its data
+ data->values.resize(data->count);
+ BOOST_MPI_CHECK_RESULT(MPI_Irecv,
+ (&(data->values[0]), data->values.size(), get_mpi_datatype<T>(),
+ stat.source(), stat.tag(),
+ MPI_Comm(data->comm), self->m_requests + 1));
+ }
+
+ // Wait until we have received the entire message
+ BOOST_MPI_CHECK_RESULT(MPI_Wait,
+ (self->m_requests + 1, &stat.m_status));
+ return stat;
+ } else if (action == ra_test) {
+ status stat;
+ int flag = 0;
+
+ if (self->m_requests[1] == MPI_REQUEST_NULL) {
+ // Check if the count message has completed
+ BOOST_MPI_CHECK_RESULT(MPI_Test,
+ (self->m_requests, &flag, &stat.m_status));
+ if (flag) {
+ // Resize our buffer and get ready to receive its data
+ data->values.resize(data->count);
+ BOOST_MPI_CHECK_RESULT(MPI_Irecv,
+ (&(data->values[0]), data->values.size(),MPI_PACKED,
+ stat.source(), stat.tag(),
+ MPI_Comm(data->comm), self->m_requests + 1));
+ } else
+ return optional<status>(); // We have not finished yet
+ }
+
+ // Check if we have received the message data
+ BOOST_MPI_CHECK_RESULT(MPI_Test,
+ (self->m_requests + 1, &flag, &stat.m_status));
+ if (flag) {
+ return stat;
+ } else
+ return optional<status>();
+ } else {
+ return optional<status>();
+ }
+}
+
// We're receiving a type that has an associated MPI datatype, so we
// map directly to that datatype.
template<typename T>
@@ -1849,6 +1992,39 @@ communicator::array_irecv_impl(int source, int tag, T* values, int n,
return req;
}
+template<typename T, class A>
+request
+communicator::irecv_vector(int source, int tag, std::vector<T,A>& values,
+ mpl::true_) const
+{
+ typedef detail::dynamic_array_irecv_data<T,A> data_t;
+ shared_ptr<data_t> data(new data_t(*this, source, tag, values));
+ request req;
+ req.m_data = data;
+ req.m_handler = request::handle_dynamic_primitive_array_irecv<T,A>;
+
+ BOOST_MPI_CHECK_RESULT(MPI_Irecv,
+ (&data->count, 1,
+ get_mpi_datatype<std::size_t>(data->count),
+ source, tag, MPI_Comm(*this), &req.m_requests[0]));
+
+ return req;
+}
+
+template<typename T, class A>
+request
+communicator::irecv_vector(int source, int tag, std::vector<T,A>& values,
+ mpl::false_ no) const
+{
+ return irecv_impl(source, tag, values, no);
+}
+
+template<typename T, typename A>
+request
+communicator::irecv(int source, int tag, std::vector<T,A>& values) const
+{
+ return irecv_vector(source, tag, values, is_mpi_datatype<T>());
+}
// Array receive must receive the elements directly into a buffer.
template<typename T>
diff --git a/boost/mpi/operations.hpp b/boost/mpi/operations.hpp
index b72b13d79a..5af8c8fafa 100644
--- a/boost/mpi/operations.hpp
+++ b/boost/mpi/operations.hpp
@@ -292,14 +292,12 @@ namespace detail {
class user_op
{
public:
- explicit user_op(Op& op)
+ user_op()
{
BOOST_MPI_CHECK_RESULT(MPI_Op_create,
(&user_op<Op, T>::perform,
is_commutative<Op, T>::value,
&mpi_op));
-
- op_ptr = &op;
}
~user_op()
@@ -321,18 +319,16 @@ namespace detail {
private:
MPI_Op mpi_op;
- static Op* op_ptr;
static void BOOST_MPI_CALLING_CONVENTION perform(void* vinvec, void* voutvec, int* plen, MPI_Datatype*)
{
T* invec = static_cast<T*>(vinvec);
T* outvec = static_cast<T*>(voutvec);
- std::transform(invec, invec + *plen, outvec, outvec, *op_ptr);
+ Op op;
+ std::transform(invec, invec + *plen, outvec, outvec, op);
}
};
- template<typename Op, typename T> Op* user_op<Op, T>::op_ptr = 0;
-
} // end namespace detail
} } // end namespace boost::mpi
diff --git a/boost/mpi/request.hpp b/boost/mpi/request.hpp
index cb36cc5ab8..16a2fb18f9 100644
--- a/boost/mpi/request.hpp
+++ b/boost/mpi/request.hpp
@@ -83,6 +83,15 @@ class BOOST_MPI_DECL request
static optional<status>
handle_serialized_array_irecv(request* self, request_action action);
+ /**
+ * INTERNAL ONLY
+ *
+ * Handles the non-blocking receive of a dynamic array of primitive values.
+ */
+ template<typename T, class A>
+ static optional<status>
+ handle_dynamic_primitive_array_irecv(request* self, request_action action);
+
public: // template friends are not portable
/// INTERNAL ONLY
diff --git a/boost/mpi/seq.hpp b/boost/mpi/seq.hpp
deleted file mode 100644
index 600f543cb9..0000000000
--- a/boost/mpi/seq.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (C) 2018 Alain Miniussi <alain.miniussi -at- oca.eu>.
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-/** @file seq.hpp
- *
- * Minimal MPI dummy declaration.
- * We need those when we want a sequential (eg one process) MPI version of the code.
- */
-#ifndef BOOST_MPI_SEQ_HPP
-#define BOOST_MPI_SEQ_HPP
-
-namespace boost { namespace mpi {
-int const MPI_SUCCESS = 0;
-int const MPI_ANY_SOURCE = -2;
-int const MPI_ANY_TAG = -1;
-} }
-
-#endif // BOOST_MPI_SEQ_HPP
diff --git a/boost/mpl/assert.hpp b/boost/mpl/assert.hpp
index e41b583c6d..7f220941a3 100644
--- a/boost/mpl/assert.hpp
+++ b/boost/mpl/assert.hpp
@@ -443,8 +443,17 @@ BOOST_MPL_AUX_ASSERT_CONSTANT( \
/**/
#endif
-#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
+#if 0
+// Work around BOOST_MPL_ASSERT_MSG_IMPL generating multiple definition linker errors on VC++8.
+// #if defined(BOOST_MSVC) && BOOST_MSVC < 1500
+# include <boost/static_assert.hpp>
+# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
+BOOST_STATIC_ASSERT_MSG( c, #msg ) \
+/**/
+#else
+# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \
/**/
+#endif
#endif // BOOST_MPL_ASSERT_HPP_INCLUDED
diff --git a/boost/multi_array.hpp b/boost/multi_array.hpp
index a134abb520..46979ac7eb 100644
--- a/boost/multi_array.hpp
+++ b/boost/multi_array.hpp
@@ -1,5 +1,8 @@
// Copyright 2002 The Trustees of Indiana University.
+// Copyright 2018 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
+
// Use, modification and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
@@ -30,6 +33,8 @@
#include "boost/multi_array/subarray.hpp"
#include "boost/multi_array/multi_array_ref.hpp"
#include "boost/multi_array/algorithm.hpp"
+#include "boost/multi_array/allocators.hpp"
+#include "boost/core/empty_value.hpp"
#include "boost/array.hpp"
#include "boost/mpl/if.hpp"
#include "boost/type_traits.hpp"
@@ -114,8 +119,10 @@ struct disable_multi_array_impl<int>
template<typename T, std::size_t NumDims,
typename Allocator>
class multi_array :
- public multi_array_ref<T,NumDims>
+ public multi_array_ref<T,NumDims>,
+ private boost::empty_value<Allocator>
{
+ typedef boost::empty_value<Allocator> alloc_base;
typedef multi_array_ref<T,NumDims> super_type;
public:
typedef typename super_type::value_type value_type;
@@ -142,22 +149,25 @@ public:
typedef boost::detail::multi_array::multi_array_view<T,NDims> type;
};
- explicit multi_array() :
+ explicit multi_array(const Allocator& alloc = Allocator()) :
super_type((T*)initial_base_,c_storage_order(),
- /*index_bases=*/0, /*extents=*/0) {
+ /*index_bases=*/0, /*extents=*/0),
+ alloc_base(boost::empty_init_t(),alloc) {
allocate_space();
}
template <class ExtentList>
explicit multi_array(
- ExtentList const& extents
+ ExtentList const& extents,
+ const Allocator& alloc = Allocator()
#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
, typename mpl::if_<
detail::multi_array::is_multi_array_impl<ExtentList>,
int&,int>::type* = 0
#endif
) :
- super_type((T*)initial_base_,extents) {
+ super_type((T*)initial_base_,extents),
+ alloc_base(boost::empty_init_t(),alloc) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
allocate_space();
@@ -167,7 +177,8 @@ public:
template <class ExtentList>
explicit multi_array(ExtentList const& extents,
const general_storage_order<NumDims>& so) :
- super_type((T*)initial_base_,extents,so) {
+ super_type((T*)initial_base_,extents,so),
+ alloc_base(boost::empty_init_t()) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
allocate_space();
@@ -177,7 +188,8 @@ public:
explicit multi_array(ExtentList const& extents,
const general_storage_order<NumDims>& so,
Allocator const& alloc) :
- super_type((T*)initial_base_,extents,so), allocator_(alloc) {
+ super_type((T*)initial_base_,extents,so),
+ alloc_base(boost::empty_init_t(),alloc) {
boost::function_requires<
detail::multi_array::CollectionConcept<ExtentList> >();
allocate_space();
@@ -185,8 +197,10 @@ public:
explicit multi_array(const detail::multi_array
- ::extent_gen<NumDims>& ranges) :
- super_type((T*)initial_base_,ranges) {
+ ::extent_gen<NumDims>& ranges,
+ const Allocator& alloc = Allocator()) :
+ super_type((T*)initial_base_,ranges),
+ alloc_base(boost::empty_init_t(),alloc) {
allocate_space();
}
@@ -195,7 +209,8 @@ public:
explicit multi_array(const detail::multi_array
::extent_gen<NumDims>& ranges,
const general_storage_order<NumDims>& so) :
- super_type((T*)initial_base_,ranges,so) {
+ super_type((T*)initial_base_,ranges,so),
+ alloc_base(boost::empty_init_t()) {
allocate_space();
}
@@ -205,13 +220,15 @@ public:
::extent_gen<NumDims>& ranges,
const general_storage_order<NumDims>& so,
Allocator const& alloc) :
- super_type((T*)initial_base_,ranges,so), allocator_(alloc) {
+ super_type((T*)initial_base_,ranges,so),
+ alloc_base(boost::empty_init_t(),alloc) {
allocate_space();
}
multi_array(const multi_array& rhs) :
- super_type(rhs), allocator_(rhs.allocator_) {
+ super_type(rhs),
+ alloc_base(static_cast<const alloc_base&>(rhs)) {
allocate_space();
boost::detail::multi_array::copy_n(rhs.base_,rhs.num_elements(),base_);
}
@@ -228,8 +245,10 @@ public:
#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
template <typename OPtr>
multi_array(const const_multi_array_ref<T,NumDims,OPtr>& rhs,
- const general_storage_order<NumDims>& so = c_storage_order())
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so = c_storage_order(),
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
// Warning! storage order may change, hence the following copy technique.
@@ -239,8 +258,10 @@ public:
template <typename OPtr>
multi_array(const detail::multi_array::
const_sub_array<T,NumDims,OPtr>& rhs,
- const general_storage_order<NumDims>& so = c_storage_order())
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so = c_storage_order(),
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -250,8 +271,10 @@ public:
template <typename OPtr>
multi_array(const detail::multi_array::
const_multi_array_view<T,NumDims,OPtr>& rhs,
- const general_storage_order<NumDims>& so = c_storage_order())
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so = c_storage_order(),
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -261,8 +284,10 @@ public:
// More limited support for MSVC
- multi_array(const const_multi_array_ref<T,NumDims>& rhs)
- : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape())
+ multi_array(const const_multi_array_ref<T,NumDims>& rhs,
+ const Allocator& alloc = Allocator())
+ : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
// Warning! storage order may change, hence the following copy technique.
@@ -270,8 +295,10 @@ public:
}
multi_array(const const_multi_array_ref<T,NumDims>& rhs,
- const general_storage_order<NumDims>& so)
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so,
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
// Warning! storage order may change, hence the following copy technique.
@@ -279,8 +306,10 @@ public:
}
multi_array(const detail::multi_array::
- const_sub_array<T,NumDims>& rhs)
- : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape())
+ const_sub_array<T,NumDims>& rhs,
+ const Allocator& alloc = Allocator())
+ : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -288,8 +317,10 @@ public:
multi_array(const detail::multi_array::
const_sub_array<T,NumDims>& rhs,
- const general_storage_order<NumDims>& so)
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so,
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -297,8 +328,10 @@ public:
multi_array(const detail::multi_array::
- const_multi_array_view<T,NumDims>& rhs)
- : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape())
+ const_multi_array_view<T,NumDims>& rhs,
+ const Allocator& alloc = Allocator())
+ : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -306,8 +339,10 @@ public:
multi_array(const detail::multi_array::
const_multi_array_view<T,NumDims>& rhs,
- const general_storage_order<NumDims>& so)
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so,
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -316,8 +351,10 @@ public:
#endif // !BOOST_NO_FUNCTION_TEMPLATE_ORDERING
// Thes constructors are necessary because of more exact template matches.
- multi_array(const multi_array_ref<T,NumDims>& rhs)
- : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape())
+ multi_array(const multi_array_ref<T,NumDims>& rhs,
+ const Allocator& alloc = Allocator())
+ : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
// Warning! storage order may change, hence the following copy technique.
@@ -325,8 +362,10 @@ public:
}
multi_array(const multi_array_ref<T,NumDims>& rhs,
- const general_storage_order<NumDims>& so)
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so,
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
// Warning! storage order may change, hence the following copy technique.
@@ -335,8 +374,10 @@ public:
multi_array(const detail::multi_array::
- sub_array<T,NumDims>& rhs)
- : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape())
+ sub_array<T,NumDims>& rhs,
+ const Allocator& alloc = Allocator())
+ : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -344,8 +385,10 @@ public:
multi_array(const detail::multi_array::
sub_array<T,NumDims>& rhs,
- const general_storage_order<NumDims>& so)
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so,
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -353,8 +396,10 @@ public:
multi_array(const detail::multi_array::
- multi_array_view<T,NumDims>& rhs)
- : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape())
+ multi_array_view<T,NumDims>& rhs,
+ const Allocator& alloc = Allocator())
+ : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -362,8 +407,10 @@ public:
multi_array(const detail::multi_array::
multi_array_view<T,NumDims>& rhs,
- const general_storage_order<NumDims>& so)
- : super_type(0,so,rhs.index_bases(),rhs.shape())
+ const general_storage_order<NumDims>& so,
+ const Allocator& alloc = Allocator())
+ : super_type(0,so,rhs.index_bases(),rhs.shape()),
+ alloc_base(boost::empty_init_t(),alloc)
{
allocate_space();
std::copy(rhs.begin(),rhs.end(),this->begin());
@@ -408,7 +455,7 @@ public:
// build a multi_array with the specs given
- multi_array new_array(ranges,this->storage_order());
+ multi_array new_array(ranges,this->storage_order(),allocator());
// build a view of tmp with the minimum extents
@@ -454,6 +501,7 @@ public:
using std::swap;
// Swap the internals of these arrays.
swap(this->super_type::base_,new_array.super_type::base_);
+ swap(this->allocator(),new_array.allocator());
swap(this->storage_,new_array.storage_);
swap(this->extent_list_,new_array.extent_list_);
swap(this->stride_list_,new_array.stride_list_);
@@ -461,7 +509,6 @@ public:
swap(this->origin_offset_,new_array.origin_offset_);
swap(this->directional_offset_,new_array.directional_offset_);
swap(this->num_elements_,new_array.num_elements_);
- swap(this->allocator_,new_array.allocator_);
swap(this->base_,new_array.base_);
swap(this->allocated_elements_,new_array.allocated_elements_);
@@ -474,26 +521,43 @@ public:
}
private:
+ friend inline bool operator==(const multi_array& a, const multi_array& b) {
+ return a.base() == b.base();
+ }
+
+ friend inline bool operator!=(const multi_array& a, const multi_array& b) {
+ return !(a == b);
+ }
+
+ const super_type& base() const {
+ return *this;
+ }
+
+ const Allocator& allocator() const {
+ return alloc_base::get();
+ }
+
+ Allocator& allocator() {
+ return alloc_base::get();
+ }
+
void allocate_space() {
- typename Allocator::const_pointer no_hint=0;
- base_ = allocator_.allocate(this->num_elements(),no_hint);
+ base_ = allocator().allocate(this->num_elements());
this->set_base_ptr(base_);
allocated_elements_ = this->num_elements();
- std::uninitialized_fill_n(base_,allocated_elements_,T());
+ detail::multi_array::construct(allocator(),base_,base_+allocated_elements_);
}
void deallocate_space() {
if(base_) {
- for(T* i = base_; i != base_+allocated_elements_; ++i)
- allocator_.destroy(i);
- allocator_.deallocate(base_,allocated_elements_);
+ detail::multi_array::destroy(allocator(),base_,base_+allocated_elements_);
+ allocator().deallocate(base_,allocated_elements_);
}
}
typedef boost::array<size_type,NumDims> size_list;
typedef boost::array<index,NumDims> index_list;
- Allocator allocator_;
T* base_;
size_type allocated_elements_;
enum {initial_base_ = 0};
diff --git a/boost/multi_array/allocators.hpp b/boost/multi_array/allocators.hpp
new file mode 100644
index 0000000000..469146464a
--- /dev/null
+++ b/boost/multi_array/allocators.hpp
@@ -0,0 +1,72 @@
+// Copyright 2018 Glen Joseph Fernandes
+// (glenjofe@gmail.com)
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MULTI_ARRAY_ALLOCATORS_HPP
+#define BOOST_MULTI_ARRAY_ALLOCATORS_HPP
+
+#include <boost/config.hpp>
+#if !defined(BOOST_NO_CXX11_ALLOCATOR)
+#include <memory>
+#else
+#include <new>
+#endif
+
+namespace boost {
+namespace detail {
+namespace multi_array {
+
+template<class A, class T>
+inline void destroy(A& allocator, T* ptr, T* end)
+{
+ for (; ptr != end; ++ptr) {
+#if !defined(BOOST_NO_CXX11_ALLOCATOR)
+ std::allocator_traits<A>::destroy(allocator,ptr);
+#else
+ ptr->~T();
+#endif
+ }
+}
+
+template<class A, class T>
+inline void construct(A& allocator, T* ptr)
+{
+#if !defined(BOOST_NO_CXX11_ALLOCATOR)
+ std::allocator_traits<A>::construct(allocator,ptr);
+#else
+ ::new(static_cast<void*>(ptr)) T();
+#endif
+}
+
+#if !defined(BOOST_NO_EXCEPTIONS)
+template<class A, class T>
+inline void construct(A& allocator, T* ptr, T* end)
+{
+ T* start = ptr;
+ try {
+ for (; ptr != end; ++ptr) {
+ boost::detail::multi_array::construct(allocator,ptr);
+ }
+ } catch (...) {
+ boost::detail::multi_array::destroy(allocator,start,ptr);
+ throw;
+ }
+}
+#else
+template<class A, class T>
+inline void construct(A& allocator, T* ptr, T* end)
+{
+ for (; ptr != end; ++ptr) {
+ boost::detail::multi_array::construct(allocator,ptr);
+ }
+}
+#endif
+
+} // multi_array
+} // detail
+} // boost
+
+#endif
diff --git a/boost/multi_index/key.hpp b/boost/multi_index/key.hpp
new file mode 100644
index 0000000000..48a418ac53
--- /dev/null
+++ b/boost/multi_index/key.hpp
@@ -0,0 +1,147 @@
+/* Copyright 2003-2018 Joaquin M Lopez Munoz.
+ * Distributed under the Boost Software License, Version 1.0.
+ * (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt)
+ *
+ * See http://www.boost.org/libs/multi_index for library home page.
+ */
+
+#ifndef BOOST_MULTI_INDEX_KEY_HPP
+#define BOOST_MULTI_INDEX_KEY_HPP
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
+#include <boost/multi_index/composite_key.hpp>
+#include <boost/multi_index/global_fun.hpp>
+#include <boost/multi_index/member.hpp>
+#include <boost/multi_index/mem_fun.hpp>
+
+#if __cplusplus>=201703L||\
+ defined(BOOST_MSVC)&&defined(__cpp_nontype_template_parameter_auto)
+
+#define BOOST_MULTI_INDEX_KEY_SUPPORTED
+
+#include <type_traits>
+
+namespace boost{
+
+namespace multi_index{
+
+/* C++17 terse key specification syntax */
+
+namespace detail{
+
+template<typename T,T,typename=void>
+struct typed_key_impl;
+
+template<typename Class,typename Type,Type Class::*PtrToMember>
+struct typed_key_impl<
+ Type Class::*,PtrToMember,
+ typename std::enable_if<!std::is_function<Type>::value>::type
+>
+{
+ using value_type=Class;
+ using type=member<Class,Type,PtrToMember>;
+};
+
+template<
+ typename Class,typename Type,Type (Class::*PtrToMemberFunction)()const
+>
+struct typed_key_impl<Type (Class::*)()const,PtrToMemberFunction>
+{
+ using value_type=Class;
+ using type=const_mem_fun<Class,Type,PtrToMemberFunction>;
+};
+
+template<typename Class,typename Type,Type (Class::*PtrToMemberFunction)()>
+struct typed_key_impl<Type (Class::*)(),PtrToMemberFunction>
+{
+ using value_type=Class;
+ using type=mem_fun<Class,Type,PtrToMemberFunction>;
+};
+
+template<class Value,typename Type,Type (*PtrToFunction)(Value)>
+struct typed_key_impl<Type (*)(Value),PtrToFunction>
+{
+ using value_type=Value;
+ using type=global_fun<Value,Type,PtrToFunction>;
+};
+
+template<auto... Keys>
+struct key_impl;
+
+template<auto Key>
+struct key_impl<Key>:typed_key_impl<decltype(Key),Key>{};
+
+template<typename... Ts>
+struct least_generic;
+
+template<typename T0,typename... Ts>
+struct least_generic<T0,Ts...>
+{
+ using type=T0;
+};
+
+template<typename T0,typename T1,typename... Ts>
+struct least_generic<T0,T1,Ts...>
+{
+ static_assert(
+ std::is_convertible<const T0&,const T1&>::value||
+ std::is_convertible<const T1&,const T0&>::value,
+ "one type should be convertible to the other");
+
+ using type=typename least_generic<
+ typename std::conditional<
+ std::is_convertible<const T0&,const T1&>::value,T0,T1
+ >::type,
+ Ts...
+ >::type;
+};
+
+template<auto Key0,auto... Keys>
+struct key_impl<Key0,Keys...>
+{
+ using value_type=typename least_generic<
+ typename std::decay<typename key_impl<Key0>::value_type>::type,
+ typename std::decay<typename key_impl<Keys>::value_type>::type...
+ >::type;
+ using type=composite_key<
+ value_type,
+ typename key_impl<Key0>::type,
+ typename key_impl<Keys>::type...
+ >;
+};
+
+template<typename=composite_key<void,void>>
+struct composite_key_size;
+
+template<typename... Args>
+struct composite_key_size<composite_key<Args...>>
+{
+ static constexpr auto value=sizeof...(Args)-1;
+};
+
+template<auto... Keys>
+struct limited_size_key_impl
+{
+ static_assert(
+ sizeof...(Keys)<=composite_key_size<>::value,
+ "specified number of keys must meet the limits of "
+ "boost::multi_index::composite_key");
+ using type=typename key_impl<Keys...>::type;
+};
+
+} /* namespace multi_index::detail */
+
+template<auto... Keys>
+using key=typename detail::limited_size_key_impl<Keys...>::type;
+
+} /* namespace multi_index */
+
+} /* namespace boost */
+
+#endif
+#endif
diff --git a/boost/multiprecision/complex_adaptor.hpp b/boost/multiprecision/complex_adaptor.hpp
index de292c663f..e86b1ff0b9 100644
--- a/boost/multiprecision/complex_adaptor.hpp
+++ b/boost/multiprecision/complex_adaptor.hpp
@@ -102,6 +102,9 @@ public:
}
complex_adaptor& operator = (const char* s)
{
+ typedef typename mpl::front<unsigned_types>::type ui_type;
+ ui_type zero = 0u;
+
using default_ops::eval_fpclassify;
if (s && (*s == '('))
@@ -110,19 +113,25 @@ public:
const char* p = ++s;
while (*p && (*p != ',') && (*p != ')'))
++p;
- part.assign(s + 1, p);
- real_data() = part.c_str();
+ part.assign(s, p);
+ if(part.size())
+ real_data() = part.c_str();
+ else
+ real_data() = zero;
s = p;
- if (*p && (*p != '}'))
+ if (*p && (*p != ')'))
{
++p;
- while (*p && (*p != ',') && (*p != ')'))
+ while (*p && (*p != ')'))
++p;
part.assign(s + 1, p);
}
else
part.erase();
- imag_data() = part.c_str();
+ if(part.size())
+ imag_data() = part.c_str();
+ else
+ imag_data() = zero;
if (eval_fpclassify(imag_data()) == (int)FP_NAN)
{
@@ -131,8 +140,6 @@ public:
}
else
{
- typedef typename mpl::front<unsigned_types>::type ui_type;
- ui_type zero = 0u;
real_data() = s;
imag_data() = zero;
}
diff --git a/boost/multiprecision/cpp_bin_float.hpp b/boost/multiprecision/cpp_bin_float.hpp
index 8d31e408cd..03daf96fe4 100644
--- a/boost/multiprecision/cpp_bin_float.hpp
+++ b/boost/multiprecision/cpp_bin_float.hpp
@@ -1798,6 +1798,7 @@ typedef number<backends::cpp_bin_float<24, backends::digit_base_2, void, boost::
typedef number<backends::cpp_bin_float<53, backends::digit_base_2, void, boost::int16_t, -1022, 1023>, et_off> cpp_bin_float_double;
typedef number<backends::cpp_bin_float<64, backends::digit_base_2, void, boost::int16_t, -16382, 16383>, et_off> cpp_bin_float_double_extended;
typedef number<backends::cpp_bin_float<113, backends::digit_base_2, void, boost::int16_t, -16382, 16383>, et_off> cpp_bin_float_quad;
+typedef number<backends::cpp_bin_float<237, backends::digit_base_2, void, boost::int32_t, -262142, 262143>, et_off> cpp_bin_float_oct;
} // namespace multiprecision
diff --git a/boost/multiprecision/cpp_complex.hpp b/boost/multiprecision/cpp_complex.hpp
index 7dc17d374a..501b5551c3 100644
--- a/boost/multiprecision/cpp_complex.hpp
+++ b/boost/multiprecision/cpp_complex.hpp
@@ -27,6 +27,7 @@ namespace boost {
typedef cpp_complex<53, backends::digit_base_2, void, boost::int16_t, -1022, 1023> cpp_complex_double;
typedef cpp_complex<64, backends::digit_base_2, void, boost::int16_t, -16382, 16383> cpp_complex_extended;
typedef cpp_complex<113, backends::digit_base_2, void, boost::int16_t, -16382, 16383> cpp_complex_quad;
+ typedef cpp_complex<237, backends::digit_base_2, void, boost::int32_t, -262142, 262143> cpp_complex_oct;
#else
@@ -37,6 +38,7 @@ namespace boost {
typedef number<complex_adaptor<cpp_bin_float<53, backends::digit_base_2, void, boost::int16_t, -1022, 1023> >, et_off> cpp_complex_double;
typedef number<complex_adaptor<cpp_bin_float<64, backends::digit_base_2, void, boost::int16_t, -16382, 16383> >, et_off> cpp_complex_extended;
typedef number<complex_adaptor<cpp_bin_float<113, backends::digit_base_2, void, boost::int16_t, -16382, 16383> >, et_off> cpp_complex_quad;
+ typedef number<complex_adaptor<cpp_bin_float<237, backends::digit_base_2, void, boost::int32_t, -262142, 262143> >, et_off> cpp_complex_oct;
#endif
diff --git a/boost/multiprecision/cpp_int.hpp b/boost/multiprecision/cpp_int.hpp
index 8426c72df3..d81831b8a6 100644
--- a/boost/multiprecision/cpp_int.hpp
+++ b/boost/multiprecision/cpp_int.hpp
@@ -11,13 +11,15 @@
#include <boost/cstdint.hpp>
#include <boost/multiprecision/number.hpp>
#include <boost/multiprecision/detail/integer_ops.hpp>
+#include <boost/multiprecision/detail/rebind.hpp>
+#include <boost/core/empty_value.hpp>
#include <boost/array.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/type_traits/is_floating_point.hpp>
#include <boost/multiprecision/cpp_int/cpp_int_config.hpp>
#include <boost/multiprecision/rational_adaptor.hpp>
#include <boost/multiprecision/traits/is_byte_container.hpp>
-#include <boost/detail/endian.hpp>
+#include <boost/predef/other/endian.h>
#include <boost/integer/static_min_max.hpp>
#include <boost/type_traits/common_type.hpp>
#include <boost/type_traits/make_signed.hpp>
@@ -169,9 +171,10 @@ inline void verify_limb_mask(bool /*b*/, U /*limb*/, U /*mask*/, const mpl::int_
// starting with the default arbitrary precision signed integer type:
//
template <unsigned MinBits, unsigned MaxBits, cpp_int_check_type Checked, class Allocator>
-struct cpp_int_base<MinBits, MaxBits, signed_magnitude, Checked, Allocator, false> : private Allocator::template rebind<limb_type>::other
+struct cpp_int_base<MinBits, MaxBits, signed_magnitude, Checked, Allocator, false>
+ : private boost::empty_value<typename detail::rebind<limb_type, Allocator>::type>
{
- typedef typename Allocator::template rebind<limb_type>::other allocator_type;
+ typedef typename detail::rebind<limb_type, Allocator>::type allocator_type;
#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename allocator_type::pointer limb_pointer;
typedef typename allocator_type::const_pointer const_limb_pointer;
@@ -187,6 +190,8 @@ struct cpp_int_base<MinBits, MaxBits, signed_magnitude, Checked, Allocator, fals
BOOST_STATIC_ASSERT(!is_void<Allocator>::value);
private:
+ typedef boost::empty_value<allocator_type> base_type;
+
struct limb_data
{
unsigned capacity;
@@ -214,7 +219,7 @@ private:
BOOST_CONSTEXPR data_type() : first(0) {}
BOOST_CONSTEXPR data_type(limb_type i) : first(i) {}
BOOST_CONSTEXPR data_type(signed_limb_type i) : first(i < 0 ? static_cast<limb_type>(boost::multiprecision::detail::unsigned_abs(i)) : i) {}
-#ifdef BOOST_LITTLE_ENDIAN
+#if BOOST_ENDIAN_LITTLE_BYTE
BOOST_CONSTEXPR data_type(double_limb_type i) : double_first(i) {}
BOOST_CONSTEXPR data_type(signed_double_limb_type i) : double_first(i < 0 ? static_cast<double_limb_type>(boost::multiprecision::detail::unsigned_abs(i)) : i) {}
#endif
@@ -232,7 +237,7 @@ public:
: m_data(i), m_limbs(1), m_sign(false), m_internal(true) { }
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(signed_limb_type i)BOOST_NOEXCEPT
: m_data(i), m_limbs(1), m_sign(i < 0), m_internal(true) { }
-#if defined(BOOST_LITTLE_ENDIAN) && !defined(BOOST_MP_TEST_NO_LE)
+#if BOOST_ENDIAN_LITTLE_BYTE && !defined(BOOST_MP_TEST_NO_LE)
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(double_limb_type i)BOOST_NOEXCEPT
: m_data(i), m_limbs(i > max_limb_value ? 2 : 1), m_sign(false), m_internal(true) { }
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(signed_double_limb_type i)BOOST_NOEXCEPT
@@ -242,8 +247,8 @@ public:
//
// Helper functions for getting at our internal data, and manipulating storage:
//
- BOOST_MP_FORCEINLINE allocator_type& allocator() BOOST_NOEXCEPT { return *this; }
- BOOST_MP_FORCEINLINE const allocator_type& allocator()const BOOST_NOEXCEPT { return *this; }
+ BOOST_MP_FORCEINLINE allocator_type& allocator() BOOST_NOEXCEPT { return base_type::get(); }
+ BOOST_MP_FORCEINLINE const allocator_type& allocator()const BOOST_NOEXCEPT { return base_type::get(); }
BOOST_MP_FORCEINLINE unsigned size()const BOOST_NOEXCEPT { return m_limbs; }
BOOST_MP_FORCEINLINE limb_pointer limbs() BOOST_NOEXCEPT { return m_internal ? m_data.la : m_data.ld.data; }
BOOST_MP_FORCEINLINE const_limb_pointer limbs()const BOOST_NOEXCEPT { return m_internal ? m_data.la : m_data.ld.data; }
@@ -293,7 +298,7 @@ public:
while((m_limbs-1) && !p[m_limbs - 1])--m_limbs;
}
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base() BOOST_NOEXCEPT : m_data(), m_limbs(1), m_sign(false), m_internal(true) {}
- BOOST_MP_FORCEINLINE cpp_int_base(const cpp_int_base& o) : allocator_type(o), m_limbs(0), m_internal(true)
+ BOOST_MP_FORCEINLINE cpp_int_base(const cpp_int_base& o) : base_type(o), m_limbs(0), m_internal(true)
{
resize(o.size(), o.size());
std::memcpy(limbs(), o.limbs(), o.size() * sizeof(limbs()[0]));
@@ -301,7 +306,7 @@ public:
}
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
cpp_int_base(cpp_int_base&& o)
- : allocator_type(static_cast<allocator_type&&>(o)), m_limbs(o.m_limbs), m_sign(o.m_sign), m_internal(o.m_internal)
+ : base_type(static_cast<base_type&&>(o)), m_limbs(o.m_limbs), m_sign(o.m_sign), m_internal(o.m_internal)
{
if(m_internal)
{
@@ -318,7 +323,7 @@ public:
{
if(!m_internal)
allocator().deallocate(m_data.ld.data, m_data.ld.capacity);
- *static_cast<allocator_type*>(this) = static_cast<allocator_type&&>(o);
+ *static_cast<base_type*>(this) = static_cast<base_type&&>(o);
m_limbs = o.m_limbs;
m_sign = o.m_sign;
m_internal = o.m_internal;
@@ -344,7 +349,7 @@ public:
{
if(this != &o)
{
- static_cast<allocator_type&>(*this) = static_cast<const allocator_type&>(o);
+ static_cast<base_type&>(*this) = static_cast<const base_type&>(o);
m_limbs = 0;
resize(o.size(), o.size());
std::memcpy(limbs(), o.limbs(), o.size() * sizeof(limbs()[0]));
@@ -393,7 +398,8 @@ const bool cpp_int_base<MinBits, MaxBits, signed_magnitude, Checked, Allocator,
#endif
template <unsigned MinBits, unsigned MaxBits, cpp_int_check_type Checked, class Allocator>
-struct cpp_int_base<MinBits, MaxBits, unsigned_magnitude, Checked, Allocator, false> : private Allocator::template rebind<limb_type>::other
+struct cpp_int_base<MinBits, MaxBits, unsigned_magnitude, Checked, Allocator, false>
+ : private boost::empty_value<typename detail::rebind<limb_type, Allocator>::type>
{
//
// There is currently no support for unsigned arbitrary precision arithmetic, largely
@@ -450,7 +456,7 @@ public:
: m_wrapper(i), m_limbs(1), m_sign(false) {}
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(signed_limb_type i)BOOST_NOEXCEPT
: m_wrapper(limb_type(i < 0 ? static_cast<limb_type>(-static_cast<signed_double_limb_type>(i)) : i)), m_limbs(1), m_sign(i < 0) {}
-#if defined(BOOST_LITTLE_ENDIAN) && !defined(BOOST_MP_TEST_NO_LE)
+#if BOOST_ENDIAN_LITTLE_BYTE && !defined(BOOST_MP_TEST_NO_LE)
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(double_limb_type i)BOOST_NOEXCEPT
: m_wrapper(i), m_limbs(i > max_limb_value ? 2 : 1), m_sign(false) {}
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(signed_double_limb_type i)BOOST_NOEXCEPT
@@ -601,7 +607,7 @@ public:
: m_wrapper(i), m_limbs(1) {}
BOOST_MP_FORCEINLINE cpp_int_base(signed_limb_type i)BOOST_MP_NOEXCEPT_IF((Checked == unchecked))
: m_wrapper(limb_type(i < 0 ? static_cast<limb_type>(-static_cast<signed_double_limb_type>(i)) : i)), m_limbs(1) { if(i < 0) negate(); }
-#if defined(BOOST_LITTLE_ENDIAN) && !defined(BOOST_MP_TEST_NO_LE)
+#if BOOST_ENDIAN_LITTLE_BYTE && !defined(BOOST_MP_TEST_NO_LE)
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR cpp_int_base(double_limb_type i)BOOST_NOEXCEPT
: m_wrapper(i), m_limbs(i > max_limb_value ? 2 : 1) {}
BOOST_MP_FORCEINLINE cpp_int_base(signed_double_limb_type i)BOOST_MP_NOEXCEPT_IF((Checked == unchecked))
@@ -1020,7 +1026,7 @@ public:
template <class Arg, class Base>
struct is_allowed_cpp_int_base_conversion : public mpl::if_c<
is_same<Arg, limb_type>::value || is_same<Arg, signed_limb_type>::value
-#if defined(BOOST_LITTLE_ENDIAN) && !defined(BOOST_MP_TEST_NO_LE)
+#if BOOST_ENDIAN_LITTLE_BYTE && !defined(BOOST_MP_TEST_NO_LE)
|| is_same<Arg, double_limb_type>::value || is_same<Arg, signed_double_limb_type>::value
#endif
#if defined(BOOST_MP_USER_DEFINED_LITERALS)
@@ -1281,8 +1287,10 @@ private:
*this = static_cast<limb_type>(1u);
}
- BOOST_ASSERT(!(boost::math::isinf)(a));
- BOOST_ASSERT(!(boost::math::isnan)(a));
+ if ((boost::math::isinf)(a) || (boost::math::isnan)(a))
+ {
+ BOOST_THROW_EXCEPTION(std::runtime_error("Cannot convert a non-finite number to an integer."));
+ }
int e;
long double f, term;
diff --git a/boost/multiprecision/cpp_int/bitwise.hpp b/boost/multiprecision/cpp_int/bitwise.hpp
index 168544c9bb..bb0eb59e66 100644
--- a/boost/multiprecision/cpp_int/bitwise.hpp
+++ b/boost/multiprecision/cpp_int/bitwise.hpp
@@ -435,7 +435,7 @@ inline typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBit
if(!s)
return;
-#if defined(BOOST_LITTLE_ENDIAN) && defined(BOOST_MP_USE_LIMB_SHIFT)
+#if BOOST_ENDIAN_LITTLE_BYTE && defined(BOOST_MP_USE_LIMB_SHIFT)
static const limb_type limb_shift_mask = cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>::limb_bits - 1;
static const limb_type byte_shift_mask = CHAR_BIT - 1;
if((s & limb_shift_mask) == 0)
@@ -446,7 +446,7 @@ inline typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBit
{
left_shift_byte(result, s);
}
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
static const limb_type byte_shift_mask = CHAR_BIT - 1;
if((s & byte_shift_mask) == 0)
{
@@ -562,14 +562,14 @@ inline typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBit
if(!s)
return;
-#if defined(BOOST_LITTLE_ENDIAN) && defined(BOOST_MP_USE_LIMB_SHIFT)
+#if BOOST_ENDIAN_LITTLE_BYTE && defined(BOOST_MP_USE_LIMB_SHIFT)
static const limb_type limb_shift_mask = cpp_int_backend<MinBits1, MaxBits1, signed_magnitude, Checked1, Allocator1>::limb_bits - 1;
static const limb_type byte_shift_mask = CHAR_BIT - 1;
if((s & limb_shift_mask) == 0)
right_shift_limb(result, s);
else if((s & byte_shift_mask) == 0)
right_shift_byte(result, s);
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
static const limb_type byte_shift_mask = CHAR_BIT - 1;
if((s & byte_shift_mask) == 0)
right_shift_byte(result, s);
@@ -595,14 +595,14 @@ inline typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBit
if(is_neg)
eval_increment(result);
-#if defined(BOOST_LITTLE_ENDIAN) && defined(BOOST_MP_USE_LIMB_SHIFT)
+#if BOOST_ENDIAN_LITTLE_BYTE && defined(BOOST_MP_USE_LIMB_SHIFT)
static const limb_type limb_shift_mask = cpp_int_backend<MinBits1, MaxBits1, signed_magnitude, Checked1, Allocator1>::limb_bits - 1;
static const limb_type byte_shift_mask = CHAR_BIT - 1;
if((s & limb_shift_mask) == 0)
right_shift_limb(result, s);
else if((s & byte_shift_mask) == 0)
right_shift_byte(result, s);
-#elif defined(BOOST_LITTLE_ENDIAN)
+#elif BOOST_ENDIAN_LITTLE_BYTE
static const limb_type byte_shift_mask = CHAR_BIT - 1;
if((s & byte_shift_mask) == 0)
right_shift_byte(result, s);
diff --git a/boost/multiprecision/cpp_int/import_export.hpp b/boost/multiprecision/cpp_int/import_export.hpp
index b975a79663..7bb916d4ce 100644
--- a/boost/multiprecision/cpp_int/import_export.hpp
+++ b/boost/multiprecision/cpp_int/import_export.hpp
@@ -169,7 +169,7 @@ namespace boost {
import_bits(
number<cpp_int_backend<MinBits, MaxBits, SignType, Checked, Allocator>, ExpressionTemplates>& val, T* i, T* j, unsigned chunk_size = 0, bool msv_first = true)
{
-#ifdef BOOST_LITTLE_ENDIAN
+#if BOOST_ENDIAN_LITTLE_BYTE
if(((chunk_size % CHAR_BIT) == 0) && !msv_first)
return detail::import_bits_fast(val, i, j, chunk_size);
#endif
diff --git a/boost/multiprecision/cpp_int/multiply.hpp b/boost/multiprecision/cpp_int/multiply.hpp
index 151b2294c7..ac01812b5c 100644
--- a/boost/multiprecision/cpp_int/multiply.hpp
+++ b/boost/multiprecision/cpp_int/multiply.hpp
@@ -205,7 +205,7 @@ BOOST_MP_FORCEINLINE typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<Mi
}
else
{
-#if defined(BOOST_LITTLE_ENDIAN) && !defined(BOOST_MP_TEST_NO_LE)
+#if BOOST_ENDIAN_LITTLE_BYTE && !defined(BOOST_MP_TEST_NO_LE)
cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> t(val);
#else
cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> t;
@@ -266,7 +266,7 @@ inline typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBit
result.negate();
return;
}
-#if defined(BOOST_LITTLE_ENDIAN) && !defined(BOOST_MP_TEST_NO_LE)
+#if BOOST_ENDIAN_LITTLE_BYTE && !defined(BOOST_MP_TEST_NO_LE)
cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> t(val);
#else
cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> t;
diff --git a/boost/multiprecision/detail/bitscan.hpp b/boost/multiprecision/detail/bitscan.hpp
index d7e39370bd..e6fd74ac37 100644
--- a/boost/multiprecision/detail/bitscan.hpp
+++ b/boost/multiprecision/detail/bitscan.hpp
@@ -8,7 +8,7 @@
#ifndef BOOST_MP_DETAIL_BITSCAN_HPP
#define BOOST_MP_DETAIL_BITSCAN_HPP
-#include <boost/detail/endian.hpp>
+#include <boost/predef/other/endian.h>
#include <boost/cstdint.hpp>
#if (defined(BOOST_MSVC) || (defined(__clang__) && defined(__c2__)) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && (defined(_M_IX86) || defined(_M_X64))
@@ -151,7 +151,7 @@ BOOST_FORCEINLINE unsigned find_msb(uint128_type mask, mpl::int_<0> const&)
{
union { uint128_type v; boost::uint64_t sv[2]; } val;
val.v = mask;
-#ifdef BOOST_LITTLE_ENDIAN
+#if BOOST_ENDIAN_LITTLE_BYTE
if(val.sv[1])
return find_msb(val.sv[1], mpl::int_<3>()) + 64;
return find_msb(val.sv[0], mpl::int_<3>());
@@ -165,7 +165,7 @@ BOOST_FORCEINLINE unsigned find_lsb(uint128_type mask, mpl::int_<0> const&)
{
union { uint128_type v; boost::uint64_t sv[2]; } val;
val.v = mask;
-#ifdef BOOST_LITTLE_ENDIAN
+#if BOOST_ENDIAN_LITTLE_BYTE
if(val.sv[0] == 0)
return find_lsb(val.sv[1], mpl::int_<3>()) + 64;
return find_lsb(val.sv[0], mpl::int_<3>());
diff --git a/boost/multiprecision/detail/default_ops.hpp b/boost/multiprecision/detail/default_ops.hpp
index 07fb02b8a0..145ecc6729 100644
--- a/boost/multiprecision/detail/default_ops.hpp
+++ b/boost/multiprecision/detail/default_ops.hpp
@@ -16,6 +16,9 @@
#include <boost/mpl/fold.hpp>
#include <boost/cstdint.hpp>
#include <boost/type_traits/make_unsigned.hpp>
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+#include <string_view>
+#endif
#ifndef INSTRUMENT_BACKEND
#ifndef BOOST_MP_INSTRUMENT
@@ -844,7 +847,24 @@ inline void assign_components(T& result, const V& v1, const U& v2)
{
return assign_components_imp(result, v1, v2, typename number_category<T>::type());
}
-
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+template <class Result, class Traits>
+inline void assign_from_string_view(Result& result, const std::basic_string_view<char, Traits>& view)
+{
+ // since most (all?) backends require a const char* to construct from, we just
+ // convert to that:
+ std::string s(view);
+ result = s.c_str();
+}
+template <class Result, class Traits>
+inline void assign_from_string_view(Result& result, const std::basic_string_view<char, Traits>& view_x, const std::basic_string_view<char, Traits>& view_y)
+{
+ // since most (all?) backends require a const char* to construct from, we just
+ // convert to that:
+ std::string x(view_x), y(view_y);
+ assign_components(result, x.c_str(), y.c_str());
+}
+#endif
template <class R, int b>
struct has_enough_bits
{
@@ -1985,7 +2005,9 @@ inline typename scalar_result_from_possible_complex<multiprecision::number<Backe
real(const multiprecision::number<Backend, ExpressionTemplates>& a)
{
using default_ops::eval_real;
- typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type result;
+ typedef typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type result_type;
+ boost::multiprecision::detail::scoped_default_precision<result_type> precision_guard(a);
+ result_type result;
eval_real(result.backend(), a.backend());
return result;
}
@@ -1994,7 +2016,9 @@ inline typename scalar_result_from_possible_complex<multiprecision::number<Backe
imag(const multiprecision::number<Backend, ExpressionTemplates>& a)
{
using default_ops::eval_imag;
- typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type result;
+ typedef typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type result_type;
+ boost::multiprecision::detail::scoped_default_precision<result_type> precision_guard(a);
+ result_type result;
eval_imag(result.backend(), a.backend());
return result;
}
@@ -2004,6 +2028,7 @@ inline typename scalar_result_from_possible_complex<typename multiprecision::det
real(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return real(value_type(arg));
}
@@ -2012,6 +2037,7 @@ inline typename scalar_result_from_possible_complex<typename multiprecision::det
imag(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return imag(value_type(arg));
}
@@ -2173,6 +2199,7 @@ namespace multiprecision{
inline typename boost::enable_if_c<number_category<Backend>::value != number_kind_complex, multiprecision::number<Backend, ExpressionTemplates> >::type
asinh BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::asinh(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
@@ -2180,12 +2207,14 @@ namespace multiprecision{
asinh BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type > precision_guard(arg);
return asinh(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline typename boost::enable_if_c<number_category<Backend>::value != number_kind_complex, multiprecision::number<Backend, ExpressionTemplates> >::type
acosh BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::acosh(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
@@ -2193,12 +2222,14 @@ namespace multiprecision{
acosh BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type > precision_guard(arg);
return acosh(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline typename boost::enable_if_c<number_category<Backend>::value != number_kind_complex, multiprecision::number<Backend, ExpressionTemplates> >::type
atanh BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::atanh(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
@@ -2206,55 +2237,65 @@ namespace multiprecision{
atanh BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type > precision_guard(arg);
return atanh(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::cbrt(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return cbrt(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> erf BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::erf(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type erf BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return erf(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> erfc BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::erfc(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type erfc BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return erfc(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::expm1(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return expm1(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
multiprecision::number<Backend, ExpressionTemplates> result;
result = boost::math::lgamma(arg, c99_error_policy());
if((boost::multiprecision::isnan)(result) && !(boost::multiprecision::isnan)(arg))
@@ -2268,11 +2309,13 @@ namespace multiprecision{
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return lgamma(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
if((arg == 0) && std::numeric_limits<multiprecision::number<Backend, ExpressionTemplates> >::has_infinity)
{
errno = ERANGE;
@@ -2284,6 +2327,7 @@ namespace multiprecision{
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return tgamma(value_type(arg));
}
@@ -2312,55 +2356,65 @@ namespace multiprecision{
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> log1p BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(arg);
return boost::math::log1p(arg, c99_error_policy());
}
template <class tag, class A1, class A2, class A3, class A4>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type log1p BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& arg)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(arg);
return log1p(value_type(arg));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& a, const multiprecision::number<Backend, ExpressionTemplates>& b)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(a, b);
return boost::math::nextafter(a, b, c99_error_policy());
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates, class tag, class A1, class A2, class A3, class A4>
inline multiprecision::number<Backend, ExpressionTemplates> nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& a, const multiprecision::detail::expression<tag, A1, A2, A3, A4>& b)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(a, b);
return nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(a, multiprecision::number<Backend, ExpressionTemplates>(b));
}
template <class tag, class A1, class A2, class A3, class A4, class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& a, const multiprecision::number<Backend, ExpressionTemplates>& b)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(a, b);
return nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(multiprecision::number<Backend, ExpressionTemplates>(a), b);
}
template <class tag, class A1, class A2, class A3, class A4, class tagb, class A1b, class A2b, class A3b, class A4b>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& a, const multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b>& b)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(a, b);
return nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(value_type(a), value_type(b));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& a, const multiprecision::number<Backend, ExpressionTemplates>& b)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(a, b);
return boost::math::nextafter(a, b, c99_error_policy());
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates, class tag, class A1, class A2, class A3, class A4>
inline multiprecision::number<Backend, ExpressionTemplates> nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::number<Backend, ExpressionTemplates>& a, const multiprecision::detail::expression<tag, A1, A2, A3, A4>& b)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(a, b);
return nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(a, multiprecision::number<Backend, ExpressionTemplates>(b));
}
template <class tag, class A1, class A2, class A3, class A4, class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& a, const multiprecision::number<Backend, ExpressionTemplates>& b)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(a, b);
return nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(multiprecision::number<Backend, ExpressionTemplates>(a), b);
}
template <class tag, class A1, class A2, class A3, class A4, class tagb, class A1b, class A2b, class A3b, class A4b>
inline typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(const multiprecision::detail::expression<tag, A1, A2, A3, A4>& a, const multiprecision::detail::expression<tagb, A1b, A2b, A3b, A4b>& b)
{
typedef typename multiprecision::detail::expression<tag, A1, A2, A3, A4>::result_type value_type;
+ detail::scoped_default_precision<value_type> precision_guard(a, b);
return nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(value_type(a), value_type(b));
}
@@ -2435,6 +2489,7 @@ template <class Backend, expression_template_option ExpressionTemplates, class P
inline number<Backend, ExpressionTemplates> trunc(const number<Backend, ExpressionTemplates>& v, const Policy&)
{
using default_ops::eval_trunc;
+ detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(v);
number<Backend, ExpressionTemplates> result;
eval_trunc(result.backend(), v.backend());
return BOOST_MP_MOVE(result);
@@ -2444,7 +2499,7 @@ template <class tag, class A1, class A2, class A3, class A4, class Policy>
inline int itrunc(const detail::expression<tag, A1, A2, A3, A4>& v, const Policy& pol)
{
typedef typename detail::expression<tag, A1, A2, A3, A4>::result_type number_type;
- number_type r = trunc(v, pol);
+ number_type r(trunc(v, pol));
if((r > (std::numeric_limits<int>::max)()) || r < (std::numeric_limits<int>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::itrunc<%1%>(%1%)", 0, number_type(v), 0, pol);
return r.template convert_to<int>();
@@ -2457,7 +2512,7 @@ inline int itrunc(const detail::expression<tag, A1, A2, A3, A4>& v)
template <class Backend, expression_template_option ExpressionTemplates, class Policy>
inline int itrunc(const number<Backend, ExpressionTemplates>& v, const Policy& pol)
{
- number<Backend, ExpressionTemplates> r = trunc(v, pol);
+ number<Backend, ExpressionTemplates> r(trunc(v, pol));
if((r > (std::numeric_limits<int>::max)()) || r < (std::numeric_limits<int>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::itrunc<%1%>(%1%)", 0, v, 0, pol);
return r.template convert_to<int>();
@@ -2471,7 +2526,7 @@ template <class tag, class A1, class A2, class A3, class A4, class Policy>
inline long ltrunc(const detail::expression<tag, A1, A2, A3, A4>& v, const Policy& pol)
{
typedef typename detail::expression<tag, A1, A2, A3, A4>::result_type number_type;
- number_type r = trunc(v, pol);
+ number_type r(trunc(v, pol));
if((r > (std::numeric_limits<long>::max)()) || r < (std::numeric_limits<long>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::ltrunc<%1%>(%1%)", 0, number_type(v), 0L, pol);
return r.template convert_to<long>();
@@ -2484,7 +2539,7 @@ inline long ltrunc(const detail::expression<tag, A1, A2, A3, A4>& v)
template <class T, expression_template_option ExpressionTemplates, class Policy>
inline long ltrunc(const number<T, ExpressionTemplates>& v, const Policy& pol)
{
- number<T, ExpressionTemplates> r = trunc(v, pol);
+ number<T, ExpressionTemplates> r(trunc(v, pol));
if((r > (std::numeric_limits<long>::max)()) || r < (std::numeric_limits<long>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::ltrunc<%1%>(%1%)", 0, v, 0L, pol);
return r.template convert_to<long>();
@@ -2499,7 +2554,7 @@ template <class tag, class A1, class A2, class A3, class A4, class Policy>
inline boost::long_long_type lltrunc(const detail::expression<tag, A1, A2, A3, A4>& v, const Policy& pol)
{
typedef typename detail::expression<tag, A1, A2, A3, A4>::result_type number_type;
- number_type r = trunc(v, pol);
+ number_type r(trunc(v, pol));
if((r > (std::numeric_limits<boost::long_long_type>::max)()) || r < (std::numeric_limits<boost::long_long_type>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::lltrunc<%1%>(%1%)", 0, number_type(v), 0LL, pol);
return r.template convert_to<boost::long_long_type>();
@@ -2512,7 +2567,7 @@ inline boost::long_long_type lltrunc(const detail::expression<tag, A1, A2, A3, A
template <class T, expression_template_option ExpressionTemplates, class Policy>
inline boost::long_long_type lltrunc(const number<T, ExpressionTemplates>& v, const Policy& pol)
{
- number<T, ExpressionTemplates> r = trunc(v, pol);
+ number<T, ExpressionTemplates> r(trunc(v, pol));
if((r > (std::numeric_limits<boost::long_long_type>::max)()) || r < (std::numeric_limits<boost::long_long_type>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::lltrunc<%1%>(%1%)", 0, v, 0LL, pol);
return r.template convert_to<boost::long_long_type>();
@@ -2533,6 +2588,7 @@ template <class T, expression_template_option ExpressionTemplates, class Policy>
inline number<T, ExpressionTemplates> round(const number<T, ExpressionTemplates>& v, const Policy&)
{
using default_ops::eval_round;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result;
eval_round(result.backend(), v.backend());
return BOOST_MP_MOVE(result);
@@ -2542,7 +2598,7 @@ template <class tag, class A1, class A2, class A3, class A4, class Policy>
inline int iround(const detail::expression<tag, A1, A2, A3, A4>& v, const Policy& pol)
{
typedef typename detail::expression<tag, A1, A2, A3, A4>::result_type number_type;
- number_type r = round(v, pol);
+ number_type r(round(v, pol));
if((r > (std::numeric_limits<int>::max)()) || r < (std::numeric_limits<int>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::iround<%1%>(%1%)", 0, number_type(v), 0, pol);
return r.template convert_to<int>();
@@ -2555,7 +2611,7 @@ inline int iround(const detail::expression<tag, A1, A2, A3, A4>& v)
template <class T, expression_template_option ExpressionTemplates, class Policy>
inline int iround(const number<T, ExpressionTemplates>& v, const Policy& pol)
{
- number<T, ExpressionTemplates> r = round(v, pol);
+ number<T, ExpressionTemplates> r(round(v, pol));
if((r > (std::numeric_limits<int>::max)()) || r < (std::numeric_limits<int>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::iround<%1%>(%1%)", 0, v, 0, pol);
return r.template convert_to<int>();
@@ -2569,7 +2625,7 @@ template <class tag, class A1, class A2, class A3, class A4, class Policy>
inline long lround(const detail::expression<tag, A1, A2, A3, A4>& v, const Policy& pol)
{
typedef typename detail::expression<tag, A1, A2, A3, A4>::result_type number_type;
- number_type r = round(v, pol);
+ number_type r(round(v, pol));
if((r > (std::numeric_limits<long>::max)()) || r < (std::numeric_limits<long>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::lround<%1%>(%1%)", 0, number_type(v), 0L, pol);
return r.template convert_to<long>();
@@ -2582,7 +2638,7 @@ inline long lround(const detail::expression<tag, A1, A2, A3, A4>& v)
template <class T, expression_template_option ExpressionTemplates, class Policy>
inline long lround(const number<T, ExpressionTemplates>& v, const Policy& pol)
{
- number<T, ExpressionTemplates> r = round(v, pol);
+ number<T, ExpressionTemplates> r(round(v, pol));
if((r > (std::numeric_limits<long>::max)()) || r < (std::numeric_limits<long>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::lround<%1%>(%1%)", 0, v, 0L, pol);
return r.template convert_to<long>();
@@ -2597,7 +2653,7 @@ template <class tag, class A1, class A2, class A3, class A4, class Policy>
inline boost::long_long_type llround(const detail::expression<tag, A1, A2, A3, A4>& v, const Policy& pol)
{
typedef typename detail::expression<tag, A1, A2, A3, A4>::result_type number_type;
- number_type r = round(v, pol);
+ number_type r(round(v, pol));
if((r > (std::numeric_limits<boost::long_long_type>::max)()) || r < (std::numeric_limits<boost::long_long_type>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::iround<%1%>(%1%)", 0, number_type(v), 0LL, pol);
return r.template convert_to<boost::long_long_type>();
@@ -2610,7 +2666,7 @@ inline boost::long_long_type llround(const detail::expression<tag, A1, A2, A3, A
template <class T, expression_template_option ExpressionTemplates, class Policy>
inline boost::long_long_type llround(const number<T, ExpressionTemplates>& v, const Policy& pol)
{
- number<T, ExpressionTemplates> r = round(v, pol);
+ number<T, ExpressionTemplates> r(round(v, pol));
if((r > (std::numeric_limits<boost::long_long_type>::max)()) || r < (std::numeric_limits<boost::long_long_type>::min)() || !(boost::math::isfinite)(v))
return boost::math::policies::raise_rounding_error("boost::multiprecision::iround<%1%>(%1%)", 0, v, 0LL, pol);
return r.template convert_to<boost::long_long_type>();
@@ -2630,6 +2686,7 @@ template <class T, expression_template_option ExpressionTemplates>
inline typename enable_if_c<number_category<T>::value == number_kind_floating_point, number<T, ExpressionTemplates> >::type frexp(const number<T, ExpressionTemplates>& v, short* pint)
{
using default_ops::eval_frexp;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result;
eval_frexp(result.backend(), v.backend(), pint);
return BOOST_MP_MOVE(result);
@@ -2645,6 +2702,7 @@ template <class T, expression_template_option ExpressionTemplates>
inline typename enable_if_c<number_category<T>::value == number_kind_floating_point, number<T, ExpressionTemplates> >::type frexp(const number<T, ExpressionTemplates>& v, int* pint)
{
using default_ops::eval_frexp;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result;
eval_frexp(result.backend(), v.backend(), pint);
return BOOST_MP_MOVE(result);
@@ -2660,6 +2718,7 @@ template <class T, expression_template_option ExpressionTemplates>
inline typename enable_if_c<number_category<T>::value == number_kind_floating_point, number<T, ExpressionTemplates> >::type frexp(const number<T, ExpressionTemplates>& v, long* pint)
{
using default_ops::eval_frexp;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result;
eval_frexp(result.backend(), v.backend(), pint);
return BOOST_MP_MOVE(result);
@@ -2675,6 +2734,7 @@ template <class T, expression_template_option ExpressionTemplates>
inline typename enable_if_c<number_category<T>::value == number_kind_floating_point, number<T, ExpressionTemplates> >::type frexp(const number<T, ExpressionTemplates>& v, boost::long_long_type* pint)
{
using default_ops::eval_frexp;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result;
eval_frexp(result.backend(), v.backend(), pint);
return BOOST_MP_MOVE(result);
@@ -2695,6 +2755,7 @@ template <class T, expression_template_option ExpressionTemplates>
inline typename enable_if_c<number_category<T>::value == number_kind_floating_point, number<T, ExpressionTemplates> >::type modf(const number<T, ExpressionTemplates>& v, number<T, ExpressionTemplates>* pipart)
{
using default_ops::eval_modf;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result;
eval_modf(result.backend(), v.backend(), pipart ? &pipart->backend() : 0);
return BOOST_MP_MOVE(result);
@@ -2703,6 +2764,7 @@ template <class T, expression_template_option ExpressionTemplates, class tag, cl
inline typename enable_if_c<number_category<T>::value == number_kind_floating_point, number<T, ExpressionTemplates> >::type modf(const detail::expression<tag, A1, A2, A3, A4>& v, number<T, ExpressionTemplates>* pipart)
{
using default_ops::eval_modf;
+ detail::scoped_default_precision<multiprecision::number<T, ExpressionTemplates> > precision_guard(v);
number<T, ExpressionTemplates> result, arg(v);
eval_modf(result.backend(), arg.backend(), pipart ? &pipart->backend() : 0);
return BOOST_MP_MOVE(result);
@@ -2804,6 +2866,7 @@ inline typename enable_if<
fma(const number<Backend, et_off>& a, const U& b, const V& c)
{
using default_ops::eval_multiply_add;
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(a, b, c);
number<Backend, et_off> result;
eval_multiply_add(result.backend(), number<Backend, et_off>::canonical_value(a), number<Backend, et_off>::canonical_value(b), number<Backend, et_off>::canonical_value(c));
return BOOST_MP_MOVE(result);
@@ -2863,6 +2926,7 @@ inline typename enable_if<
fma(const U& a, const number<Backend, et_off>& b, const V& c)
{
using default_ops::eval_multiply_add;
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(a, b, c);
number<Backend, et_off> result;
eval_multiply_add(result.backend(), number<Backend, et_off>::canonical_value(a), number<Backend, et_off>::canonical_value(b), number<Backend, et_off>::canonical_value(c));
return BOOST_MP_MOVE(result);
@@ -2910,6 +2974,7 @@ inline typename enable_if<
fma(const U& a, const V& b, const number<Backend, et_off>& c)
{
using default_ops::eval_multiply_add;
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(a, b, c);
number<Backend, et_off> result;
eval_multiply_add(result.backend(), number<Backend, et_off>::canonical_value(a), number<Backend, et_off>::canonical_value(b), number<Backend, et_off>::canonical_value(c));
return BOOST_MP_MOVE(result);
@@ -2982,6 +3047,7 @@ inline typename enable_if_c<
remquo(const number<Backend, et_off>& a, const U& b, int* pi)
{
using default_ops::eval_remquo;
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(a, b);
number<Backend, et_off> result;
eval_remquo(result.backend(), a.backend(), number<Backend, et_off>::canonical_value(b), pi);
return BOOST_MP_MOVE(result);
@@ -2995,6 +3061,7 @@ number<Backend, et_off>
remquo(const U& a, const number<Backend, et_off>& b, int* pi)
{
using default_ops::eval_remquo;
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(a, b);
number<Backend, et_off> result;
eval_remquo(result.backend(), number<Backend, et_off>::canonical_value(a), b.backend(), pi);
return BOOST_MP_MOVE(result);
@@ -3006,6 +3073,7 @@ inline typename enable_if_c<number_category<B>::value == number_kind_integer, nu
sqrt(const number<B, ExpressionTemplates>& x, number<B, ExpressionTemplates>& r)
{
using default_ops::eval_integer_sqrt;
+ detail::scoped_default_precision<multiprecision::number<B, ExpressionTemplates> > precision_guard(x, r);
number<B, ExpressionTemplates> s;
eval_integer_sqrt(s.backend(), r.backend(), x.backend());
return s;
@@ -3075,6 +3143,7 @@ inline typename boost::enable_if_c<\
number<Backend, et_off> >::type \
func(const number<Backend, et_off>& arg)\
{\
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg);\
number<Backend, et_off> result;\
using default_ops::BOOST_JOIN(eval_,func);\
BOOST_JOIN(eval_,func)(result.backend(), arg.backend());\
@@ -3153,7 +3222,7 @@ func(const number<Backend, et_on>& arg, const number<Backend, et_on>& a)\
}\
template <class Backend, class tag, class A1, class A2, class A3, class A4> \
inline typename enable_if_c<\
- (number_category<Backend>::value == category) && (number_category<detail::expression<tag, A1, A2, A3, A4> >::value == category),\
+ (number_category<Backend>::value == category) && (boost::is_convertible<typename detail::expression<tag, A1, A2, A3, A4>::result_type, number<Backend, et_on> >::value),\
detail::expression<\
detail::function\
, detail::BOOST_JOIN(category, BOOST_JOIN(func, _funct))<Backend> \
@@ -3175,7 +3244,7 @@ func(const number<Backend, et_on>& arg, const detail::expression<tag, A1, A2, A3
}\
template <class tag, class A1, class A2, class A3, class A4, class Backend> \
inline typename enable_if_c<\
- (number_category<Backend>::value == category) && (number_category<detail::expression<tag, A1, A2, A3, A4> >::value == category),\
+ (number_category<Backend>::value == category) && (boost::is_convertible<typename detail::expression<tag, A1, A2, A3, A4>::result_type, number<Backend, et_on> >::value),\
detail::expression<\
detail::function\
, detail::BOOST_JOIN(category, BOOST_JOIN(func, _funct))<Backend> \
@@ -3314,6 +3383,7 @@ inline typename enable_if_c<(number_category<Backend>::value == category),\
number<Backend, et_off> >::type \
func(const number<Backend, et_off>& arg, const number<Backend, et_off>& a)\
{\
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg, a);\
number<Backend, et_off> result;\
using default_ops:: BOOST_JOIN(eval_,func);\
BOOST_JOIN(eval_,func)(result.backend(), arg.backend(), a.backend());\
@@ -3326,6 +3396,7 @@ inline typename enable_if_c<\
>::type \
func(const number<Backend, et_off>& arg, const Arithmetic& a)\
{\
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg);\
number<Backend, et_off> result;\
using default_ops:: BOOST_JOIN(eval_,func);\
BOOST_JOIN(eval_,func)(result.backend(), arg.backend(), number<Backend, et_off>::canonical_value(a));\
@@ -3338,6 +3409,7 @@ inline typename enable_if_c<\
>::type \
func(const Arithmetic& a, const number<Backend, et_off>& arg)\
{\
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg);\
number<Backend, et_off> result;\
using default_ops:: BOOST_JOIN(eval_,func);\
BOOST_JOIN(eval_,func)(result.backend(), number<Backend, et_off>::canonical_value(a), arg.backend());\
@@ -3395,6 +3467,7 @@ inline typename enable_if_c<\
number<Backend, et_off> >::type \
func(const number<Backend, et_off>& arg, Arg2 const& a)\
{\
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg, a);\
number<Backend, et_off> result;\
using default_ops:: BOOST_JOIN(eval_,func);\
BOOST_JOIN(eval_,func)(result.backend(), arg.backend(), a);\
@@ -3487,6 +3560,7 @@ template <class Backend>
inline typename disable_if_c<number_category<Backend>::value == number_kind_complex, number<Backend, et_off> >::type
abs(const number<Backend, et_off>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg);
number<Backend, et_off> result;
using default_ops::eval_abs;
eval_abs(result.backend(), arg.backend());
@@ -3529,6 +3603,7 @@ template <class Backend>
inline number<Backend, et_off>
conj(const number<Backend, et_off>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg);
number<Backend, et_off> result;
using default_ops::eval_conj;
eval_conj(result.backend(), arg.backend());
@@ -3571,6 +3646,7 @@ template <class Backend>
inline number<Backend, et_off>
proj(const number<Backend, et_off>& arg)
{
+ detail::scoped_default_precision<multiprecision::number<Backend, et_off> > precision_guard(arg);
number<Backend, et_off> result;
using default_ops::eval_proj;
eval_proj(result.backend(), arg.backend());
@@ -3691,24 +3767,28 @@ namespace detail{
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> sinc_pi(const multiprecision::number<Backend, ExpressionTemplates>& x)
{
+ boost::multiprecision::detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(x);
return BOOST_MP_MOVE(detail::sinc_pi_imp(x));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates, class Policy>
inline multiprecision::number<Backend, ExpressionTemplates> sinc_pi(const multiprecision::number<Backend, ExpressionTemplates>& x, const Policy&)
{
+ boost::multiprecision::detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(x);
return BOOST_MP_MOVE(detail::sinc_pi_imp(x));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates>
inline multiprecision::number<Backend, ExpressionTemplates> sinhc_pi(const multiprecision::number<Backend, ExpressionTemplates>& x)
{
+ boost::multiprecision::detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(x);
return BOOST_MP_MOVE(detail::sinhc_pi_imp(x));
}
template <class Backend, multiprecision::expression_template_option ExpressionTemplates, class Policy>
inline multiprecision::number<Backend, ExpressionTemplates> sinhc_pi(const multiprecision::number<Backend, ExpressionTemplates>& x, const Policy&)
{
+ boost::multiprecision::detail::scoped_default_precision<multiprecision::number<Backend, ExpressionTemplates> > precision_guard(x);
return BOOST_MP_MOVE(boost::math::sinhc_pi(x));
}
diff --git a/boost/multiprecision/detail/functions/constants.hpp b/boost/multiprecision/detail/functions/constants.hpp
index 48b4a5c29a..a9c83f9848 100644
--- a/boost/multiprecision/detail/functions/constants.hpp
+++ b/boost/multiprecision/detail/functions/constants.hpp
@@ -242,38 +242,45 @@ template <class T>
const T& get_constant_ln2()
{
static BOOST_MP_THREAD_LOCAL T result;
+ static BOOST_MP_THREAD_LOCAL long digits = 0;
+#ifndef BOOST_MP_USING_THREAD_LOCAL
static BOOST_MP_THREAD_LOCAL bool b = false;
- static BOOST_MP_THREAD_LOCAL long digits = boost::multiprecision::detail::digits2<number<T> >::value();
+ constant_initializer<T, &get_constant_ln2<T> >::do_nothing();
+
if(!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
{
- calc_log2(result, boost::multiprecision::detail::digits2<number<T, et_on> >::value());
b = true;
+#else
+ if ((digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ {
+#endif
+ calc_log2(result, boost::multiprecision::detail::digits2<number<T, et_on> >::value());
digits = boost::multiprecision::detail::digits2<number<T> >::value();
}
- constant_initializer<T, &get_constant_ln2<T> >::do_nothing();
-
return result;
}
-#ifndef BOOST_MP_THREAD_LOCAL
-#error 1
-#endif
template <class T>
const T& get_constant_e()
{
static BOOST_MP_THREAD_LOCAL T result;
+ static BOOST_MP_THREAD_LOCAL long digits = 0;
+#ifndef BOOST_MP_USING_THREAD_LOCAL
static BOOST_MP_THREAD_LOCAL bool b = false;
- static BOOST_MP_THREAD_LOCAL long digits = boost::multiprecision::detail::digits2<number<T> >::value();
- if(!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ constant_initializer<T, &get_constant_e<T> >::do_nothing();
+
+ if (!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
{
- calc_e(result, boost::multiprecision::detail::digits2<number<T, et_on> >::value());
b = true;
+#else
+ if ((digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ {
+#endif
+ calc_e(result, boost::multiprecision::detail::digits2<number<T, et_on> >::value());
digits = boost::multiprecision::detail::digits2<number<T> >::value();
}
- constant_initializer<T, &get_constant_e<T> >::do_nothing();
-
return result;
}
@@ -281,34 +288,46 @@ template <class T>
const T& get_constant_pi()
{
static BOOST_MP_THREAD_LOCAL T result;
+ static BOOST_MP_THREAD_LOCAL long digits = 0;
+#ifndef BOOST_MP_USING_THREAD_LOCAL
static BOOST_MP_THREAD_LOCAL bool b = false;
- static BOOST_MP_THREAD_LOCAL long digits = boost::multiprecision::detail::digits2<number<T> >::value();
- if(!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ constant_initializer<T, &get_constant_pi<T> >::do_nothing();
+
+ if (!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
{
- calc_pi(result, boost::multiprecision::detail::digits2<number<T, et_on> >::value());
b = true;
+#else
+ if ((digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ {
+#endif
+ calc_pi(result, boost::multiprecision::detail::digits2<number<T, et_on> >::value());
digits = boost::multiprecision::detail::digits2<number<T> >::value();
}
- constant_initializer<T, &get_constant_pi<T> >::do_nothing();
-
return result;
}
template <class T>
const T& get_constant_one_over_epsilon()
{
- static const bool is_init = false;
- static T result;
- if (is_init == false)
+ static BOOST_MP_THREAD_LOCAL T result;
+ static BOOST_MP_THREAD_LOCAL long digits = 0;
+#ifndef BOOST_MP_USING_THREAD_LOCAL
+ static BOOST_MP_THREAD_LOCAL bool b = false;
+ constant_initializer<T, &get_constant_one_over_epsilon<T> >::do_nothing();
+
+ if (!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
{
+ b = true;
+#else
+ if ((digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ {
+#endif
typedef typename mpl::front<typename T::unsigned_types>::type ui_type;
result = static_cast<ui_type>(1u);
eval_divide(result, std::numeric_limits<number<T> >::epsilon().backend());
}
- constant_initializer<T, &get_constant_one_over_epsilon<T> >::do_nothing();
-
return result;
}
diff --git a/boost/multiprecision/detail/functions/pow.hpp b/boost/multiprecision/detail/functions/pow.hpp
index ec2a045f7a..1abc705a9a 100644
--- a/boost/multiprecision/detail/functions/pow.hpp
+++ b/boost/multiprecision/detail/functions/pow.hpp
@@ -424,20 +424,25 @@ template <class T>
const T& get_constant_log10()
{
static BOOST_MP_THREAD_LOCAL T result;
+ static BOOST_MP_THREAD_LOCAL long digits = 0;
+#ifndef BOOST_MP_USING_THREAD_LOCAL
static BOOST_MP_THREAD_LOCAL bool b = false;
- static BOOST_MP_THREAD_LOCAL long digits = boost::multiprecision::detail::digits2<number<T> >::value();
- if(!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ constant_initializer<T, &get_constant_log10<T> >::do_nothing();
+
+ if (!b || (digits != boost::multiprecision::detail::digits2<number<T> >::value()))
+ {
+ b = true;
+#else
+ if ((digits != boost::multiprecision::detail::digits2<number<T> >::value()))
{
+#endif
typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
T ten;
ten = ui_type(10u);
eval_log(result, ten);
- b = true;
digits = boost::multiprecision::detail::digits2<number<T> >::value();
}
- constant_initializer<T, &get_constant_log10<T> >::do_nothing();
-
return result;
}
diff --git a/boost/multiprecision/detail/no_et_ops.hpp b/boost/multiprecision/detail/no_et_ops.hpp
index 2faee69d03..7058e387e6 100644
--- a/boost/multiprecision/detail/no_et_ops.hpp
+++ b/boost/multiprecision/detail/no_et_ops.hpp
@@ -23,6 +23,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator - (const number<B, et_off>& v)
{
BOOST_STATIC_ASSERT_MSG(is_signed_number<B>::value, "Negating an unsigned type results in ill-defined behavior.");
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(v);
number<B, et_off> result(v);
result.backend().negate();
return result;
@@ -30,6 +31,7 @@ BOOST_MP_FORCEINLINE number<B, et_off> operator - (const number<B, et_off>& v)
template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator ~ (const number<B, et_off>& v)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(v);
number<B, et_off> result;
eval_complement(result.backend(), v.backend());
return result;
@@ -40,6 +42,7 @@ BOOST_MP_FORCEINLINE number<B, et_off> operator ~ (const number<B, et_off>& v)
template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator + (const number<B, et_off>& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
number<B, et_off> result;
using default_ops::eval_add;
eval_add(result.backend(), a.backend(), b.backend());
@@ -49,6 +52,7 @@ template <class B, class V>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator + (const number<B, et_off>& a, const V& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a);
number<B, et_off> result;
using default_ops::eval_add;
eval_add(result.backend(), a.backend(), number<B, et_off>::canonical_value(b));
@@ -58,6 +62,7 @@ template <class V, class B>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator + (const V& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(b);
number<B, et_off> result;
using default_ops::eval_add;
eval_add(result.backend(), b.backend(), number<B, et_off>::canonical_value(a));
@@ -69,6 +74,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator - (const number<B, et_off>& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
number<B, et_off> result;
using default_ops::eval_subtract;
eval_subtract(result.backend(), a.backend(), b.backend());
@@ -78,6 +84,7 @@ template <class B, class V>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator - (const number<B, et_off>& a, const V& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a);
number<B, et_off> result;
using default_ops::eval_subtract;
eval_subtract(result.backend(), a.backend(), number<B, et_off>::canonical_value(b));
@@ -87,6 +94,7 @@ template <class V, class B>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator - (const V& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(b);
number<B, et_off> result;
using default_ops::eval_subtract;
eval_subtract(result.backend(), number<B, et_off>::canonical_value(a), b.backend());
@@ -98,6 +106,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
number<B, et_off> result;
using default_ops::eval_multiply;
eval_multiply(result.backend(), a.backend(), b.backend());
@@ -107,6 +116,7 @@ template <class B, class V>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator * (const number<B, et_off>& a, const V& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a);
number<B, et_off> result;
using default_ops::eval_multiply;
eval_multiply(result.backend(), a.backend(), number<B, et_off>::canonical_value(b));
@@ -116,6 +126,7 @@ template <class V, class B>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator * (const V& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(b);
number<B, et_off> result;
using default_ops::eval_multiply;
eval_multiply(result.backend(), b.backend(), number<B, et_off>::canonical_value(a));
@@ -127,6 +138,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator / (const number<B, et_off>& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
number<B, et_off> result;
using default_ops::eval_divide;
eval_divide(result.backend(), a.backend(), b.backend());
@@ -136,6 +148,7 @@ template <class B, class V>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator / (const number<B, et_off>& a, const V& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a);
number<B, et_off> result;
using default_ops::eval_divide;
eval_divide(result.backend(), a.backend(), number<B, et_off>::canonical_value(b));
@@ -145,6 +158,7 @@ template <class V, class B>
BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<B, et_off> >, number<B, et_off> >::type
operator / (const V& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(b);
number<B, et_off> result;
using default_ops::eval_divide;
eval_divide(result.backend(), number<B, et_off>::canonical_value(a), b.backend());
@@ -156,6 +170,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
template <class B>
BOOST_MP_FORCEINLINE typename enable_if_c<number_category<B>::value == number_kind_integer, number<B, et_off> >::type operator % (const number<B, et_off>& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
number<B, et_off> result;
using default_ops::eval_modulus;
eval_modulus(result.backend(), a.backend(), b.backend());
@@ -165,6 +180,7 @@ template <class B, class V>
BOOST_MP_FORCEINLINE typename enable_if_c<is_compatible_arithmetic_type<V, number<B, et_off> >::value && (number_category<B>::value == number_kind_integer), number<B, et_off> >::type
operator % (const number<B, et_off>& a, const V& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a);
number<B, et_off> result;
using default_ops::eval_modulus;
eval_modulus(result.backend(), a.backend(), number<B, et_off>::canonical_value(b));
@@ -174,6 +190,7 @@ template <class V, class B>
BOOST_MP_FORCEINLINE typename enable_if_c<is_compatible_arithmetic_type<V, number<B, et_off> >::value && (number_category<B>::value == number_kind_integer), number<B, et_off> >::type
operator % (const V& a, const number<B, et_off>& b)
{
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(b);
number<B, et_off> result;
using default_ops::eval_modulus;
eval_modulus(result.backend(), number<B, et_off>::canonical_value(a), b.backend());
@@ -322,6 +339,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator + (number<B, et_off>&& a, const number<B, et_off>& b)
{
using default_ops::eval_add;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_add(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -329,6 +347,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator + (const number<B, et_off>& a, number<B, et_off>&& b)
{
using default_ops::eval_add;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_add(b.backend(), a.backend());
return static_cast<number<B, et_off>&&>(b);
}
@@ -336,6 +355,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator + (number<B, et_off>&& a, number<B, et_off>&& b)
{
using default_ops::eval_add;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_add(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -344,6 +364,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
operator + (number<B, et_off>&& a, const V& b)
{
using default_ops::eval_add;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_add(a.backend(), number<B, et_off>::canonical_value(b));
return static_cast<number<B, et_off>&&>(a);
}
@@ -352,6 +373,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
operator + (const V& a, number<B, et_off>&& b)
{
using default_ops::eval_add;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_add(b.backend(), number<B, et_off>::canonical_value(a));
return static_cast<number<B, et_off>&&>(b);
}
@@ -362,6 +384,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator - (number<B, et_off>&& a, const number<B, et_off>& b)
{
using default_ops::eval_subtract;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_subtract(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -369,6 +392,7 @@ template <class B>
BOOST_MP_FORCEINLINE typename enable_if<is_signed_number<B>, number<B, et_off> >::type operator - (const number<B, et_off>& a, number<B, et_off>&& b)
{
using default_ops::eval_subtract;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_subtract(b.backend(), a.backend());
b.backend().negate();
return static_cast<number<B, et_off>&&>(b);
@@ -377,6 +401,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator - (number<B, et_off>&& a, number<B, et_off>&& b)
{
using default_ops::eval_subtract;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_subtract(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -385,6 +410,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
operator - (number<B, et_off>&& a, const V& b)
{
using default_ops::eval_subtract;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_subtract(a.backend(), number<B, et_off>::canonical_value(b));
return static_cast<number<B, et_off>&&>(a);
}
@@ -393,6 +419,7 @@ BOOST_MP_FORCEINLINE typename enable_if_c<(is_compatible_arithmetic_type<V, numb
operator - (const V& a, number<B, et_off>&& b)
{
using default_ops::eval_subtract;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_subtract(b.backend(), number<B, et_off>::canonical_value(a));
b.backend().negate();
return static_cast<number<B, et_off>&&>(b);
@@ -404,6 +431,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, const number<B, et_off>& b)
{
using default_ops::eval_multiply;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_multiply(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -411,6 +439,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator * (const number<B, et_off>& a, number<B, et_off>&& b)
{
using default_ops::eval_multiply;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_multiply(b.backend(), a.backend());
return static_cast<number<B, et_off>&&>(b);
}
@@ -418,6 +447,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator * (number<B, et_off>&& a, number<B, et_off>&& b)
{
using default_ops::eval_multiply;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_multiply(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -426,6 +456,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
operator * (number<B, et_off>&& a, const V& b)
{
using default_ops::eval_multiply;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_multiply(a.backend(), number<B, et_off>::canonical_value(b));
return static_cast<number<B, et_off>&&>(a);
}
@@ -434,6 +465,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
operator * (const V& a, number<B, et_off>&& b)
{
using default_ops::eval_multiply;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_multiply(b.backend(), number<B, et_off>::canonical_value(a));
return static_cast<number<B, et_off>&&>(b);
}
@@ -444,6 +476,7 @@ template <class B>
BOOST_MP_FORCEINLINE number<B, et_off> operator / (number<B, et_off>&& a, const number<B, et_off>& b)
{
using default_ops::eval_divide;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_divide(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -452,6 +485,7 @@ BOOST_MP_FORCEINLINE typename enable_if<is_compatible_arithmetic_type<V, number<
operator / (number<B, et_off>&& a, const V& b)
{
using default_ops::eval_divide;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_divide(a.backend(), number<B, et_off>::canonical_value(b));
return static_cast<number<B, et_off>&&>(a);
}
@@ -462,6 +496,7 @@ template <class B>
BOOST_MP_FORCEINLINE typename enable_if_c<number_category<B>::value == number_kind_integer, number<B, et_off> >::type operator % (number<B, et_off>&& a, const number<B, et_off>& b)
{
using default_ops::eval_modulus;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_modulus(a.backend(), b.backend());
return static_cast<number<B, et_off>&&>(a);
}
@@ -470,6 +505,7 @@ BOOST_MP_FORCEINLINE typename enable_if_c<is_compatible_arithmetic_type<V, numbe
operator % (number<B, et_off>&& a, const V& b)
{
using default_ops::eval_modulus;
+ detail::scoped_default_precision<multiprecision::number<B, et_off> > precision_guard(a, b);
eval_modulus(a.backend(), number<B, et_off>::canonical_value(b));
return static_cast<number<B, et_off>&&>(a);
}
diff --git a/boost/multiprecision/detail/number_base.hpp b/boost/multiprecision/detail/number_base.hpp
index 5e3005e1a1..9665a825a0 100644
--- a/boost/multiprecision/detail/number_base.hpp
+++ b/boost/multiprecision/detail/number_base.hpp
@@ -26,7 +26,7 @@
# define BOOST_MP_FORCEINLINE inline
#endif
-#if (defined(BOOST_GCC) && (BOOST_GCC <= 40700)) || BOOST_WORKAROUND(__SUNPRO_CC, < 0x5140)
+#if (defined(BOOST_GCC) && (BOOST_GCC <= 40700)) || BOOST_WORKAROUND(__SUNPRO_CC, < 0x5140) || (defined(__clang_major__) && (__clang_major__ == 3) && (__clang_minor__ < 5))
# define BOOST_MP_NOEXCEPT_IF(x)
#else
# define BOOST_MP_NOEXCEPT_IF(x) BOOST_NOEXCEPT_IF(x)
@@ -42,6 +42,7 @@
//
#if !defined(BOOST_NO_CXX11_THREAD_LOCAL) && !defined(BOOST_INTEL) && !defined(__MINGW32__)
# define BOOST_MP_THREAD_LOCAL thread_local
+# define BOOST_MP_USING_THREAD_LOCAL
#else
# define BOOST_MP_THREAD_LOCAL
#endif
diff --git a/boost/multiprecision/detail/precision.hpp b/boost/multiprecision/detail/precision.hpp
new file mode 100644
index 0000000000..f5963abf69
--- /dev/null
+++ b/boost/multiprecision/detail/precision.hpp
@@ -0,0 +1,139 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2018 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MP_PRECISION_HPP
+#define BOOST_MP_PRECISION_HPP
+
+#include <boost/multiprecision/traits/is_variable_precision.hpp>
+#include <boost/multiprecision/detail/number_base.hpp>
+
+namespace boost{ namespace multiprecision{ namespace detail{
+
+ template <class B, boost::multiprecision::expression_template_option ET>
+ inline unsigned current_precision_of_imp(const boost::multiprecision::number<B, ET>& n, const mpl::true_&)
+ {
+ return n.precision();
+ }
+ template <class B, boost::multiprecision::expression_template_option ET>
+ inline BOOST_CONSTEXPR unsigned current_precision_of_imp(const boost::multiprecision::number<B, ET>&, const mpl::false_&)
+ {
+ return std::numeric_limits<boost::multiprecision::number<B, ET> >::digits10;
+ }
+
+ template <class Terminal>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const Terminal&)
+ {
+ return std::numeric_limits<Terminal>::digits10;
+ }
+
+ template <class Terminal, std::size_t N>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const Terminal(&)[N])
+ { // For string literals:
+ return 0;
+ }
+
+ template <class B, boost::multiprecision::expression_template_option ET>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const boost::multiprecision::number<B, ET>& n)
+ {
+ return current_precision_of_imp(n, boost::multiprecision::detail::is_variable_precision<boost::multiprecision::number<B, ET> >());
+ }
+
+ template<class tag, class Arg1>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const expression<tag, Arg1, void, void, void>& expr)
+ {
+ return current_precision_of(expr.left_ref());
+ }
+
+ template<class Arg1>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const expression<terminal, Arg1, void, void, void>& expr)
+ {
+ return current_precision_of(expr.value());
+ }
+
+ template <class tag, class Arg1, class Arg2>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const expression<tag, Arg1, Arg2, void, void>& expr)
+ {
+ return (std::max)(current_precision_of(expr.left_ref()), current_precision_of(expr.right_ref()));
+ }
+
+ template <class tag, class Arg1, class Arg2, class Arg3>
+ inline BOOST_CONSTEXPR unsigned current_precision_of(const expression<tag, Arg1, Arg2, Arg3, void>& expr)
+ {
+ return (std::max)((std::max)(current_precision_of(expr.left_ref()), current_precision_of(expr.right_ref())), current_precision_of(expr.middle_ref()));
+ }
+
+ template <class R, bool = boost::multiprecision::detail::is_variable_precision<R>::value>
+ struct scoped_default_precision
+ {
+ template <class T>
+ scoped_default_precision(const T&) {}
+ template <class T, class U>
+ scoped_default_precision(const T&, const U&) {}
+ template <class T, class U, class V>
+ scoped_default_precision(const T&, const U&, const V&) {}
+ };
+
+ template <class R>
+ struct scoped_default_precision<R, true>
+ {
+ template <class T>
+ scoped_default_precision(const T& a)
+ {
+ init(current_precision_of(a));
+ }
+ template <class T, class U>
+ scoped_default_precision(const T& a, const U& b)
+ {
+ init((std::max)(current_precision_of(a), current_precision_of(b)));
+ }
+ template <class T, class U, class V>
+ scoped_default_precision(const T& a, const U& b, const V& c)
+ {
+ init((std::max)((std::max)(current_precision_of(a), current_precision_of(b)), current_precision_of(c)));
+ }
+ ~scoped_default_precision()
+ {
+ R::default_precision(m_prec);
+ }
+ private:
+ void init(unsigned p)
+ {
+ m_prec = R::default_precision();
+ if (p)
+ R::default_precision(p);
+ }
+ unsigned m_prec;
+ };
+
+ template <class T>
+ inline void maybe_promote_precision(T*, const mpl::false_&){}
+
+ template <class T>
+ inline void maybe_promote_precision(T* obj, const mpl::true_&)
+ {
+ if (obj->precision() != T::default_precision())
+ {
+ obj->precision(T::default_precision());
+ }
+ }
+
+ template <class T>
+ inline void maybe_promote_precision(T* obj)
+ {
+ maybe_promote_precision(obj, boost::multiprecision::detail::is_variable_precision<T>());
+ }
+
+#ifndef BOOST_NO_CXX17_IF_CONSTEXPR
+# define BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(T) if constexpr (boost::multiprecision::detail::is_variable_precision<T>::value)
+#else
+# define BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(T) if(boost::multiprecision::detail::is_variable_precision<T>::value)
+#endif
+
+
+}
+}
+}
+
+#endif // BOOST_MP_IS_BACKEND_HPP
diff --git a/boost/multiprecision/float128.hpp b/boost/multiprecision/float128.hpp
index 095634fb2e..b4b16c5974 100644
--- a/boost/multiprecision/float128.hpp
+++ b/boost/multiprecision/float128.hpp
@@ -126,6 +126,77 @@ struct number_category<float128_type> : public mpl::int_<number_kind_floating_po
typedef number<float128_backend, et_off> float128;
+#ifndef BOOST_NO_CXX11_CONSTEXPR
+
+namespace quad_constants {
+ constexpr __float128 quad_min = static_cast<__float128>(1)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN) / 1073741824;
+
+ constexpr __float128 quad_denorm_min = static_cast<__float128>(1)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN)
+ * static_cast<__float128>(DBL_MIN) / 5.5751862996326557854e+42;
+
+ constexpr double dbl_mult = 8.9884656743115795386e+307; // This has one bit set only.
+ constexpr __float128 quad_max = (static_cast<__float128>(1) - 9.62964972193617926527988971292463659e-35) // This now has all bits sets to 1
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult)
+ * static_cast<__float128>(dbl_mult) * 65536;
+}
+
+#define BOOST_MP_QUAD_MIN boost::multiprecision::quad_constants::quad_min
+#define BOOST_MP_QUAD_DENORM_MIN boost::multiprecision::quad_constants::quad_denorm_min
+#define BOOST_MP_QUAD_MAX boost::multiprecision::quad_constants::quad_max
+
+#else
+
+#define BOOST_MP_QUAD_MIN 3.36210314311209350626267781732175260e-4932Q
+#define BOOST_MP_QUAD_DENORM_MIN 6.475175119438025110924438958227646552e-4966Q
+#define BOOST_MP_QUAD_MAX 1.18973149535723176508575932662800702e4932Q
+
+#endif
+
namespace backends{
struct float128_backend
@@ -157,15 +228,17 @@ public:
}
float128_backend(long double const& f)
{
+ BOOST_STATIC_CONSTEXPR __float128 inf_val = static_cast<__float128>(HUGE_VAL);
if(boost::math::isinf(f))
- m_value = (f < 0) ? -1.0Q / 0.0Q : 1.0Q / 0.0Q;
+ m_value = (f < 0) ? -inf_val : inf_val;
else
m_value = f;
}
float128_backend& operator=(long double const& f)
{
+ BOOST_STATIC_CONSTEXPR __float128 inf_val = static_cast<__float128>(HUGE_VAL);
if(boost::math::isinf(f))
- m_value = (f < 0) ? -1.0Q / 0.0Q : 1.0Q / 0.0Q;
+ m_value = (f < 0) ? -inf_val : inf_val;
else
m_value = f;
return *this;
@@ -364,7 +437,7 @@ inline int eval_fpclassify(const float128_backend& arg)
float128_backend t(arg);
if(t.value() < 0)
t.negate();
- if(t.value() < 3.36210314311209350626267781732175260e-4932Q)
+ if(t.value() < BOOST_MP_QUAD_MIN)
return FP_SUBNORMAL;
return FP_NORMAL;
}
@@ -645,8 +718,8 @@ class numeric_limits<boost::multiprecision::number<boost::multiprecision::backen
typedef boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ExpressionTemplates> number_type;
public:
BOOST_STATIC_CONSTEXPR bool is_specialized = true;
- static number_type (min)() BOOST_NOEXCEPT { return 3.36210314311209350626267781732175260e-4932Q; }
- static number_type (max)() BOOST_NOEXCEPT { return 1.18973149535723176508575932662800702e4932Q; }
+ static number_type (min)() BOOST_NOEXCEPT { return BOOST_MP_QUAD_MIN; }
+ static number_type (max)() BOOST_NOEXCEPT { return BOOST_MP_QUAD_MAX; }
static number_type lowest() BOOST_NOEXCEPT { return -(max)(); }
BOOST_STATIC_CONSTEXPR int digits = 113;
BOOST_STATIC_CONSTEXPR int digits10 = 33;
@@ -655,7 +728,7 @@ public:
BOOST_STATIC_CONSTEXPR bool is_integer = false;
BOOST_STATIC_CONSTEXPR bool is_exact = false;
BOOST_STATIC_CONSTEXPR int radix = 2;
- static number_type epsilon() { return 1.92592994438723585305597794258492732e-34Q; }
+ static number_type epsilon() { return 1.92592994438723585305597794258492732e-34; /* this double value has only one bit set and so is exact */ }
static number_type round_error() { return 0.5; }
BOOST_STATIC_CONSTEXPR int min_exponent = -16381;
BOOST_STATIC_CONSTEXPR int min_exponent10 = min_exponent * 301L / 1000L;
@@ -666,10 +739,10 @@ public:
BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false;
BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_present;
BOOST_STATIC_CONSTEXPR bool has_denorm_loss = true;
- static number_type infinity() { return 1.0q / 0.0q; }
+ static number_type infinity() { return HUGE_VAL; /* conversion from double infinity OK */ }
static number_type quiet_NaN() { return number_type("nan"); }
static number_type signaling_NaN() { return 0; }
- static number_type denorm_min() { return 6.475175119438025110924438958227646552e-4966Q; }
+ static number_type denorm_min() { return BOOST_MP_QUAD_DENORM_MIN; }
BOOST_STATIC_CONSTEXPR bool is_iec559 = true;
BOOST_STATIC_CONSTEXPR bool is_bounded = false;
BOOST_STATIC_CONSTEXPR bool is_modulo = false;
diff --git a/boost/multiprecision/gmp.hpp b/boost/multiprecision/gmp.hpp
index 2181d7ff55..d08e7080e5 100644
--- a/boost/multiprecision/gmp.hpp
+++ b/boost/multiprecision/gmp.hpp
@@ -88,7 +88,10 @@ struct gmp_float_imp
typedef mpl::list<double, long double> float_types;
typedef long exponent_type;
- gmp_float_imp() BOOST_NOEXCEPT {}
+ gmp_float_imp() BOOST_NOEXCEPT
+ {
+ m_data[0]._mp_d = 0; // uninitialized m_data
+ }
gmp_float_imp(const gmp_float_imp& o)
{
@@ -98,7 +101,7 @@ struct gmp_float_imp
// to get the right value, but if it's then used in further calculations
// things go badly wrong!!
//
- mpf_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
+ mpf_init2(m_data, mpf_get_prec(o.data()));
if(o.m_data[0]._mp_d)
mpf_set(m_data, o.m_data);
}
@@ -112,9 +115,20 @@ struct gmp_float_imp
gmp_float_imp& operator = (const gmp_float_imp& o)
{
if(m_data[0]._mp_d == 0)
- mpf_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
- if(o.m_data[0]._mp_d)
- mpf_set(m_data, o.m_data);
+ mpf_init2(m_data, mpf_get_prec(o.data()));
+ if (mpf_get_prec(data()) != mpf_get_prec(o.data()))
+ {
+ mpf_t t;
+ mpf_init2(t, mpf_get_prec(o.data()));
+ mpf_set(t, o.data());
+ mpf_swap(data(), t);
+ mpf_clear(t);
+ }
+ else
+ {
+ if (o.m_data[0]._mp_d)
+ mpf_set(m_data, o.m_data);
+ }
return *this;
}
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
@@ -518,7 +532,25 @@ struct gmp_float<0> : public detail::gmp_float_imp<0>
mpf_init2(this->m_data, multiprecision::detail::digits10_2_2(digits10));
mpf_set(this->m_data, o.data());
}
+ template <class V>
+ gmp_float(const V& o, unsigned digits10)
+ {
+ mpf_init2(this->m_data, multiprecision::detail::digits10_2_2(digits10));
+ *this = o;
+ }
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+ //
+ // Support for new types in C++17
+ //
+ template <class Traits>
+ gmp_float(const std::basic_string_view<char, Traits>& o, unsigned digits10)
+ {
+ using default_ops::assign_from_string_view;
+ mpf_init2(this->m_data, multiprecision::detail::digits10_2_2(digits10));
+ assign_from_string_view(*this, o);
+ }
+#endif
gmp_float& operator=(const gmp_float& o)
{
*static_cast<detail::gmp_float_imp<0>*>(this) = static_cast<detail::gmp_float_imp<0> const&>(o);
@@ -2341,6 +2373,12 @@ struct number_category<detail::canonical<mpq_t, gmp_rational>::type> : public mp
template<>
struct number_category<detail::canonical<mpf_t, gmp_float<0> >::type> : public mpl::int_<number_kind_floating_point>{};
+namespace detail
+{
+ template<>
+ struct is_variable_precision<backends::gmp_float<0> > : public true_type {};
+}
+
typedef number<gmp_float<50> > mpf_float_50;
typedef number<gmp_float<100> > mpf_float_100;
diff --git a/boost/multiprecision/mpc.hpp b/boost/multiprecision/mpc.hpp
index a98d2e648f..f188454849 100644
--- a/boost/multiprecision/mpc.hpp
+++ b/boost/multiprecision/mpc.hpp
@@ -9,6 +9,7 @@
#include <boost/multiprecision/number.hpp>
#include <boost/cstdint.hpp>
#include <boost/multiprecision/detail/digits.hpp>
+#include <boost/multiprecision/traits/is_variable_precision.hpp>
#include <boost/multiprecision/mpfr.hpp>
#include <boost/multiprecision/logged_adaptor.hpp>
#include <boost/functional/hash_fwd.hpp>
@@ -37,6 +38,26 @@ namespace backends{
namespace detail{
+
+inline void mpc_copy_precision(mpc_t dest, const mpc_t src)
+{
+ mpfr_prec_t p_dest = mpc_get_prec(dest);
+ mpfr_prec_t p_src = mpc_get_prec(src);
+ if (p_dest != p_src)
+ mpc_set_prec(dest, p_src);
+}
+inline void mpc_copy_precision(mpc_t dest, const mpc_t src1, const mpc_t src2)
+{
+ mpfr_prec_t p_dest = mpc_get_prec(dest);
+ mpfr_prec_t p_src1 = mpc_get_prec(src1);
+ mpfr_prec_t p_src2 = mpc_get_prec(src2);
+ if (p_src2 > p_src1)
+ p_src1 = p_src2;
+ if (p_dest != p_src1)
+ mpc_set_prec(dest, p_src1);
+}
+
+
template <unsigned digits10>
struct mpc_complex_imp
{
@@ -55,15 +76,15 @@ struct mpc_complex_imp
mpc_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
mpc_set_ui(m_data, 0u, GMP_RNDN);
}
- mpc_complex_imp(unsigned prec)
+ mpc_complex_imp(unsigned digits2)
{
- mpc_init2(m_data, prec);
+ mpc_init2(m_data, digits2);
mpc_set_ui(m_data, 0u, GMP_RNDN);
}
mpc_complex_imp(const mpc_complex_imp& o)
{
- mpc_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
+ mpc_init2(m_data, mpc_get_prec(o.m_data));
if(o.m_data[0].re[0]._mpfr_d)
mpc_set(m_data, o.m_data, GMP_RNDN);
}
@@ -76,10 +97,12 @@ struct mpc_complex_imp
#endif
mpc_complex_imp& operator = (const mpc_complex_imp& o)
{
- if(m_data[0].re[0]._mpfr_d == 0)
- mpc_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
- if(o.m_data[0].re[0]._mpfr_d)
+ if( (o.m_data[0].re[0]._mpfr_d) && (this != &o) )
+ {
+ if (m_data[0].re[0]._mpfr_d == 0)
+ mpc_init2(m_data, mpc_get_prec(o.m_data));
mpc_set(m_data, o.m_data, GMP_RNDD);
+ }
return *this;
}
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
@@ -108,14 +131,14 @@ struct mpc_complex_imp
#else
mpc_complex_imp& operator = (boost::ulong_long_type i)
{
- mpfr_float_backend<digits10> f;
+ mpfr_float_backend<digits10> f(0uL, mpc_get_prec(m_data));
f = i;
mpc_set_fr(this->data(), f.data(), GMP_RNDN);
return *this;
}
mpc_complex_imp& operator = (boost::long_long_type i)
{
- mpfr_float_backend<digits10> f;
+ mpfr_float_backend<digits10> f(0uL, mpc_get_prec(m_data));
f = i;
mpc_set_fr(this->data(), f.data(), GMP_RNDN);
return *this;
@@ -172,43 +195,51 @@ struct mpc_complex_imp
if(m_data[0].re[0]._mpfr_d == 0)
mpc_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
+ mpfr_float_backend<digits10> a(0uL, mpc_get_prec(m_data)), b(0uL, mpc_get_prec(m_data));
+
if(s && (*s == '('))
{
- mpfr_float_backend<digits10> a, b;
std::string part;
const char* p = ++s;
while(*p && (*p != ',') && (*p != ')'))
++p;
- part.assign(s + 1, p);
- a = part.c_str();
+ part.assign(s, p);
+ if(part.size())
+ a = part.c_str();
+ else
+ a = 0uL;
s = p;
- if(*p && (*p != '}'))
+ if(*p && (*p != ')'))
{
++p;
- while(*p && (*p != ',') && (*p != ')'))
+ while(*p && (*p != ')'))
++p;
part.assign(s + 1, p);
}
else
part.erase();
- b = part.c_str();
-
- if(eval_fpclassify(a) == (int)FP_NAN)
- {
- mpc_set_fr(this->data(), a.data(), GMP_RNDN);
- }
- else if(eval_fpclassify(b) == (int)FP_NAN)
- {
- mpc_set_fr(this->data(), b.data(), GMP_RNDN);
- }
+ if(part.size())
+ b = part.c_str();
else
- {
- mpc_set_fr_fr(m_data, a.data(), b.data(), GMP_RNDN);
- }
+ b = 0uL;
+ }
+ else
+ {
+ a = s;
+ b = 0uL;
}
- else if(mpc_set_str(m_data, s, 10, GMP_RNDN) != 0)
+
+ if(eval_fpclassify(a) == (int)FP_NAN)
+ {
+ mpc_set_fr(this->data(), a.data(), GMP_RNDN);
+ }
+ else if(eval_fpclassify(b) == (int)FP_NAN)
+ {
+ mpc_set_fr(this->data(), b.data(), GMP_RNDN);
+ }
+ else
{
- BOOST_THROW_EXCEPTION(std::runtime_error(std::string("Unable to parse string \"") + s + std::string("\"as a valid floating point number.")));
+ mpc_set_fr_fr(m_data, a.data(), b.data(), GMP_RNDN);
}
return *this;
}
@@ -220,7 +251,7 @@ struct mpc_complex_imp
{
BOOST_ASSERT(m_data[0].re[0]._mpfr_d);
- mpfr_float_backend<digits10> a, b;
+ mpfr_float_backend<digits10> a(0uL, mpc_get_prec(m_data)), b(0uL, mpc_get_prec(m_data));
mpc_real(a.data(), m_data, GMP_RNDD);
mpc_imag(b.data(), m_data, GMP_RNDD);
@@ -245,6 +276,11 @@ struct mpc_complex_imp
BOOST_ASSERT(m_data[0].re[0]._mpfr_d && o.m_data[0].re[0]._mpfr_d);
return mpc_cmp(m_data, o.m_data);
}
+ int compare(const mpc_complex_backend<digits10>& o)const BOOST_NOEXCEPT
+ {
+ BOOST_ASSERT(m_data[0].re[0]._mpfr_d && o.m_data[0].re[0]._mpfr_d);
+ return mpc_cmp(m_data, o.data());
+ }
int compare(long int i)const BOOST_NOEXCEPT
{
BOOST_ASSERT(m_data[0].re[0]._mpfr_d);
@@ -256,16 +292,16 @@ struct mpc_complex_imp
static const unsigned long int max_val = (std::numeric_limits<long>::max)();
if (i > max_val)
{
- mpc_complex_imp d;
+ mpc_complex_imp d(mpc_get_prec(m_data));
d = i;
return compare(d);
}
return mpc_cmp_si(m_data, (long)i);
}
template <class V>
- int compare(V v)const BOOST_NOEXCEPT
+ int compare(const V& v)const BOOST_NOEXCEPT
{
- mpc_complex_imp d;
+ mpc_complex_imp d(mpc_get_prec(m_data));
d = v;
return compare(d);
}
@@ -342,14 +378,82 @@ struct mpc_complex_backend : public detail::mpc_complex_imp<digits10>
{
mpc_set_ld_ld(this->m_data, val.real(), val.imag(), GMP_RNDN);
}
- mpc_complex_backend(mpz_t val) : detail::mpc_complex_imp<digits10>()
+ mpc_complex_backend(mpz_srcptr val) : detail::mpc_complex_imp<digits10>()
{
mpc_set_z(this->m_data, val, GMP_RNDN);
}
+ mpc_complex_backend& operator=(mpz_srcptr val)
+ {
+ mpc_set_z(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
mpc_complex_backend(gmp_int const& val) : detail::mpc_complex_imp<digits10>()
{
mpc_set_z(this->m_data, val.data(), GMP_RNDN);
}
+ mpc_complex_backend& operator=(gmp_int const& val)
+ {
+ mpc_set_z(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(mpf_srcptr val) : detail::mpc_complex_imp<digits10>()
+ {
+ mpc_set_f(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpf_srcptr val)
+ {
+ mpc_set_f(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
+ template <unsigned D10>
+ mpc_complex_backend(gmp_float<D10> const& val) : detail::mpc_complex_imp<digits10>()
+ {
+ mpc_set_f(this->m_data, val.data(), GMP_RNDN);
+ }
+ template <unsigned D10>
+ mpc_complex_backend& operator=(gmp_float<D10> const& val)
+ {
+ mpc_set_f(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(mpq_srcptr val) : detail::mpc_complex_imp<digits10>()
+ {
+ mpc_set_q(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpq_srcptr val)
+ {
+ mpc_set_q(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(gmp_rational const& val) : detail::mpc_complex_imp<digits10>()
+ {
+ mpc_set_q(this->m_data, val.data(), GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(gmp_rational const& val)
+ {
+ mpc_set_q(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(mpfr_srcptr val) : detail::mpc_complex_imp<digits10>()
+ {
+ mpc_set_fr(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpfr_srcptr val)
+ {
+ mpc_set_fr(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
+ template <unsigned D10, mpfr_allocation_type AllocationType>
+ mpc_complex_backend(mpfr_float_backend<D10, AllocationType> const& val) : detail::mpc_complex_imp<digits10>()
+ {
+ mpc_set_fr(this->m_data, val.data(), GMP_RNDN);
+ }
+ template <unsigned D10, mpfr_allocation_type AllocationType>
+ mpc_complex_backend& operator=(mpfr_float_backend<D10, AllocationType> const& val)
+ {
+ mpc_set_fr(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
mpc_complex_backend& operator=(const mpc_complex_backend& o)
{
*static_cast<detail::mpc_complex_imp<digits10>*>(this) = static_cast<detail::mpc_complex_imp<digits10> const&>(o);
@@ -392,13 +496,7 @@ struct mpc_complex_backend : public detail::mpc_complex_imp<digits10>
template <unsigned D>
mpc_complex_backend& operator=(const mpc_complex_backend<D>& val)
{
- mpc_set(this->m_data, val.data());
- return *this;
- }
- template <unsigned D>
- mpc_complex_backend& operator=(const mpfr_float_backend<D>& val)
- {
- mpc_set_fr(this->m_data, val.data(), GMP_RNDN);
+ mpc_set(this->m_data, val.data(), GMP_RNDN);
return *this;
}
};
@@ -417,9 +515,9 @@ struct mpc_complex_backend<0> : public detail::mpc_complex_imp<0>
mpc_complex_backend(mpc_complex_backend&& o) BOOST_NOEXCEPT : detail::mpc_complex_imp<0>(static_cast<detail::mpc_complex_imp<0>&&>(o)) {}
#endif
mpc_complex_backend(const mpc_complex_backend& o, unsigned digits10)
- : detail::mpc_complex_imp<0>(digits10)
+ : detail::mpc_complex_imp<0>(multiprecision::detail::digits10_2_2(digits10))
{
- *this = o;
+ mpc_set(this->m_data, o.data(), GMP_RNDN);
}
template <unsigned D>
mpc_complex_backend(const mpc_complex_backend<D>& val)
@@ -433,14 +531,89 @@ struct mpc_complex_backend<0> : public detail::mpc_complex_imp<0>
{
mpc_set_fr(this->m_data, val.data(), GMP_RNDN);
}
- mpc_complex_backend(mpz_t val) : detail::mpc_complex_imp<0>()
+ mpc_complex_backend(mpz_srcptr val) : detail::mpc_complex_imp<0>()
+ {
+ mpc_set_z(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpz_srcptr val)
{
mpc_set_z(this->m_data, val, GMP_RNDN);
+ return *this;
}
mpc_complex_backend(gmp_int const& val) : detail::mpc_complex_imp<0>()
{
mpc_set_z(this->m_data, val.data(), GMP_RNDN);
}
+ mpc_complex_backend& operator=(gmp_int const& val)
+ {
+ mpc_set_z(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(mpf_srcptr val) : detail::mpc_complex_imp<0>((unsigned)mpf_get_prec(val))
+ {
+ mpc_set_f(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpf_srcptr val)
+ {
+ if (mpc_get_prec(data()) != mpf_get_prec(val))
+ {
+ mpc_complex_backend t(val);
+ t.swap(*this);
+ }
+ else
+ mpc_set_f(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
+ template <unsigned digits10>
+ mpc_complex_backend(gmp_float<digits10> const& val) : detail::mpc_complex_imp<0>((unsigned)mpf_get_prec(val.data()))
+ {
+ mpc_set_f(this->m_data, val.data(), GMP_RNDN);
+ }
+ template <unsigned digits10>
+ mpc_complex_backend& operator=(gmp_float<digits10> const& val)
+ {
+ if (mpc_get_prec(data()) != mpf_get_prec(val.data()))
+ {
+ mpc_complex_backend t(val);
+ t.swap(*this);
+ }
+ else
+ mpc_set_f(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(mpq_srcptr val) : detail::mpc_complex_imp<0>()
+ {
+ mpc_set_q(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpq_srcptr val)
+ {
+ mpc_set_q(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(gmp_rational const& val) : detail::mpc_complex_imp<0>()
+ {
+ mpc_set_q(this->m_data, val.data(), GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(gmp_rational const& val)
+ {
+ mpc_set_q(this->m_data, val.data(), GMP_RNDN);
+ return *this;
+ }
+ mpc_complex_backend(mpfr_srcptr val) : detail::mpc_complex_imp<0>(mpfr_get_prec(val))
+ {
+ mpc_set_fr(this->m_data, val, GMP_RNDN);
+ }
+ mpc_complex_backend& operator=(mpfr_srcptr val)
+ {
+ if (mpc_get_prec(data()) != mpfr_get_prec(val))
+ {
+ mpc_complex_backend t(val);
+ t.swap(*this);
+ }
+ else
+ mpc_set_fr(this->m_data, val, GMP_RNDN);
+ return *this;
+ }
mpc_complex_backend(const std::complex<float>& val)
: detail::mpc_complex_imp<0>()
{
@@ -456,12 +629,28 @@ struct mpc_complex_backend<0> : public detail::mpc_complex_imp<0>
{
mpc_set_ld_ld(this->m_data, val.real(), val.imag(), GMP_RNDN);
}
+ // Construction with precision:
+ template <class T, class U>
+ mpc_complex_backend(const T& a, const U& b, unsigned digits10)
+ : detail::mpc_complex_imp<0>(multiprecision::detail::digits10_2_2(digits10))
+ {
+ // We can't use assign_components here because it copies the precision of
+ // a and b, not digits10....
+ mpfr_float ca(a), cb(b);
+ mpc_set_fr_fr(this->data(), ca.backend().data(), cb.backend().data(), GMP_RNDN);
+ }
+ template <unsigned N>
+ mpc_complex_backend(const mpfr_float_backend<N>& a, const mpfr_float_backend<N>& b, unsigned digits10)
+ : detail::mpc_complex_imp<0>(multiprecision::detail::digits10_2_2(digits10))
+ {
+ mpc_set_fr_fr(this->data(), a.data(), b.data(), GMP_RNDN);
+ }
mpc_complex_backend& operator=(const mpc_complex_backend& o)
{
if (this != &o)
{
- mpc_set_prec(this->m_data, mpc_get_prec(o.data()));
+ detail::mpc_copy_precision(this->m_data, o.data());
mpc_set(this->m_data, o.data(), GMP_RNDN);
}
return *this;
@@ -528,7 +717,8 @@ struct mpc_complex_backend<0> : public detail::mpc_complex_imp<0>
}
void precision(unsigned digits10) BOOST_NOEXCEPT
{
- mpc_set_prec(this->m_data, multiprecision::detail::digits10_2_2((digits10)));
+ mpfr_prec_round(mpc_realref(this->m_data), multiprecision::detail::digits10_2_2((digits10)), GMP_RNDN);
+ mpfr_prec_round(mpc_imagref(this->m_data), multiprecision::detail::digits10_2_2((digits10)), GMP_RNDN);
}
};
@@ -916,6 +1106,15 @@ inline void eval_convert_to(long double* result, const mpc_complex_backend<digit
template <unsigned D1, unsigned D2, mpfr_allocation_type AllocationType>
inline void assign_components(mpc_complex_backend<D1>& result, const mpfr_float_backend<D2, AllocationType>& a, const mpfr_float_backend<D2, AllocationType>& b)
{
+ //
+ // This is called from class number's constructors, so if we have variable
+ // precision, then copy the precision of the source variables.
+ //
+ if (!D1)
+ {
+ unsigned long prec = std::max(mpfr_get_prec(a.data()), mpfr_get_prec(b.data()));
+ mpc_set_prec(result.data(), prec);
+ }
using default_ops::eval_fpclassify;
if(eval_fpclassify(a) == (int)FP_NAN)
{
@@ -1111,12 +1310,14 @@ inline void eval_proj(mpc_complex_backend<Digits10>& result, const mpc_complex_b
template <unsigned Digits10>
inline void eval_real(mpfr_float_backend<Digits10>& result, const mpc_complex_backend<Digits10>& arg)
{
- mpc_real(result.data(), arg.data(), GMP_RNDN);
+ mpfr_set_prec(result.data(), mpfr_get_prec(mpc_realref(arg.data())));
+ mpfr_set(result.data(), mpc_realref(arg.data()), GMP_RNDN);
}
template <unsigned Digits10>
inline void eval_imag(mpfr_float_backend<Digits10>& result, const mpc_complex_backend<Digits10>& arg)
{
- mpc_imag(result.data(), arg.data(), GMP_RNDN);
+ mpfr_set_prec(result.data(), mpfr_get_prec(mpc_imagref(arg.data())));
+ mpfr_set(result.data(), mpc_imagref(arg.data()), GMP_RNDN);
}
template <unsigned Digits10>
@@ -1280,6 +1481,12 @@ struct is_explicitly_convertible<backends::mpc_complex_backend<D1>, backends::mp
}
#endif
+namespace detail
+{
+ template<>
+ struct is_variable_precision<backends::mpc_complex_backend<0> > : public true_type {};
+}
+
template<>
struct number_category<detail::canonical<mpc_t, backends::mpc_complex_backend<0> >::type> : public mpl::int_<number_kind_floating_point>{};
diff --git a/boost/multiprecision/mpfi.hpp b/boost/multiprecision/mpfi.hpp
index d834835f44..ae7277ba4a 100644
--- a/boost/multiprecision/mpfi.hpp
+++ b/boost/multiprecision/mpfi.hpp
@@ -84,7 +84,7 @@ struct mpfi_float_imp
mpfi_float_imp(const mpfi_float_imp& o)
{
- mpfi_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
+ mpfi_init2(m_data, mpfi_get_prec(o.data()));
if(o.m_data[0].left._mpfr_d)
mpfi_set(m_data, o.m_data);
}
@@ -98,9 +98,18 @@ struct mpfi_float_imp
mpfi_float_imp& operator = (const mpfi_float_imp& o)
{
if(m_data[0].left._mpfr_d == 0)
- mpfi_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
- if(o.m_data[0].left._mpfr_d)
- mpfi_set(m_data, o.m_data);
+ mpfi_init2(m_data, mpfi_get_prec(o.data()));
+ if (mpfi_get_prec(o.data()) != mpfi_get_prec(data()))
+ {
+ mpfi_float_imp t(mpfi_get_prec(o.data()));
+ t = o;
+ t.swap(*this);
+ }
+ else
+ {
+ if (o.m_data[0].left._mpfr_d)
+ mpfi_set(m_data, o.m_data);
+ }
return *this;
}
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
@@ -405,6 +414,14 @@ struct mpfi_float_backend : public detail::mpfi_float_imp<digits10>
}
};
+template <unsigned D1, unsigned D2, mpfr_allocation_type AllocationType>
+void assign_components(mpfi_float_backend<D1>& result, const mpfr_float_backend<D2, AllocationType>& a, const mpfr_float_backend<D2, AllocationType>& b);
+
+template <unsigned Digits10, class V>
+typename enable_if_c<boost::is_constructible<number<mpfr_float_backend<Digits10, allocate_dynamic>, et_on>, V>::value || boost::is_convertible<V, const char*>::value >::type
+ assign_components(mpfi_float_backend<Digits10>& result, const V& a, const V& b);
+
+
template <>
struct mpfi_float_backend<0> : public detail::mpfi_float_imp<0>
{
@@ -419,10 +436,17 @@ struct mpfi_float_backend<0> : public detail::mpfi_float_imp<0>
mpfi_float_backend(mpfi_float_backend&& o) BOOST_NOEXCEPT : detail::mpfi_float_imp<0>(static_cast<detail::mpfi_float_imp<0>&&>(o)) {}
#endif
mpfi_float_backend(const mpfi_float_backend& o, unsigned digits10)
- : detail::mpfi_float_imp<0>(digits10)
+ : detail::mpfi_float_imp<0>(multiprecision::detail::digits10_2_2(digits10))
{
- *this = o;
+ mpfi_set(this->m_data, o.data());
+ }
+ template <class V>
+ mpfi_float_backend(const V& a, const V& b, unsigned digits10)
+ : detail::mpfi_float_imp<0>(multiprecision::detail::digits10_2_2(digits10))
+ {
+ assign_components(*this, a, b);
}
+
template <unsigned D>
mpfi_float_backend(const mpfi_float_backend<D>& val)
: detail::mpfi_float_imp<0>(mpfi_get_prec(val.data()))
@@ -475,7 +499,8 @@ struct mpfi_float_backend<0> : public detail::mpfi_float_imp<0>
}
void precision(unsigned digits10) BOOST_NOEXCEPT
{
- mpfi_set_prec(this->m_data, multiprecision::detail::digits10_2_2((digits10)));
+ mpfi_float_backend t(*this, digits10);
+ this->swap(t);
}
};
@@ -796,7 +821,7 @@ inline void assign_components(mpfi_float_backend<D1>& result, const mpfr_float_b
}
template <unsigned Digits10, class V>
-inline typename enable_if_c<is_convertible<V, number<mpfr_float_backend<Digits10, allocate_dynamic>, et_on> >::value >::type
+inline typename enable_if_c<boost::is_constructible<number<mpfr_float_backend<Digits10, allocate_dynamic>, et_on>, V>::value || boost::is_convertible<V, const char*>::value>::type
assign_components(mpfi_float_backend<Digits10>& result, const V& a, const V& b)
{
number<mpfr_float_backend<Digits10, allocate_dynamic>, et_on> x(a), y(b);
@@ -1096,6 +1121,12 @@ struct is_explicitly_convertible<backends::mpfi_float_backend<D1>, backends::mpf
}
#endif
+namespace detail
+{
+ template<>
+ struct is_variable_precision<backends::mpfi_float_backend<0> > : public true_type {};
+}
+
template<>
struct number_category<detail::canonical<mpfi_t, backends::mpfi_float_backend<0> >::type> : public mpl::int_<number_kind_floating_point>{};
template <unsigned Digits10>
@@ -1115,6 +1146,7 @@ typedef number<mpfi_float_backend<0> > mpfi_float;
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> lower(const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& val)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfr_float_backend<Digits10>, ExpressionTemplates> > precision_guard(val);
number<mpfr_float_backend<Digits10> > result;
mpfr_set(result.backend().data(), val.backend().left_data(), GMP_RNDN);
return result;
@@ -1123,6 +1155,7 @@ inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> lower(const num
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> upper(const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& val)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfr_float_backend<Digits10>, ExpressionTemplates> > precision_guard(val);
number<mpfr_float_backend<Digits10> > result;
mpfr_set(result.backend().data(), val.backend().right_data(), GMP_RNDN);
return result;
@@ -1131,6 +1164,7 @@ inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> upper(const num
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> median(const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& val)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfr_float_backend<Digits10>, ExpressionTemplates> > precision_guard(val);
number<mpfr_float_backend<Digits10> > result;
mpfi_mid(result.backend().data(), val.backend().data());
return result;
@@ -1139,6 +1173,7 @@ inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> median(const nu
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> width(const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& val)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfr_float_backend<Digits10>, ExpressionTemplates> > precision_guard(val);
number<mpfr_float_backend<Digits10> > result;
mpfi_diam_abs(result.backend().data(), val.backend().data());
return result;
@@ -1147,6 +1182,7 @@ inline number<mpfr_float_backend<Digits10>, ExpressionTemplates> width(const num
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline number<mpfi_float_backend<Digits10>, ExpressionTemplates> intersect(const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& a, const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& b)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(a, b);
number<mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_intersect(result.backend().data(), a.backend().data(), b.backend().data());
return result;
@@ -1155,6 +1191,7 @@ inline number<mpfi_float_backend<Digits10>, ExpressionTemplates> intersect(const
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline number<mpfi_float_backend<Digits10>, ExpressionTemplates> hull(const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& a, const number<mpfi_float_backend<Digits10>, ExpressionTemplates>& b)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(a, b);
number<mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_union(result.backend().data(), a.backend().data(), b.backend().data());
return result;
@@ -1215,6 +1252,8 @@ struct component_type<number<mpfi_float_backend<Digits10>, ExpressionTemplates>
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> asinh BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_asinh(result.backend().data(), arg.backend().data());
return BOOST_MP_MOVE(result);
@@ -1222,6 +1261,8 @@ inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<D
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> acosh BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_acosh(result.backend().data(), arg.backend().data());
return BOOST_MP_MOVE(result);
@@ -1229,6 +1270,8 @@ inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<D
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> atanh BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_atanh(result.backend().data(), arg.backend().data());
return BOOST_MP_MOVE(result);
@@ -1236,6 +1279,8 @@ inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<D
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_cbrt(result.backend().data(), arg.backend().data());
return BOOST_MP_MOVE(result);
@@ -1243,6 +1288,8 @@ inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<D
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_expm1(result.backend().data(), arg.backend().data());
return BOOST_MP_MOVE(result);
@@ -1250,6 +1297,8 @@ inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<D
template <unsigned Digits10, expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> log1p BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<mpfi_float_backend<Digits10>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<Digits10>, ExpressionTemplates> result;
mpfi_log1p(result.backend().data(), arg.backend().data());
return BOOST_MP_MOVE(result);
diff --git a/boost/multiprecision/mpfr.hpp b/boost/multiprecision/mpfr.hpp
index 7104b4110e..36aee83d80 100644
--- a/boost/multiprecision/mpfr.hpp
+++ b/boost/multiprecision/mpfr.hpp
@@ -1,4 +1,4 @@
-///////////////////////////////////////////////////////////////////////////////
+#///////////////////////////////////////////////////////////////////////////////
// Copyright 2011 John Maddock. 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)
@@ -63,6 +63,24 @@ struct mpfr_cleanup
template <bool b>
typename mpfr_cleanup<b>::initializer const mpfr_cleanup<b>::init;
+inline void mpfr_copy_precision(mpfr_t dest, const mpfr_t src)
+{
+ mpfr_prec_t p_dest = mpfr_get_prec(dest);
+ mpfr_prec_t p_src = mpfr_get_prec(src);
+ if (p_dest != p_src)
+ mpfr_set_prec(dest, p_src);
+}
+inline void mpfr_copy_precision(mpfr_t dest, const mpfr_t src1, const mpfr_t src2)
+{
+ mpfr_prec_t p_dest = mpfr_get_prec(dest);
+ mpfr_prec_t p_src1 = mpfr_get_prec(src1);
+ mpfr_prec_t p_src2 = mpfr_get_prec(src2);
+ if (p_src2 > p_src1)
+ p_src1 = p_src2;
+ if (p_dest != p_src1)
+ mpfr_set_prec(dest, p_src1);
+}
+
template <unsigned digits10, mpfr_allocation_type AllocationType>
struct mpfr_float_imp;
@@ -85,15 +103,15 @@ struct mpfr_float_imp<digits10, allocate_dynamic>
mpfr_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
mpfr_set_ui(m_data, 0u, GMP_RNDN);
}
- mpfr_float_imp(unsigned prec)
+ mpfr_float_imp(unsigned digits2)
{
- mpfr_init2(m_data, prec);
+ mpfr_init2(m_data, digits2);
mpfr_set_ui(m_data, 0u, GMP_RNDN);
}
mpfr_float_imp(const mpfr_float_imp& o)
{
- mpfr_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
+ mpfr_init2(m_data, mpfr_get_prec(o.m_data));
if(o.m_data[0]._mpfr_d)
mpfr_set(m_data, o.m_data, GMP_RNDN);
}
@@ -106,10 +124,12 @@ struct mpfr_float_imp<digits10, allocate_dynamic>
#endif
mpfr_float_imp& operator = (const mpfr_float_imp& o)
{
- if(m_data[0]._mpfr_d == 0)
- mpfr_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision()));
- if(o.m_data[0]._mpfr_d)
+ if( (o.m_data[0]._mpfr_d) && (this != &o) )
+ {
+ if (m_data[0]._mpfr_d == 0)
+ mpfr_init2(m_data, mpfr_get_prec(o.m_data));
mpfr_set(m_data, o.m_data, GMP_RNDN);
+ }
return *this;
}
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
@@ -143,7 +163,7 @@ struct mpfr_float_imp<digits10, allocate_dynamic>
boost::ulong_long_type mask = ((((1uLL << (std::numeric_limits<unsigned long>::digits - 1)) - 1) << 1) | 1uLL);
unsigned shift = 0;
mpfr_t t;
- mpfr_init2(t, (std::max)(static_cast<unsigned long>(std::numeric_limits<boost::ulong_long_type>::digits), static_cast<unsigned long>(multiprecision::detail::digits10_2_2(digits10))));
+ mpfr_init2(t, (std::max)(static_cast<unsigned long>(std::numeric_limits<boost::ulong_long_type>::digits), mpfr_get_prec(m_data)));
mpfr_set_ui(m_data, 0, GMP_RNDN);
while(i)
{
@@ -349,7 +369,7 @@ struct mpfr_float_imp<digits10, allocate_dynamic>
template <class V>
int compare(V v)const BOOST_NOEXCEPT
{
- mpfr_float_backend<digits10, allocate_dynamic> d;
+ mpfr_float_backend<digits10, allocate_dynamic> d(0uL, mpfr_get_prec(m_data));
d = v;
return compare(d);
}
@@ -705,6 +725,12 @@ struct mpfr_float_backend : public detail::mpfr_float_imp<digits10, AllocationTy
{
mpfr_set_q(this->m_data, val, GMP_RNDN);
}
+ // Construction with precision: we ignore the precision here.
+ template <class V>
+ mpfr_float_backend(const V& o, unsigned)
+ {
+ *this = o;
+ }
mpfr_float_backend& operator=(const mpfr_float_backend& o)
{
*static_cast<detail::mpfr_float_imp<digits10, AllocationType>*>(this) = static_cast<detail::mpfr_float_imp<digits10, AllocationType> const&>(o);
@@ -789,12 +815,12 @@ struct mpfr_float_backend<0, allocate_dynamic> : public detail::mpfr_float_imp<0
{
mpfr_float_backend() : detail::mpfr_float_imp<0, allocate_dynamic>() {}
mpfr_float_backend(const mpfr_t val)
- : detail::mpfr_float_imp<0, allocate_dynamic>(mpfr_get_prec(val))
+ : detail::mpfr_float_imp<0, allocate_dynamic>((unsigned)mpfr_get_prec(val))
{
mpfr_set(this->m_data, val, GMP_RNDN);
}
mpfr_float_backend(const mpf_t val)
- : detail::mpfr_float_imp<0, allocate_dynamic>(mpf_get_prec(val))
+ : detail::mpfr_float_imp<0, allocate_dynamic>((unsigned)mpf_get_prec(val))
{
mpfr_set_f(this->m_data, val, GMP_RNDN);
}
@@ -812,11 +838,32 @@ struct mpfr_float_backend<0, allocate_dynamic> : public detail::mpfr_float_imp<0
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
mpfr_float_backend(mpfr_float_backend&& o) BOOST_NOEXCEPT : detail::mpfr_float_imp<0, allocate_dynamic>(static_cast<detail::mpfr_float_imp<0, allocate_dynamic>&&>(o)) {}
#endif
- mpfr_float_backend(const mpfr_float_backend& o, unsigned digits10)
- : detail::mpfr_float_imp<0, allocate_dynamic>(digits10)
+ template <class V>
+ mpfr_float_backend(const V& o, unsigned digits10)
+ : detail::mpfr_float_imp<0, allocate_dynamic>(multiprecision::detail::digits10_2_2(digits10))
{
*this = o;
}
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+ mpfr_float_backend(const std::string_view& o, unsigned digits10)
+ : detail::mpfr_float_imp<0, allocate_dynamic>(multiprecision::detail::digits10_2_2(digits10))
+ {
+ std::string s(o);
+ *this = s.c_str();
+ }
+#endif
+ template <unsigned D>
+ mpfr_float_backend(const gmp_float<D>& val, unsigned digits10)
+ : detail::mpfr_float_imp<0, allocate_dynamic>(multiprecision::detail::digits10_2_2(digits10))
+ {
+ mpfr_set_f(this->m_data, val.data(), GMP_RNDN);
+ }
+ template <unsigned D>
+ mpfr_float_backend(const mpfr_float_backend<D>& val, unsigned digits10)
+ : detail::mpfr_float_imp<0, allocate_dynamic>(multiprecision::detail::digits10_2_2(digits10))
+ {
+ mpfr_set(this->m_data, val.data(), GMP_RNDN);
+ }
template <unsigned D>
mpfr_float_backend(const mpfr_float_backend<D>& val)
: detail::mpfr_float_imp<0, allocate_dynamic>(mpfr_get_prec(val.data()))
@@ -844,10 +891,10 @@ struct mpfr_float_backend<0, allocate_dynamic> : public detail::mpfr_float_imp<0
{
if(this != &o)
{
- if(this->m_data[0]._mpfr_d == 0)
+ if (this->m_data[0]._mpfr_d == 0)
mpfr_init2(this->m_data, mpfr_get_prec(o.data()));
else
- mpfr_set_prec(this->m_data, mpfr_get_prec(o.data()));
+ detail::mpfr_copy_precision(this->m_data, o.data());
mpfr_set(this->m_data, o.data(), GMP_RNDN);
}
return *this;
@@ -877,9 +924,9 @@ struct mpfr_float_backend<0, allocate_dynamic> : public detail::mpfr_float_imp<0
mpfr_float_backend& operator=(const mpf_t val)
{
if(this->m_data[0]._mpfr_d == 0)
- mpfr_init2(this->m_data, mpf_get_prec(val));
+ mpfr_init2(this->m_data, (mpfr_prec_t)mpf_get_prec(val));
else
- mpfr_set_prec(this->m_data, mpf_get_prec(val));
+ mpfr_set_prec(this->m_data, (unsigned)mpf_get_prec(val));
mpfr_set_f(this->m_data, val, GMP_RNDN);
return *this;
}
@@ -1538,6 +1585,12 @@ struct is_explicitly_convertible<backends::mpfr_float_backend<D1, A1>, backends:
#endif
+namespace detail
+{
+ template<>
+ struct is_variable_precision<backends::mpfr_float_backend<0> > : public true_type {};
+}
+
template<>
struct number_category<detail::canonical<mpfr_t, backends::mpfr_float_backend<0> >::type> : public mpl::int_<number_kind_floating_point>{};
@@ -1915,6 +1968,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> asinh BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_asinh(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1922,6 +1977,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> acosh BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_acosh(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1929,6 +1986,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> atanh BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_atanh(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1936,6 +1995,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_cbrt(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1943,6 +2004,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> erf BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_erf(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1950,6 +2013,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> erfc BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_erfc(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1957,6 +2022,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_expm1(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1964,6 +2031,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_lngamma(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1971,6 +2040,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_gamma(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
@@ -1978,6 +2049,8 @@ namespace multiprecision {
template<unsigned Digits10, boost::multiprecision::mpfr_allocation_type AllocateType, boost::multiprecision::expression_template_option ExpressionTemplates>
inline boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> log1p BOOST_PREVENT_MACRO_SUBSTITUTION(const boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates>& arg)
{
+ boost::multiprecision::detail::scoped_default_precision<number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> > precision_guard(arg);
+
boost::multiprecision::number<boost::multiprecision::mpfr_float_backend<Digits10, AllocateType>, ExpressionTemplates> result;
mpfr_log1p(result.backend().data(), arg.backend().data(), GMP_RNDN);
return BOOST_MP_MOVE(result);
diff --git a/boost/multiprecision/number.hpp b/boost/multiprecision/number.hpp
index 6ea0673a9f..42c6a8fa5d 100644
--- a/boost/multiprecision/number.hpp
+++ b/boost/multiprecision/number.hpp
@@ -20,6 +20,7 @@
#include <boost/type_traits/is_complex.hpp>
#include <boost/type_traits/make_unsigned.hpp>
#include <boost/throw_exception.hpp>
+#include <boost/multiprecision/detail/precision.hpp>
#include <boost/multiprecision/detail/generic_interconvert.hpp>
#include <boost/multiprecision/detail/number_compare.hpp>
#include <boost/multiprecision/traits/is_restricted_conversion.hpp>
@@ -27,6 +28,9 @@
#include <istream> // stream operators
#include <cstdio> // EOF
#include <cctype> // isspace
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+#include <string_view>
+#endif
namespace boost{ namespace multiprecision{
@@ -67,7 +71,18 @@ public:
BOOST_MP_NOEXCEPT_IF(noexcept(Backend(std::declval<typename detail::canonical<V, Backend>::type const&>())))
#endif
: m_backend(canonical_value(v)) {}
- BOOST_MP_FORCEINLINE BOOST_CONSTEXPR number(const number& e, unsigned digits10)
+ template <class V>
+ BOOST_MP_FORCEINLINE BOOST_CONSTEXPR number(const V& v, unsigned digits10, typename boost::enable_if_c<
+ (boost::is_arithmetic<V>::value || is_same<std::string, V>::value || is_convertible<V, const char*>::value)
+ && !detail::is_restricted_conversion<typename detail::canonical<V, Backend>::type, Backend>::value
+ && (boost::multiprecision::number_category<Backend>::value != boost::multiprecision::number_kind_complex)
+ && (boost::multiprecision::number_category<Backend>::value != boost::multiprecision::number_kind_rational)
+#ifdef BOOST_HAS_FLOAT128
+ && !boost::is_same<V, __float128>::value
+#endif
+ >::type* = 0)
+ : m_backend(canonical_value(v), digits10) {}
+ BOOST_MP_FORCEINLINE BOOST_CONSTEXPR number(const number& e, unsigned digits10)
BOOST_MP_NOEXCEPT_IF(noexcept(Backend(std::declval<Backend const&>(), std::declval<unsigned>())))
: m_backend(e.m_backend, digits10){}
template <class V>
@@ -88,18 +103,15 @@ public:
>::type* = 0)
BOOST_MP_NOEXCEPT_IF(noexcept(Backend(std::declval<typename detail::canonical<V, Backend>::type const&>())))
: m_backend(canonical_value(v)) {}
- /*
- //
- // This conflicts with component based initialization (for rational and complex types)
- // which is arguably more useful. Disabled for now.
- //
template <class V>
- number(V v, unsigned digits10, typename boost::enable_if<mpl::or_<boost::is_arithmetic<V>, is_same<std::string, V>, is_convertible<V, const char*> > >::type* dummy1 = 0)
- {
- m_backend.precision(digits10);
- m_backend = canonical_value(v);
- }
- */
+ explicit BOOST_MP_FORCEINLINE BOOST_CONSTEXPR number(const V& v, unsigned digits10, typename boost::enable_if_c<
+ (boost::is_arithmetic<V>::value || is_same<std::string, V>::value || is_convertible<V, const char*>::value)
+ && detail::is_restricted_conversion<typename detail::canonical<V, Backend>::type, Backend>::value
+ && (boost::multiprecision::number_category<Backend>::value != boost::multiprecision::number_kind_complex)
+ && (boost::multiprecision::number_category<Backend>::value != boost::multiprecision::number_kind_rational)
+ >::type* = 0)
+ : m_backend(canonical_value(v), digits10) {}
+
template<expression_template_option ET>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR number(const number<Backend, ET>& val)
BOOST_MP_NOEXCEPT_IF(noexcept(Backend(std::declval<Backend const&>()))) : m_backend(val.backend()) {}
@@ -118,6 +130,7 @@ public:
//
// Attempt a generic interconvertion:
//
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(val);
using detail::generic_interconvert;
generic_interconvert(backend(), val.backend(), number_category<Backend>(), number_category<Other>());
}
@@ -133,20 +146,66 @@ public:
typename boost::enable_if_c<(is_convertible<V, value_type>::value && is_convertible<U, value_type>::value && !is_same<typename component_type<self_type>::type, self_type>::value)>::type* = 0)
{
using default_ops::assign_components;
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(v1, v2);
assign_components(m_backend, canonical_value(detail::evaluate_if_expression(v1)), canonical_value(detail::evaluate_if_expression(v2)));
}
template <class V, class U>
BOOST_MP_FORCEINLINE explicit number(const V& v1, const U& v2,
- typename boost::enable_if_c<((is_constructible<value_type, V>::value || is_convertible<V, std::string>::value) && (is_constructible<value_type, U>::value || is_convertible<U, std::string>::value) && !is_same<typename component_type<self_type>::type, self_type>::value) && !(is_convertible<V, value_type>::value && is_convertible<U, value_type>::value)>::type* = 0)
+ typename boost::enable_if_c<
+ (is_constructible<value_type, V>::value || is_convertible<V, std::string>::value)
+ && (is_constructible<value_type, U>::value || is_convertible<U, std::string>::value)
+ && !is_same<typename component_type<self_type>::type, self_type>::value
+ && !is_same<V, self_type>::value
+ && !(is_convertible<V, value_type>::value && is_convertible<U, value_type>::value)
+ >::type* = 0)
{
using default_ops::assign_components;
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(v1, v2);
assign_components(m_backend, canonical_value(detail::evaluate_if_expression(v1)), canonical_value(detail::evaluate_if_expression(v2)));
}
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+ //
+ // Support for new types in C++17
+ //
+ template <class Traits>
+ explicit inline number(const std::basic_string_view<char, Traits>& view)
+ {
+ using default_ops::assign_from_string_view;
+ assign_from_string_view(this->backend(), view);
+ }
+ template <class Traits>
+ explicit inline number(const std::basic_string_view<char, Traits>& view_x, const std::basic_string_view<char, Traits>& view_y)
+ {
+ using default_ops::assign_from_string_view;
+ assign_from_string_view(this->backend(), view_x, view_y);
+ }
+ template <class Traits>
+ explicit BOOST_MP_FORCEINLINE number(const std::basic_string_view<char, Traits>& v, unsigned digits10)
+ : m_backend(canonical_value(v), digits10) {}
+ template <class Traits>
+ number& assign(const std::basic_string_view<char, Traits>& view)
+ {
+ using default_ops::assign_from_string_view;
+ assign_from_string_view(this->backend(), view);
+ return *this;
+ }
+#endif
+
+ template <class V, class U>
+ BOOST_MP_FORCEINLINE number(const V& v1, const U& v2, unsigned digits10,
+ typename boost::enable_if_c<(is_convertible<V, value_type>::value && is_convertible<U, value_type>::value && !is_same<typename component_type<self_type>::type, self_type>::value)>::type* = 0)
+ : m_backend(canonical_value(detail::evaluate_if_expression(v1)), canonical_value(detail::evaluate_if_expression(v2)), digits10) {}
+ template <class V, class U>
+ BOOST_MP_FORCEINLINE explicit number(const V& v1, const U& v2, unsigned digits10,
+ typename boost::enable_if_c<((is_constructible<value_type, V>::value || is_convertible<V, std::string>::value) && (is_constructible<value_type, U>::value || is_convertible<U, std::string>::value) && !is_same<typename component_type<self_type>::type, self_type>::value) && !(is_convertible<V, value_type>::value && is_convertible<U, value_type>::value)>::type* = 0)
+ : m_backend(canonical_value(detail::evaluate_if_expression(v1)), canonical_value(detail::evaluate_if_expression(v2)), digits10){}
+
template <class Other, expression_template_option ET>
BOOST_MP_FORCEINLINE number(const number<Other, ET>& v1, const number<Other, ET>& v2, typename boost::enable_if<boost::is_convertible<Other, Backend> >::type* = 0)
{
using default_ops::assign_components;
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(v1, v2);
assign_components(m_backend, v1.backend(), v2.backend());
}
@@ -154,6 +213,22 @@ public:
typename boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type operator=(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
typedef typename is_same<number, typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type>::type tag_type;
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(e);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_assign(e, tag_type());
return *this;
}
@@ -161,6 +236,23 @@ public:
number& assign(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
typedef typename is_same<number, typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type>::type tag_type;
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t;
+ t.assign(e);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_assign(e, tag_type());
return *this;
}
@@ -187,6 +279,13 @@ public:
m_backend = canonical_value(v);
return *this;
}
+ template <class V>
+ BOOST_MP_FORCEINLINE number<Backend, ExpressionTemplates>& assign(const V& v, unsigned digits10)
+ BOOST_MP_NOEXCEPT_IF(noexcept(std::declval<Backend&>() = std::declval<const typename detail::canonical<V, Backend>::type&>()))
+ {
+ number t(v, digits10);
+ return *this = t;
+ }
template <class Other, expression_template_option ET>
typename boost::disable_if<boost::multiprecision::detail::is_explicitly_convertible<Other, Backend>, number<Backend, ExpressionTemplates>& >::type
assign(const number<Other, ET>& v)
@@ -195,6 +294,22 @@ public:
// Attempt a generic interconvertion:
//
using detail::generic_interconvert;
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(v);
+ //
+ // If the current precision of *this differs from that of value v, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(v) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(v);
+ return *this = BOOST_MP_MOVE(t);
+ }
generic_interconvert(backend(), v.backend(), number_category<Backend>(), number_category<Other>());
return *this;
}
@@ -202,6 +317,22 @@ public:
template <class tag, class Arg1, class Arg2, class Arg3, class Arg4>
number(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e, typename boost::enable_if_c<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>::value>::type* = 0)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(e);
+ *this = BOOST_MP_MOVE(t);
+ }
*this = e;
}
template <class tag, class Arg1, class Arg2, class Arg3, class Arg4>
@@ -209,6 +340,22 @@ public:
typename boost::enable_if_c<!is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>::value
&& boost::multiprecision::detail::is_explicitly_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>::value>::type* = 0)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(e);
+ *this = BOOST_MP_MOVE(t);
+ }
assign(e);
}
@@ -225,6 +372,22 @@ public:
number& operator+=(const self_type& val)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, val);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(val) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this + val);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_add(detail::expression<detail::terminal, self_type>(val), detail::terminal());
return *this;
}
@@ -232,9 +395,10 @@ public:
template <class tag, class Arg1, class Arg2, class Arg3, class Arg4>
typename boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type operator+=(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
// Create a copy if e contains this, but not if we're just doing a
// x += x
- if(contains_self(e) && !is_self(e))
+ if((contains_self(e) && !is_self(e)))
{
self_type temp(e);
do_add(detail::expression<detail::terminal, self_type>(temp), detail::terminal());
@@ -249,6 +413,22 @@ public:
template <class Arg1, class Arg2, class Arg3, class Arg4>
number& operator+=(const detail::expression<detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4>& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this + e);
+ return *this = BOOST_MP_MOVE(t);
+ }
//
// Fused multiply-add:
//
@@ -268,6 +448,22 @@ public:
number& operator-=(const self_type& val)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, val);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(val) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this - val);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_subtract(detail::expression<detail::terminal, self_type>(val), detail::terminal());
return *this;
}
@@ -275,6 +471,7 @@ public:
template <class tag, class Arg1, class Arg2, class Arg3, class Arg4>
typename boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type operator-=(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
// Create a copy if e contains this:
if(contains_self(e))
{
@@ -300,6 +497,22 @@ public:
template <class Arg1, class Arg2, class Arg3, class Arg4>
number& operator-=(const detail::expression<detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4>& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this - e);
+ return *this = BOOST_MP_MOVE(t);
+ }
//
// Fused multiply-subtract:
//
@@ -311,6 +524,22 @@ public:
number& operator *= (const self_type& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this * e);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_multiplies(detail::expression<detail::terminal, self_type>(e), detail::terminal());
return *this;
}
@@ -318,9 +547,10 @@ public:
template <class tag, class Arg1, class Arg2, class Arg3, class Arg4>
typename boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type operator*=(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
// Create a temporary if the RHS references *this, but not
// if we're just doing an x *= x;
- if(contains_self(e) && !is_self(e))
+ if((contains_self(e) && !is_self(e)))
{
self_type temp(e);
do_multiplies(detail::expression<detail::terminal, self_type>(temp), detail::terminal());
@@ -344,6 +574,22 @@ public:
number& operator%=(const self_type& e)
{
BOOST_STATIC_ASSERT_MSG(number_category<Backend>::value == number_kind_integer, "The modulus operation is only valid for integer types");
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this % e);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_modulus(detail::expression<detail::terminal, self_type>(e), detail::terminal());
return *this;
}
@@ -351,6 +597,7 @@ public:
typename boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type operator%=(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
BOOST_STATIC_ASSERT_MSG(number_category<Backend>::value == number_kind_integer, "The modulus operation is only valid for integer types");
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
// Create a temporary if the RHS references *this:
if(contains_self(e))
{
@@ -431,6 +678,22 @@ public:
BOOST_MP_FORCEINLINE number& operator /= (const self_type& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
+ //
+ // If the current precision of *this differs from that of expression e, then we
+ // create a temporary (which will have the correct precision thanks to precision_guard)
+ // and then move the result into *this. In C++17 we add a leading "if constexpr"
+ // which causes this code to be eliminated in the common case that this type is
+ // not actually variable precision. Pre C++17 this code should still be mostly
+ // optimised away, but we can't prevent instantiation of the dead code leading
+ // to longer build and possibly link times.
+ //
+ BOOST_MP_CONSTEXPR_IF_VARIABLE_PRECISION(number)
+ if (boost::multiprecision::detail::current_precision_of(e) != boost::multiprecision::detail::current_precision_of(*this))
+ {
+ number t(*this / e);
+ return *this = BOOST_MP_MOVE(t);
+ }
do_divide(detail::expression<detail::terminal, self_type>(e), detail::terminal());
return *this;
}
@@ -438,6 +701,7 @@ public:
template <class tag, class Arg1, class Arg2, class Arg3, class Arg4>
typename boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type operator/=(const detail::expression<tag, Arg1, Arg2, Arg3, Arg4>& e)
{
+ detail::scoped_default_precision<number<Backend, ExpressionTemplates> > precision_guard(*this, e);
// Create a temporary if the RHS references *this:
if(contains_self(e))
{
@@ -709,14 +973,15 @@ public:
//
// Direct access to the underlying backend:
//
- BOOST_MP_FORCEINLINE Backend& backend() BOOST_NOEXCEPT
- {
- return m_backend;
- }
- BOOST_MP_FORCEINLINE BOOST_CONSTEXPR const Backend& backend()const BOOST_NOEXCEPT
- {
- return m_backend;
- }
+#if !(defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_REF_QUALIFIERS) || BOOST_WORKAROUND(BOOST_GCC, < 50000))
+ BOOST_MP_FORCEINLINE Backend& backend()& BOOST_NOEXCEPT { return m_backend; }
+ BOOST_MP_FORCEINLINE BOOST_CONSTEXPR const Backend& backend()const& BOOST_NOEXCEPT { return m_backend; }
+ BOOST_MP_FORCEINLINE Backend&& backend()&& BOOST_NOEXCEPT { return static_cast<Backend&&>(m_backend); }
+ BOOST_MP_FORCEINLINE Backend const&& backend()const&& BOOST_NOEXCEPT { return static_cast<Backend const&&>(m_backend); }
+#else
+ BOOST_MP_FORCEINLINE Backend& backend() BOOST_NOEXCEPT { return m_backend; }
+ BOOST_MP_FORCEINLINE BOOST_CONSTEXPR const Backend& backend()const BOOST_NOEXCEPT { return m_backend; }
+#endif
//
// Complex number real and imag:
//
@@ -724,6 +989,7 @@ public:
real()const
{
using default_ops::eval_real;
+ detail::scoped_default_precision<typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type> precision_guard(*this);
typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type result;
eval_real(result.backend(), backend());
return result;
@@ -732,6 +998,7 @@ public:
imag()const
{
using default_ops::eval_imag;
+ detail::scoped_default_precision<typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type> precision_guard(*this);
typename scalar_result_from_possible_complex<multiprecision::number<Backend, ExpressionTemplates> >::type result;
eval_imag(result.backend(), backend());
return result;
@@ -771,30 +1038,35 @@ private:
void do_assign(const Exp& e, const detail::add_immediates&)
{
using default_ops::eval_add;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_add(m_backend, canonical_value(e.left().value()), canonical_value(e.right().value()));
}
template <class Exp>
void do_assign(const Exp& e, const detail::subtract_immediates&)
{
using default_ops::eval_subtract;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_subtract(m_backend, canonical_value(e.left().value()), canonical_value(e.right().value()));
}
template <class Exp>
void do_assign(const Exp& e, const detail::multiply_immediates&)
{
using default_ops::eval_multiply;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_multiply(m_backend, canonical_value(e.left().value()), canonical_value(e.right().value()));
}
template <class Exp>
void do_assign(const Exp& e, const detail::multiply_add&)
{
using default_ops::eval_multiply_add;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_multiply_add(m_backend, canonical_value(e.left().value()), canonical_value(e.middle().value()), canonical_value(e.right().value()));
}
template <class Exp>
void do_assign(const Exp& e, const detail::multiply_subtract&)
{
using default_ops::eval_multiply_subtract;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_multiply_subtract(m_backend, canonical_value(e.left().value()), canonical_value(e.middle().value()), canonical_value(e.right().value()));
}
@@ -802,6 +1074,7 @@ private:
void do_assign(const Exp& e, const detail::divide_immediates&)
{
using default_ops::eval_divide;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_divide(m_backend, canonical_value(e.left().value()), canonical_value(e.right().value()));
}
@@ -988,6 +1261,7 @@ private:
{
BOOST_STATIC_ASSERT_MSG(number_category<Backend>::value == number_kind_integer, "The modulus operation is only valid for integer types");
using default_ops::eval_modulus;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_modulus(m_backend, canonical_value(e.left().value()), canonical_value(e.right().value()));
}
@@ -1137,6 +1411,7 @@ private:
void do_assign(const Exp& e, const detail::function&)
{
typedef typename Exp::arity tag_type;
+ boost::multiprecision::detail::maybe_promote_precision(this);
do_assign_function(e, tag_type());
}
template <class Exp>
@@ -1328,6 +1603,7 @@ private:
void do_add(const Exp& e, const detail::terminal&)
{
using default_ops::eval_add;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_add(m_backend, canonical_value(e.value()));
}
@@ -1335,6 +1611,7 @@ private:
void do_add(const Exp& e, const detail::negate&)
{
typedef typename Exp::left_type left_type;
+ boost::multiprecision::detail::maybe_promote_precision(this);
do_subtract(e.left(), typename left_type::tag_type());
}
@@ -1367,6 +1644,7 @@ private:
void do_add(const Exp& e, const detail::add_immediates&)
{
using default_ops::eval_add;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_add(m_backend, canonical_value(e.left().value()));
eval_add(m_backend, canonical_value(e.right().value()));
}
@@ -1375,6 +1653,7 @@ private:
{
using default_ops::eval_add;
using default_ops::eval_subtract;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_add(m_backend, canonical_value(e.left().value()));
eval_subtract(m_backend, canonical_value(e.right().value()));
}
@@ -1382,6 +1661,7 @@ private:
void do_subtract(const Exp& e, const detail::terminal&)
{
using default_ops::eval_subtract;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_subtract(m_backend, canonical_value(e.value()));
}
@@ -1413,6 +1693,7 @@ private:
void do_subtract(const Exp& e, const detail::add_immediates&)
{
using default_ops::eval_subtract;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_subtract(m_backend, canonical_value(e.left().value()));
eval_subtract(m_backend, canonical_value(e.right().value()));
}
@@ -1435,6 +1716,7 @@ private:
void do_multiplies(const Exp& e, const detail::terminal&)
{
using default_ops::eval_multiply;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_multiply(m_backend, canonical_value(e.value()));
}
@@ -1472,6 +1754,7 @@ private:
void do_multiplies(const Exp& e, const detail::multiply_immediates&)
{
using default_ops::eval_multiply;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_multiply(m_backend, canonical_value(e.left().value()));
eval_multiply(m_backend, canonical_value(e.right().value()));
}
@@ -1485,6 +1768,7 @@ private:
{
using default_ops::eval_multiply;
using default_ops::eval_divide;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_multiply(m_backend, canonical_value(e.left().value()));
eval_divide(m_backend, canonical_value(e.right().value()));
}
@@ -1492,6 +1776,7 @@ private:
void do_multiplies(const Exp& e, const unknown&)
{
using default_ops::eval_multiply;
+ boost::multiprecision::detail::maybe_promote_precision(this);
self_type temp(e);
eval_multiply(m_backend, temp.m_backend);
}
@@ -1500,6 +1785,7 @@ private:
void do_divide(const Exp& e, const detail::terminal&)
{
using default_ops::eval_divide;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_divide(m_backend, canonical_value(e.value()));
}
@@ -1545,6 +1831,7 @@ private:
do_divides(const Exp& e, const detail::multiply_immediates&)
{
using default_ops::eval_divide;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_divide(m_backend, canonical_value(e.left().value()));
eval_divide(m_backend, canonical_value(e.right().value()));
}
@@ -1558,6 +1845,7 @@ private:
{
using default_ops::eval_multiply;
using default_ops::eval_divide;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_divide(m_backend, canonical_value(e.left().value()));
mutiply(m_backend, canonical_value(e.right().value()));
}
@@ -1566,6 +1854,7 @@ private:
void do_divide(const Exp& e, const unknown&)
{
using default_ops::eval_multiply;
+ boost::multiprecision::detail::maybe_promote_precision(this);
self_type temp(e);
eval_divide(m_backend, temp.m_backend);
}
@@ -1575,6 +1864,7 @@ private:
{
BOOST_STATIC_ASSERT_MSG(number_category<Backend>::value == number_kind_integer, "The modulus operation is only valid for integer types");
using default_ops::eval_modulus;
+ boost::multiprecision::detail::maybe_promote_precision(this);
eval_modulus(m_backend, canonical_value(e.value()));
}
@@ -1583,6 +1873,7 @@ private:
{
BOOST_STATIC_ASSERT_MSG(number_category<Backend>::value == number_kind_integer, "The modulus operation is only valid for integer types");
using default_ops::eval_modulus;
+ boost::multiprecision::detail::maybe_promote_precision(this);
self_type temp(e);
eval_modulus(m_backend, canonical_value(temp));
}
diff --git a/boost/multiprecision/traits/is_variable_precision.hpp b/boost/multiprecision/traits/is_variable_precision.hpp
new file mode 100644
index 0000000000..c76f512331
--- /dev/null
+++ b/boost/multiprecision/traits/is_variable_precision.hpp
@@ -0,0 +1,24 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2018 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MP_IS_VARIABLE_PRECISION_HPP
+#define BOOST_MP_IS_VARIABLE_PRECISION_HPP
+
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/multiprecision/detail/number_base.hpp>
+
+namespace boost{ namespace multiprecision{ namespace detail{
+
+ template <class Backend>
+ struct is_variable_precision : public false_type{};
+
+ template <class Backend, expression_template_option ExpressionTemplates>
+ struct is_variable_precision<number<Backend, ExpressionTemplates> > : public is_variable_precision<Backend> {};
+
+}
+}
+}
+
+#endif // BOOST_MP_IS_BACKEND_HPP
diff --git a/boost/optional/detail/old_optional_implementation.hpp b/boost/optional/detail/old_optional_implementation.hpp
index 62c31eeceb..f8dc260d52 100644
--- a/boost/optional/detail/old_optional_implementation.hpp
+++ b/boost/optional/detail/old_optional_implementation.hpp
@@ -14,10 +14,9 @@
#define BOOST_OPTIONAL_DETAIL_OLD_OPTIONAL_IMPLEMENTATION_AJK_28JAN2015_HPP
#include <boost/detail/reference_content.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/not.hpp>
#include <boost/type_traits/is_reference.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/conditional.hpp>
namespace boost {
@@ -96,13 +95,13 @@ class optional_base : public optional_tag
typedef T value_type ;
- typedef mpl::true_ is_reference_tag ;
- typedef mpl::false_ is_not_reference_tag ;
+ typedef true_type is_reference_tag ;
+ typedef false_type is_not_reference_tag ;
typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type is_reference_predicate ;
public:
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
+ typedef BOOST_DEDUCED_TYPENAME conditional<is_reference_predicate::value,types_when_ref,types_when_not_ref>::type types ;
protected:
typedef BOOST_DEDUCED_TYPENAME types::reference_type reference_type ;
@@ -333,7 +332,7 @@ class optional_base : public optional_tag
public :
- // **DEPPRECATED** Destroys the current value, if any, leaving this UNINITIALIZED
+ // Destroys the current value, if any, leaving this UNINITIALIZED
// No-throw (assuming T::~T() doesn't)
void reset() BOOST_NOEXCEPT { destroy(); }
@@ -422,7 +421,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr&& factory, in_place_factory_base const* )
{
- BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
+ BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
boost_optional_detail::construct<value_type>(factory, m_storage.address());
m_initialized = true ;
}
@@ -431,7 +430,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr&& factory, typed_in_place_factory_base const* )
{
- BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
+ BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
factory.apply(m_storage.address()) ;
m_initialized = true ;
}
@@ -456,7 +455,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr const& factory, in_place_factory_base const* )
{
- BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
+ BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
boost_optional_detail::construct<value_type>(factory, m_storage.address());
m_initialized = true ;
}
@@ -465,7 +464,7 @@ class optional_base : public optional_tag
template<class Expr>
void construct ( Expr const& factory, typed_in_place_factory_base const* )
{
- BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
+ BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ;
factory.apply(m_storage.address()) ;
m_initialized = true ;
}
diff --git a/boost/optional/detail/optional_trivially_copyable_base.hpp b/boost/optional/detail/optional_trivially_copyable_base.hpp
index 91328ac4e7..5a37eacfec 100644
--- a/boost/optional/detail/optional_trivially_copyable_base.hpp
+++ b/boost/optional/detail/optional_trivially_copyable_base.hpp
@@ -30,7 +30,7 @@ class tc_optional_base : public optional_tag
:
m_initialized(false) {}
- tc_optional_base ( argument_type val )
+ tc_optional_base ( init_value_tag, argument_type val )
:
m_initialized(true), m_storage(val) {}
@@ -71,7 +71,7 @@ class tc_optional_base : public optional_tag
// Assigns from another optional<T> (deep-copies the rhs value)
void assign ( tc_optional_base const& rhs )
{
- this->operator=(rhs);
+ *this = rhs;
}
// Assigns from another _convertible_ optional<U> (deep-copies the rhs value)
@@ -127,7 +127,7 @@ class tc_optional_base : public optional_tag
public :
- // **DEPPRECATED** Destroys the current value, if any, leaving this UNINITIALIZED
+ // Destroys the current value, if any, leaving this UNINITIALIZED
// No-throw (assuming T::~T() doesn't)
void reset() BOOST_NOEXCEPT { destroy(); }
diff --git a/boost/optional/optional.hpp b/boost/optional/optional.hpp
index 01cb2bda1f..90acd40a17 100644
--- a/boost/optional/optional.hpp
+++ b/boost/optional/optional.hpp
@@ -107,7 +107,9 @@ using optional_ns::in_place_init_if;
namespace optional_detail {
-struct optional_tag {} ;
+struct init_value_tag {};
+
+struct optional_tag {};
template<class T>
@@ -147,7 +149,7 @@ class optional_base : public optional_tag
// Creates an optional<T> initialized with 'val'.
// Can throw if T::T(T const&) does
- optional_base ( argument_type val )
+ optional_base ( init_value_tag, argument_type val )
:
m_initialized(false)
{
@@ -157,7 +159,7 @@ class optional_base : public optional_tag
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
// move-construct an optional<T> initialized from an rvalue-ref to 'val'.
// Can throw if T::T(T&&) does
- optional_base ( rval_reference_type val )
+ optional_base ( init_value_tag, rval_reference_type val )
:
m_initialized(false)
{
@@ -378,7 +380,7 @@ class optional_base : public optional_tag
public :
- // **DEPPRECATED** Destroys the current value, if any, leaving this UNINITIALIZED
+ // Destroys the current value, if any, leaving this UNINITIALIZED
// No-throw (assuming T::~T() doesn't)
void reset() BOOST_NOEXCEPT { destroy(); }
@@ -870,12 +872,12 @@ class optional
// Creates an optional<T> initialized with 'val'.
// Can throw if T::T(T const&) does
- optional ( argument_type val ) : base(val) {}
+ optional ( argument_type val ) : base(optional_detail::init_value_tag(), val) {}
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
// Creates an optional<T> initialized with 'move(val)'.
// Can throw if T::T(T &&) does
- optional ( rval_reference_type val ) : base( boost::forward<T>(val) )
+ optional ( rval_reference_type val ) : base(optional_detail::init_value_tag(), boost::forward<T>(val))
{}
#endif
diff --git a/boost/parameter/aux_/python/invoker.hpp b/boost/parameter/aux_/python/invoker.hpp
index 0e61d40e9e..0e61d40e9e 100644..100755
--- a/boost/parameter/aux_/python/invoker.hpp
+++ b/boost/parameter/aux_/python/invoker.hpp
diff --git a/boost/parameter/aux_/python/invoker_iterate.hpp b/boost/parameter/aux_/python/invoker_iterate.hpp
index c18f6d0bbb..c18f6d0bbb 100644..100755
--- a/boost/parameter/aux_/python/invoker_iterate.hpp
+++ b/boost/parameter/aux_/python/invoker_iterate.hpp
diff --git a/boost/parameter/python.hpp b/boost/parameter/python.hpp
index a52fc6ed76..0cab762a24 100644..100755
--- a/boost/parameter/python.hpp
+++ b/boost/parameter/python.hpp
@@ -41,8 +41,7 @@ namespace boost { namespace parameter { namespace python { namespace aux
inline PyObject* unspecified_type()
{
static PyTypeObject unspecified = {
- PyObject_HEAD_INIT(NULL)
- 0, /* ob_size */
+ PyVarObject_HEAD_INIT(NULL,0)
"Boost.Parameter.Unspecified", /* tp_name */
PyType_Type.tp_basicsize, /* tp_basicsize */
0, /* tp_itemsize */
@@ -64,13 +63,13 @@ namespace boost { namespace parameter { namespace python { namespace aux
Py_TPFLAGS_DEFAULT, /* tp_flags */
0, /* tp_doc */
};
-
- if (unspecified.ob_type == 0)
+
+ if (Py_TYPE(&unspecified) == 0)
{
- unspecified.ob_type = &PyType_Type;
+ Py_TYPE(&unspecified) = &PyType_Type;
PyType_Ready(&unspecified);
}
-
+
return (PyObject*)&unspecified;
}
diff --git a/boost/pending/integer_log2.hpp b/boost/pending/integer_log2.hpp
index 023ec7af03..938459463d 100644
--- a/boost/pending/integer_log2.hpp
+++ b/boost/pending/integer_log2.hpp
@@ -1,9 +1,9 @@
#ifndef BOOST_PENDING_INTEGER_LOG2_HPP
#define BOOST_PENDING_INTEGER_LOG2_HPP
-// The header file at this path is deprecated;
-// use boost/integer/integer_log2.hpp instead.
-
#include <boost/integer/integer_log2.hpp>
+#include <boost/config/header_deprecated.hpp>
+
+BOOST_HEADER_DEPRECATED("<boost/integer/integer_log2.hpp>");
#endif
diff --git a/boost/poly_collection/algorithm.hpp b/boost/poly_collection/algorithm.hpp
index ccf678eb58..ddca78254b 100644
--- a/boost/poly_collection/algorithm.hpp
+++ b/boost/poly_collection/algorithm.hpp
@@ -20,6 +20,7 @@
#include <boost/poly_collection/detail/segment_split.hpp>
#include <boost/poly_collection/detail/type_restitution.hpp>
#include <iterator>
+#include <random>
#include <type_traits>
#include <utility>
@@ -108,6 +109,50 @@ Function for_each(const Iterator& first,const Iterator& last,Function f)
return std::move(f);
}
+struct for_each_n_alg
+{
+ template<
+ typename InputIterator,typename Size,typename Function
+ >
+ InputIterator operator()(
+ InputIterator first,Size n,Function& f)const /* note the & */
+ {
+ for(;n>0;++first,(void)--n)f(*first);
+ return first;
+ }
+};
+
+template<
+ typename... Ts,typename Iterator,typename Size,typename Function,
+ enable_if_poly_collection_iterator<Iterator> =nullptr
+>
+Iterator for_each_n(const Iterator& first,Size n,Function f)
+{
+ using traits=iterator_traits<Iterator>;
+ using local_base_iterator=typename traits::local_base_iterator;
+
+ if(n<=0)return first;
+
+ auto alg=restitute_iterator<Ts...>(
+ cast_return<local_base_iterator>(for_each_n_alg{}));
+ auto lbit=traits::local_base_iterator_from(first);
+ auto sit=traits::base_segment_info_iterator_from(first);
+ for(;;){
+ auto m=sit->end()-lbit;
+ if(n<=m){
+ auto it=alg(sit->type_info(),lbit,n,f);
+ return traits::iterator_from(
+ it,traits::end_base_segment_info_iterator_from(first));
+ }
+ else{
+ alg(sit->type_info(),lbit,m,f);
+ n-=m;
+ }
+ ++sit;
+ lbit=sit->begin();
+ }
+}
+
template<
typename Algorithm,typename... Ts,
typename Iterator,typename... Args,
@@ -448,6 +493,35 @@ bool equal(
}
template<
+ typename Iterator,
+ enable_if_poly_collection_iterator<Iterator> =nullptr
+>
+std::ptrdiff_t fast_distance(const Iterator& first,const Iterator& last)
+{
+ using traits=iterator_traits<Iterator>;
+
+ if(first==last)return 0;
+
+ auto sfirst=traits::base_segment_info_iterator_from(first),
+ slast=traits::base_segment_info_iterator_from(last);
+ if(sfirst==slast){
+ return std::distance(
+ traits::local_base_iterator_from(first),
+ traits::local_base_iterator_from(last));
+ }
+ else{
+ std::ptrdiff_t m=std::distance(
+ traits::local_base_iterator_from(first),sfirst->end());
+ while(++sfirst!=slast)m+=std::distance(sfirst->begin(),sfirst->end());
+ if(slast!=traits::end_base_segment_info_iterator_from(last)){
+ m+=std::distance(
+ slast->begin(),traits::local_base_iterator_from(last));
+ }
+ return m;
+ }
+}
+
+template<
typename... Ts,typename Iterator,
typename ForwardIterator,typename BinaryPredicate,
enable_if_poly_collection_iterator<Iterator> =nullptr
@@ -483,7 +557,7 @@ bool is_permutation(
Iterator first1,Iterator last1,ForwardIterator first2,BinaryPredicate pred)
{
std::tie(first1,first2)=algorithm::mismatch<Ts...>(first1,last1,first2,pred);
- auto last2=std::next(first2,std::distance(first1,last1));
+ auto last2=std::next(first2,algorithm::fast_distance(first1,last1));
return is_permutation_suffix<Ts...>(first1,last1,first2,last2,pred);
}
@@ -509,7 +583,8 @@ bool is_permutation(
{
std::tie(first1,first2)=algorithm::mismatch<Ts...>(
first1,last1,first2,last2,pred);
- if(std::distance(first1,last1)!=std::distance(first2,last2))return false;
+ if(algorithm::fast_distance(first1,last1)!=std::distance(first2,last2))
+ return false;
else return is_permutation_suffix<Ts...>(first1,last1,first2,last2,pred);
}
@@ -938,6 +1013,48 @@ OutputIterator rotate_copy(
return algorithm::copy<Ts...>(first,middle,res);
}
+struct sample_alg
+{
+ template<
+ typename InputIterator,typename OutputIterator,
+ typename Distance,typename UniformRandomBitGenerator
+ >
+ OutputIterator operator()(
+ InputIterator first,InputIterator last,
+ OutputIterator res,Distance& n,Distance& m, /* note the &s */
+ UniformRandomBitGenerator& g)const
+ {
+ for(;first!=last&&n!=0;++first){
+ auto r=std::uniform_int_distribution<Distance>(0,--m)(g);
+ if (r<n){
+ *res++=*first;
+ --n;
+ }
+ }
+ return res;
+ }
+};
+
+template<
+ typename... Ts,typename Iterator,typename OutputIterator,
+ typename Distance,typename UniformRandomBitGenerator,
+ enable_if_poly_collection_iterator<Iterator> =nullptr
+>
+OutputIterator sample(
+ const Iterator& first,const Iterator& last,
+ OutputIterator res,Distance n,UniformRandomBitGenerator&& g)
+{
+ Distance m=algorithm::fast_distance(first,last);
+ n=(std::min)(n,m);
+
+ for(auto i:detail::segment_split(first,last)){
+ auto alg=restitute_range<Ts...>(sample_alg{},res,n,m,g);
+ res=alg(i);
+ if(n==0)return res;
+ }
+ return res; /* never reached */
+}
+
template<
typename... Ts,typename Iterator,typename Predicate,
enable_if_poly_collection_iterator<Iterator> =nullptr
@@ -1008,6 +1125,7 @@ using detail::algorithm::all_of;
using detail::algorithm::any_of;
using detail::algorithm::none_of;
using detail::algorithm::for_each;
+using detail::algorithm::for_each_n;
using detail::algorithm::find;
using detail::algorithm::find_if;
using detail::algorithm::find_if_not;
@@ -1027,9 +1145,9 @@ using detail::algorithm::search_n;
using detail::algorithm::copy;
using detail::algorithm::copy_n;
using detail::algorithm::copy_if;
- /* copy_backwards requires BidirectionalIterator */
+ /* copy_backward requires BidirectionalIterator */
using detail::algorithm::move;
- /* move_backwards requires BidirectionalIterator */
+ /* move_backward requires BidirectionalIterator */
/* swap_ranges requires Swappable */
/* iter_swap requires Swappable */
using detail::algorithm::transform;
@@ -1051,6 +1169,7 @@ using detail::algorithm::unique_copy;
/* reverse_copy requires BidirectionalIterator */
/* rotate requires MoveAssignable */
using detail::algorithm::rotate_copy;
+using detail::algorithm::sample;
/* shuffle requires RandomAccessIterator */
using detail::algorithm::is_partitioned;
/* partition requires Swappable */
diff --git a/boost/polygon/detail/iterator_geometry_to_set.hpp b/boost/polygon/detail/iterator_geometry_to_set.hpp
index 95840e2001..6ad371b292 100644
--- a/boost/polygon/detail/iterator_geometry_to_set.hpp
+++ b/boost/polygon/detail/iterator_geometry_to_set.hpp
@@ -100,7 +100,7 @@ public:
itrb = begin_points(polygon);
itre = end_points(polygon);
use_wrap = false;
- if(itrb == itre || dir == HIGH || size(polygon) < 4) {
+ if(itrb == itre || dir == HIGH || ::boost::polygon::size(polygon) < 4) {
polygon_index = -1;
} else {
direction_1d wdir = w;
diff --git a/boost/polygon/isotropy.hpp b/boost/polygon/isotropy.hpp
index 117d6a55d6..615ae399dd 100644
--- a/boost/polygon/isotropy.hpp
+++ b/boost/polygon/isotropy.hpp
@@ -40,12 +40,6 @@ typedef boost::ulong_long_type polygon_ulong_long_type;
//typedef long long polygon_long_long_type;
//typedef unsigned long long polygon_ulong_long_type;
#endif
-#include <boost/mpl/size_t.hpp>
-#include <boost/mpl/protect.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
#else
#ifdef _WIN32
@@ -57,54 +51,6 @@ typedef boost::ulong_long_type polygon_ulong_long_type;
#define BOOST_POLYGON_USE_LONG_LONG
typedef long long polygon_long_long_type;
typedef unsigned long long polygon_ulong_long_type;
-
- namespace boost {
- template <bool B, class T = void>
- struct enable_if_c {
- typedef T type;
- };
-
- template <class T>
- struct enable_if_c<false, T> {};
-
- template <class Cond, class T = void>
- struct enable_if : public enable_if_c<Cond::value, T> {};
-
- template <bool B, class T>
- struct lazy_enable_if_c {
- typedef typename T::type type;
- };
-
- template <class T>
- struct lazy_enable_if_c<false, T> {};
-
- template <class Cond, class T>
- struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};
-
-
- template <bool B, class T = void>
- struct disable_if_c {
- typedef T type;
- };
-
- template <class T>
- struct disable_if_c<true, T> {};
-
- template <class Cond, class T = void>
- struct disable_if : public disable_if_c<Cond::value, T> {};
-
- template <bool B, class T>
- struct lazy_disable_if_c {
- typedef typename T::type type;
- };
-
- template <class T>
- struct lazy_disable_if_c<true, T> {};
-
- template <class Cond, class T>
- struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};
- }
-
#endif
namespace boost { namespace polygon{
@@ -266,22 +212,6 @@ namespace boost { namespace polygon{
template <>
struct geometry_concept<long double> { typedef coordinate_concept type; };
-#ifndef BOOST_POLYGON_NO_DEPS
- struct gtl_no : mpl::bool_<false> {};
- struct gtl_yes : mpl::bool_<true> {};
- template <typename T, typename T2>
- struct gtl_and : mpl::and_<T, T2> {};
- template <typename T, typename T2, typename T3>
- struct gtl_and_3 : mpl::and_<T, T2, T3> {};
- template <typename T, typename T2, typename T3, typename T4>
- struct gtl_and_4 : mpl::and_<T, T2, T3, T4> {};
-// template <typename T, typename T2>
-// struct gtl_or : mpl::or_<T, T2> {};
-// template <typename T, typename T2, typename T3>
-// struct gtl_or_3 : mpl::or_<T, T2, T3> {};
-// template <typename T, typename T2, typename T3, typename T4>
-// struct gtl_or_4 : mpl::or_<T, T2, T3, T4> {};
-#else
struct gtl_no { static const bool value = false; };
struct gtl_yes { typedef gtl_yes type;
static const bool value = true; };
@@ -300,7 +230,6 @@ namespace boost { namespace polygon{
template <typename T, typename T2, typename T3, typename T4>
struct gtl_and_4 { typedef typename gtl_and_3<
T, T2, typename gtl_and<T3, T4>::type>::type type; };
-#endif
template <typename T, typename T2>
struct gtl_or { typedef gtl_yes type; };
template <typename T>
@@ -348,6 +277,18 @@ namespace boost { namespace polygon{
struct area_type_by_domain<manhattan_domain, coordinate_type> {
typedef typename coordinate_traits<coordinate_type>::manhattan_area_type type; };
+ template<bool E, class R = void>
+ struct enable_if_ {
+ typedef R type;
+ };
+
+ template<class R>
+ struct enable_if_<false, R> { };
+
+ template<class E, class R = void>
+ struct enable_if
+ : enable_if_<E::value, R> { };
+
struct y_c_edist : gtl_yes {};
template <typename coordinate_type_1, typename coordinate_type_2>
diff --git a/boost/polygon/polygon_traits.hpp b/boost/polygon/polygon_traits.hpp
index 692e9f14b1..e3d185935e 100644
--- a/boost/polygon/polygon_traits.hpp
+++ b/boost/polygon/polygon_traits.hpp
@@ -583,7 +583,7 @@ namespace boost { namespace polygon{
polygon_type>::type &
convolve(polygon_type& polygon, const point_type& point) {
std::vector<typename polygon_90_traits<polygon_type>::coordinate_type> coords;
- coords.reserve(size(polygon));
+ coords.reserve(::boost::polygon::size(polygon));
bool pingpong = true;
for(typename polygon_90_traits<polygon_type>::compact_iterator_type iter = begin_compact(polygon);
iter != end_compact(polygon); ++iter) {
@@ -603,7 +603,7 @@ namespace boost { namespace polygon{
polygon_type>::type &
convolve(polygon_type& polygon, const point_type& point) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -655,7 +655,7 @@ namespace boost { namespace polygon{
typename enable_if< typename is_any_mutable_polygon_without_holes_type<polygon_type>::type, polygon_type>::type &
transform(polygon_type& polygon, const transform_type& tr) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -689,7 +689,7 @@ namespace boost { namespace polygon{
typename enable_if< typename is_any_mutable_polygon_without_holes_type<polygon_type>::type, polygon_type>::type &
scale_up(polygon_type& polygon, typename coordinate_traits<typename polygon_traits<polygon_type>::coordinate_type>::unsigned_area_type factor) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -728,7 +728,7 @@ namespace boost { namespace polygon{
polygon_type>::type &
scale_down(polygon_type& polygon, typename coordinate_traits<typename polygon_traits<polygon_type>::coordinate_type>::unsigned_area_type factor) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -824,7 +824,7 @@ namespace boost { namespace polygon{
typename enable_if< typename is_any_mutable_polygon_without_holes_type<polygon_type>::type, polygon_type>::type &
snap_to_45(polygon_type& polygon) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -863,7 +863,7 @@ namespace boost { namespace polygon{
polygon_type>::type &
scale_down(polygon_type& polygon, typename coordinate_traits<typename polygon_traits<polygon_type>::coordinate_type>::unsigned_area_type factor) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -903,7 +903,7 @@ namespace boost { namespace polygon{
polygon_type>::type &
scale(polygon_type& polygon, double factor) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
@@ -924,7 +924,7 @@ namespace boost { namespace polygon{
typename geometry_domain<typename geometry_concept<polygon_type>::type>::type>::type>::type>::type * = 0
) {
std::vector<typename std::iterator_traits<typename polygon_traits<polygon_type>::iterator_type>::value_type> points;
- points.reserve(size(polygon));
+ points.reserve(::boost::polygon::size(polygon));
for(typename polygon_traits<polygon_type>::iterator_type iter = begin_points(polygon);
iter != end_points(polygon); ++iter) {
points.push_back(*iter);
diff --git a/boost/pool/detail/mutex.hpp b/boost/pool/detail/mutex.hpp
index 8d9b1d5627..6190f6597c 100644
--- a/boost/pool/detail/mutex.hpp
+++ b/boost/pool/detail/mutex.hpp
@@ -1,4 +1,5 @@
// Copyright (C) 2000 Stephen Cleary
+// Copyright (C) 2018 Peter Dimov
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -9,42 +10,135 @@
#ifndef BOOST_POOL_MUTEX_HPP
#define BOOST_POOL_MUTEX_HPP
-#include <boost/config.hpp> // for workarounds
-#if defined (BOOST_HAS_THREADS) && !defined(BOOST_POOL_NO_MT)
-#if defined (BOOST_NO_CXX11_HDR_MUTEX)
-#include <boost/thread/mutex.hpp>
-#else
-#include <mutex>
-#endif
-#endif
+#include <boost/config.hpp>
namespace boost{ namespace details{ namespace pool{
class null_mutex
{
- private:
+private:
+
null_mutex(const null_mutex &);
void operator=(const null_mutex &);
- public:
- null_mutex() { }
+public:
- static void lock() { }
- static void unlock() { }
+ null_mutex() {}
+
+ static void lock() {}
+ static void unlock() {}
};
-#if !defined(BOOST_HAS_THREADS) || defined(BOOST_NO_MT) || defined(BOOST_POOL_NO_MT)
- typedef null_mutex default_mutex;
-#else
-#if defined (BOOST_NO_CXX11_HDR_MUTEX)
- typedef boost::mutex default_mutex;
-#else
- typedef std::mutex default_mutex;
-#endif
-#endif
+}}} // namespace boost::details::pool
+
+#if !defined(BOOST_HAS_THREADS) || defined(BOOST_NO_MT) || defined(BOOST_POOL_NO_MT)
+
+namespace boost{ namespace details{ namespace pool{
+
+typedef null_mutex default_mutex;
+
+}}} // namespace boost::details::pool
+
+#elif !defined(BOOST_NO_CXX11_HDR_MUTEX)
+
+#include <mutex>
+
+namespace boost{ namespace details{ namespace pool{
+
+typedef std::mutex default_mutex;
+
+}}} // namespace boost::details::pool
+
+#elif defined(BOOST_HAS_PTHREADS)
+
+#include <boost/assert.hpp>
+#include <pthread.h>
+
+namespace boost{ namespace details{ namespace pool{
+
+class pt_mutex
+{
+private:
+
+ pthread_mutex_t m_;
+
+ pt_mutex(pt_mutex const &);
+ pt_mutex & operator=(pt_mutex const &);
+
+public:
+
+ pt_mutex()
+ {
+ BOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );
+ }
-} // namespace pool
-} // namespace details
-} // namespace boost
+ ~pt_mutex()
+ {
+ BOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );
+ }
+
+ void lock()
+ {
+ BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
+ }
+
+ void unlock()
+ {
+ BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
+ }
+};
+
+typedef pt_mutex default_mutex;
+
+}}} // namespace boost::details::pool
+
+#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+
+#include <boost/winapi/critical_section.hpp>
+
+namespace boost{ namespace details{ namespace pool{
+
+class cs_mutex
+{
+private:
+
+ boost::winapi::CRITICAL_SECTION_ cs_;
+
+ cs_mutex(cs_mutex const &);
+ cs_mutex & operator=(cs_mutex const &);
+
+public:
+
+ cs_mutex()
+ {
+ boost::winapi::InitializeCriticalSection( &cs_ );
+ }
+
+ ~cs_mutex()
+ {
+ boost::winapi::DeleteCriticalSection( &cs_ );
+ }
+
+ void lock()
+ {
+ boost::winapi::EnterCriticalSection( &cs_ );
+ }
+
+ void unlock()
+ {
+ boost::winapi::LeaveCriticalSection( &cs_ );
+ }
+};
+
+typedef cs_mutex default_mutex;
+
+}}} // namespace boost::details::pool
+
+#else
+
+// Use #define BOOST_DISABLE_THREADS to avoid this error
+# error Unrecognized threading platform
#endif
+
+#endif // #ifndef BOOST_POOL_MUTEX_HPP
diff --git a/boost/predef/compiler/compaq.h b/boost/predef/compiler/compaq.h
index 96a79e6756..c6a83ffd0d 100644
--- a/boost/predef/compiler/compaq.h
+++ b/boost/predef/compiler/compaq.h
@@ -38,7 +38,7 @@ Version number available as major, minor, and patch.
# define BOOST_COMP_DEC_DETECTION BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
# endif
# if !defined(BOOST_COMP_DEC_DETECTION)
-# define BOOST_COM_DEC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
+# define BOOST_COMP_DEC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
diff --git a/boost/predef/compiler/nvcc.h b/boost/predef/compiler/nvcc.h
index 3c35ef7cd8..4130539958 100644
--- a/boost/predef/compiler/nvcc.h
+++ b/boost/predef/compiler/nvcc.h
@@ -37,12 +37,30 @@ Version number available as major, minor, and patch beginning with version 7.5.
#endif
#ifdef BOOST_COMP_NVCC_DETECTION
-# if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-# define BOOST_COMP_NVCC_EMULATED BOOST_COMP_NVCC_DETECTION
-# else
-# undef BOOST_COMP_NVCC
-# define BOOST_COMP_NVCC BOOST_COMP_NVCC_DETECTION
-# endif
+/*
+Always define BOOST_COMP_NVCC instead of BOOST_COMP_NVCC_EMULATED
+The nvcc compilation process is somewhat special as can be read here:
+https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#cuda-compilation-trajectory
+The nvcc compiler precompiles the input two times. Once for the device code
+being compiled by the cicc device compiler and once for the host code
+compiled by the real host compiler. NVCC uses gcc/clang/msvc/...
+depending on the host compiler being set on the command line.
+
+Predef (as a preprocessor only lib) detects the one doing the preprocessing
+as compiler and expects it to be the one doing the real compilation.
+This is not true for NVCC which is only doing the preprocessing and which
+is using another compiler for parts of its work. So for NVCC it should be
+allowed to set BOOST_COMP_NVCC additionally to the already detected host
+compiler because both is true: It is gcc/clang/... compiling the code, but it
+is also NVCC doing the preprocessing and adding some other quirks you may
+want to detect.
+
+This behavior is similar to what boost config is doing in `select_compiler_config.hpp`.
+There the NVCC detection is not handled as a real compiler (part of the
+#if-#elif) but as additional option before the real compiler.
+*/
+# undef BOOST_COMP_NVCC
+# define BOOST_COMP_NVCC BOOST_COMP_NVCC_DETECTION
# define BOOST_COMP_NVCC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
@@ -53,8 +71,3 @@ Version number available as major, minor, and patch beginning with version 7.5.
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_NVCC,BOOST_COMP_NVCC_NAME)
-
-#ifdef BOOST_COMP_NVCC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_NVCC_EMULATED,BOOST_COMP_NVCC_NAME)
-#endif
diff --git a/boost/predef/detail/endian_compat.h b/boost/predef/detail/endian_compat.h
index 7725e6823c..421064ef39 100644
--- a/boost/predef/detail/endian_compat.h
+++ b/boost/predef/detail/endian_compat.h
@@ -1,5 +1,5 @@
/*
-Copyright Rene Rivera 2013
+Copyright Rene Rivera 2013-2018
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)
@@ -8,6 +8,8 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
#define BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
+#pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead")
+
#include <boost/predef/other/endian.h>
#if BOOST_ENDIAN_BIG_BYTE
diff --git a/boost/predef/os/cygwin.h b/boost/predef/os/cygwin.h
index 9d36f0f317..207809c0ea 100644
--- a/boost/predef/os/cygwin.h
+++ b/boost/predef/os/cygwin.h
@@ -20,6 +20,8 @@ http://www.boost.org/LICENSE_1_0.txt)
[[__predef_symbol__] [__predef_version__]]
[[`__CYGWIN__`] [__predef_detection__]]
+
+ [[`CYGWIN_VERSION_API_MAJOR`, `CYGWIN_VERSION_API_MINOR`] [V.R.0]]
]
*/
@@ -28,8 +30,11 @@ http://www.boost.org/LICENSE_1_0.txt)
#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
defined(__CYGWIN__) \
)
+# include <cygwin/version.h>
# undef BOOST_OS_CYGWIN
-# define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_AVAILABLE
+# define BOOST_OS_CYGWIN \
+ BOOST_VERSION_NUMBER(CYGWIN_VERSION_API_MAJOR,\
+ CYGWIN_VERSION_API_MINOR, 0)
#endif
#if BOOST_OS_CYGWIN
diff --git a/boost/predef/version.h b/boost/predef/version.h
index 960292fec6..19b12a7836 100644
--- a/boost/predef/version.h
+++ b/boost/predef/version.h
@@ -10,6 +10,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
-#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,8,0)
+#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,9,0)
#endif
diff --git a/boost/preprocessor/config/config.hpp b/boost/preprocessor/config/config.hpp
index cdb044c87b..2c1e72f907 100644
--- a/boost/preprocessor/config/config.hpp
+++ b/boost/preprocessor/config/config.hpp
@@ -29,7 +29,11 @@
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
# elif defined(__EDG__) || defined(__EDG_VERSION__)
# if defined(_MSC_VER) && !defined(__clang__) && (defined(__INTELLISENSE__) || __EDG_VERSION__ >= 308)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
+# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL
+# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
+# else
+# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+# endif
# else
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
# endif
@@ -44,7 +48,11 @@
# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
# elif defined(_MSC_VER)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
+# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL
+# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
+# else
+# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+# endif
# else
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
# endif
@@ -71,17 +79,18 @@
# define BOOST_PP_VARIADICS_MSVC 0
# if !defined BOOST_PP_VARIADICS
# /* variadic support explicitly disabled for all untested compilers */
-# if defined __GCCXML__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5120 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __PGI
+
+# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5120 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || (defined(__PGI) && !defined(__EDG__))
# define BOOST_PP_VARIADICS 0
-# elif defined(__CUDACC__)
-# define BOOST_PP_VARIADICS 1
# elif defined(_MSC_VER) && defined(__clang__)
# define BOOST_PP_VARIADICS 1
# /* VC++ (C/C++) and Intel C++ Compiler >= 17.0 with MSVC */
# elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__) || defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700)
# define BOOST_PP_VARIADICS 1
-# undef BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_VARIADICS_MSVC 1
+# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL
+# undef BOOST_PP_VARIADICS_MSVC
+# define BOOST_PP_VARIADICS_MSVC 1
+# endif
# /* Wave (C/C++), GCC (C++) */
# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && defined __GXX_EXPERIMENTAL_CXX0X__ && __GXX_EXPERIMENTAL_CXX0X__
# define BOOST_PP_VARIADICS 1
@@ -94,7 +103,7 @@
# elif !BOOST_PP_VARIADICS + 1 < 2
# undef BOOST_PP_VARIADICS
# define BOOST_PP_VARIADICS 1
-# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI))
+# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) && (!defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL)
# undef BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_VARIADICS_MSVC 1
# endif
diff --git a/boost/preprocessor/stringize.hpp b/boost/preprocessor/stringize.hpp
index 64dd5fde3e..e072dbd533 100644
--- a/boost/preprocessor/stringize.hpp
+++ b/boost/preprocessor/stringize.hpp
@@ -28,6 +28,10 @@
# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text)
# endif
#
+#if BOOST_PP_VARIADICS
+# define BOOST_PP_STRINGIZE_I(...) #__VA_ARGS__
+#else
# define BOOST_PP_STRINGIZE_I(text) #text
+#endif
#
# endif
diff --git a/boost/preprocessor/wstringize.hpp b/boost/preprocessor/wstringize.hpp
index 5d1a83aa2e..9f89673103 100644
--- a/boost/preprocessor/wstringize.hpp
+++ b/boost/preprocessor/wstringize.hpp
@@ -23,7 +23,11 @@
# define BOOST_PP_WSTRINGIZE_OO(par) BOOST_PP_WSTRINGIZE_I ## par
# endif
#
+#if BOOST_PP_VARIADICS
+# define BOOST_PP_WSTRINGIZE_I(...) BOOST_PP_WSTRINGIZE_II(#__VA_ARGS__)
+#else
# define BOOST_PP_WSTRINGIZE_I(text) BOOST_PP_WSTRINGIZE_II(#text)
+#endif
# define BOOST_PP_WSTRINGIZE_II(str) L ## str
#
# endif
diff --git a/boost/process/detail/posix/executor.hpp b/boost/process/detail/posix/executor.hpp
index b3781f2f04..1390a58ee6 100644
--- a/boost/process/detail/posix/executor.hpp
+++ b/boost/process/detail/posix/executor.hpp
@@ -45,7 +45,7 @@ inline int execvpe(const char* filename, char * const arg_list[], char* env[])
if (e != nullptr)
{
- std::vector<std::string> path;
+ std::vector<std::string> path;
boost::split(path, *e, boost::is_any_of(":"));
for (const std::string & pp : path)
@@ -85,7 +85,7 @@ struct on_error_t
template<typename T>
void operator()(T & t) const
{
- t.on_error(exec, error);
+ t.on_error(exec, error);
}
};
@@ -157,13 +157,13 @@ struct on_fork_success_t
};
template<typename Executor> on_setup_t <Executor> call_on_setup (Executor & exec) {return exec;}
-template<typename Executor> on_error_t <Executor> call_on_error (Executor & exec, const std::error_code & ec)
+template<typename Executor> on_error_t <Executor> call_on_error (Executor & exec, const std::error_code & ec)
{
return on_error_t<Executor> (exec, ec);
}
template<typename Executor> on_success_t<Executor> call_on_success(Executor & exec) {return exec;}
-template<typename Executor> on_fork_error_t <Executor> call_on_fork_error (Executor & exec, const std::error_code & ec)
+template<typename Executor> on_fork_error_t <Executor> call_on_fork_error (Executor & exec, const std::error_code & ec)
{
return on_fork_error_t<Executor> (exec, ec);
}
@@ -293,10 +293,14 @@ class executor
auto err = errno;
if ((err == EBADF) || (err == EPERM))//that should occur on success, therefore return.
return;
- //EAGAIN not yet forked, EINTR interrupted, i.e. try again
+ //EAGAIN not yet forked, EINTR interrupted, i.e. try again
else if ((err != EAGAIN ) && (err != EINTR))
+ {
+ ::close(source);
set_error(std::error_code(err, std::system_category()), "Error read pipe");
+ }
}
+ ::close(source);
set_error(ec, std::move(msg));
}
@@ -376,7 +380,10 @@ child executor<Sequence>::invoke(boost::mpl::false_, boost::mpl::false_)
}
if (::fcntl(p[1], F_SETFD, FD_CLOEXEC) == -1)
{
- set_error(::boost::process::detail::get_last_error(), "fcntl(2) failed");
+ auto err = ::boost::process::detail::get_last_error();
+ ::close(p[0]);
+ ::close(p[1]);
+ set_error(err, "fcntl(2) failed");
return child();
}
_ec.clear();
@@ -420,11 +427,8 @@ child executor<Sequence>::invoke(boost::mpl::false_, boost::mpl::false_)
child c(child_handle(pid), exit_status);
-
-
::close(p[1]);
_read_error(p[0]);
- ::close(p[0]);
if (_ec)
{
diff --git a/boost/process/detail/posix/wait_for_exit.hpp b/boost/process/detail/posix/wait_for_exit.hpp
index 9c40af1624..4e734322d2 100644
--- a/boost/process/detail/posix/wait_for_exit.hpp
+++ b/boost/process/detail/posix/wait_for_exit.hpp
@@ -28,7 +28,8 @@ inline void wait(const child_handle &p, int & exit_code, std::error_code &ec) no
{
ret = ::waitpid(p.pid, &status, 0);
}
- while (((ret == -1) && (errno == EINTR)) || (ret != -1 && !WIFEXITED(status) && !WIFSIGNALED(status)));
+ while (((ret == -1) && (errno == EINTR)) ||
+ (ret != -1 && !WIFEXITED(status) && !WIFSIGNALED(status)));
if (ret == -1)
ec = boost::process::detail::get_last_error();
@@ -53,14 +54,43 @@ inline bool wait_until(
const std::chrono::time_point<Clock, Duration>& time_out,
std::error_code & ec) noexcept
{
+
+ ::sigset_t sigset;
+
+ ::sigemptyset(&sigset);
+ ::sigaddset(&sigset, SIGCHLD);
+
+ auto get_timespec =
+ [](const Duration & dur)
+ {
+ ::timespec ts;
+ ts.tv_sec = std::chrono::duration_cast<std::chrono::seconds>(dur).count();
+ ts.tv_nsec = std::chrono::duration_cast<std::chrono::nanoseconds>(dur).count() % 1000000000;
+ return ts;
+ };
+
pid_t ret;
int status;
+ struct ::sigaction old_sig;
+ if (-1 == ::sigaction(SIGCHLD, nullptr, &old_sig))
+ {
+ ec = get_last_error();
+ return false;
+ }
+
bool timed_out;
do
{
+ auto ts = get_timespec(time_out - Clock::now());
+ auto ret_sig = ::sigtimedwait(&sigset, nullptr, &ts);
+ errno = 0;
ret = ::waitpid(p.pid, &status, WNOHANG);
+
+ if ((ret_sig == SIGCHLD) && (old_sig.sa_handler != SIG_DFL) && (old_sig.sa_handler != SIG_IGN))
+ old_sig.sa_handler(ret);
+
if (ret == 0)
{
timed_out = Clock::now() >= time_out;
diff --git a/boost/process/detail/posix/wait_group.hpp b/boost/process/detail/posix/wait_group.hpp
index 024d9003b9..ff2fe6d30d 100644
--- a/boost/process/detail/posix/wait_group.hpp
+++ b/boost/process/detail/posix/wait_group.hpp
@@ -22,15 +22,23 @@ namespace boost { namespace process { namespace detail { namespace posix {
inline void wait(const group_handle &p, std::error_code &ec) noexcept
{
pid_t ret;
- int status;
+ siginfo_t status;
do
{
- ret = ::waitpid(-p.grp, &status, 0);
- }
- while (((ret == -1) && (errno == EINTR)) || (ret != -1 && !WIFEXITED(status) && !WIFSIGNALED(status)));
+ ret = ::waitpid(-p.grp, &status.si_status, 0);
+ if (ret == -1)
+ {
+ ec = get_last_error();
+ return;
+ }
- if (ret == -1)
+ //ECHILD --> no child processes left.
+ ret = ::waitid(P_PGID, p.grp, &status, WEXITED | WNOHANG);
+ }
+ while ((ret != -1) || (errno != ECHILD));
+
+ if (errno != ECHILD)
ec = boost::process::detail::get_last_error();
else
ec.clear();
@@ -49,31 +57,66 @@ inline bool wait_until(
const std::chrono::time_point<Clock, Duration>& time_out,
std::error_code & ec) noexcept
{
- pid_t ret;
- int status;
- bool timed_out;
+ ::sigset_t sigset;
+ ::siginfo_t siginfo;
+
+ ::sigemptyset(&sigset);
+ ::sigaddset(&sigset, SIGCHLD);
+
+ auto get_timespec =
+ [](const Duration & dur)
+ {
+ ::timespec ts;
+ ts.tv_sec = std::chrono::duration_cast<std::chrono::seconds>(dur).count();
+ ts.tv_nsec = std::chrono::duration_cast<std::chrono::nanoseconds>(dur).count() % 1000000000;
+ return ts;
+ };
+
+
+ bool timed_out = false;
+ int ret;
+
+ struct ::sigaction old_sig;
+ if (-1 == ::sigaction(SIGCHLD, nullptr, &old_sig))
+ {
+ ec = get_last_error();
+ return false;
+ }
do
{
- ret = ::waitpid(-p.grp, &status, WNOHANG);
- if (ret == 0)
+ auto ts = get_timespec(time_out - Clock::now());
+ ret = ::sigtimedwait(&sigset, nullptr, &ts);
+ errno = 0;
+ if ((ret == SIGCHLD) && (old_sig.sa_handler != SIG_DFL) && (old_sig.sa_handler != SIG_IGN))
+ old_sig.sa_handler(ret);
+
+ ret = ::waitpid(-p.grp, &siginfo.si_status, 0); //so in case it exited, we wanna reap it first
+ if (ret == -1)
{
- timed_out = Clock::now() >= time_out;
- if (timed_out)
- return false;
+ ec = get_last_error();
+ return false;
}
- }
- while ((ret == 0) ||
- (((ret == -1) && errno == EINTR) ||
- ((ret != -1) && !WIFEXITED(status) && !WIFSIGNALED(status))));
- if (ret == -1)
+
+ //check if we're done
+ ret = ::waitid(P_PGID, p.grp, &siginfo, WEXITED | WNOHANG);
+
+ }
+ while (((ret != -1) || (errno != ECHILD)) && !(timed_out = (Clock::now() > time_out))) ;
+
+ if (errno != ECHILD)
+ {
ec = boost::process::detail::get_last_error();
+ return !timed_out;
+ }
else
+ {
ec.clear();
+ return true; //even if timed out, there are no child proccessess left
+ }
- return true;
}
template< class Clock, class Duration >
diff --git a/boost/process/detail/windows/executor.hpp b/boost/process/detail/windows/executor.hpp
index bc52cbb5fe..6321b619c7 100644
--- a/boost/process/detail/windows/executor.hpp
+++ b/boost/process/detail/windows/executor.hpp
@@ -84,7 +84,7 @@ struct startup_info_impl
void set_startup_info_ex()
{
startup_info.cb = sizeof(startup_info_ex_t);
- creation_flags = ::boost::winapi::EXTENDED_STARTUPINFO_PRESENT_;
+ creation_flags |= ::boost::winapi::EXTENDED_STARTUPINFO_PRESENT_;
}
};
diff --git a/boost/process/detail/windows/group_handle.hpp b/boost/process/detail/windows/group_handle.hpp
index 42b0a9280d..b3f7143c6d 100644
--- a/boost/process/detail/windows/group_handle.hpp
+++ b/boost/process/detail/windows/group_handle.hpp
@@ -84,22 +84,37 @@ inline void enable_break_away(::boost::winapi::HANDLE_ h, std::error_code & ec)
ec = get_last_error();
return;
}
+}
+inline void associate_completion_port(::boost::winapi::HANDLE_ job,
+ ::boost::winapi::HANDLE_ io_port)
+{
+ workaround::JOBOBJECT_ASSOCIATE_COMPLETION_PORT_ port;
+ port.CompletionKey = job;
+ port.CompletionPort = io_port;
+ if (!workaround::set_information_job_object(
+ job,
+ workaround::JobObjectAssociateCompletionPortInformation_,
+ static_cast<void*>(&port),
+ sizeof(port)))
+ throw_last_error("SetInformationJobObject() failed");
}
-
struct group_handle
{
::boost::winapi::HANDLE_ _job_object;
+ ::boost::winapi::HANDLE_ _io_port;
typedef ::boost::winapi::HANDLE_ handle_t;
handle_t handle() const { return _job_object; }
explicit group_handle(handle_t h) :
- _job_object(h)
+ _job_object(h),
+ _io_port(::CreateIoCompletionPort(::boost::winapi::INVALID_HANDLE_VALUE_, nullptr, 0, 1))
{
enable_break_away(_job_object);
+ associate_completion_port(_job_object, _io_port);
}
@@ -110,15 +125,21 @@ struct group_handle
~group_handle()
{
::boost::winapi::CloseHandle(_job_object);
+ ::boost::winapi::CloseHandle(_io_port);
}
group_handle(const group_handle & c) = delete;
- group_handle(group_handle && c) : _job_object(c._job_object)
+ group_handle(group_handle && c) : _job_object(c._job_object),
+ _io_port(c._io_port)
{
c._job_object = ::boost::winapi::invalid_handle_value;
+ c._io_port = ::boost::winapi::invalid_handle_value;
}
group_handle &operator=(const group_handle & c) = delete;
group_handle &operator=(group_handle && c)
{
+ ::boost::winapi::CloseHandle(_io_port);
+ _io_port = c._io_port;
+ c._io_port = ::boost::winapi::invalid_handle_value;
::boost::winapi::CloseHandle(_job_object);
_job_object = c._job_object;
diff --git a/boost/process/detail/windows/job_workaround.hpp b/boost/process/detail/windows/job_workaround.hpp
index 574e406609..3f15d1c195 100644
--- a/boost/process/detail/windows/job_workaround.hpp
+++ b/boost/process/detail/windows/job_workaround.hpp
@@ -9,68 +9,184 @@
#include <boost/winapi/config.hpp>
#include <boost/winapi/basic_types.hpp>
#include <boost/winapi/dll.hpp>
+#include <boost/winapi/overlapped.hpp>
+#if defined( BOOST_USE_WINDOWS_H )
+#include <windows.h>
+#else
+extern "C"
+{
+BOOST_SYMBOL_IMPORT ::boost::winapi::HANDLE_ BOOST_WINAPI_WINAPI_CC CreateIoCompletionPort(
+ ::boost::winapi::HANDLE_ FileHandle,
+ ::boost::winapi::HANDLE_ ExistingCompletionPort,
+ ::boost::winapi::ULONG_PTR_ CompletionKey,
+ ::boost::winapi::DWORD_ NumberOfConcurrentThreads
+);
+
+BOOST_SYMBOL_IMPORT ::boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC GetQueuedCompletionStatus(
+ ::boost::winapi::HANDLE_ CompletionPort,
+ ::boost::winapi::LPDWORD_ lpNumberOfBytes,
+ ::boost::winapi::ULONG_PTR_ *lpCompletionKey,
+ _OVERLAPPED **lpOverlapped,
+ ::boost::winapi::DWORD_ dwMilliseconds
+);
+
+}
+#endif
namespace boost { namespace process { namespace detail { namespace windows { namespace workaround {
+extern "C"
+{
+
+struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT_
+{
+ ::boost::winapi::PVOID_ CompletionKey;
+ ::boost::winapi::HANDLE_ CompletionPort;
+};
+
+constexpr static int JOB_OBJECT_MSG_END_OF_JOB_TIME_ = 1;
+constexpr static int JOB_OBJECT_MSG_END_OF_PROCESS_TIME_ = 2;
+constexpr static int JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT_ = 3;
+constexpr static int JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO_ = 4;
+constexpr static int JOB_OBJECT_MSG_NEW_PROCESS_ = 6;
+constexpr static int JOB_OBJECT_MSG_EXIT_PROCESS_ = 7;
+constexpr static int JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS_ = 8;
+constexpr static int JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT_ = 9;
+constexpr static int JOB_OBJECT_MSG_JOB_MEMORY_LIMIT_ = 10;
+constexpr static int JOB_OBJECT_MSG_NOTIFICATION_LIMIT_ = 11;
+constexpr static int JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT_ = 12;
+constexpr static int JOB_OBJECT_MSG_SILO_TERMINATED_ = 13;
+
+}
+
+BOOST_FORCEINLINE ::boost::winapi::BOOL_ get_queued_completion_status(
+ ::boost::winapi::HANDLE_ CompletionPort,
+ ::boost::winapi::LPDWORD_ lpNumberOfBytes,
+ ::boost::winapi::ULONG_PTR_ *lpCompletionKey,
+ ::boost::winapi::LPOVERLAPPED_ *lpOverlapped,
+ ::boost::winapi::DWORD_ dwMilliseconds)
+{
+ return ::GetQueuedCompletionStatus(
+ CompletionPort,
+ lpNumberOfBytes,
+ lpCompletionKey,
+ reinterpret_cast<::_OVERLAPPED**>(lpOverlapped),
+ dwMilliseconds);
+}
+
+#if defined( BOOST_USE_WINDOWS_H )
+
+constexpr auto static JobObjectExtendedLimitInformation_ = ::JobObjectExtendedLimitInformation;
+constexpr auto static JobObjectAssociateCompletionPortInformation_ = ::JobObjectAssociateCompletionPortInformation;
+constexpr auto static JobObjectBasicAccountingInformation_ = ::JobObjectBasicAccountingInformation;
+
+using JOBOBJECT_BASIC_LIMIT_INFORMATION_ = ::JOBOBJECT_BASIC_LIMIT_INFORMATION;
+using JOBOBJECTINFOCLASS_ = ::JOBOBJECTINFOCLASS;
+using IO_COUNTERS_ = ::IO_COUNTERS;
+using JOBOBJECT_EXTENDED_LIMIT_INFORMATION_ = ::JOBOBJECT_EXTENDED_LIMIT_INFORMATION;
+using JOBOBJECT_BASIC_ACCOUNTING_INFORMATION_ = ::JOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
+
+inline ::boost::winapi::BOOL_ query_information_job_object(
+ ::boost::winapi::HANDLE_ hJob,
+ JOBOBJECTINFOCLASS_ JobObjectInfoClass,
+ void * lpJobObjectInfo,
+ ::boost::winapi::DWORD_ cbJobObjectInfoLength,
+ ::boost::winapi::DWORD_ *lpReturnLength)
+{
+ return ::QueryInformationJobObject(hJob, JobObjectInfoClass, lpJobObjectInfo, cbJobObjectInfoLength, lpReturnLength);
+}
+
+inline ::boost::winapi::BOOL_ set_information_job_object(
+ ::boost::winapi::HANDLE_ hJob,
+ JOBOBJECTINFOCLASS_ JobObjectInfoClass,
+ void * lpJobObjectInfo,
+ ::boost::winapi::DWORD_ cbJobObjectInfoLength)
+{
+ return ::SetInformationJobObject(hJob, JobObjectInfoClass, lpJobObjectInfo, cbJobObjectInfoLength);
+}
+
+
+#else
+
//this import workaround is to keep it a header-only library. and enums cannot be imported from the winapi.
extern "C"
{
-typedef enum _JOBOBJECTINFOCLASS_ {
- JobObjectBasicAccountingInformation_ = 1, JobObjectBasicLimitInformation_,
- JobObjectBasicProcessIdList_, JobObjectBasicUIRestrictions_,
- JobObjectSecurityLimitInformation_, JobObjectEndOfJobTimeInformation_,
- JobObjectAssociateCompletionPortInformation_, JobObjectBasicAndIoAccountingInformation_,
- JobObjectExtendedLimitInformation_, JobObjectJobSetInformation_,
- JobObjectGroupInformation_,
- JobObjectNotificationLimitInformation_,
- JobObjectLimitViolationInformation_,
- JobObjectGroupInformationEx_,
- JobObjectCpuRateControlInformation_,
- JobObjectCompletionFilter_,
- JobObjectCompletionCounter_,
- JobObjectReserved1Information_ = 18,
- JobObjectReserved2Information_,
- JobObjectReserved3Information_,
- JobObjectReserved4Information_,
- JobObjectReserved5Information_,
- JobObjectReserved6Information_,
- JobObjectReserved7Information_,
- JobObjectReserved8Information_,
- MaxJobObjectInfoClass_
- } JOBOBJECTINFOCLASS_;
-
-typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION_ {
- ::boost::winapi::LARGE_INTEGER_ PerProcessUserTimeLimit;
- ::boost::winapi::LARGE_INTEGER_ PerJobUserTimeLimit;
- ::boost::winapi::DWORD_ LimitFlags;
- ::boost::winapi::SIZE_T_ MinimumWorkingSetSize;
- ::boost::winapi::SIZE_T_ MaximumWorkingSetSize;
- ::boost::winapi::DWORD_ ActiveProcessLimit;
- ::boost::winapi::ULONG_PTR_ Affinity;
- ::boost::winapi::DWORD_ PriorityClass;
- ::boost::winapi::DWORD_ SchedulingClass;
+typedef enum _JOBOBJECTINFOCLASS_
+{
+ JobObjectBasicAccountingInformation_ = 1,
+ JobObjectBasicLimitInformation_,
+ JobObjectBasicProcessIdList_,
+ JobObjectBasicUIRestrictions_,
+ JobObjectSecurityLimitInformation_,
+ JobObjectEndOfJobTimeInformation_,
+ JobObjectAssociateCompletionPortInformation_,
+ JobObjectBasicAndIoAccountingInformation_,
+ JobObjectExtendedLimitInformation_,
+ JobObjectJobSetInformation_,
+ JobObjectGroupInformation_,
+ JobObjectNotificationLimitInformation_,
+ JobObjectLimitViolationInformation_,
+ JobObjectGroupInformationEx_,
+ JobObjectCpuRateControlInformation_,
+ JobObjectCompletionFilter_,
+ JobObjectCompletionCounter_,
+ JobObjectReserved1Information_ = 18,
+ JobObjectReserved2Information_,
+ JobObjectReserved3Information_,
+ JobObjectReserved4Information_,
+ JobObjectReserved5Information_,
+ JobObjectReserved6Information_,
+ JobObjectReserved7Information_,
+ JobObjectReserved8Information_,
+ MaxJobObjectInfoClass_
+} JOBOBJECTINFOCLASS_;
+
+typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION_
+{
+ ::boost::winapi::LARGE_INTEGER_ PerProcessUserTimeLimit;
+ ::boost::winapi::LARGE_INTEGER_ PerJobUserTimeLimit;
+ ::boost::winapi::DWORD_ LimitFlags;
+ ::boost::winapi::SIZE_T_ MinimumWorkingSetSize;
+ ::boost::winapi::SIZE_T_ MaximumWorkingSetSize;
+ ::boost::winapi::DWORD_ ActiveProcessLimit;
+ ::boost::winapi::ULONG_PTR_ Affinity;
+ ::boost::winapi::DWORD_ PriorityClass;
+ ::boost::winapi::DWORD_ SchedulingClass;
} JOBOBJECT_BASIC_LIMIT_INFORMATION_;
-typedef struct _IO_COUNTERS_ {
- ::boost::winapi::ULONGLONG_ ReadOperationCount;
- ::boost::winapi::ULONGLONG_ WriteOperationCount;
- ::boost::winapi::ULONGLONG_ OtherOperationCount;
- ::boost::winapi::ULONGLONG_ ReadTransferCount;
- ::boost::winapi::ULONGLONG_ WriteTransferCount;
- ::boost::winapi::ULONGLONG_ OtherTransferCount;
+typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION_ {
+ ::boost::winapi::LARGE_INTEGER_ TotalUserTime;
+ ::boost::winapi::LARGE_INTEGER_ TotalKernelTime;
+ ::boost::winapi::LARGE_INTEGER_ ThisPeriodTotalUserTime;
+ ::boost::winapi::LARGE_INTEGER_ ThisPeriodTotalKernelTime;
+ ::boost::winapi::DWORD_ TotalPageFaultCount;
+ ::boost::winapi::DWORD_ TotalProcesses;
+ ::boost::winapi::DWORD_ ActiveProcesses;
+ ::boost::winapi::DWORD_ TotalTerminatedProcesses;
+} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION_;
+
+typedef struct _IO_COUNTERS_
+{
+ ::boost::winapi::ULONGLONG_ ReadOperationCount;
+ ::boost::winapi::ULONGLONG_ WriteOperationCount;
+ ::boost::winapi::ULONGLONG_ OtherOperationCount;
+ ::boost::winapi::ULONGLONG_ ReadTransferCount;
+ ::boost::winapi::ULONGLONG_ WriteTransferCount;
+ ::boost::winapi::ULONGLONG_ OtherTransferCount;
} IO_COUNTERS_;
-typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION_ {
- JOBOBJECT_BASIC_LIMIT_INFORMATION_ BasicLimitInformation;
- IO_COUNTERS_ IoInfo;
- ::boost::winapi::SIZE_T_ ProcessMemoryLimit;
- ::boost::winapi::SIZE_T_ JobMemoryLimit;
- ::boost::winapi::SIZE_T_ PeakProcessMemoryUsed;
- ::boost::winapi::SIZE_T_ PeakJobMemoryUsed;
+typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION_
+{
+ JOBOBJECT_BASIC_LIMIT_INFORMATION_ BasicLimitInformation;
+ IO_COUNTERS_ IoInfo;
+ ::boost::winapi::SIZE_T_ ProcessMemoryLimit;
+ ::boost::winapi::SIZE_T_ JobMemoryLimit;
+ ::boost::winapi::SIZE_T_ PeakProcessMemoryUsed;
+ ::boost::winapi::SIZE_T_ PeakJobMemoryUsed;
} JOBOBJECT_EXTENDED_LIMIT_INFORMATION_;
@@ -82,7 +198,7 @@ typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION_ {
_Out_opt_ LPDWORD lpReturnLength
);
*/
-typedef ::boost::winapi::BOOL_ (*query_information_job_object_p)(
+typedef ::boost::winapi::BOOL_ (BOOST_WINAPI_WINAPI_CC *query_information_job_object_p)(
::boost::winapi::HANDLE_,
JOBOBJECTINFOCLASS_,
void *,
@@ -93,14 +209,17 @@ typedef ::boost::winapi::BOOL_ (*query_information_job_object_p)(
inline ::boost::winapi::BOOL_ query_information_job_object(
::boost::winapi::HANDLE_ hJob,
JOBOBJECTINFOCLASS_ JobObjectInfoClass,
- void * lpJobObjectInfo,
+ void *lpJobObjectInfo,
::boost::winapi::DWORD_ cbJobObjectInfoLength,
::boost::winapi::DWORD_ *lpReturnLength)
{
- static ::boost::winapi::HMODULE_ h = ::boost::winapi::get_module_handle(L"Kernel32.dll");
- static query_information_job_object_p f = reinterpret_cast<query_information_job_object_p>(::boost::winapi::get_proc_address(h, "QueryInformationJobObject"));
+ static ::boost::winapi::HMODULE_ h = ::boost::winapi::get_module_handle(
+ L"Kernel32.dll");
+ static query_information_job_object_p f = reinterpret_cast<query_information_job_object_p>(::boost::winapi::get_proc_address(
+ h, "QueryInformationJobObject"));
- return (*f)(hJob, JobObjectInfoClass, lpJobObjectInfo, cbJobObjectInfoLength, lpReturnLength);
+ return (*f)(hJob, JobObjectInfoClass, lpJobObjectInfo,
+ cbJobObjectInfoLength, lpReturnLength);
}
/*BOOL WINAPI SetInformationJobObject(
@@ -110,7 +229,7 @@ inline ::boost::winapi::BOOL_ query_information_job_object(
_In_ DWORD cbJobObjectInfoLength
);*/
-typedef ::boost::winapi::BOOL_ (*set_information_job_object_p)(
+typedef ::boost::winapi::BOOL_ (BOOST_WINAPI_WINAPI_CC *set_information_job_object_p)(
::boost::winapi::HANDLE_,
JOBOBJECTINFOCLASS_,
void *,
@@ -121,19 +240,22 @@ typedef ::boost::winapi::BOOL_ (*set_information_job_object_p)(
inline ::boost::winapi::BOOL_ set_information_job_object(
::boost::winapi::HANDLE_ hJob,
JOBOBJECTINFOCLASS_ JobObjectInfoClass,
- void * lpJobObjectInfo,
+ void *lpJobObjectInfo,
::boost::winapi::DWORD_ cbJobObjectInfoLength)
{
- static ::boost::winapi::HMODULE_ h = ::boost::winapi::get_module_handle(L"Kernel32.dll");
- static set_information_job_object_p f = reinterpret_cast<set_information_job_object_p>(::boost::winapi::get_proc_address(h, "SetInformationJobObject"));
+ static ::boost::winapi::HMODULE_ h = ::boost::winapi::get_module_handle(
+ L"Kernel32.dll");
+ static set_information_job_object_p f = reinterpret_cast<set_information_job_object_p>(::boost::winapi::get_proc_address(
+ h, "SetInformationJobObject"));
- return (*f)(hJob, JobObjectInfoClass, lpJobObjectInfo, cbJobObjectInfoLength);
+ return (*f)(hJob, JobObjectInfoClass, lpJobObjectInfo,
+ cbJobObjectInfoLength);
}
+#endif
+
constexpr static ::boost::winapi::DWORD_ JOB_OBJECT_LIMIT_BREAKAWAY_OK_ = 0x00000800;
}}}}}
-
-
#endif /* BOOST_PROCESS_DETAIL_WINDOWS_JOB_WORKAROUND_HPP_ */
diff --git a/boost/process/detail/windows/wait_group.hpp b/boost/process/detail/windows/wait_group.hpp
index 32a8cd8842..6dca466d83 100644
--- a/boost/process/detail/windows/wait_group.hpp
+++ b/boost/process/detail/windows/wait_group.hpp
@@ -7,6 +7,7 @@
#define BOOST_PROCESS_DETAIL_WINDOWS_WAIT_GROUP_HPP_
#include <boost/process/detail/config.hpp>
+#include <boost/process/detail/windows/group_handle.hpp>
#include <boost/winapi/jobs.hpp>
#include <boost/winapi/wait.hpp>
#include <chrono>
@@ -15,11 +16,61 @@ namespace boost { namespace process { namespace detail { namespace windows {
struct group_handle;
+
+inline bool wait_impl(const group_handle & p, std::error_code & ec, int wait_time)
+{
+ ::boost::winapi::DWORD_ completion_code;
+ ::boost::winapi::ULONG_PTR_ completion_key;
+ ::boost::winapi::LPOVERLAPPED_ overlapped;
+
+ auto start_time = std::chrono::system_clock::now();
+
+ while (workaround::get_queued_completion_status(
+ p._io_port, &completion_code,
+ &completion_key, &overlapped, wait_time))
+ {
+ if (reinterpret_cast<::boost::winapi::HANDLE_>(completion_key) == p._job_object &&
+ completion_code == workaround::JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO_)
+ {
+
+ //double check, could be a different handle from a child
+ workaround::JOBOBJECT_BASIC_ACCOUNTING_INFORMATION_ info;
+ if (!workaround::query_information_job_object(
+ p._job_object,
+ workaround::JobObjectBasicAccountingInformation_,
+ static_cast<void *>(&info),
+ sizeof(info), nullptr))
+ {
+ ec = get_last_error();
+ return false;
+ }
+ else if (info.ActiveProcesses == 0)
+ return false; //correct, nothing left.
+ }
+ //reduce the remaining wait time -> in case interrupted by something else
+ if (wait_time != ::boost::winapi::infinite)
+ {
+ auto now = std::chrono::system_clock::now();
+ auto diff = std::chrono::duration_cast<std::chrono::milliseconds>(now - start_time);
+ wait_time -= diff.count();
+ start_time = now;
+ if (wait_time <= 0)
+ return true; //timeout with other source
+ }
+
+ }
+
+ auto ec_ = get_last_error();
+ if (ec_.value() == ::boost::winapi::wait_timeout)
+ return true; //timeout
+
+ ec = ec_;
+ return false;
+}
+
inline void wait(const group_handle &p, std::error_code &ec)
{
- if (::boost::winapi::WaitForSingleObject(p.handle(),
- ::boost::winapi::infinite) == ::boost::winapi::wait_failed)
- ec = get_last_error();
+ wait_impl(p, ec, ::boost::winapi::infinite);
}
inline void wait(const group_handle &p)
@@ -39,16 +90,8 @@ inline bool wait_until(
std::chrono::duration_cast<std::chrono::milliseconds>(
timeout_time - Clock::now());
- ::boost::winapi::DWORD_ wait_code;
- wait_code = ::boost::winapi::WaitForSingleObject(p.handle(), ms.count());
-
- if (wait_code == ::boost::winapi::wait_failed)
- ec = get_last_error();
-
- else if (wait_code == ::boost::winapi::wait_timeout)
- return false; //
-
- return true;
+ auto timeout = wait_impl(p, ec, ms.count());
+ return !ec && !timeout;
}
template< class Clock, class Duration >
@@ -68,7 +111,9 @@ inline bool wait_for(
const std::chrono::duration<Rep, Period>& rel_time,
std::error_code &ec)
{
- return wait_until(p, std::chrono::steady_clock::now() + rel_time, ec);
+ auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(rel_time);
+ auto timeout = wait_impl(p, ec, ms.count());
+ return !ec && !timeout;
}
template< class Rep, class Period >
diff --git a/boost/process/system.hpp b/boost/process/system.hpp
index 5ed7633233..185edca0d2 100644
--- a/boost/process/system.hpp
+++ b/boost/process/system.hpp
@@ -85,6 +85,8 @@ inline int system_impl(
return -1;
ios.run();
+ if (c.running())
+ c.wait();
return c.exit_code();
}
diff --git a/boost/property_map/property_map.hpp b/boost/property_map/property_map.hpp
index cd6dd5579c..5c9fb11c99 100644
--- a/boost/property_map/property_map.hpp
+++ b/boost/property_map/property_map.hpp
@@ -20,6 +20,7 @@
#include <boost/concept_check.hpp>
#include <boost/concept_archetype.hpp>
#include <boost/mpl/assert.hpp>
+#include <boost/mpl/if.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/has_xxx.hpp>
diff --git a/boost/qvm/all.hpp b/boost/qvm/all.hpp
index 73e8b81f27..62f779ed9d 100644
--- a/boost/qvm/all.hpp
+++ b/boost/qvm/all.hpp
@@ -1,32 +1,32 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_BE94EA1A31B211E0BBF943CFDFD72085
-#define UUID_BE94EA1A31B211E0BBF943CFDFD72085
-
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/mat_operations.hpp>
-#include <boost/qvm/mat_access.hpp>
-#include <boost/qvm/mat_traits_defaults.hpp>
-#include <boost/qvm/mat_traits_array.hpp>
-#include <boost/qvm/map.hpp>
-#include <boost/qvm/mat.hpp>
-#include <boost/qvm/math.hpp>
-#include <boost/qvm/quat_operations.hpp>
-#include <boost/qvm/quat_access.hpp>
-#include <boost/qvm/quat_traits_defaults.hpp>
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/quat.hpp>
-#include <boost/qvm/quat_vec_operations.hpp>
-#include <boost/qvm/swizzle.hpp>
-#include <boost/qvm/vec_operations.hpp>
-#include <boost/qvm/vec_access.hpp>
-#include <boost/qvm/vec_traits_defaults.hpp>
-#include <boost/qvm/vec_traits_array.hpp>
-#include <boost/qvm/vec.hpp>
-#include <boost/qvm/vec_mat_operations.hpp>
-#include <boost/qvm/to_string.hpp>
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_BE94EA1A31B211E0BBF943CFDFD72085
+#define UUID_BE94EA1A31B211E0BBF943CFDFD72085
+
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/mat_operations.hpp>
+#include <boost/qvm/mat_access.hpp>
+#include <boost/qvm/mat_traits_defaults.hpp>
+#include <boost/qvm/mat_traits_array.hpp>
+#include <boost/qvm/map.hpp>
+#include <boost/qvm/mat.hpp>
+#include <boost/qvm/math.hpp>
+#include <boost/qvm/quat_operations.hpp>
+#include <boost/qvm/quat_access.hpp>
+#include <boost/qvm/quat_traits_defaults.hpp>
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/quat.hpp>
+#include <boost/qvm/quat_vec_operations.hpp>
+#include <boost/qvm/swizzle.hpp>
+#include <boost/qvm/vec_operations.hpp>
+#include <boost/qvm/vec_access.hpp>
+#include <boost/qvm/vec_traits_defaults.hpp>
+#include <boost/qvm/vec_traits_array.hpp>
+#include <boost/qvm/vec.hpp>
+#include <boost/qvm/vec_mat_operations.hpp>
+#include <boost/qvm/to_string.hpp>
+
+#endif
diff --git a/boost/qvm/assert.hpp b/boost/qvm/assert.hpp
index ef7826fbeb..116ab92c51 100644
--- a/boost/qvm/assert.hpp
+++ b/boost/qvm/assert.hpp
@@ -1,9 +1,9 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_ASSERT
-#include <boost/assert.hpp>
-#define BOOST_QVM_ASSERT BOOST_ASSERT
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_ASSERT
+#include <boost/assert.hpp>
+#define BOOST_QVM_ASSERT BOOST_ASSERT
+#endif
diff --git a/boost/qvm/deduce_mat.hpp b/boost/qvm/deduce_mat.hpp
index e2fb7a2127..c9b3ca3e00 100644
--- a/boost/qvm/deduce_mat.hpp
+++ b/boost/qvm/deduce_mat.hpp
@@ -1,90 +1,90 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_C5DC682E196211E0A4C1686BDFD72085
-#define UUID_C5DC682E196211E0A4C1686BDFD72085
-
-#include <boost/qvm/deduce_scalar.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int Rows,int Cols>
- struct mat;
-
- namespace
- qvm_detail
- {
- template <class M,int R,int C,
- int MR=mat_traits<M>::rows,
- int MC=mat_traits<M>::cols>
- struct
- deduce_mat_default
- {
- BOOST_QVM_STATIC_ASSERT(is_mat<M>::value);
- typedef mat<typename mat_traits<M>::scalar_type,R,C> type;
- };
-
- template <class M,int R,int C>
- struct
- deduce_mat_default<M,R,C,R,C>
- {
- BOOST_QVM_STATIC_ASSERT(is_mat<M>::value);
- typedef M type;
- };
- }
-
- template <class Type,int Rows=mat_traits<Type>::rows,int Cols=mat_traits<Type>::cols>
- struct
- deduce_mat
- {
- BOOST_QVM_STATIC_ASSERT(is_mat<Type>::value);
- typedef typename qvm_detail::deduce_mat_default<Type,Rows,Cols>::type type;
- };
-
- namespace
- qvm_detail
- {
- template <class A,class B,int R,int C,
- bool VA=is_mat<A>::value,
- bool VB=is_mat<B>::value,
- int AR=mat_traits<A>::rows,
- int AC=mat_traits<A>::cols,
- int BR=mat_traits<B>::rows,
- int BC=mat_traits<B>::cols>
- struct
- deduce_m2_default
- {
- typedef mat<
- typename deduce_scalar<
- typename scalar<A>::type,
- typename scalar<B>::type>::type,
- R,C> type;
- };
-
- template <class M,int R,int C>
- struct
- deduce_m2_default<M,M,R,C,true,true,R,C,R,C>
- {
- typedef M type;
- };
- }
-
- template <class A,class B,int R,int C>
- struct
- deduce_mat2
- {
- BOOST_QVM_STATIC_ASSERT(is_mat<A>::value || is_mat<B>::value);
- typedef typename qvm_detail::deduce_m2_default<A,B,R,C>::type type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_C5DC682E196211E0A4C1686BDFD72085
+#define UUID_C5DC682E196211E0A4C1686BDFD72085
+
+#include <boost/qvm/deduce_scalar.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int Rows,int Cols>
+ struct mat;
+
+ namespace
+ qvm_detail
+ {
+ template <class M,int R,int C,
+ int MR=mat_traits<M>::rows,
+ int MC=mat_traits<M>::cols>
+ struct
+ deduce_mat_default
+ {
+ BOOST_QVM_STATIC_ASSERT(is_mat<M>::value);
+ typedef mat<typename mat_traits<M>::scalar_type,R,C> type;
+ };
+
+ template <class M,int R,int C>
+ struct
+ deduce_mat_default<M,R,C,R,C>
+ {
+ BOOST_QVM_STATIC_ASSERT(is_mat<M>::value);
+ typedef M type;
+ };
+ }
+
+ template <class Type,int Rows=mat_traits<Type>::rows,int Cols=mat_traits<Type>::cols>
+ struct
+ deduce_mat
+ {
+ BOOST_QVM_STATIC_ASSERT(is_mat<Type>::value);
+ typedef typename qvm_detail::deduce_mat_default<Type,Rows,Cols>::type type;
+ };
+
+ namespace
+ qvm_detail
+ {
+ template <class A,class B,int R,int C,
+ bool VA=is_mat<A>::value,
+ bool VB=is_mat<B>::value,
+ int AR=mat_traits<A>::rows,
+ int AC=mat_traits<A>::cols,
+ int BR=mat_traits<B>::rows,
+ int BC=mat_traits<B>::cols>
+ struct
+ deduce_m2_default
+ {
+ typedef mat<
+ typename deduce_scalar<
+ typename scalar<A>::type,
+ typename scalar<B>::type>::type,
+ R,C> type;
+ };
+
+ template <class M,int R,int C>
+ struct
+ deduce_m2_default<M,M,R,C,true,true,R,C,R,C>
+ {
+ typedef M type;
+ };
+ }
+
+ template <class A,class B,int R,int C>
+ struct
+ deduce_mat2
+ {
+ BOOST_QVM_STATIC_ASSERT(is_mat<A>::value || is_mat<B>::value);
+ typedef typename qvm_detail::deduce_m2_default<A,B,R,C>::type type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/deduce_quat.hpp b/boost/qvm/deduce_quat.hpp
index 6235f1f517..33481ce49c 100644
--- a/boost/qvm/deduce_quat.hpp
+++ b/boost/qvm/deduce_quat.hpp
@@ -1,63 +1,63 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_435FA7E8196311E0A176DE6BDFD72085
-#define UUID_435FA7E8196311E0A176DE6BDFD72085
-
-#include <boost/qvm/deduce_scalar.hpp>
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T>
- struct quat;
-
- template <class Q>
- struct
- deduce_quat
- {
- BOOST_QVM_STATIC_ASSERT(is_quat<Q>::value);
- typedef Q type;
- };
-
- namespace
- qvm_detail
- {
- template <class A,class B,
- bool QA=is_quat<A>::value,
- bool QB=is_quat<B>::value>
- struct
- deduce_quat2_default
- {
- typedef quat<
- typename deduce_scalar<
- typename scalar<A>::type,
- typename scalar<B>::type>::type> type;
- };
-
- template <class Q>
- struct
- deduce_quat2_default<Q,Q,true,true>
- {
- typedef Q type;
- };
- }
-
- template <class A,class B>
- struct
- deduce_quat2
- {
- BOOST_QVM_STATIC_ASSERT(is_quat<A>::value || is_quat<B>::value);
- typedef typename qvm_detail::deduce_quat2_default<A,B>::type type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_435FA7E8196311E0A176DE6BDFD72085
+#define UUID_435FA7E8196311E0A176DE6BDFD72085
+
+#include <boost/qvm/deduce_scalar.hpp>
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T>
+ struct quat;
+
+ template <class Q>
+ struct
+ deduce_quat
+ {
+ BOOST_QVM_STATIC_ASSERT(is_quat<Q>::value);
+ typedef Q type;
+ };
+
+ namespace
+ qvm_detail
+ {
+ template <class A,class B,
+ bool QA=is_quat<A>::value,
+ bool QB=is_quat<B>::value>
+ struct
+ deduce_quat2_default
+ {
+ typedef quat<
+ typename deduce_scalar<
+ typename scalar<A>::type,
+ typename scalar<B>::type>::type> type;
+ };
+
+ template <class Q>
+ struct
+ deduce_quat2_default<Q,Q,true,true>
+ {
+ typedef Q type;
+ };
+ }
+
+ template <class A,class B>
+ struct
+ deduce_quat2
+ {
+ BOOST_QVM_STATIC_ASSERT(is_quat<A>::value || is_quat<B>::value);
+ typedef typename qvm_detail::deduce_quat2_default<A,B>::type type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/deduce_scalar.hpp b/boost/qvm/deduce_scalar.hpp
index 010af34043..5039338712 100644
--- a/boost/qvm/deduce_scalar.hpp
+++ b/boost/qvm/deduce_scalar.hpp
@@ -1,131 +1,131 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_F20566FC196311E0B99D606CDFD72085
-#define UUID_F20566FC196311E0B99D606CDFD72085
-
-#include <boost/qvm/scalar_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- deduce_scalar_detail
- {
- template <class A,class B> struct deduce_scalar_impl { };
-
- template <class T>
- struct
- deduce_scalar_impl<T,T>
- {
- typedef T type;
- };
-
- template <> struct deduce_scalar_impl<signed char,unsigned char> { typedef unsigned char type; };
- template <> struct deduce_scalar_impl<signed char,unsigned short> { typedef unsigned short type; };
- template <> struct deduce_scalar_impl<signed char,unsigned int> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<signed char,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed char,signed short> { typedef signed short type; };
- template <> struct deduce_scalar_impl<signed char,signed int> { typedef signed int type; };
- template <> struct deduce_scalar_impl<signed char,signed long> { typedef signed long type; };
- template <> struct deduce_scalar_impl<signed char,float> { typedef float type; };
- template <> struct deduce_scalar_impl<signed char,double> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned char,unsigned short> { typedef unsigned short type; };
- template <> struct deduce_scalar_impl<unsigned char,unsigned int> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned char,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<unsigned char,signed short> { typedef signed short type; };
- template <> struct deduce_scalar_impl<unsigned char,signed int> { typedef signed int type; };
- template <> struct deduce_scalar_impl<unsigned char,signed long> { typedef signed long type; };
- template <> struct deduce_scalar_impl<unsigned char,float> { typedef float type; };
- template <> struct deduce_scalar_impl<unsigned char,double> { typedef double type; };
- template <> struct deduce_scalar_impl<signed short,unsigned short> { typedef unsigned short type; };
- template <> struct deduce_scalar_impl<signed short,unsigned int> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<signed short,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed short,signed int> { typedef signed int type; };
- template <> struct deduce_scalar_impl<signed short,signed long> { typedef signed long type; };
- template <> struct deduce_scalar_impl<signed short,float> { typedef float type; };
- template <> struct deduce_scalar_impl<signed short,double> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned short,unsigned int> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned short,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<unsigned short,signed int> { typedef signed int type; };
- template <> struct deduce_scalar_impl<unsigned short,signed long> { typedef signed long type; };
- template <> struct deduce_scalar_impl<unsigned short,float> { typedef float type; };
- template <> struct deduce_scalar_impl<unsigned short,double> { typedef double type; };
- template <> struct deduce_scalar_impl<signed int,unsigned int> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<signed int,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed int,signed long> { typedef signed long type; };
- template <> struct deduce_scalar_impl<signed int,float> { typedef float type; };
- template <> struct deduce_scalar_impl<signed int,double> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned int,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<unsigned int,signed long> { typedef signed long type; };
- template <> struct deduce_scalar_impl<unsigned int,float> { typedef float type; };
- template <> struct deduce_scalar_impl<unsigned int,double> { typedef double type; };
- template <> struct deduce_scalar_impl<signed long,unsigned long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed long,float> { typedef float type; };
- template <> struct deduce_scalar_impl<signed long,double> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned long,float> { typedef float type; };
- template <> struct deduce_scalar_impl<unsigned long,double> { typedef double type; };
- template <> struct deduce_scalar_impl<float,double> { typedef double type; };
-
- template <> struct deduce_scalar_impl<unsigned char,signed char> { typedef unsigned char type; };
- template <> struct deduce_scalar_impl<unsigned short,signed char> { typedef unsigned short type; };
- template <> struct deduce_scalar_impl<unsigned int,signed char> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned long,signed char> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed short,signed char> { typedef signed short type; };
- template <> struct deduce_scalar_impl<signed int,signed char> { typedef signed int type; };
- template <> struct deduce_scalar_impl<signed long,signed char> { typedef signed long type; };
- template <> struct deduce_scalar_impl<float,signed char> { typedef float type; };
- template <> struct deduce_scalar_impl<double,signed char> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned short,unsigned char> { typedef unsigned short type; };
- template <> struct deduce_scalar_impl<unsigned int,unsigned char> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned long,unsigned char> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed short,unsigned char> { typedef signed short type; };
- template <> struct deduce_scalar_impl<signed int,unsigned char> { typedef signed int type; };
- template <> struct deduce_scalar_impl<signed long,unsigned char> { typedef signed long type; };
- template <> struct deduce_scalar_impl<float,unsigned char> { typedef float type; };
- template <> struct deduce_scalar_impl<double,unsigned char> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned short,signed short> { typedef unsigned short type; };
- template <> struct deduce_scalar_impl<unsigned int,signed short> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned long,signed short> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed int,signed short> { typedef signed int type; };
- template <> struct deduce_scalar_impl<signed long,signed short> { typedef signed long type; };
- template <> struct deduce_scalar_impl<float,signed short> { typedef float type; };
- template <> struct deduce_scalar_impl<double,signed short> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned int,unsigned short> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned long,unsigned short> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed int,unsigned short> { typedef signed int type; };
- template <> struct deduce_scalar_impl<signed long,unsigned short> { typedef signed long type; };
- template <> struct deduce_scalar_impl<float,unsigned short> { typedef float type; };
- template <> struct deduce_scalar_impl<double,unsigned short> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned int,signed int> { typedef unsigned int type; };
- template <> struct deduce_scalar_impl<unsigned long,signed int> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed long,signed int> { typedef signed long type; };
- template <> struct deduce_scalar_impl<float,signed int> { typedef float type; };
- template <> struct deduce_scalar_impl<double,signed int> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned long,unsigned int> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<signed long,unsigned int> { typedef signed long type; };
- template <> struct deduce_scalar_impl<float,unsigned int> { typedef float type; };
- template <> struct deduce_scalar_impl<double,unsigned int> { typedef double type; };
- template <> struct deduce_scalar_impl<unsigned long,signed long> { typedef unsigned long type; };
- template <> struct deduce_scalar_impl<float,signed long> { typedef float type; };
- template <> struct deduce_scalar_impl<double,signed long> { typedef double type; };
- template <> struct deduce_scalar_impl<float,unsigned long> { typedef float type; };
- template <> struct deduce_scalar_impl<double,unsigned long> { typedef double type; };
- template <> struct deduce_scalar_impl<double,float> { typedef double type; };
- }
-
- template <class A,class B>
- struct
- deduce_scalar
- {
- typedef typename deduce_scalar_detail::deduce_scalar_impl<A,B>::type type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_F20566FC196311E0B99D606CDFD72085
+#define UUID_F20566FC196311E0B99D606CDFD72085
+
+#include <boost/qvm/scalar_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ deduce_scalar_detail
+ {
+ template <class A,class B> struct deduce_scalar_impl { };
+
+ template <class T>
+ struct
+ deduce_scalar_impl<T,T>
+ {
+ typedef T type;
+ };
+
+ template <> struct deduce_scalar_impl<signed char,unsigned char> { typedef unsigned char type; };
+ template <> struct deduce_scalar_impl<signed char,unsigned short> { typedef unsigned short type; };
+ template <> struct deduce_scalar_impl<signed char,unsigned int> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<signed char,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed char,signed short> { typedef signed short type; };
+ template <> struct deduce_scalar_impl<signed char,signed int> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<signed char,signed long> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<signed char,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<signed char,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned char,unsigned short> { typedef unsigned short type; };
+ template <> struct deduce_scalar_impl<unsigned char,unsigned int> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned char,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<unsigned char,signed short> { typedef signed short type; };
+ template <> struct deduce_scalar_impl<unsigned char,signed int> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<unsigned char,signed long> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<unsigned char,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<unsigned char,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<signed short,unsigned short> { typedef unsigned short type; };
+ template <> struct deduce_scalar_impl<signed short,unsigned int> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<signed short,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed short,signed int> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<signed short,signed long> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<signed short,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<signed short,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned short,unsigned int> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned short,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<unsigned short,signed int> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<unsigned short,signed long> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<unsigned short,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<unsigned short,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<signed int,unsigned int> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<signed int,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed int,signed long> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<signed int,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<signed int,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned int,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<unsigned int,signed long> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<unsigned int,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<unsigned int,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<signed long,unsigned long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed long,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<signed long,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned long,float> { typedef float type; };
+ template <> struct deduce_scalar_impl<unsigned long,double> { typedef double type; };
+ template <> struct deduce_scalar_impl<float,double> { typedef double type; };
+
+ template <> struct deduce_scalar_impl<unsigned char,signed char> { typedef unsigned char type; };
+ template <> struct deduce_scalar_impl<unsigned short,signed char> { typedef unsigned short type; };
+ template <> struct deduce_scalar_impl<unsigned int,signed char> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned long,signed char> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed short,signed char> { typedef signed short type; };
+ template <> struct deduce_scalar_impl<signed int,signed char> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<signed long,signed char> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<float,signed char> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,signed char> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned short,unsigned char> { typedef unsigned short type; };
+ template <> struct deduce_scalar_impl<unsigned int,unsigned char> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned long,unsigned char> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed short,unsigned char> { typedef signed short type; };
+ template <> struct deduce_scalar_impl<signed int,unsigned char> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<signed long,unsigned char> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<float,unsigned char> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,unsigned char> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned short,signed short> { typedef unsigned short type; };
+ template <> struct deduce_scalar_impl<unsigned int,signed short> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned long,signed short> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed int,signed short> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<signed long,signed short> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<float,signed short> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,signed short> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned int,unsigned short> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned long,unsigned short> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed int,unsigned short> { typedef signed int type; };
+ template <> struct deduce_scalar_impl<signed long,unsigned short> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<float,unsigned short> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,unsigned short> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned int,signed int> { typedef unsigned int type; };
+ template <> struct deduce_scalar_impl<unsigned long,signed int> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed long,signed int> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<float,signed int> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,signed int> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned long,unsigned int> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<signed long,unsigned int> { typedef signed long type; };
+ template <> struct deduce_scalar_impl<float,unsigned int> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,unsigned int> { typedef double type; };
+ template <> struct deduce_scalar_impl<unsigned long,signed long> { typedef unsigned long type; };
+ template <> struct deduce_scalar_impl<float,signed long> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,signed long> { typedef double type; };
+ template <> struct deduce_scalar_impl<float,unsigned long> { typedef float type; };
+ template <> struct deduce_scalar_impl<double,unsigned long> { typedef double type; };
+ template <> struct deduce_scalar_impl<double,float> { typedef double type; };
+ }
+
+ template <class A,class B>
+ struct
+ deduce_scalar
+ {
+ typedef typename deduce_scalar_detail::deduce_scalar_impl<A,B>::type type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/deduce_vec.hpp b/boost/qvm/deduce_vec.hpp
index e15cf0eec3..d3d022e38d 100644
--- a/boost/qvm/deduce_vec.hpp
+++ b/boost/qvm/deduce_vec.hpp
@@ -1,85 +1,85 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_7E7AB138196311E0907B246CDFD72085
-#define UUID_7E7AB138196311E0907B246CDFD72085
-
-#include <boost/qvm/deduce_scalar.hpp>
-#include <boost/qvm/vec_traits.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int D>
- struct vec;
-
- namespace
- qvm_detail
- {
- template <class V,int D,
- int VD=vec_traits<V>::dim>
- struct
- deduce_vec_default
- {
- typedef vec<typename vec_traits<V>::scalar_type,D> type;
- };
-
- template <class V,int D>
- struct
- deduce_vec_default<V,D,D>
- {
- typedef V type;
- };
- }
-
- template <class V,int Dim=vec_traits<V>::dim>
- struct
- deduce_vec
- {
- BOOST_QVM_STATIC_ASSERT(is_vec<V>::value);
- typedef typename qvm_detail::deduce_vec_default<V,Dim>::type type;
- };
-
- namespace
- qvm_detail
- {
- template <class A,class B,int D,
- bool VA=is_vec<A>::value,
- bool VB=is_vec<B>::value,
- int AD=vec_traits<A>::dim,
- int BD=vec_traits<B>::dim>
- struct
- deduce_v2_default
- {
- typedef vec<
- typename deduce_scalar<
- typename scalar<A>::type,
- typename scalar<B>::type>::type,
- D> type;
- };
-
- template <class V,int D>
- struct
- deduce_v2_default<V,V,D,true,true,D,D>
- {
- typedef V type;
- };
- }
-
- template <class A,class B,int D>
- struct
- deduce_vec2
- {
- BOOST_QVM_STATIC_ASSERT(is_vec<A>::value || is_vec<B>::value);
- typedef typename qvm_detail::deduce_v2_default<A,B,D>::type type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_7E7AB138196311E0907B246CDFD72085
+#define UUID_7E7AB138196311E0907B246CDFD72085
+
+#include <boost/qvm/deduce_scalar.hpp>
+#include <boost/qvm/vec_traits.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int D>
+ struct vec;
+
+ namespace
+ qvm_detail
+ {
+ template <class V,int D,
+ int VD=vec_traits<V>::dim>
+ struct
+ deduce_vec_default
+ {
+ typedef vec<typename vec_traits<V>::scalar_type,D> type;
+ };
+
+ template <class V,int D>
+ struct
+ deduce_vec_default<V,D,D>
+ {
+ typedef V type;
+ };
+ }
+
+ template <class V,int Dim=vec_traits<V>::dim>
+ struct
+ deduce_vec
+ {
+ BOOST_QVM_STATIC_ASSERT(is_vec<V>::value);
+ typedef typename qvm_detail::deduce_vec_default<V,Dim>::type type;
+ };
+
+ namespace
+ qvm_detail
+ {
+ template <class A,class B,int D,
+ bool VA=is_vec<A>::value,
+ bool VB=is_vec<B>::value,
+ int AD=vec_traits<A>::dim,
+ int BD=vec_traits<B>::dim>
+ struct
+ deduce_v2_default
+ {
+ typedef vec<
+ typename deduce_scalar<
+ typename scalar<A>::type,
+ typename scalar<B>::type>::type,
+ D> type;
+ };
+
+ template <class V,int D>
+ struct
+ deduce_v2_default<V,V,D,true,true,D,D>
+ {
+ typedef V type;
+ };
+ }
+
+ template <class A,class B,int D>
+ struct
+ deduce_vec2
+ {
+ BOOST_QVM_STATIC_ASSERT(is_vec<A>::value || is_vec<B>::value);
+ typedef typename qvm_detail::deduce_v2_default<A,B,D>::type type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/cofactor_impl.hpp b/boost/qvm/detail/cofactor_impl.hpp
index b4ccd5b2f7..a4894e4aa7 100644
--- a/boost/qvm/detail/cofactor_impl.hpp
+++ b/boost/qvm/detail/cofactor_impl.hpp
@@ -1,64 +1,64 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_995547FAAE0E11DE8CF511E755D89593
-#define UUID_995547FAAE0E11DE8CF511E755D89593
-
-#include <boost/qvm/detail/determinant_impl.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename deduce_mat<A>::type
- cofactor_impl( A const & a )
- {
- BOOST_QVM_STATIC_ASSERT(mat_traits<A>::rows==mat_traits<A>::cols);
- int const N=mat_traits<A>::rows;
- typedef typename mat_traits<A>::scalar_type T;
- T c[N-1][N-1];
- typedef typename deduce_mat<A>::type R;
- R b;
- for( int j=0; j!=N; ++j )
- {
- for( int i=0; i!=N; ++i )
- {
- int i1=0;
- for( int ii=0; ii!=N; ++ii )
- {
- if( ii==i )
- continue;
- int j1=0;
- for( int jj=0; jj!=N; ++jj )
- {
- if( jj==j )
- continue;
- c[i1][j1] = mat_traits<A>::read_element_idx(ii,jj,a);
- ++j1;
- }
- ++i1;
- }
- T det = determinant_impl(c);
- if( (i+j)&1 )
- det=-det;
- mat_traits<R>::write_element_idx(i,j,b) = det;
- }
- }
- return b;
- }
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_995547FAAE0E11DE8CF511E755D89593
+#define UUID_995547FAAE0E11DE8CF511E755D89593
+
+#include <boost/qvm/detail/determinant_impl.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename deduce_mat<A>::type
+ cofactor_impl( A const & a )
+ {
+ BOOST_QVM_STATIC_ASSERT(mat_traits<A>::rows==mat_traits<A>::cols);
+ int const N=mat_traits<A>::rows;
+ typedef typename mat_traits<A>::scalar_type T;
+ T c[N-1][N-1];
+ typedef typename deduce_mat<A>::type R;
+ R b;
+ for( int j=0; j!=N; ++j )
+ {
+ for( int i=0; i!=N; ++i )
+ {
+ int i1=0;
+ for( int ii=0; ii!=N; ++ii )
+ {
+ if( ii==i )
+ continue;
+ int j1=0;
+ for( int jj=0; jj!=N; ++jj )
+ {
+ if( jj==j )
+ continue;
+ c[i1][j1] = mat_traits<A>::read_element_idx(ii,jj,a);
+ ++j1;
+ }
+ ++i1;
+ }
+ T det = determinant_impl(c);
+ if( (i+j)&1 )
+ det=-det;
+ mat_traits<R>::write_element_idx(i,j,b) = det;
+ }
+ }
+ return b;
+ }
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/determinant_impl.hpp b/boost/qvm/detail/determinant_impl.hpp
index 6886c4ee83..7d3e519975 100644
--- a/boost/qvm/detail/determinant_impl.hpp
+++ b/boost/qvm/detail/determinant_impl.hpp
@@ -1,79 +1,79 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_3DCF6B90AE0E11DE9A315BE555D89593
-#define UUID_3DCF6B90AE0E11DE9A315BE555D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits_array.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- template <int N>
- struct
- det_size
- {
- };
-
- template <class M>
- BOOST_QVM_INLINE_TRIVIAL
- typename mat_traits<M>::scalar_type
- determinant_impl_( M const & a, det_size<2> )
- {
- return
- mat_traits<M>::template read_element<0,0>(a) * mat_traits<M>::template read_element<1,1>(a) -
- mat_traits<M>::template read_element<1,0>(a) * mat_traits<M>::template read_element<0,1>(a);
- }
-
- template <class M,int N>
- BOOST_QVM_INLINE_RECURSION
- typename mat_traits<M>::scalar_type
- determinant_impl_( M const & a, det_size<N> )
- {
- typedef typename mat_traits<M>::scalar_type T;
- T m[N-1][N-1];
- T det=T(0);
- for( int j1=0; j1!=N; ++j1 )
- {
- for( int i=1; i!=N; ++i )
- {
- int j2 = 0;
- for( int j=0; j!=N; ++j )
- {
- if( j==j1 )
- continue;
- m[i-1][j2] = mat_traits<M>::read_element_idx(i,j,a);
- ++j2;
- }
- }
- T d=determinant_impl_(m,det_size<N-1>());
- if( j1&1 )
- d=-d;
- det += mat_traits<M>::read_element_idx(0,j1,a) * d;
- }
- return det;
- }
-
- template <class M>
- BOOST_QVM_INLINE_TRIVIAL
- typename mat_traits<M>::scalar_type
- determinant_impl( M const & a )
- {
- BOOST_QVM_STATIC_ASSERT(mat_traits<M>::rows==mat_traits<M>::cols);
- return determinant_impl_(a,det_size<mat_traits<M>::rows>());
- }
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_3DCF6B90AE0E11DE9A315BE555D89593
+#define UUID_3DCF6B90AE0E11DE9A315BE555D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits_array.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ template <int N>
+ struct
+ det_size
+ {
+ };
+
+ template <class M>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename mat_traits<M>::scalar_type
+ determinant_impl_( M const & a, det_size<2> )
+ {
+ return
+ mat_traits<M>::template read_element<0,0>(a) * mat_traits<M>::template read_element<1,1>(a) -
+ mat_traits<M>::template read_element<1,0>(a) * mat_traits<M>::template read_element<0,1>(a);
+ }
+
+ template <class M,int N>
+ BOOST_QVM_INLINE_RECURSION
+ typename mat_traits<M>::scalar_type
+ determinant_impl_( M const & a, det_size<N> )
+ {
+ typedef typename mat_traits<M>::scalar_type T;
+ T m[N-1][N-1];
+ T det=T(0);
+ for( int j1=0; j1!=N; ++j1 )
+ {
+ for( int i=1; i!=N; ++i )
+ {
+ int j2 = 0;
+ for( int j=0; j!=N; ++j )
+ {
+ if( j==j1 )
+ continue;
+ m[i-1][j2] = mat_traits<M>::read_element_idx(i,j,a);
+ ++j2;
+ }
+ }
+ T d=determinant_impl_(m,det_size<N-1>());
+ if( j1&1 )
+ d=-d;
+ det += mat_traits<M>::read_element_idx(0,j1,a) * d;
+ }
+ return det;
+ }
+
+ template <class M>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename mat_traits<M>::scalar_type
+ determinant_impl( M const & a )
+ {
+ BOOST_QVM_STATIC_ASSERT(mat_traits<M>::rows==mat_traits<M>::cols);
+ return determinant_impl_(a,det_size<mat_traits<M>::rows>());
+ }
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/mat_assign.hpp b/boost/qvm/detail/mat_assign.hpp
index 89d50243eb..173094bcd6 100644
--- a/boost/qvm/detail/mat_assign.hpp
+++ b/boost/qvm/detail/mat_assign.hpp
@@ -1,75 +1,75 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_47136D2C385411E7BA27D3B681262D2E
-#define UUID_47136D2C385411E7BA27D3B681262D2E
-
-#include <boost/qvm/gen/mat_assign2.hpp>
-#include <boost/qvm/gen/mat_assign3.hpp>
-#include <boost/qvm/gen/mat_assign4.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- assign_mm_defined
- {
- static bool const value=false;
- };
-
- template <int I,int N>
- struct
- copy_matrix_elements
- {
- template <class A,class B>
- static
- BOOST_QVM_INLINE_CRITICAL
- void
- f( A & a, B const & b )
- {
- mat_traits<A>::template write_element<I/mat_traits<A>::cols,I%mat_traits<A>::cols>(a) =
- mat_traits<B>::template read_element<I/mat_traits<B>::cols,I%mat_traits<B>::cols>(b);
- copy_matrix_elements<I+1,N>::f(a,b);
- }
- };
-
- template <int N>
- struct
- copy_matrix_elements<N,N>
- {
- template <class A,class B>
- static
- BOOST_QVM_INLINE_CRITICAL
- void
- f( A &, B const & )
- {
- }
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_TRIVIAL
- typename boost::enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::assign_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- A &>::type
- assign( A & a, B const & b )
- {
- qvm_detail::copy_matrix_elements<0,mat_traits<A>::rows*mat_traits<A>::cols>::f(a,b);
- return a;
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_47136D2C385411E7BA27D3B681262D2E
+#define UUID_47136D2C385411E7BA27D3B681262D2E
+
+#include <boost/qvm/gen/mat_assign2.hpp>
+#include <boost/qvm/gen/mat_assign3.hpp>
+#include <boost/qvm/gen/mat_assign4.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ assign_mm_defined
+ {
+ static bool const value=false;
+ };
+
+ template <int I,int N>
+ struct
+ copy_matrix_elements
+ {
+ template <class A,class B>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ void
+ f( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<I/mat_traits<A>::cols,I%mat_traits<A>::cols>(a) =
+ mat_traits<B>::template read_element<I/mat_traits<B>::cols,I%mat_traits<B>::cols>(b);
+ copy_matrix_elements<I+1,N>::f(a,b);
+ }
+ };
+
+ template <int N>
+ struct
+ copy_matrix_elements<N,N>
+ {
+ template <class A,class B>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ void
+ f( A &, B const & )
+ {
+ }
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename boost::enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::assign_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ qvm_detail::copy_matrix_elements<0,mat_traits<A>::rows*mat_traits<A>::cols>::f(a,b);
+ return a;
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/quat_assign.hpp b/boost/qvm/detail/quat_assign.hpp
index 87b2cf1f62..06527b5b08 100644
--- a/boost/qvm/detail/quat_assign.hpp
+++ b/boost/qvm/detail/quat_assign.hpp
@@ -1,35 +1,35 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_86A42DA4385511E7822024B881262D2E
-#define UUID_86A42DA4385511E7822024B881262D2E
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/quat_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- A &>::type
- assign( A & a, B const & b )
- {
- quat_traits<A>::template write_element<0>(a) = quat_traits<B>::template read_element<0>(b);
- quat_traits<A>::template write_element<1>(a) = quat_traits<B>::template read_element<1>(b);
- quat_traits<A>::template write_element<2>(a) = quat_traits<B>::template read_element<2>(b);
- quat_traits<A>::template write_element<3>(a) = quat_traits<B>::template read_element<3>(b);
- return a;
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_86A42DA4385511E7822024B881262D2E
+#define UUID_86A42DA4385511E7822024B881262D2E
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/quat_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ quat_traits<A>::template write_element<0>(a) = quat_traits<B>::template read_element<0>(b);
+ quat_traits<A>::template write_element<1>(a) = quat_traits<B>::template read_element<1>(b);
+ quat_traits<A>::template write_element<2>(a) = quat_traits<B>::template read_element<2>(b);
+ quat_traits<A>::template write_element<3>(a) = quat_traits<B>::template read_element<3>(b);
+ return a;
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/remove_const.hpp b/boost/qvm/detail/remove_const.hpp
index 82f1d1cef5..9ed98bfeca 100644
--- a/boost/qvm/detail/remove_const.hpp
+++ b/boost/qvm/detail/remove_const.hpp
@@ -1,35 +1,35 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_4E340430AE4C11DEBA56149755D89593
-#define UUID_4E340430AE4C11DEBA56149755D89593
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- template <class T>
- struct
- remove_const
- {
- typedef T type;
- };
-
- template <class T>
- struct
- remove_const<T const>
- {
- typedef T type;
- };
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_4E340430AE4C11DEBA56149755D89593
+#define UUID_4E340430AE4C11DEBA56149755D89593
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ struct
+ remove_const
+ {
+ typedef T type;
+ };
+
+ template <class T>
+ struct
+ remove_const<T const>
+ {
+ typedef T type;
+ };
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/swizzle_traits.hpp b/boost/qvm/detail/swizzle_traits.hpp
index 8ead2976f5..db573d50a6 100644
--- a/boost/qvm/detail/swizzle_traits.hpp
+++ b/boost/qvm/detail/swizzle_traits.hpp
@@ -1,338 +1,338 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_E831FAD6B38F11DE8CECBF0D56D89593
-#define UUID_E831FAD6B38F11DE8CECBF0D56D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- BOOST_QVM_INLINE_CRITICAL
- void const *
- get_null()
- {
- static int const obj=0;
- return &obj;
- }
-
- template <int A,class Next=void> struct swizzle_idx { static int const value=A; typedef Next next; };
-
- template <class V,int Idx>
- struct
- const_value
- {
- static
- BOOST_QVM_INLINE_TRIVIAL
- typename vec_traits<V>::scalar_type
- value()
- {
- BOOST_QVM_ASSERT(0);
- return typename vec_traits<V>::scalar_type();
- }
- };
-
- template <class V>
- struct
- const_value<V,-1>
- {
- static
- BOOST_QVM_INLINE_TRIVIAL
- typename vec_traits<V>::scalar_type
- value()
- {
- return scalar_traits<typename vec_traits<V>::scalar_type>::value(0);
- }
- };
-
- template <class V>
- struct
- const_value<V,-2>
- {
- static
- BOOST_QVM_INLINE_TRIVIAL
- typename vec_traits<V>::scalar_type
- value()
- {
- return scalar_traits<typename vec_traits<V>::scalar_type>::value(1);
- }
- };
-
- template <int Index,bool Neg=(Index<0)>
- struct neg_zero;
-
- template <int Index>
- struct
- neg_zero<Index,true>
- {
- static int const value=0;
- };
-
- template <int Index>
- struct
- neg_zero<Index,false>
- {
- static int const value=Index;
- };
-
- template <class SwizzleList,int Index,int C=0>
- struct
- swizzle
- {
- static int const value=swizzle<typename SwizzleList::next,Index,C+1>::value;
- };
-
- template <class SwizzleList,int Match>
- struct
- swizzle<SwizzleList,Match,Match>
- {
- static int const value=SwizzleList::value;
- };
-
- template <int Index,int C>
- struct swizzle<void,Index,C>;
-
- template <class SwizzleList,int C=0>
- struct
- swizzle_list_length
- {
- static int const value=swizzle_list_length<typename SwizzleList::next,C+1>::value;
- };
-
- template <int C>
- struct
- swizzle_list_length<void,C>
- {
- static int const value=C;
- };
-
- template <class SwizzleList,int D>
- struct
- validate_swizzle_list
- {
- static bool const value =
- ((SwizzleList::value)<D) && //don't touch extra (), MSVC parsing bug.
- validate_swizzle_list<typename SwizzleList::next,D>::value;
- };
-
- template <int D>
- struct
- validate_swizzle_list<void,D>
- {
- static bool const value=true;
- };
-
- template <class OriginalType,class SwizzleList>
- class
- sw_
- {
- sw_( sw_ const & );
- sw_ & operator=( sw_ const & );
- ~sw_();
-
- BOOST_QVM_STATIC_ASSERT((validate_swizzle_list<SwizzleList,vec_traits<OriginalType>::dim>::value));
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- sw_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <class SwizzleList>
- class
- sw01_
- {
- sw01_( sw01_ const & );
- sw01_ & operator=( sw01_ const & );
- ~sw01_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <class OriginalType,class SwizzleList>
- class
- sws_
- {
- sws_( sws_ const & );
- sws_ & operator=( sws_ const & );
- ~sws_();
-
- BOOST_QVM_STATIC_ASSERT((validate_swizzle_list<SwizzleList,1>::value));
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class OriginalVector,class SwizzleList>
- struct
- vec_traits<qvm_detail::sw_<OriginalVector,SwizzleList> >
- {
- typedef qvm_detail::sw_<OriginalVector,SwizzleList> this_vector;
- typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
- static int const dim=qvm_detail::swizzle_list_length<SwizzleList>::value;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
- BOOST_QVM_STATIC_ASSERT(idx<vec_traits<OriginalVector>::dim);
- return idx>=0?
- vec_traits<OriginalVector>::template read_element<qvm_detail::neg_zero<idx>::value>(reinterpret_cast<OriginalVector const &>(x)) :
- qvm_detail::const_value<this_vector,idx>::value();
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
- BOOST_QVM_STATIC_ASSERT(idx>=0);
- BOOST_QVM_STATIC_ASSERT(idx<vec_traits<OriginalVector>::dim);
- return vec_traits<OriginalVector>::template write_element<idx>(reinterpret_cast<OriginalVector &>(x));
- }
- };
-
- template <class SwizzleList>
- struct
- vec_traits<qvm_detail::sw01_<SwizzleList> >
- {
- typedef qvm_detail::sw01_<SwizzleList> this_vector;
- typedef int scalar_type;
- static int const dim=qvm_detail::swizzle_list_length<SwizzleList>::value;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
- BOOST_QVM_STATIC_ASSERT(idx<0);
- return qvm_detail::const_value<this_vector,idx>::value();
- }
- };
-
- template <class OriginalScalar,class SwizzleList>
- struct
- vec_traits<qvm_detail::sws_<OriginalScalar,SwizzleList> >
- {
- typedef qvm_detail::sws_<OriginalScalar,SwizzleList> this_vector;
- typedef OriginalScalar scalar_type;
- static int const dim=qvm_detail::swizzle_list_length<SwizzleList>::value;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
- BOOST_QVM_STATIC_ASSERT(idx<1);
- return idx==0?
- reinterpret_cast<OriginalScalar const &>(x) :
- qvm_detail::const_value<this_vector,idx>::value();
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
- BOOST_QVM_STATIC_ASSERT(idx==0);
- return reinterpret_cast<OriginalScalar &>(x);
- }
- };
-
- template <class OriginalVector,class SwizzleList,int D>
- struct
- deduce_vec<qvm_detail::sw_<OriginalVector,SwizzleList>,D>
- {
- typedef vec<typename vec_traits<OriginalVector>::scalar_type,D> type;
- };
-
- template <class OriginalVector,class SwizzleList,int D>
- struct
- deduce_vec2<qvm_detail::sw_<OriginalVector,SwizzleList>,qvm_detail::sw_<OriginalVector,SwizzleList>,D>
- {
- typedef vec<typename vec_traits<OriginalVector>::scalar_type,D> type;
- };
-
- template <class Scalar,class SwizzleList,int D>
- struct
- deduce_vec<qvm_detail::sws_<Scalar,SwizzleList>,D>
- {
- typedef vec<Scalar,D> type;
- };
-
- template <class Scalar,class SwizzleList,int D>
- struct
- deduce_vec2<qvm_detail::sws_<Scalar,SwizzleList>,qvm_detail::sws_<Scalar,SwizzleList>,D>
- {
- typedef vec<Scalar,D> type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_E831FAD6B38F11DE8CECBF0D56D89593
+#define UUID_E831FAD6B38F11DE8CECBF0D56D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ BOOST_QVM_INLINE_CRITICAL
+ void const *
+ get_null()
+ {
+ static int const obj=0;
+ return &obj;
+ }
+
+ template <int A,class Next=void> struct swizzle_idx { static int const value=A; typedef Next next; };
+
+ template <class V,int Idx>
+ struct
+ const_value
+ {
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ typename vec_traits<V>::scalar_type
+ value()
+ {
+ BOOST_QVM_ASSERT(0);
+ return typename vec_traits<V>::scalar_type();
+ }
+ };
+
+ template <class V>
+ struct
+ const_value<V,-1>
+ {
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ typename vec_traits<V>::scalar_type
+ value()
+ {
+ return scalar_traits<typename vec_traits<V>::scalar_type>::value(0);
+ }
+ };
+
+ template <class V>
+ struct
+ const_value<V,-2>
+ {
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ typename vec_traits<V>::scalar_type
+ value()
+ {
+ return scalar_traits<typename vec_traits<V>::scalar_type>::value(1);
+ }
+ };
+
+ template <int Index,bool Neg=(Index<0)>
+ struct neg_zero;
+
+ template <int Index>
+ struct
+ neg_zero<Index,true>
+ {
+ static int const value=0;
+ };
+
+ template <int Index>
+ struct
+ neg_zero<Index,false>
+ {
+ static int const value=Index;
+ };
+
+ template <class SwizzleList,int Index,int C=0>
+ struct
+ swizzle
+ {
+ static int const value=swizzle<typename SwizzleList::next,Index,C+1>::value;
+ };
+
+ template <class SwizzleList,int Match>
+ struct
+ swizzle<SwizzleList,Match,Match>
+ {
+ static int const value=SwizzleList::value;
+ };
+
+ template <int Index,int C>
+ struct swizzle<void,Index,C>;
+
+ template <class SwizzleList,int C=0>
+ struct
+ swizzle_list_length
+ {
+ static int const value=swizzle_list_length<typename SwizzleList::next,C+1>::value;
+ };
+
+ template <int C>
+ struct
+ swizzle_list_length<void,C>
+ {
+ static int const value=C;
+ };
+
+ template <class SwizzleList,int D>
+ struct
+ validate_swizzle_list
+ {
+ static bool const value =
+ ((SwizzleList::value)<D) && //don't touch extra (), MSVC parsing bug.
+ validate_swizzle_list<typename SwizzleList::next,D>::value;
+ };
+
+ template <int D>
+ struct
+ validate_swizzle_list<void,D>
+ {
+ static bool const value=true;
+ };
+
+ template <class OriginalType,class SwizzleList>
+ class
+ sw_
+ {
+ sw_( sw_ const & );
+ sw_ & operator=( sw_ const & );
+ ~sw_();
+
+ BOOST_QVM_STATIC_ASSERT((validate_swizzle_list<SwizzleList,vec_traits<OriginalType>::dim>::value));
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ sw_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <class SwizzleList>
+ class
+ sw01_
+ {
+ sw01_( sw01_ const & );
+ sw01_ & operator=( sw01_ const & );
+ ~sw01_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <class OriginalType,class SwizzleList>
+ class
+ sws_
+ {
+ sws_( sws_ const & );
+ sws_ & operator=( sws_ const & );
+ ~sws_();
+
+ BOOST_QVM_STATIC_ASSERT((validate_swizzle_list<SwizzleList,1>::value));
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class OriginalVector,class SwizzleList>
+ struct
+ vec_traits<qvm_detail::sw_<OriginalVector,SwizzleList> >
+ {
+ typedef qvm_detail::sw_<OriginalVector,SwizzleList> this_vector;
+ typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
+ static int const dim=qvm_detail::swizzle_list_length<SwizzleList>::value;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
+ BOOST_QVM_STATIC_ASSERT(idx<vec_traits<OriginalVector>::dim);
+ return idx>=0?
+ vec_traits<OriginalVector>::template read_element<qvm_detail::neg_zero<idx>::value>(reinterpret_cast<OriginalVector const &>(x)) :
+ qvm_detail::const_value<this_vector,idx>::value();
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
+ BOOST_QVM_STATIC_ASSERT(idx>=0);
+ BOOST_QVM_STATIC_ASSERT(idx<vec_traits<OriginalVector>::dim);
+ return vec_traits<OriginalVector>::template write_element<idx>(reinterpret_cast<OriginalVector &>(x));
+ }
+ };
+
+ template <class SwizzleList>
+ struct
+ vec_traits<qvm_detail::sw01_<SwizzleList> >
+ {
+ typedef qvm_detail::sw01_<SwizzleList> this_vector;
+ typedef int scalar_type;
+ static int const dim=qvm_detail::swizzle_list_length<SwizzleList>::value;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
+ BOOST_QVM_STATIC_ASSERT(idx<0);
+ return qvm_detail::const_value<this_vector,idx>::value();
+ }
+ };
+
+ template <class OriginalScalar,class SwizzleList>
+ struct
+ vec_traits<qvm_detail::sws_<OriginalScalar,SwizzleList> >
+ {
+ typedef qvm_detail::sws_<OriginalScalar,SwizzleList> this_vector;
+ typedef OriginalScalar scalar_type;
+ static int const dim=qvm_detail::swizzle_list_length<SwizzleList>::value;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
+ BOOST_QVM_STATIC_ASSERT(idx<1);
+ return idx==0?
+ reinterpret_cast<OriginalScalar const &>(x) :
+ qvm_detail::const_value<this_vector,idx>::value();
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ int const idx=qvm_detail::swizzle<SwizzleList,I>::value;
+ BOOST_QVM_STATIC_ASSERT(idx==0);
+ return reinterpret_cast<OriginalScalar &>(x);
+ }
+ };
+
+ template <class OriginalVector,class SwizzleList,int D>
+ struct
+ deduce_vec<qvm_detail::sw_<OriginalVector,SwizzleList>,D>
+ {
+ typedef vec<typename vec_traits<OriginalVector>::scalar_type,D> type;
+ };
+
+ template <class OriginalVector,class SwizzleList,int D>
+ struct
+ deduce_vec2<qvm_detail::sw_<OriginalVector,SwizzleList>,qvm_detail::sw_<OriginalVector,SwizzleList>,D>
+ {
+ typedef vec<typename vec_traits<OriginalVector>::scalar_type,D> type;
+ };
+
+ template <class Scalar,class SwizzleList,int D>
+ struct
+ deduce_vec<qvm_detail::sws_<Scalar,SwizzleList>,D>
+ {
+ typedef vec<Scalar,D> type;
+ };
+
+ template <class Scalar,class SwizzleList,int D>
+ struct
+ deduce_vec2<qvm_detail::sws_<Scalar,SwizzleList>,qvm_detail::sws_<Scalar,SwizzleList>,D>
+ {
+ typedef vec<Scalar,D> type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/transp_impl.hpp b/boost/qvm/detail/transp_impl.hpp
index 8ead1da9fc..31ebc483ec 100644
--- a/boost/qvm/detail/transp_impl.hpp
+++ b/boost/qvm/detail/transp_impl.hpp
@@ -1,128 +1,128 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_B3B8081A277711E09E007F2DDFD72085
-#define UUID_B3B8081A277711E09E007F2DDFD72085
-
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- template <class OriginalMatrix>
- class
- transposed_
- {
- transposed_( transposed_ const & );
- transposed_ & operator=( transposed_ const & );
- ~transposed_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- transposed_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class OriginalMatrix>
- struct
- mat_traits< qvm_detail::transposed_<OriginalMatrix> >
- {
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- typedef qvm_detail::transposed_<OriginalMatrix> this_matrix;
- static int const rows=mat_traits<OriginalMatrix>::cols;
- static int const cols=mat_traits<OriginalMatrix>::rows;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template read_element<Col,Row>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template write_element<Col,Row>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::read_element_idx(col,row,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::write_element_idx(col,row,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::transposed_<OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::transposed_<OriginalMatrix>,qvm_detail::transposed_<OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_B3B8081A277711E09E007F2DDFD72085
+#define UUID_B3B8081A277711E09E007F2DDFD72085
+
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ template <class OriginalMatrix>
+ class
+ transposed_
+ {
+ transposed_( transposed_ const & );
+ transposed_ & operator=( transposed_ const & );
+ ~transposed_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ transposed_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::transposed_<OriginalMatrix> >
+ {
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ typedef qvm_detail::transposed_<OriginalMatrix> this_matrix;
+ static int const rows=mat_traits<OriginalMatrix>::cols;
+ static int const cols=mat_traits<OriginalMatrix>::rows;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template read_element<Col,Row>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template write_element<Col,Row>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::read_element_idx(col,row,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::write_element_idx(col,row,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::transposed_<OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::transposed_<OriginalMatrix>,qvm_detail::transposed_<OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/detail/vec_assign.hpp b/boost/qvm/detail/vec_assign.hpp
index c196c4f68d..f11e8bd3ed 100644
--- a/boost/qvm/detail/vec_assign.hpp
+++ b/boost/qvm/detail/vec_assign.hpp
@@ -1,71 +1,71 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_185557CE385511E780ACD7B781262D2E
-#define UUID_185557CE385511E780ACD7B781262D2E
-
-#include <boost/qvm/gen/vec_assign2.hpp>
-#include <boost/qvm/gen/vec_assign3.hpp>
-#include <boost/qvm/gen/vec_assign4.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- template <int D>
- struct
- assign_vv_defined
- {
- static bool const value=false;
- };
-
- template <int I,int N>
- struct
- copy_vector_elements
- {
- template <class A,class B>
- static
- void
- f( A & a, B const & b )
- {
- vec_traits<A>::template write_element<I>(a)=vec_traits<B>::template read_element<I>(b);
- copy_vector_elements<I+1,N>::f(a,b);
- }
- };
-
- template <int N>
- struct
- copy_vector_elements<N,N>
- {
- template <class A,class B>
- static
- void
- f( A &, B const & )
- {
- }
- };
- }
-
- template <class A,class B>
- inline
- typename boost::enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::assign_vv_defined<vec_traits<A>::dim>::value,
- A &>::type
- assign( A & a, B const & b )
- {
- qvm_detail::copy_vector_elements<0,vec_traits<A>::dim>::f(a,b);
- return a;
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_185557CE385511E780ACD7B781262D2E
+#define UUID_185557CE385511E780ACD7B781262D2E
+
+#include <boost/qvm/gen/vec_assign2.hpp>
+#include <boost/qvm/gen/vec_assign3.hpp>
+#include <boost/qvm/gen/vec_assign4.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ assign_vv_defined
+ {
+ static bool const value=false;
+ };
+
+ template <int I,int N>
+ struct
+ copy_vector_elements
+ {
+ template <class A,class B>
+ static
+ void
+ f( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<I>(a)=vec_traits<B>::template read_element<I>(b);
+ copy_vector_elements<I+1,N>::f(a,b);
+ }
+ };
+
+ template <int N>
+ struct
+ copy_vector_elements<N,N>
+ {
+ template <class A,class B>
+ static
+ void
+ f( A &, B const & )
+ {
+ }
+ };
+ }
+
+ template <class A,class B>
+ inline
+ typename boost::enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::assign_vv_defined<vec_traits<A>::dim>::value,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ qvm_detail::copy_vector_elements<0,vec_traits<A>::dim>::f(a,b);
+ return a;
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/enable_if.hpp b/boost/qvm/enable_if.hpp
index 3ce0b4f9ea..b7f1d35012 100644
--- a/boost/qvm/enable_if.hpp
+++ b/boost/qvm/enable_if.hpp
@@ -1,24 +1,24 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_A4FA0794391911DF85A6622B56D89593
-#define UUID_A4FA0794391911DF85A6622B56D89593
-
-#include <boost/utility/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- using boost::enable_if;
- using boost::enable_if_c;
- using boost::lazy_enable_if;
- using boost::lazy_enable_if_c;
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_A4FA0794391911DF85A6622B56D89593
+#define UUID_A4FA0794391911DF85A6622B56D89593
+
+#include <boost/utility/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ using boost::enable_if;
+ using boost::enable_if_c;
+ using boost::lazy_enable_if;
+ using boost::lazy_enable_if_c;
+ }
+ }
+
+#endif
diff --git a/boost/qvm/error.hpp b/boost/qvm/error.hpp
index cf0ebe6afd..9d78ab7602 100644
--- a/boost/qvm/error.hpp
+++ b/boost/qvm/error.hpp
@@ -1,40 +1,40 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_92B1247AAE1111DE9655F2FC55D89593
-#define UUID_92B1247AAE1111DE9655F2FC55D89593
-
-#include "boost/exception/exception.hpp"
-#include "boost/exception/error_info.hpp"
-#include <exception>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- struct
- error:
- virtual boost::exception,
- virtual std::exception
- {
- char const *
- what() const throw()
- {
- return "Boost QVM error";
- }
-
- ~error() throw()
- {
- }
- };
-
- struct zero_determinant_error: virtual error { };
- struct zero_magnitude_error: virtual error { };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_92B1247AAE1111DE9655F2FC55D89593
+#define UUID_92B1247AAE1111DE9655F2FC55D89593
+
+#include "boost/exception/exception.hpp"
+#include "boost/exception/error_info.hpp"
+#include <exception>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ struct
+ error:
+ virtual boost::exception,
+ virtual std::exception
+ {
+ char const *
+ what() const throw()
+ {
+ return "Boost QVM error";
+ }
+
+ ~error() throw()
+ {
+ }
+ };
+
+ struct zero_determinant_error: virtual error { };
+ struct zero_magnitude_error: virtual error { };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/mat_assign2.hpp b/boost/qvm/gen/mat_assign2.hpp
index 8a4285c911..89db684941 100644
--- a/boost/qvm/gen/mat_assign2.hpp
+++ b/boost/qvm/gen/mat_assign2.hpp
@@ -1,125 +1,125 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_5DD4CBFC96F5453B13D89A1CDBAE32
-#define BOOST_QVM_5DD4CBFC96F5453B13D89A1CDBAE32
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)=mat_traits<B>::template read_element<1,1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_5DD4CBFC96F5453B13D89A1CDBAE32
+#define BOOST_QVM_5DD4CBFC96F5453B13D89A1CDBAE32
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)=mat_traits<B>::template read_element<1,1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/mat_assign3.hpp b/boost/qvm/gen/mat_assign3.hpp
index b2e8f12f4c..b7ef4bf51b 100644
--- a/boost/qvm/gen/mat_assign3.hpp
+++ b/boost/qvm/gen/mat_assign3.hpp
@@ -1,132 +1,132 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_209A50EE407836FD124932F69E7D49DC
-#define BOOST_QVM_209A50EE407836FD124932F69E7D49DC
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)=mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<1,2>(a)=mat_traits<B>::template read_element<1,2>(b);
- mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<2,1>(a)=mat_traits<B>::template read_element<2,1>(b);
- mat_traits<A>::template write_element<2,2>(a)=mat_traits<B>::template read_element<2,2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_209A50EE407836FD124932F69E7D49DC
+#define BOOST_QVM_209A50EE407836FD124932F69E7D49DC
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)=mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<1,2>(a)=mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<2,1>(a)=mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<A>::template write_element<2,2>(a)=mat_traits<B>::template read_element<2,2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/mat_assign4.hpp b/boost/qvm/gen/mat_assign4.hpp
index 69fa3e1928..1518a353b9 100644
--- a/boost/qvm/gen/mat_assign4.hpp
+++ b/boost/qvm/gen/mat_assign4.hpp
@@ -1,141 +1,141 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_AD4F14F2444066D06BC430B7323BA122
-#define BOOST_QVM_AD4F14F2444066D06BC430B7323BA122
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<0,3>(a)=mat_traits<B>::template read_element<0,3>(b);
- mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)=mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<1,2>(a)=mat_traits<B>::template read_element<1,2>(b);
- mat_traits<A>::template write_element<1,3>(a)=mat_traits<B>::template read_element<1,3>(b);
- mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<2,1>(a)=mat_traits<B>::template read_element<2,1>(b);
- mat_traits<A>::template write_element<2,2>(a)=mat_traits<B>::template read_element<2,2>(b);
- mat_traits<A>::template write_element<2,3>(a)=mat_traits<B>::template read_element<2,3>(b);
- mat_traits<A>::template write_element<3,0>(a)=mat_traits<B>::template read_element<3,0>(b);
- mat_traits<A>::template write_element<3,1>(a)=mat_traits<B>::template read_element<3,1>(b);
- mat_traits<A>::template write_element<3,2>(a)=mat_traits<B>::template read_element<3,2>(b);
- mat_traits<A>::template write_element<3,3>(a)=mat_traits<B>::template read_element<3,3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<3,0>(a)=mat_traits<B>::template read_element<3,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- assign( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<0,3>(a)=mat_traits<B>::template read_element<0,3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct assign_mm_defined;
-
- template <>
- struct
- assign_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_AD4F14F2444066D06BC430B7323BA122
+#define BOOST_QVM_AD4F14F2444066D06BC430B7323BA122
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<0,3>(a)=mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)=mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<1,2>(a)=mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<A>::template write_element<1,3>(a)=mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<2,1>(a)=mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<A>::template write_element<2,2>(a)=mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<A>::template write_element<2,3>(a)=mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<A>::template write_element<3,0>(a)=mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<A>::template write_element<3,1>(a)=mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<A>::template write_element<3,2>(a)=mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<A>::template write_element<3,3>(a)=mat_traits<B>::template read_element<3,3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<2,0>(a)=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<3,0>(a)=mat_traits<B>::template read_element<3,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<0,3>(a)=mat_traits<B>::template read_element<0,3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct assign_mm_defined;
+
+ template <>
+ struct
+ assign_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/mat_operations2.hpp b/boost/qvm/gen/mat_operations2.hpp
index d20339bc7d..0501586378 100644
--- a/boost/qvm/gen/mat_operations2.hpp
+++ b/boost/qvm/gen/mat_operations2.hpp
@@ -1,1720 +1,1720 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_2923BE84E16CD6AE529049F1F1BBE9EB
-#define BOOST_QVM_2923BE84E16CD6AE529049F1F1BBE9EB
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/gen/mat_assign2.hpp>
-#include <boost/qvm/throw_exception.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- deduce_mat2<A,B,2,2> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,2,2>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)+mat_traits<B>::template read_element<1,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,2,1> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,2,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- deduce_mat2<A,B,1,2> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,1,2>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- deduce_mat2<A,B,2,2> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,2,2>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)-mat_traits<B>::template read_element<1,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,2,1> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,2,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- deduce_mat2<A,B,1,2> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,1,2>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)+=mat_traits<B>::template read_element<1,1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)-=mat_traits<B>::template read_element<1,1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==2,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=a*mat_traits<B>::template read_element<1,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==1,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==1 && mat_traits<B>::cols==2,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<0,1>(a)*=b;
- mat_traits<A>::template write_element<1,0>(a)*=b;
- mat_traits<A>::template write_element<1,1>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<1,0>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<0,1>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==2,
- deduce_mat<B> >::type
- operator/( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a/mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=a/mat_traits<B>::template read_element<1,1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_sm_defined;
-
- template <>
- struct
- div_sm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==1,
- deduce_mat<B> >::type
- operator/( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_sm_defined;
-
- template <>
- struct
- div_sm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<0,1>(a)/=b;
- mat_traits<A>::template write_element<1,0>(a)/=b;
- mat_traits<A>::template write_element<1,1>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<1,0>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<0,1>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==2 && mat_traits<A>::rows==2 &&
- mat_traits<R>::cols==2 && mat_traits<A>::cols==2,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<1,1>(r) = mat_traits<A>::template read_element<1,1>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==2 && mat_traits<A>::rows==2 &&
- mat_traits<R>::cols==1 && mat_traits<A>::cols==1,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==1 && mat_traits<A>::rows==1 &&
- mat_traits<R>::cols==2 && mat_traits<A>::cols==2,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
- mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
- mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
- !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
- !(mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<1,1>(r)=-mat_traits<A>::template read_element<1,1>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==1,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==2,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<1,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2,
- typename mat_traits<A>::scalar_type>::type
- determinant( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T const a00=mat_traits<A>::template read_element<0,0>(a);
- T const a01=mat_traits<A>::template read_element<0,1>(a);
- T const a10=mat_traits<A>::template read_element<1,0>(a);
- T const a11=mat_traits<A>::template read_element<1,1>(a);
- T det=(a00*a11-a01*a10);
- return det;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::determinant;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct determinant_defined;
-
- template <>
- struct
- determinant_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
- deduce_mat<A> >::type
- inverse( A const & a, B det )
- {
- typedef typename mat_traits<A>::scalar_type T;
- BOOST_QVM_ASSERT(det!=scalar_traits<B>::value(0));
- T const a00=mat_traits<A>::template read_element<0,0>(a);
- T const a01=mat_traits<A>::template read_element<0,1>(a);
- T const a10=mat_traits<A>::template read_element<1,0>(a);
- T const a11=mat_traits<A>::template read_element<1,1>(a);
- T const f=scalar_traits<T>::value(1)/det;
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)= f*a11;
- mat_traits<R>::template write_element<0,1>(r)=-f*a01;
- mat_traits<R>::template write_element<1,0>(r)=-f*a10;
- mat_traits<R>::template write_element<1,1>(r)= f*a00;
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2,
- deduce_mat<A> >::type
- inverse( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T det=determinant(a);
- if( det==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
- return inverse(a,det);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::inverse;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct inverse_m_defined;
-
- template <>
- struct
- inverse_m_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- deduce_mat2<A,B,2,2> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- typedef typename deduce_mat2<A,B,2,2>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10;
- mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11;
- mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10;
- mat_traits<R>::template write_element<1,1>(r)=a10*b01+a11*b11;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<2,2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- A &>::type
- operator*=( A & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<0,0>(a)=a00*b00+a01*b10;
- mat_traits<A>::template write_element<0,1>(a)=a00*b01+a01*b11;
- mat_traits<A>::template write_element<1,0>(a)=a10*b00+a11*b10;
- mat_traits<A>::template write_element<1,1>(a)=a10*b01+a11*b11;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_eq_mm_defined;
-
- template <>
- struct
- mul_eq_mm_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,2,1> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- typedef typename deduce_mat2<A,B,2,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10;
- mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<2,2,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==2 &&
- mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
- deduce_mat2<A,B,1,2> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- typedef typename deduce_mat2<A,B,1,2>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10;
- mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<1,2,2>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_2923BE84E16CD6AE529049F1F1BBE9EB
+#define BOOST_QVM_2923BE84E16CD6AE529049F1F1BBE9EB
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/gen/mat_assign2.hpp>
+#include <boost/qvm/throw_exception.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ deduce_mat2<A,B,2,2> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,2,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)+mat_traits<B>::template read_element<1,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,2,1> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,2,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ deduce_mat2<A,B,1,2> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,1,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ deduce_mat2<A,B,2,2> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,2,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)-mat_traits<B>::template read_element<1,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,2,1> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,2,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ deduce_mat2<A,B,1,2> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,1,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)+=mat_traits<B>::template read_element<1,1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)-=mat_traits<B>::template read_element<1,1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==2,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=a*mat_traits<B>::template read_element<1,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==1,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==1 && mat_traits<B>::cols==2,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<0,1>(a)*=b;
+ mat_traits<A>::template write_element<1,0>(a)*=b;
+ mat_traits<A>::template write_element<1,1>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<1,0>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<0,1>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==2,
+ deduce_mat<B> >::type
+ operator/( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a/mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=a/mat_traits<B>::template read_element<1,1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_sm_defined;
+
+ template <>
+ struct
+ div_sm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==2 && mat_traits<B>::cols==1,
+ deduce_mat<B> >::type
+ operator/( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_sm_defined;
+
+ template <>
+ struct
+ div_sm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<0,1>(a)/=b;
+ mat_traits<A>::template write_element<1,0>(a)/=b;
+ mat_traits<A>::template write_element<1,1>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<1,0>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<0,1>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==2 && mat_traits<A>::rows==2 &&
+ mat_traits<R>::cols==2 && mat_traits<A>::cols==2,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<1,1>(r) = mat_traits<A>::template read_element<1,1>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==2 && mat_traits<A>::rows==2 &&
+ mat_traits<R>::cols==1 && mat_traits<A>::cols==1,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==1 && mat_traits<A>::rows==1 &&
+ mat_traits<R>::cols==2 && mat_traits<A>::cols==2,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
+ mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
+ mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
+ !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
+ !(mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<1,1>(r)=-mat_traits<A>::template read_element<1,1>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==1,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==2,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<1,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2,
+ typename mat_traits<A>::scalar_type>::type
+ determinant( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T const a00=mat_traits<A>::template read_element<0,0>(a);
+ T const a01=mat_traits<A>::template read_element<0,1>(a);
+ T const a10=mat_traits<A>::template read_element<1,0>(a);
+ T const a11=mat_traits<A>::template read_element<1,1>(a);
+ T det=(a00*a11-a01*a10);
+ return det;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::determinant;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct determinant_defined;
+
+ template <>
+ struct
+ determinant_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ inverse( A const & a, B det )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ BOOST_QVM_ASSERT(det!=scalar_traits<B>::value(0));
+ T const a00=mat_traits<A>::template read_element<0,0>(a);
+ T const a01=mat_traits<A>::template read_element<0,1>(a);
+ T const a10=mat_traits<A>::template read_element<1,0>(a);
+ T const a11=mat_traits<A>::template read_element<1,1>(a);
+ T const f=scalar_traits<T>::value(1)/det;
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)= f*a11;
+ mat_traits<R>::template write_element<0,1>(r)=-f*a01;
+ mat_traits<R>::template write_element<1,0>(r)=-f*a10;
+ mat_traits<R>::template write_element<1,1>(r)= f*a00;
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2,
+ deduce_mat<A> >::type
+ inverse( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T det=determinant(a);
+ if( det==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
+ return inverse(a,det);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::inverse;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct inverse_m_defined;
+
+ template <>
+ struct
+ inverse_m_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ deduce_mat2<A,B,2,2> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ typedef typename deduce_mat2<A,B,2,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10;
+ mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11;
+ mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10;
+ mat_traits<R>::template write_element<1,1>(r)=a10*b01+a11*b11;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<2,2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ A &>::type
+ operator*=( A & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<0,0>(a)=a00*b00+a01*b10;
+ mat_traits<A>::template write_element<0,1>(a)=a00*b01+a01*b11;
+ mat_traits<A>::template write_element<1,0>(a)=a10*b00+a11*b10;
+ mat_traits<A>::template write_element<1,1>(a)=a10*b01+a11*b11;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_eq_mm_defined;
+
+ template <>
+ struct
+ mul_eq_mm_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,2,1> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ typedef typename deduce_mat2<A,B,2,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==2);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10;
+ mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<2,2,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==2 &&
+ mat_traits<A>::cols==2 && mat_traits<B>::cols==2,
+ deduce_mat2<A,B,1,2> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ typedef typename deduce_mat2<A,B,1,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==2);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10;
+ mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<1,2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/mat_operations3.hpp b/boost/qvm/gen/mat_operations3.hpp
index 31cf755dab..607ad22bd3 100644
--- a/boost/qvm/gen/mat_operations3.hpp
+++ b/boost/qvm/gen/mat_operations3.hpp
@@ -1,1915 +1,1915 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_B3A6DB3C87C3E99245ED1C6B747DE
-#define BOOST_QVM_B3A6DB3C87C3E99245ED1C6B747DE
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/gen/mat_assign3.hpp>
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/scalar_traits.hpp>
-#include <boost/qvm/throw_exception.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- deduce_mat2<A,B,3,3> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,3,3>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)+mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)+mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)+mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)+mat_traits<B>::template read_element<2,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,3,1> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,3,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- deduce_mat2<A,B,1,3> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,1,3>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- deduce_mat2<A,B,3,3> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,3,3>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)-mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)-mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)-mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)-mat_traits<B>::template read_element<2,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,3,1> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,3,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- deduce_mat2<A,B,1,3> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,1,3>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)+=mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<1,2>(a)+=mat_traits<B>::template read_element<1,2>(b);
- mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<2,1>(a)+=mat_traits<B>::template read_element<2,1>(b);
- mat_traits<A>::template write_element<2,2>(a)+=mat_traits<B>::template read_element<2,2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)-=mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<1,2>(a)-=mat_traits<B>::template read_element<1,2>(b);
- mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<2,1>(a)-=mat_traits<B>::template read_element<2,1>(b);
- mat_traits<A>::template write_element<2,2>(a)-=mat_traits<B>::template read_element<2,2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)*b;
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)*b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)*b;
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==3,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=a*mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=a*mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=a*mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=a*mat_traits<B>::template read_element<2,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==1,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==1 && mat_traits<B>::cols==3,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<0,1>(a)*=b;
- mat_traits<A>::template write_element<0,2>(a)*=b;
- mat_traits<A>::template write_element<1,0>(a)*=b;
- mat_traits<A>::template write_element<1,1>(a)*=b;
- mat_traits<A>::template write_element<1,2>(a)*=b;
- mat_traits<A>::template write_element<2,0>(a)*=b;
- mat_traits<A>::template write_element<2,1>(a)*=b;
- mat_traits<A>::template write_element<2,2>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<1,0>(a)*=b;
- mat_traits<A>::template write_element<2,0>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<0,1>(a)*=b;
- mat_traits<A>::template write_element<0,2>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)/b;
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)/b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)/b;
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==3,
- deduce_mat<B> >::type
- operator/( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a/mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=a/mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=a/mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=a/mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=a/mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=a/mat_traits<B>::template read_element<2,2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_sm_defined;
-
- template <>
- struct
- div_sm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==1,
- deduce_mat<B> >::type
- operator/( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_sm_defined;
-
- template <>
- struct
- div_sm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<0,1>(a)/=b;
- mat_traits<A>::template write_element<0,2>(a)/=b;
- mat_traits<A>::template write_element<1,0>(a)/=b;
- mat_traits<A>::template write_element<1,1>(a)/=b;
- mat_traits<A>::template write_element<1,2>(a)/=b;
- mat_traits<A>::template write_element<2,0>(a)/=b;
- mat_traits<A>::template write_element<2,1>(a)/=b;
- mat_traits<A>::template write_element<2,2>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<1,0>(a)/=b;
- mat_traits<A>::template write_element<2,0>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<0,1>(a)/=b;
- mat_traits<A>::template write_element<0,2>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==3 && mat_traits<A>::rows==3 &&
- mat_traits<R>::cols==3 && mat_traits<A>::cols==3,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
- mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<1,1>(r) = mat_traits<A>::template read_element<1,1>(a);
- mat_traits<R>::template write_element<1,2>(r) = mat_traits<A>::template read_element<1,2>(a);
- mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
- mat_traits<R>::template write_element<2,1>(r) = mat_traits<A>::template read_element<2,1>(a);
- mat_traits<R>::template write_element<2,2>(r) = mat_traits<A>::template read_element<2,2>(a);
- return r;
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE
- typename enable_if_c<
- is_mat<R>::value && is_quat<A>::value &&
- mat_traits<R>::rows==3 && mat_traits<R>::cols==3,
- R>::type
- convert_to( A const & q )
- {
- typedef typename mat_traits<R>::scalar_type T;
- T const a=quat_traits<A>::template read_element<0>(q);
- T const b=quat_traits<A>::template read_element<1>(q);
- T const c=quat_traits<A>::template read_element<2>(q);
- T const d=quat_traits<A>::template read_element<3>(q);
- T const bb = b*b;
- T const cc = c*c;
- T const dd = d*d;
- T const bc = b*c;
- T const bd = b*d;
- T const cd = c*d;
- T const ab = a*b;
- T const ac = a*c;
- T const ad = a*d;
- T const one = scalar_traits<T>::value(1);
- T const two = one+one;
- R r;
- mat_traits<R>::template write_element<0,0>(r) = one - two*(cc+dd);
- mat_traits<R>::template write_element<0,1>(r) = two*(bc-ad);
- mat_traits<R>::template write_element<0,2>(r) = two*(bd+ac);
- mat_traits<R>::template write_element<1,0>(r) = two*(bc+ad);
- mat_traits<R>::template write_element<1,1>(r) = one - two*(bb+dd);
- mat_traits<R>::template write_element<1,2>(r) = two*(cd-ab);
- mat_traits<R>::template write_element<2,0>(r) = two*(bd-ac);
- mat_traits<R>::template write_element<2,1>(r) = two*(cd+ab);
- mat_traits<R>::template write_element<2,2>(r) = one - two*(bb+cc);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==3 && mat_traits<A>::rows==3 &&
- mat_traits<R>::cols==1 && mat_traits<A>::cols==1,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==1 && mat_traits<A>::rows==1 &&
- mat_traits<R>::cols==3 && mat_traits<A>::cols==3,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
- mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b) &&
- mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
- mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b) &&
- mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b) &&
- mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b) &&
- mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b) &&
- mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
- mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
- mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
- !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b)) ||
- !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
- !(mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b)) ||
- !(mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b)) ||
- !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b)) ||
- !(mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b)) ||
- !(mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
- !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
- !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
- mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<1,1>(r)=-mat_traits<A>::template read_element<1,1>(a);
- mat_traits<R>::template write_element<1,2>(r)=-mat_traits<A>::template read_element<1,2>(a);
- mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
- mat_traits<R>::template write_element<2,1>(r)=-mat_traits<A>::template read_element<2,1>(a);
- mat_traits<R>::template write_element<2,2>(r)=-mat_traits<A>::template read_element<2,2>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==1,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==3,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<1,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
- typename mat_traits<A>::scalar_type>::type
- determinant( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T const a00=mat_traits<A>::template read_element<0,0>(a);
- T const a01=mat_traits<A>::template read_element<0,1>(a);
- T const a02=mat_traits<A>::template read_element<0,2>(a);
- T const a10=mat_traits<A>::template read_element<1,0>(a);
- T const a11=mat_traits<A>::template read_element<1,1>(a);
- T const a12=mat_traits<A>::template read_element<1,2>(a);
- T const a20=mat_traits<A>::template read_element<2,0>(a);
- T const a21=mat_traits<A>::template read_element<2,1>(a);
- T const a22=mat_traits<A>::template read_element<2,2>(a);
- T det=(a00*(a11*a22-a12*a21)-a01*(a10*a22-a12*a20)+a02*(a10*a21-a11*a20));
- return det;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::determinant;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct determinant_defined;
-
- template <>
- struct
- determinant_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
- deduce_mat<A> >::type
- inverse( A const & a, B det )
- {
- typedef typename mat_traits<A>::scalar_type T;
- BOOST_QVM_ASSERT(det!=scalar_traits<B>::value(0));
- T const a00=mat_traits<A>::template read_element<0,0>(a);
- T const a01=mat_traits<A>::template read_element<0,1>(a);
- T const a02=mat_traits<A>::template read_element<0,2>(a);
- T const a10=mat_traits<A>::template read_element<1,0>(a);
- T const a11=mat_traits<A>::template read_element<1,1>(a);
- T const a12=mat_traits<A>::template read_element<1,2>(a);
- T const a20=mat_traits<A>::template read_element<2,0>(a);
- T const a21=mat_traits<A>::template read_element<2,1>(a);
- T const a22=mat_traits<A>::template read_element<2,2>(a);
- T const f=scalar_traits<T>::value(1)/det;
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)= f*(a11*a22-a12*a21);
- mat_traits<R>::template write_element<0,1>(r)=-f*(a01*a22-a02*a21);
- mat_traits<R>::template write_element<0,2>(r)= f*(a01*a12-a02*a11);
- mat_traits<R>::template write_element<1,0>(r)=-f*(a10*a22-a12*a20);
- mat_traits<R>::template write_element<1,1>(r)= f*(a00*a22-a02*a20);
- mat_traits<R>::template write_element<1,2>(r)=-f*(a00*a12-a02*a10);
- mat_traits<R>::template write_element<2,0>(r)= f*(a10*a21-a11*a20);
- mat_traits<R>::template write_element<2,1>(r)=-f*(a00*a21-a01*a20);
- mat_traits<R>::template write_element<2,2>(r)= f*(a00*a11-a01*a10);
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
- deduce_mat<A> >::type
- inverse( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T det=determinant(a);
- if( det==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
- return inverse(a,det);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::inverse;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct inverse_m_defined;
-
- template <>
- struct
- inverse_m_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- deduce_mat2<A,B,3,3> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- typedef typename deduce_mat2<A,B,3,3>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20;
- mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21;
- mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22;
- mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20;
- mat_traits<R>::template write_element<1,1>(r)=a10*b01+a11*b11+a12*b21;
- mat_traits<R>::template write_element<1,2>(r)=a10*b02+a11*b12+a12*b22;
- mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20;
- mat_traits<R>::template write_element<2,1>(r)=a20*b01+a21*b11+a22*b21;
- mat_traits<R>::template write_element<2,2>(r)=a20*b02+a21*b12+a22*b22;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<3,3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- A &>::type
- operator*=( A & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- mat_traits<A>::template write_element<0,0>(a)=a00*b00+a01*b10+a02*b20;
- mat_traits<A>::template write_element<0,1>(a)=a00*b01+a01*b11+a02*b21;
- mat_traits<A>::template write_element<0,2>(a)=a00*b02+a01*b12+a02*b22;
- mat_traits<A>::template write_element<1,0>(a)=a10*b00+a11*b10+a12*b20;
- mat_traits<A>::template write_element<1,1>(a)=a10*b01+a11*b11+a12*b21;
- mat_traits<A>::template write_element<1,2>(a)=a10*b02+a11*b12+a12*b22;
- mat_traits<A>::template write_element<2,0>(a)=a20*b00+a21*b10+a22*b20;
- mat_traits<A>::template write_element<2,1>(a)=a20*b01+a21*b11+a22*b21;
- mat_traits<A>::template write_element<2,2>(a)=a20*b02+a21*b12+a22*b22;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_eq_mm_defined;
-
- template <>
- struct
- mul_eq_mm_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,3,1> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- typedef typename deduce_mat2<A,B,3,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20;
- mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20;
- mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<3,3,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==3 &&
- mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
- deduce_mat2<A,B,1,3> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- typedef typename deduce_mat2<A,B,1,3>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20;
- mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21;
- mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<1,3,3>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_B3A6DB3C87C3E99245ED1C6B747DE
+#define BOOST_QVM_B3A6DB3C87C3E99245ED1C6B747DE
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/gen/mat_assign3.hpp>
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/scalar_traits.hpp>
+#include <boost/qvm/throw_exception.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ deduce_mat2<A,B,3,3> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,3,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)+mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)+mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)+mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)+mat_traits<B>::template read_element<2,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,3,1> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,3,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ deduce_mat2<A,B,1,3> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,1,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ deduce_mat2<A,B,3,3> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,3,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)-mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)-mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)-mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)-mat_traits<B>::template read_element<2,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,3,1> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,3,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ deduce_mat2<A,B,1,3> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,1,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)+=mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<1,2>(a)+=mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<2,1>(a)+=mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<A>::template write_element<2,2>(a)+=mat_traits<B>::template read_element<2,2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)-=mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<1,2>(a)-=mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<2,1>(a)-=mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<A>::template write_element<2,2>(a)-=mat_traits<B>::template read_element<2,2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)*b;
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)*b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)*b;
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==3,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=a*mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=a*mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=a*mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=a*mat_traits<B>::template read_element<2,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==1,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==1 && mat_traits<B>::cols==3,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<0,1>(a)*=b;
+ mat_traits<A>::template write_element<0,2>(a)*=b;
+ mat_traits<A>::template write_element<1,0>(a)*=b;
+ mat_traits<A>::template write_element<1,1>(a)*=b;
+ mat_traits<A>::template write_element<1,2>(a)*=b;
+ mat_traits<A>::template write_element<2,0>(a)*=b;
+ mat_traits<A>::template write_element<2,1>(a)*=b;
+ mat_traits<A>::template write_element<2,2>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<1,0>(a)*=b;
+ mat_traits<A>::template write_element<2,0>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<0,1>(a)*=b;
+ mat_traits<A>::template write_element<0,2>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)/b;
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)/b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)/b;
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==3,
+ deduce_mat<B> >::type
+ operator/( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a/mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=a/mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=a/mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=a/mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=a/mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=a/mat_traits<B>::template read_element<2,2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_sm_defined;
+
+ template <>
+ struct
+ div_sm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==3 && mat_traits<B>::cols==1,
+ deduce_mat<B> >::type
+ operator/( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_sm_defined;
+
+ template <>
+ struct
+ div_sm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<0,1>(a)/=b;
+ mat_traits<A>::template write_element<0,2>(a)/=b;
+ mat_traits<A>::template write_element<1,0>(a)/=b;
+ mat_traits<A>::template write_element<1,1>(a)/=b;
+ mat_traits<A>::template write_element<1,2>(a)/=b;
+ mat_traits<A>::template write_element<2,0>(a)/=b;
+ mat_traits<A>::template write_element<2,1>(a)/=b;
+ mat_traits<A>::template write_element<2,2>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<1,0>(a)/=b;
+ mat_traits<A>::template write_element<2,0>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<0,1>(a)/=b;
+ mat_traits<A>::template write_element<0,2>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==3 && mat_traits<A>::rows==3 &&
+ mat_traits<R>::cols==3 && mat_traits<A>::cols==3,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
+ mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<1,1>(r) = mat_traits<A>::template read_element<1,1>(a);
+ mat_traits<R>::template write_element<1,2>(r) = mat_traits<A>::template read_element<1,2>(a);
+ mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
+ mat_traits<R>::template write_element<2,1>(r) = mat_traits<A>::template read_element<2,1>(a);
+ mat_traits<R>::template write_element<2,2>(r) = mat_traits<A>::template read_element<2,2>(a);
+ return r;
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE
+ typename enable_if_c<
+ is_mat<R>::value && is_quat<A>::value &&
+ mat_traits<R>::rows==3 && mat_traits<R>::cols==3,
+ R>::type
+ convert_to( A const & q )
+ {
+ typedef typename mat_traits<R>::scalar_type T;
+ T const a=quat_traits<A>::template read_element<0>(q);
+ T const b=quat_traits<A>::template read_element<1>(q);
+ T const c=quat_traits<A>::template read_element<2>(q);
+ T const d=quat_traits<A>::template read_element<3>(q);
+ T const bb = b*b;
+ T const cc = c*c;
+ T const dd = d*d;
+ T const bc = b*c;
+ T const bd = b*d;
+ T const cd = c*d;
+ T const ab = a*b;
+ T const ac = a*c;
+ T const ad = a*d;
+ T const one = scalar_traits<T>::value(1);
+ T const two = one+one;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = one - two*(cc+dd);
+ mat_traits<R>::template write_element<0,1>(r) = two*(bc-ad);
+ mat_traits<R>::template write_element<0,2>(r) = two*(bd+ac);
+ mat_traits<R>::template write_element<1,0>(r) = two*(bc+ad);
+ mat_traits<R>::template write_element<1,1>(r) = one - two*(bb+dd);
+ mat_traits<R>::template write_element<1,2>(r) = two*(cd-ab);
+ mat_traits<R>::template write_element<2,0>(r) = two*(bd-ac);
+ mat_traits<R>::template write_element<2,1>(r) = two*(cd+ab);
+ mat_traits<R>::template write_element<2,2>(r) = one - two*(bb+cc);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==3 && mat_traits<A>::rows==3 &&
+ mat_traits<R>::cols==1 && mat_traits<A>::cols==1,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==1 && mat_traits<A>::rows==1 &&
+ mat_traits<R>::cols==3 && mat_traits<A>::cols==3,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
+ mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b) &&
+ mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
+ mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b) &&
+ mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b) &&
+ mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b) &&
+ mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b) &&
+ mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
+ mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
+ mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
+ !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b)) ||
+ !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
+ !(mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b)) ||
+ !(mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b)) ||
+ !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b)) ||
+ !(mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b)) ||
+ !(mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
+ !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
+ !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
+ mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<1,1>(r)=-mat_traits<A>::template read_element<1,1>(a);
+ mat_traits<R>::template write_element<1,2>(r)=-mat_traits<A>::template read_element<1,2>(a);
+ mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
+ mat_traits<R>::template write_element<2,1>(r)=-mat_traits<A>::template read_element<2,1>(a);
+ mat_traits<R>::template write_element<2,2>(r)=-mat_traits<A>::template read_element<2,2>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==1,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==3,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<1,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
+ typename mat_traits<A>::scalar_type>::type
+ determinant( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T const a00=mat_traits<A>::template read_element<0,0>(a);
+ T const a01=mat_traits<A>::template read_element<0,1>(a);
+ T const a02=mat_traits<A>::template read_element<0,2>(a);
+ T const a10=mat_traits<A>::template read_element<1,0>(a);
+ T const a11=mat_traits<A>::template read_element<1,1>(a);
+ T const a12=mat_traits<A>::template read_element<1,2>(a);
+ T const a20=mat_traits<A>::template read_element<2,0>(a);
+ T const a21=mat_traits<A>::template read_element<2,1>(a);
+ T const a22=mat_traits<A>::template read_element<2,2>(a);
+ T det=(a00*(a11*a22-a12*a21)-a01*(a10*a22-a12*a20)+a02*(a10*a21-a11*a20));
+ return det;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::determinant;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct determinant_defined;
+
+ template <>
+ struct
+ determinant_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ inverse( A const & a, B det )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ BOOST_QVM_ASSERT(det!=scalar_traits<B>::value(0));
+ T const a00=mat_traits<A>::template read_element<0,0>(a);
+ T const a01=mat_traits<A>::template read_element<0,1>(a);
+ T const a02=mat_traits<A>::template read_element<0,2>(a);
+ T const a10=mat_traits<A>::template read_element<1,0>(a);
+ T const a11=mat_traits<A>::template read_element<1,1>(a);
+ T const a12=mat_traits<A>::template read_element<1,2>(a);
+ T const a20=mat_traits<A>::template read_element<2,0>(a);
+ T const a21=mat_traits<A>::template read_element<2,1>(a);
+ T const a22=mat_traits<A>::template read_element<2,2>(a);
+ T const f=scalar_traits<T>::value(1)/det;
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)= f*(a11*a22-a12*a21);
+ mat_traits<R>::template write_element<0,1>(r)=-f*(a01*a22-a02*a21);
+ mat_traits<R>::template write_element<0,2>(r)= f*(a01*a12-a02*a11);
+ mat_traits<R>::template write_element<1,0>(r)=-f*(a10*a22-a12*a20);
+ mat_traits<R>::template write_element<1,1>(r)= f*(a00*a22-a02*a20);
+ mat_traits<R>::template write_element<1,2>(r)=-f*(a00*a12-a02*a10);
+ mat_traits<R>::template write_element<2,0>(r)= f*(a10*a21-a11*a20);
+ mat_traits<R>::template write_element<2,1>(r)=-f*(a00*a21-a01*a20);
+ mat_traits<R>::template write_element<2,2>(r)= f*(a00*a11-a01*a10);
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
+ deduce_mat<A> >::type
+ inverse( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T det=determinant(a);
+ if( det==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
+ return inverse(a,det);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::inverse;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct inverse_m_defined;
+
+ template <>
+ struct
+ inverse_m_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ deduce_mat2<A,B,3,3> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ typedef typename deduce_mat2<A,B,3,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20;
+ mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21;
+ mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22;
+ mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20;
+ mat_traits<R>::template write_element<1,1>(r)=a10*b01+a11*b11+a12*b21;
+ mat_traits<R>::template write_element<1,2>(r)=a10*b02+a11*b12+a12*b22;
+ mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20;
+ mat_traits<R>::template write_element<2,1>(r)=a20*b01+a21*b11+a22*b21;
+ mat_traits<R>::template write_element<2,2>(r)=a20*b02+a21*b12+a22*b22;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<3,3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ A &>::type
+ operator*=( A & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<A>::template write_element<0,0>(a)=a00*b00+a01*b10+a02*b20;
+ mat_traits<A>::template write_element<0,1>(a)=a00*b01+a01*b11+a02*b21;
+ mat_traits<A>::template write_element<0,2>(a)=a00*b02+a01*b12+a02*b22;
+ mat_traits<A>::template write_element<1,0>(a)=a10*b00+a11*b10+a12*b20;
+ mat_traits<A>::template write_element<1,1>(a)=a10*b01+a11*b11+a12*b21;
+ mat_traits<A>::template write_element<1,2>(a)=a10*b02+a11*b12+a12*b22;
+ mat_traits<A>::template write_element<2,0>(a)=a20*b00+a21*b10+a22*b20;
+ mat_traits<A>::template write_element<2,1>(a)=a20*b01+a21*b11+a22*b21;
+ mat_traits<A>::template write_element<2,2>(a)=a20*b02+a21*b12+a22*b22;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_eq_mm_defined;
+
+ template <>
+ struct
+ mul_eq_mm_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,3,1> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ typedef typename deduce_mat2<A,B,3,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==3);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20;
+ mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20;
+ mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<3,3,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==3 &&
+ mat_traits<A>::cols==3 && mat_traits<B>::cols==3,
+ deduce_mat2<A,B,1,3> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ typedef typename deduce_mat2<A,B,1,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==3);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20;
+ mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21;
+ mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<1,3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/mat_operations4.hpp b/boost/qvm/gen/mat_operations4.hpp
index 1c50131461..fcdc1beadf 100644
--- a/boost/qvm/gen/mat_operations4.hpp
+++ b/boost/qvm/gen/mat_operations4.hpp
@@ -1,2129 +1,2129 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_B3124DC843BB8BA61F35A7D938251F
-#define BOOST_QVM_B3124DC843BB8BA61F35A7D938251F
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/gen/mat_assign4.hpp>
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/scalar_traits.hpp>
-#include <boost/qvm/throw_exception.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- deduce_mat2<A,B,4,4> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,4,4>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)+mat_traits<B>::template read_element<0,3>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)+mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)+mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)+mat_traits<B>::template read_element<1,3>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)+mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)+mat_traits<B>::template read_element<2,2>(b);
- mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)+mat_traits<B>::template read_element<2,3>(b);
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)+mat_traits<B>::template read_element<3,0>(b);
- mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)+mat_traits<B>::template read_element<3,1>(b);
- mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)+mat_traits<B>::template read_element<3,2>(b);
- mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)+mat_traits<B>::template read_element<3,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,4,1> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,4,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)+mat_traits<B>::template read_element<3,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- deduce_mat2<A,B,1,4> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,1,4>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)+mat_traits<B>::template read_element<0,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_mm_defined;
-
- template <>
- struct
- plus_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- deduce_mat2<A,B,4,4> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,4,4>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)-mat_traits<B>::template read_element<0,3>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)-mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)-mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)-mat_traits<B>::template read_element<1,3>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)-mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)-mat_traits<B>::template read_element<2,2>(b);
- mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)-mat_traits<B>::template read_element<2,3>(b);
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)-mat_traits<B>::template read_element<3,0>(b);
- mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)-mat_traits<B>::template read_element<3,1>(b);
- mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)-mat_traits<B>::template read_element<3,2>(b);
- mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)-mat_traits<B>::template read_element<3,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,4,1> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,4,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)-mat_traits<B>::template read_element<3,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- deduce_mat2<A,B,1,4> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,1,4>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)-mat_traits<B>::template read_element<0,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_mm_defined;
-
- template <>
- struct
- minus_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<0,3>(a)+=mat_traits<B>::template read_element<0,3>(b);
- mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)+=mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<1,2>(a)+=mat_traits<B>::template read_element<1,2>(b);
- mat_traits<A>::template write_element<1,3>(a)+=mat_traits<B>::template read_element<1,3>(b);
- mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<2,1>(a)+=mat_traits<B>::template read_element<2,1>(b);
- mat_traits<A>::template write_element<2,2>(a)+=mat_traits<B>::template read_element<2,2>(b);
- mat_traits<A>::template write_element<2,3>(a)+=mat_traits<B>::template read_element<2,3>(b);
- mat_traits<A>::template write_element<3,0>(a)+=mat_traits<B>::template read_element<3,0>(b);
- mat_traits<A>::template write_element<3,1>(a)+=mat_traits<B>::template read_element<3,1>(b);
- mat_traits<A>::template write_element<3,2>(a)+=mat_traits<B>::template read_element<3,2>(b);
- mat_traits<A>::template write_element<3,3>(a)+=mat_traits<B>::template read_element<3,3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<3,0>(a)+=mat_traits<B>::template read_element<3,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- operator+=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<0,3>(a)+=mat_traits<B>::template read_element<0,3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct plus_eq_mm_defined;
-
- template <>
- struct
- plus_eq_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<0,3>(a)-=mat_traits<B>::template read_element<0,3>(b);
- mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<1,1>(a)-=mat_traits<B>::template read_element<1,1>(b);
- mat_traits<A>::template write_element<1,2>(a)-=mat_traits<B>::template read_element<1,2>(b);
- mat_traits<A>::template write_element<1,3>(a)-=mat_traits<B>::template read_element<1,3>(b);
- mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<2,1>(a)-=mat_traits<B>::template read_element<2,1>(b);
- mat_traits<A>::template write_element<2,2>(a)-=mat_traits<B>::template read_element<2,2>(b);
- mat_traits<A>::template write_element<2,3>(a)-=mat_traits<B>::template read_element<2,3>(b);
- mat_traits<A>::template write_element<3,0>(a)-=mat_traits<B>::template read_element<3,0>(b);
- mat_traits<A>::template write_element<3,1>(a)-=mat_traits<B>::template read_element<3,1>(b);
- mat_traits<A>::template write_element<3,2>(a)-=mat_traits<B>::template read_element<3,2>(b);
- mat_traits<A>::template write_element<3,3>(a)-=mat_traits<B>::template read_element<3,3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
- mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
- mat_traits<A>::template write_element<3,0>(a)-=mat_traits<B>::template read_element<3,0>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- operator-=( A & a, B const & b )
- {
- mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
- mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
- mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
- mat_traits<A>::template write_element<0,3>(a)-=mat_traits<B>::template read_element<0,3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_eq_mm_defined;
-
- template <>
- struct
- minus_eq_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)*b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)*b;
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)*b;
- mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)*b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)*b;
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)*b;
- mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)*b;
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)*b;
- mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)*b;
- mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)*b;
- mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==4,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=a*mat_traits<B>::template read_element<0,3>(b);
- mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=a*mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=a*mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<1,3>(r)=a*mat_traits<B>::template read_element<1,3>(b);
- mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=a*mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=a*mat_traits<B>::template read_element<2,2>(b);
- mat_traits<R>::template write_element<2,3>(r)=a*mat_traits<B>::template read_element<2,3>(b);
- mat_traits<R>::template write_element<3,0>(r)=a*mat_traits<B>::template read_element<3,0>(b);
- mat_traits<R>::template write_element<3,1>(r)=a*mat_traits<B>::template read_element<3,1>(b);
- mat_traits<R>::template write_element<3,2>(r)=a*mat_traits<B>::template read_element<3,2>(b);
- mat_traits<R>::template write_element<3,3>(r)=a*mat_traits<B>::template read_element<3,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==1,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<3,0>(r)=a*mat_traits<B>::template read_element<3,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_ms_defined;
-
- template <>
- struct
- mul_ms_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==1 && mat_traits<B>::cols==4,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=a*mat_traits<B>::template read_element<0,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_sm_defined;
-
- template <>
- struct
- mul_sm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<0,1>(a)*=b;
- mat_traits<A>::template write_element<0,2>(a)*=b;
- mat_traits<A>::template write_element<0,3>(a)*=b;
- mat_traits<A>::template write_element<1,0>(a)*=b;
- mat_traits<A>::template write_element<1,1>(a)*=b;
- mat_traits<A>::template write_element<1,2>(a)*=b;
- mat_traits<A>::template write_element<1,3>(a)*=b;
- mat_traits<A>::template write_element<2,0>(a)*=b;
- mat_traits<A>::template write_element<2,1>(a)*=b;
- mat_traits<A>::template write_element<2,2>(a)*=b;
- mat_traits<A>::template write_element<2,3>(a)*=b;
- mat_traits<A>::template write_element<3,0>(a)*=b;
- mat_traits<A>::template write_element<3,1>(a)*=b;
- mat_traits<A>::template write_element<3,2>(a)*=b;
- mat_traits<A>::template write_element<3,3>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<1,0>(a)*=b;
- mat_traits<A>::template write_element<2,0>(a)*=b;
- mat_traits<A>::template write_element<3,0>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)*=b;
- mat_traits<A>::template write_element<0,1>(a)*=b;
- mat_traits<A>::template write_element<0,2>(a)*=b;
- mat_traits<A>::template write_element<0,3>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_eq_ms_defined;
-
- template <>
- struct
- mul_eq_ms_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)/b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
- mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)/b;
- mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)/b;
- mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)/b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
- mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)/b;
- mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)/b;
- mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)/b;
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)/b;
- mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)/b;
- mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)/b;
- mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==4,
- deduce_mat<B> >::type
- operator/( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<0,1>(r)=a/mat_traits<B>::template read_element<0,1>(b);
- mat_traits<R>::template write_element<0,2>(r)=a/mat_traits<B>::template read_element<0,2>(b);
- mat_traits<R>::template write_element<0,3>(r)=a/mat_traits<B>::template read_element<0,3>(b);
- mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<1,1>(r)=a/mat_traits<B>::template read_element<1,1>(b);
- mat_traits<R>::template write_element<1,2>(r)=a/mat_traits<B>::template read_element<1,2>(b);
- mat_traits<R>::template write_element<1,3>(r)=a/mat_traits<B>::template read_element<1,3>(b);
- mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<2,1>(r)=a/mat_traits<B>::template read_element<2,1>(b);
- mat_traits<R>::template write_element<2,2>(r)=a/mat_traits<B>::template read_element<2,2>(b);
- mat_traits<R>::template write_element<2,3>(r)=a/mat_traits<B>::template read_element<2,3>(b);
- mat_traits<R>::template write_element<3,0>(r)=a/mat_traits<B>::template read_element<3,0>(b);
- mat_traits<R>::template write_element<3,1>(r)=a/mat_traits<B>::template read_element<3,1>(b);
- mat_traits<R>::template write_element<3,2>(r)=a/mat_traits<B>::template read_element<3,2>(b);
- mat_traits<R>::template write_element<3,3>(r)=a/mat_traits<B>::template read_element<3,3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_sm_defined;
-
- template <>
- struct
- div_sm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
- mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
- mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==1,
- deduce_mat<B> >::type
- operator/( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
- mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
- mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
- mat_traits<R>::template write_element<3,0>(r)=a/mat_traits<B>::template read_element<3,0>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_sm_defined;
-
- template <>
- struct
- div_sm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
- mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
- mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
- mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_ms_defined;
-
- template <>
- struct
- div_ms_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<0,1>(a)/=b;
- mat_traits<A>::template write_element<0,2>(a)/=b;
- mat_traits<A>::template write_element<0,3>(a)/=b;
- mat_traits<A>::template write_element<1,0>(a)/=b;
- mat_traits<A>::template write_element<1,1>(a)/=b;
- mat_traits<A>::template write_element<1,2>(a)/=b;
- mat_traits<A>::template write_element<1,3>(a)/=b;
- mat_traits<A>::template write_element<2,0>(a)/=b;
- mat_traits<A>::template write_element<2,1>(a)/=b;
- mat_traits<A>::template write_element<2,2>(a)/=b;
- mat_traits<A>::template write_element<2,3>(a)/=b;
- mat_traits<A>::template write_element<3,0>(a)/=b;
- mat_traits<A>::template write_element<3,1>(a)/=b;
- mat_traits<A>::template write_element<3,2>(a)/=b;
- mat_traits<A>::template write_element<3,3>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<1,0>(a)/=b;
- mat_traits<A>::template write_element<2,0>(a)/=b;
- mat_traits<A>::template write_element<3,0>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- mat_traits<A>::template write_element<0,0>(a)/=b;
- mat_traits<A>::template write_element<0,1>(a)/=b;
- mat_traits<A>::template write_element<0,2>(a)/=b;
- mat_traits<A>::template write_element<0,3>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct div_eq_ms_defined;
-
- template <>
- struct
- div_eq_ms_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==4 && mat_traits<A>::rows==4 &&
- mat_traits<R>::cols==4 && mat_traits<A>::cols==4,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
- mat_traits<R>::template write_element<0,3>(r) = mat_traits<A>::template read_element<0,3>(a);
- mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<1,1>(r) = mat_traits<A>::template read_element<1,1>(a);
- mat_traits<R>::template write_element<1,2>(r) = mat_traits<A>::template read_element<1,2>(a);
- mat_traits<R>::template write_element<1,3>(r) = mat_traits<A>::template read_element<1,3>(a);
- mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
- mat_traits<R>::template write_element<2,1>(r) = mat_traits<A>::template read_element<2,1>(a);
- mat_traits<R>::template write_element<2,2>(r) = mat_traits<A>::template read_element<2,2>(a);
- mat_traits<R>::template write_element<2,3>(r) = mat_traits<A>::template read_element<2,3>(a);
- mat_traits<R>::template write_element<3,0>(r) = mat_traits<A>::template read_element<3,0>(a);
- mat_traits<R>::template write_element<3,1>(r) = mat_traits<A>::template read_element<3,1>(a);
- mat_traits<R>::template write_element<3,2>(r) = mat_traits<A>::template read_element<3,2>(a);
- mat_traits<R>::template write_element<3,3>(r) = mat_traits<A>::template read_element<3,3>(a);
- return r;
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE
- typename enable_if_c<
- is_mat<R>::value && is_quat<A>::value &&
- mat_traits<R>::rows==4 && mat_traits<R>::cols==4,
- R>::type
- convert_to( A const & q )
- {
- typedef typename mat_traits<R>::scalar_type T;
- T const a=quat_traits<A>::template read_element<0>(q);
- T const b=quat_traits<A>::template read_element<1>(q);
- T const c=quat_traits<A>::template read_element<2>(q);
- T const d=quat_traits<A>::template read_element<3>(q);
- T const bb = b*b;
- T const cc = c*c;
- T const dd = d*d;
- T const bc = b*c;
- T const bd = b*d;
- T const cd = c*d;
- T const ab = a*b;
- T const ac = a*c;
- T const ad = a*d;
- T const zero = scalar_traits<T>::value(0);
- T const one = scalar_traits<T>::value(1);
- T const two = one+one;
- R r;
- mat_traits<R>::template write_element<0,0>(r) = one - two*(cc+dd);
- mat_traits<R>::template write_element<0,1>(r) = two*(bc-ad);
- mat_traits<R>::template write_element<0,2>(r) = two*(bd+ac);
- mat_traits<R>::template write_element<0,3>(r) = zero;
- mat_traits<R>::template write_element<1,0>(r) = two*(bc+ad);
- mat_traits<R>::template write_element<1,1>(r) = one - two*(bb+dd);
- mat_traits<R>::template write_element<1,2>(r) = two*(cd-ab);
- mat_traits<R>::template write_element<1,3>(r) = zero;
- mat_traits<R>::template write_element<2,0>(r) = two*(bd-ac);
- mat_traits<R>::template write_element<2,1>(r) = two*(cd+ab);
- mat_traits<R>::template write_element<2,2>(r) = one - two*(bb+cc);
- mat_traits<R>::template write_element<2,3>(r) = zero;
- mat_traits<R>::template write_element<3,0>(r) = zero;
- mat_traits<R>::template write_element<3,1>(r) = zero;
- mat_traits<R>::template write_element<3,2>(r) = zero;
- mat_traits<R>::template write_element<3,3>(r) = one;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==4 && mat_traits<A>::rows==4 &&
- mat_traits<R>::cols==1 && mat_traits<A>::cols==1,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
- mat_traits<R>::template write_element<3,0>(r) = mat_traits<A>::template read_element<3,0>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<R>::rows==1 && mat_traits<A>::rows==1 &&
- mat_traits<R>::cols==4 && mat_traits<A>::cols==4,
- R>::type
- convert_to( A const & a )
- {
- R r;
- mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
- mat_traits<R>::template write_element<0,3>(r) = mat_traits<A>::template read_element<0,3>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct convert_to_m_defined;
-
- template <>
- struct
- convert_to_m_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
- mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b) &&
- mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b) &&
- mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
- mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b) &&
- mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b) &&
- mat_traits<A>::template read_element<1,3>(a)==mat_traits<B>::template read_element<1,3>(b) &&
- mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b) &&
- mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b) &&
- mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b) &&
- mat_traits<A>::template read_element<2,3>(a)==mat_traits<B>::template read_element<2,3>(b) &&
- mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b) &&
- mat_traits<A>::template read_element<3,1>(a)==mat_traits<B>::template read_element<3,1>(b) &&
- mat_traits<A>::template read_element<3,2>(a)==mat_traits<B>::template read_element<3,2>(b) &&
- mat_traits<A>::template read_element<3,3>(a)==mat_traits<B>::template read_element<3,3>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
- mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b) &&
- mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
- mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
- mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b) &&
- mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct eq_mm_defined;
-
- template <>
- struct
- eq_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
- !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b)) ||
- !(mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b)) ||
- !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
- !(mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b)) ||
- !(mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b)) ||
- !(mat_traits<A>::template read_element<1,3>(a)==mat_traits<B>::template read_element<1,3>(b)) ||
- !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b)) ||
- !(mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b)) ||
- !(mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b)) ||
- !(mat_traits<A>::template read_element<2,3>(a)==mat_traits<B>::template read_element<2,3>(b)) ||
- !(mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b)) ||
- !(mat_traits<A>::template read_element<3,1>(a)==mat_traits<B>::template read_element<3,1>(b)) ||
- !(mat_traits<A>::template read_element<3,2>(a)==mat_traits<B>::template read_element<3,2>(b)) ||
- !(mat_traits<A>::template read_element<3,3>(a)==mat_traits<B>::template read_element<3,3>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
- !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b)) ||
- !(mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
- !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
- !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b)) ||
- !(mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct neq_mm_defined;
-
- template <>
- struct
- neq_mm_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
- mat_traits<R>::template write_element<0,3>(r)=-mat_traits<A>::template read_element<0,3>(a);
- mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<1,1>(r)=-mat_traits<A>::template read_element<1,1>(a);
- mat_traits<R>::template write_element<1,2>(r)=-mat_traits<A>::template read_element<1,2>(a);
- mat_traits<R>::template write_element<1,3>(r)=-mat_traits<A>::template read_element<1,3>(a);
- mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
- mat_traits<R>::template write_element<2,1>(r)=-mat_traits<A>::template read_element<2,1>(a);
- mat_traits<R>::template write_element<2,2>(r)=-mat_traits<A>::template read_element<2,2>(a);
- mat_traits<R>::template write_element<2,3>(r)=-mat_traits<A>::template read_element<2,3>(a);
- mat_traits<R>::template write_element<3,0>(r)=-mat_traits<A>::template read_element<3,0>(a);
- mat_traits<R>::template write_element<3,1>(r)=-mat_traits<A>::template read_element<3,1>(a);
- mat_traits<R>::template write_element<3,2>(r)=-mat_traits<A>::template read_element<3,2>(a);
- mat_traits<R>::template write_element<3,3>(r)=-mat_traits<A>::template read_element<3,3>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==1,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
- mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
- mat_traits<R>::template write_element<3,0>(r)=-mat_traits<A>::template read_element<3,0>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<A>::cols==4,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
- mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
- mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
- mat_traits<R>::template write_element<0,3>(r)=-mat_traits<A>::template read_element<0,3>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct minus_m_defined;
-
- template <>
- struct
- minus_m_defined<1,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4,
- typename mat_traits<A>::scalar_type>::type
- determinant( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T const a00=mat_traits<A>::template read_element<0,0>(a);
- T const a01=mat_traits<A>::template read_element<0,1>(a);
- T const a02=mat_traits<A>::template read_element<0,2>(a);
- T const a03=mat_traits<A>::template read_element<0,3>(a);
- T const a10=mat_traits<A>::template read_element<1,0>(a);
- T const a11=mat_traits<A>::template read_element<1,1>(a);
- T const a12=mat_traits<A>::template read_element<1,2>(a);
- T const a13=mat_traits<A>::template read_element<1,3>(a);
- T const a20=mat_traits<A>::template read_element<2,0>(a);
- T const a21=mat_traits<A>::template read_element<2,1>(a);
- T const a22=mat_traits<A>::template read_element<2,2>(a);
- T const a23=mat_traits<A>::template read_element<2,3>(a);
- T const a30=mat_traits<A>::template read_element<3,0>(a);
- T const a31=mat_traits<A>::template read_element<3,1>(a);
- T const a32=mat_traits<A>::template read_element<3,2>(a);
- T const a33=mat_traits<A>::template read_element<3,3>(a);
- T det=(a00*(a11*(a22*a33-a23*a32)-a12*(a21*a33-a23*a31)+a13*(a21*a32-a22*a31))-a01*(a10*(a22*a33-a23*a32)-a12*(a20*a33-a23*a30)+a13*(a20*a32-a22*a30))+a02*(a10*(a21*a33-a23*a31)-a11*(a20*a33-a23*a30)+a13*(a20*a31-a21*a30))-a03*(a10*(a21*a32-a22*a31)-a11*(a20*a32-a22*a30)+a12*(a20*a31-a21*a30)));
- return det;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::determinant;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct determinant_defined;
-
- template <>
- struct
- determinant_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
- deduce_mat<A> >::type
- inverse( A const & a, B det )
- {
- typedef typename mat_traits<A>::scalar_type T;
- BOOST_QVM_ASSERT(det!=scalar_traits<B>::value(0));
- T const a00=mat_traits<A>::template read_element<0,0>(a);
- T const a01=mat_traits<A>::template read_element<0,1>(a);
- T const a02=mat_traits<A>::template read_element<0,2>(a);
- T const a03=mat_traits<A>::template read_element<0,3>(a);
- T const a10=mat_traits<A>::template read_element<1,0>(a);
- T const a11=mat_traits<A>::template read_element<1,1>(a);
- T const a12=mat_traits<A>::template read_element<1,2>(a);
- T const a13=mat_traits<A>::template read_element<1,3>(a);
- T const a20=mat_traits<A>::template read_element<2,0>(a);
- T const a21=mat_traits<A>::template read_element<2,1>(a);
- T const a22=mat_traits<A>::template read_element<2,2>(a);
- T const a23=mat_traits<A>::template read_element<2,3>(a);
- T const a30=mat_traits<A>::template read_element<3,0>(a);
- T const a31=mat_traits<A>::template read_element<3,1>(a);
- T const a32=mat_traits<A>::template read_element<3,2>(a);
- T const a33=mat_traits<A>::template read_element<3,3>(a);
- T const f=scalar_traits<T>::value(1)/det;
- typedef typename deduce_mat<A>::type R;
- R r;
- mat_traits<R>::template write_element<0,0>(r)= f*(a11*(a22*a33-a23*a32)-a12*(a21*a33-a23*a31)+a13*(a21*a32-a22*a31));
- mat_traits<R>::template write_element<0,1>(r)=-f*(a01*(a22*a33-a23*a32)-a02*(a21*a33-a23*a31)+a03*(a21*a32-a22*a31));
- mat_traits<R>::template write_element<0,2>(r)= f*(a01*(a12*a33-a13*a32)-a02*(a11*a33-a13*a31)+a03*(a11*a32-a12*a31));
- mat_traits<R>::template write_element<0,3>(r)=-f*(a01*(a12*a23-a13*a22)-a02*(a11*a23-a13*a21)+a03*(a11*a22-a12*a21));
- mat_traits<R>::template write_element<1,0>(r)=-f*(a10*(a22*a33-a23*a32)-a12*(a20*a33-a23*a30)+a13*(a20*a32-a22*a30));
- mat_traits<R>::template write_element<1,1>(r)= f*(a00*(a22*a33-a23*a32)-a02*(a20*a33-a23*a30)+a03*(a20*a32-a22*a30));
- mat_traits<R>::template write_element<1,2>(r)=-f*(a00*(a12*a33-a13*a32)-a02*(a10*a33-a13*a30)+a03*(a10*a32-a12*a30));
- mat_traits<R>::template write_element<1,3>(r)= f*(a00*(a12*a23-a13*a22)-a02*(a10*a23-a13*a20)+a03*(a10*a22-a12*a20));
- mat_traits<R>::template write_element<2,0>(r)= f*(a10*(a21*a33-a23*a31)-a11*(a20*a33-a23*a30)+a13*(a20*a31-a21*a30));
- mat_traits<R>::template write_element<2,1>(r)=-f*(a00*(a21*a33-a23*a31)-a01*(a20*a33-a23*a30)+a03*(a20*a31-a21*a30));
- mat_traits<R>::template write_element<2,2>(r)= f*(a00*(a11*a33-a13*a31)-a01*(a10*a33-a13*a30)+a03*(a10*a31-a11*a30));
- mat_traits<R>::template write_element<2,3>(r)=-f*(a00*(a11*a23-a13*a21)-a01*(a10*a23-a13*a20)+a03*(a10*a21-a11*a20));
- mat_traits<R>::template write_element<3,0>(r)=-f*(a10*(a21*a32-a22*a31)-a11*(a20*a32-a22*a30)+a12*(a20*a31-a21*a30));
- mat_traits<R>::template write_element<3,1>(r)= f*(a00*(a21*a32-a22*a31)-a01*(a20*a32-a22*a30)+a02*(a20*a31-a21*a30));
- mat_traits<R>::template write_element<3,2>(r)=-f*(a00*(a11*a32-a12*a31)-a01*(a10*a32-a12*a30)+a02*(a10*a31-a11*a30));
- mat_traits<R>::template write_element<3,3>(r)= f*(a00*(a11*a22-a12*a21)-a01*(a10*a22-a12*a20)+a02*(a10*a21-a11*a20));
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4,
- deduce_mat<A> >::type
- inverse( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T det=determinant(a);
- if( det==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
- return inverse(a,det);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::inverse;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct inverse_m_defined;
-
- template <>
- struct
- inverse_m_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- deduce_mat2<A,B,4,4> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
- Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
- Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
- Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
- Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
- Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
- Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
- Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
- Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
- typedef typename deduce_mat2<A,B,4,4>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20+a03*b30;
- mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21+a03*b31;
- mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22+a03*b32;
- mat_traits<R>::template write_element<0,3>(r)=a00*b03+a01*b13+a02*b23+a03*b33;
- mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20+a13*b30;
- mat_traits<R>::template write_element<1,1>(r)=a10*b01+a11*b11+a12*b21+a13*b31;
- mat_traits<R>::template write_element<1,2>(r)=a10*b02+a11*b12+a12*b22+a13*b32;
- mat_traits<R>::template write_element<1,3>(r)=a10*b03+a11*b13+a12*b23+a13*b33;
- mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20+a23*b30;
- mat_traits<R>::template write_element<2,1>(r)=a20*b01+a21*b11+a22*b21+a23*b31;
- mat_traits<R>::template write_element<2,2>(r)=a20*b02+a21*b12+a22*b22+a23*b32;
- mat_traits<R>::template write_element<2,3>(r)=a20*b03+a21*b13+a22*b23+a23*b33;
- mat_traits<R>::template write_element<3,0>(r)=a30*b00+a31*b10+a32*b20+a33*b30;
- mat_traits<R>::template write_element<3,1>(r)=a30*b01+a31*b11+a32*b21+a33*b31;
- mat_traits<R>::template write_element<3,2>(r)=a30*b02+a31*b12+a32*b22+a33*b32;
- mat_traits<R>::template write_element<3,3>(r)=a30*b03+a31*b13+a32*b23+a33*b33;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<4,4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- A &>::type
- operator*=( A & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
- Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
- Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
- Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
- Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
- Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
- Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
- Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
- Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
- mat_traits<A>::template write_element<0,0>(a)=a00*b00+a01*b10+a02*b20+a03*b30;
- mat_traits<A>::template write_element<0,1>(a)=a00*b01+a01*b11+a02*b21+a03*b31;
- mat_traits<A>::template write_element<0,2>(a)=a00*b02+a01*b12+a02*b22+a03*b32;
- mat_traits<A>::template write_element<0,3>(a)=a00*b03+a01*b13+a02*b23+a03*b33;
- mat_traits<A>::template write_element<1,0>(a)=a10*b00+a11*b10+a12*b20+a13*b30;
- mat_traits<A>::template write_element<1,1>(a)=a10*b01+a11*b11+a12*b21+a13*b31;
- mat_traits<A>::template write_element<1,2>(a)=a10*b02+a11*b12+a12*b22+a13*b32;
- mat_traits<A>::template write_element<1,3>(a)=a10*b03+a11*b13+a12*b23+a13*b33;
- mat_traits<A>::template write_element<2,0>(a)=a20*b00+a21*b10+a22*b20+a23*b30;
- mat_traits<A>::template write_element<2,1>(a)=a20*b01+a21*b11+a22*b21+a23*b31;
- mat_traits<A>::template write_element<2,2>(a)=a20*b02+a21*b12+a22*b22+a23*b32;
- mat_traits<A>::template write_element<2,3>(a)=a20*b03+a21*b13+a22*b23+a23*b33;
- mat_traits<A>::template write_element<3,0>(a)=a30*b00+a31*b10+a32*b20+a33*b30;
- mat_traits<A>::template write_element<3,1>(a)=a30*b01+a31*b11+a32*b21+a33*b31;
- mat_traits<A>::template write_element<3,2>(a)=a30*b02+a31*b12+a32*b22+a33*b32;
- mat_traits<A>::template write_element<3,3>(a)=a30*b03+a31*b13+a32*b23+a33*b33;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_eq_mm_defined;
-
- template <>
- struct
- mul_eq_mm_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==1,
- deduce_mat2<A,B,4,1> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
- Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
- Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
- Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
- Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
- typedef typename deduce_mat2<A,B,4,1>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20+a03*b30;
- mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20+a13*b30;
- mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20+a23*b30;
- mat_traits<R>::template write_element<3,0>(r)=a30*b00+a31*b10+a32*b20+a33*b30;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<4,4,1>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==1 && mat_traits<B>::rows==4 &&
- mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
- deduce_mat2<A,B,1,4> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
- Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
- Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
- Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
- Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
- typedef typename deduce_mat2<A,B,1,4>::type R;
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
- BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
- R r;
- mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20+a03*b30;
- mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21+a03*b31;
- mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22+a03*b32;
- mat_traits<R>::template write_element<0,3>(r)=a00*b03+a01*b13+a02*b23+a03*b33;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct mul_mm_defined;
-
- template <>
- struct
- mul_mm_defined<1,4,4>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_B3124DC843BB8BA61F35A7D938251F
+#define BOOST_QVM_B3124DC843BB8BA61F35A7D938251F
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/gen/mat_assign4.hpp>
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/scalar_traits.hpp>
+#include <boost/qvm/throw_exception.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ deduce_mat2<A,B,4,4> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,4,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)+mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)+mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)+mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)+mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)+mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)+mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)+mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)+mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)+mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)+mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)+mat_traits<B>::template read_element<3,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,4,1> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,4,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)+mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)+mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)+mat_traits<B>::template read_element<3,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ deduce_mat2<A,B,1,4> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,1,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)+mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)+mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)+mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)+mat_traits<B>::template read_element<0,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_mm_defined;
+
+ template <>
+ struct
+ plus_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ deduce_mat2<A,B,4,4> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,4,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)-mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)-mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)-mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)-mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)-mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)-mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)-mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)-mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)-mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)-mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)-mat_traits<B>::template read_element<3,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,4,1> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,4,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)-mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)-mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)-mat_traits<B>::template read_element<3,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ deduce_mat2<A,B,1,4> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,1,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)-mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)-mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)-mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)-mat_traits<B>::template read_element<0,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_mm_defined;
+
+ template <>
+ struct
+ minus_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<0,3>(a)+=mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)+=mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<1,2>(a)+=mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<A>::template write_element<1,3>(a)+=mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<2,1>(a)+=mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<A>::template write_element<2,2>(a)+=mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<A>::template write_element<2,3>(a)+=mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<A>::template write_element<3,0>(a)+=mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<A>::template write_element<3,1>(a)+=mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<A>::template write_element<3,2>(a)+=mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<A>::template write_element<3,3>(a)+=mat_traits<B>::template read_element<3,3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)+=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<2,0>(a)+=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<3,0>(a)+=mat_traits<B>::template read_element<3,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)+=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)+=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)+=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<0,3>(a)+=mat_traits<B>::template read_element<0,3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct plus_eq_mm_defined;
+
+ template <>
+ struct
+ plus_eq_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<0,3>(a)-=mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<1,1>(a)-=mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<A>::template write_element<1,2>(a)-=mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<A>::template write_element<1,3>(a)-=mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<2,1>(a)-=mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<A>::template write_element<2,2>(a)-=mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<A>::template write_element<2,3>(a)-=mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<A>::template write_element<3,0>(a)-=mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<A>::template write_element<3,1>(a)-=mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<A>::template write_element<3,2>(a)-=mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<A>::template write_element<3,3>(a)-=mat_traits<B>::template read_element<3,3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<1,0>(a)-=mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<A>::template write_element<2,0>(a)-=mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<A>::template write_element<3,0>(a)-=mat_traits<B>::template read_element<3,0>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)-=mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<A>::template write_element<0,1>(a)-=mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<A>::template write_element<0,2>(a)-=mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<A>::template write_element<0,3>(a)-=mat_traits<B>::template read_element<0,3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_eq_mm_defined;
+
+ template <>
+ struct
+ minus_eq_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)*b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)*b;
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)*b;
+ mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)*b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)*b;
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)*b;
+ mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)*b;
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)*b;
+ mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)*b;
+ mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)*b;
+ mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==4,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=a*mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=a*mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=a*mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<1,3>(r)=a*mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=a*mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=a*mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<R>::template write_element<2,3>(r)=a*mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<R>::template write_element<3,0>(r)=a*mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<R>::template write_element<3,1>(r)=a*mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<R>::template write_element<3,2>(r)=a*mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<R>::template write_element<3,3>(r)=a*mat_traits<B>::template read_element<3,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)*b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)*b;
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==1,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a*mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a*mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<3,0>(r)=a*mat_traits<B>::template read_element<3,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)*b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)*b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)*b;
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_ms_defined;
+
+ template <>
+ struct
+ mul_ms_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==1 && mat_traits<B>::cols==4,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a*mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a*mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=a*mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=a*mat_traits<B>::template read_element<0,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_sm_defined;
+
+ template <>
+ struct
+ mul_sm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<0,1>(a)*=b;
+ mat_traits<A>::template write_element<0,2>(a)*=b;
+ mat_traits<A>::template write_element<0,3>(a)*=b;
+ mat_traits<A>::template write_element<1,0>(a)*=b;
+ mat_traits<A>::template write_element<1,1>(a)*=b;
+ mat_traits<A>::template write_element<1,2>(a)*=b;
+ mat_traits<A>::template write_element<1,3>(a)*=b;
+ mat_traits<A>::template write_element<2,0>(a)*=b;
+ mat_traits<A>::template write_element<2,1>(a)*=b;
+ mat_traits<A>::template write_element<2,2>(a)*=b;
+ mat_traits<A>::template write_element<2,3>(a)*=b;
+ mat_traits<A>::template write_element<3,0>(a)*=b;
+ mat_traits<A>::template write_element<3,1>(a)*=b;
+ mat_traits<A>::template write_element<3,2>(a)*=b;
+ mat_traits<A>::template write_element<3,3>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<1,0>(a)*=b;
+ mat_traits<A>::template write_element<2,0>(a)*=b;
+ mat_traits<A>::template write_element<3,0>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)*=b;
+ mat_traits<A>::template write_element<0,1>(a)*=b;
+ mat_traits<A>::template write_element<0,2>(a)*=b;
+ mat_traits<A>::template write_element<0,3>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_eq_ms_defined;
+
+ template <>
+ struct
+ mul_eq_ms_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)/b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
+ mat_traits<R>::template write_element<1,1>(r)=mat_traits<A>::template read_element<1,1>(a)/b;
+ mat_traits<R>::template write_element<1,2>(r)=mat_traits<A>::template read_element<1,2>(a)/b;
+ mat_traits<R>::template write_element<1,3>(r)=mat_traits<A>::template read_element<1,3>(a)/b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
+ mat_traits<R>::template write_element<2,1>(r)=mat_traits<A>::template read_element<2,1>(a)/b;
+ mat_traits<R>::template write_element<2,2>(r)=mat_traits<A>::template read_element<2,2>(a)/b;
+ mat_traits<R>::template write_element<2,3>(r)=mat_traits<A>::template read_element<2,3>(a)/b;
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)/b;
+ mat_traits<R>::template write_element<3,1>(r)=mat_traits<A>::template read_element<3,1>(a)/b;
+ mat_traits<R>::template write_element<3,2>(r)=mat_traits<A>::template read_element<3,2>(a)/b;
+ mat_traits<R>::template write_element<3,3>(r)=mat_traits<A>::template read_element<3,3>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==4,
+ deduce_mat<B> >::type
+ operator/( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<0,1>(r)=a/mat_traits<B>::template read_element<0,1>(b);
+ mat_traits<R>::template write_element<0,2>(r)=a/mat_traits<B>::template read_element<0,2>(b);
+ mat_traits<R>::template write_element<0,3>(r)=a/mat_traits<B>::template read_element<0,3>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<1,1>(r)=a/mat_traits<B>::template read_element<1,1>(b);
+ mat_traits<R>::template write_element<1,2>(r)=a/mat_traits<B>::template read_element<1,2>(b);
+ mat_traits<R>::template write_element<1,3>(r)=a/mat_traits<B>::template read_element<1,3>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<2,1>(r)=a/mat_traits<B>::template read_element<2,1>(b);
+ mat_traits<R>::template write_element<2,2>(r)=a/mat_traits<B>::template read_element<2,2>(b);
+ mat_traits<R>::template write_element<2,3>(r)=a/mat_traits<B>::template read_element<2,3>(b);
+ mat_traits<R>::template write_element<3,0>(r)=a/mat_traits<B>::template read_element<3,0>(b);
+ mat_traits<R>::template write_element<3,1>(r)=a/mat_traits<B>::template read_element<3,1>(b);
+ mat_traits<R>::template write_element<3,2>(r)=a/mat_traits<B>::template read_element<3,2>(b);
+ mat_traits<R>::template write_element<3,3>(r)=a/mat_traits<B>::template read_element<3,3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_sm_defined;
+
+ template <>
+ struct
+ div_sm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<1,0>(r)=mat_traits<A>::template read_element<1,0>(a)/b;
+ mat_traits<R>::template write_element<2,0>(r)=mat_traits<A>::template read_element<2,0>(a)/b;
+ mat_traits<R>::template write_element<3,0>(r)=mat_traits<A>::template read_element<3,0>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && mat_traits<B>::rows==4 && mat_traits<B>::cols==1,
+ deduce_mat<B> >::type
+ operator/( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a/mat_traits<B>::template read_element<0,0>(b);
+ mat_traits<R>::template write_element<1,0>(r)=a/mat_traits<B>::template read_element<1,0>(b);
+ mat_traits<R>::template write_element<2,0>(r)=a/mat_traits<B>::template read_element<2,0>(b);
+ mat_traits<R>::template write_element<3,0>(r)=a/mat_traits<B>::template read_element<3,0>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_sm_defined;
+
+ template <>
+ struct
+ div_sm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=mat_traits<A>::template read_element<0,0>(a)/b;
+ mat_traits<R>::template write_element<0,1>(r)=mat_traits<A>::template read_element<0,1>(a)/b;
+ mat_traits<R>::template write_element<0,2>(r)=mat_traits<A>::template read_element<0,2>(a)/b;
+ mat_traits<R>::template write_element<0,3>(r)=mat_traits<A>::template read_element<0,3>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_ms_defined;
+
+ template <>
+ struct
+ div_ms_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<0,1>(a)/=b;
+ mat_traits<A>::template write_element<0,2>(a)/=b;
+ mat_traits<A>::template write_element<0,3>(a)/=b;
+ mat_traits<A>::template write_element<1,0>(a)/=b;
+ mat_traits<A>::template write_element<1,1>(a)/=b;
+ mat_traits<A>::template write_element<1,2>(a)/=b;
+ mat_traits<A>::template write_element<1,3>(a)/=b;
+ mat_traits<A>::template write_element<2,0>(a)/=b;
+ mat_traits<A>::template write_element<2,1>(a)/=b;
+ mat_traits<A>::template write_element<2,2>(a)/=b;
+ mat_traits<A>::template write_element<2,3>(a)/=b;
+ mat_traits<A>::template write_element<3,0>(a)/=b;
+ mat_traits<A>::template write_element<3,1>(a)/=b;
+ mat_traits<A>::template write_element<3,2>(a)/=b;
+ mat_traits<A>::template write_element<3,3>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==1 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<1,0>(a)/=b;
+ mat_traits<A>::template write_element<2,0>(a)/=b;
+ mat_traits<A>::template write_element<3,0>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ mat_traits<A>::template write_element<0,0>(a)/=b;
+ mat_traits<A>::template write_element<0,1>(a)/=b;
+ mat_traits<A>::template write_element<0,2>(a)/=b;
+ mat_traits<A>::template write_element<0,3>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct div_eq_ms_defined;
+
+ template <>
+ struct
+ div_eq_ms_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==4 && mat_traits<A>::rows==4 &&
+ mat_traits<R>::cols==4 && mat_traits<A>::cols==4,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
+ mat_traits<R>::template write_element<0,3>(r) = mat_traits<A>::template read_element<0,3>(a);
+ mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<1,1>(r) = mat_traits<A>::template read_element<1,1>(a);
+ mat_traits<R>::template write_element<1,2>(r) = mat_traits<A>::template read_element<1,2>(a);
+ mat_traits<R>::template write_element<1,3>(r) = mat_traits<A>::template read_element<1,3>(a);
+ mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
+ mat_traits<R>::template write_element<2,1>(r) = mat_traits<A>::template read_element<2,1>(a);
+ mat_traits<R>::template write_element<2,2>(r) = mat_traits<A>::template read_element<2,2>(a);
+ mat_traits<R>::template write_element<2,3>(r) = mat_traits<A>::template read_element<2,3>(a);
+ mat_traits<R>::template write_element<3,0>(r) = mat_traits<A>::template read_element<3,0>(a);
+ mat_traits<R>::template write_element<3,1>(r) = mat_traits<A>::template read_element<3,1>(a);
+ mat_traits<R>::template write_element<3,2>(r) = mat_traits<A>::template read_element<3,2>(a);
+ mat_traits<R>::template write_element<3,3>(r) = mat_traits<A>::template read_element<3,3>(a);
+ return r;
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE
+ typename enable_if_c<
+ is_mat<R>::value && is_quat<A>::value &&
+ mat_traits<R>::rows==4 && mat_traits<R>::cols==4,
+ R>::type
+ convert_to( A const & q )
+ {
+ typedef typename mat_traits<R>::scalar_type T;
+ T const a=quat_traits<A>::template read_element<0>(q);
+ T const b=quat_traits<A>::template read_element<1>(q);
+ T const c=quat_traits<A>::template read_element<2>(q);
+ T const d=quat_traits<A>::template read_element<3>(q);
+ T const bb = b*b;
+ T const cc = c*c;
+ T const dd = d*d;
+ T const bc = b*c;
+ T const bd = b*d;
+ T const cd = c*d;
+ T const ab = a*b;
+ T const ac = a*c;
+ T const ad = a*d;
+ T const zero = scalar_traits<T>::value(0);
+ T const one = scalar_traits<T>::value(1);
+ T const two = one+one;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = one - two*(cc+dd);
+ mat_traits<R>::template write_element<0,1>(r) = two*(bc-ad);
+ mat_traits<R>::template write_element<0,2>(r) = two*(bd+ac);
+ mat_traits<R>::template write_element<0,3>(r) = zero;
+ mat_traits<R>::template write_element<1,0>(r) = two*(bc+ad);
+ mat_traits<R>::template write_element<1,1>(r) = one - two*(bb+dd);
+ mat_traits<R>::template write_element<1,2>(r) = two*(cd-ab);
+ mat_traits<R>::template write_element<1,3>(r) = zero;
+ mat_traits<R>::template write_element<2,0>(r) = two*(bd-ac);
+ mat_traits<R>::template write_element<2,1>(r) = two*(cd+ab);
+ mat_traits<R>::template write_element<2,2>(r) = one - two*(bb+cc);
+ mat_traits<R>::template write_element<2,3>(r) = zero;
+ mat_traits<R>::template write_element<3,0>(r) = zero;
+ mat_traits<R>::template write_element<3,1>(r) = zero;
+ mat_traits<R>::template write_element<3,2>(r) = zero;
+ mat_traits<R>::template write_element<3,3>(r) = one;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==4 && mat_traits<A>::rows==4 &&
+ mat_traits<R>::cols==1 && mat_traits<A>::cols==1,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<1,0>(r) = mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<2,0>(r) = mat_traits<A>::template read_element<2,0>(a);
+ mat_traits<R>::template write_element<3,0>(r) = mat_traits<A>::template read_element<3,0>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<R>::rows==1 && mat_traits<A>::rows==1 &&
+ mat_traits<R>::cols==4 && mat_traits<A>::cols==4,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ mat_traits<R>::template write_element<0,0>(r) = mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r) = mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r) = mat_traits<A>::template read_element<0,2>(a);
+ mat_traits<R>::template write_element<0,3>(r) = mat_traits<A>::template read_element<0,3>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct convert_to_m_defined;
+
+ template <>
+ struct
+ convert_to_m_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
+ mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b) &&
+ mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b) &&
+ mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
+ mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b) &&
+ mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b) &&
+ mat_traits<A>::template read_element<1,3>(a)==mat_traits<B>::template read_element<1,3>(b) &&
+ mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b) &&
+ mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b) &&
+ mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b) &&
+ mat_traits<A>::template read_element<2,3>(a)==mat_traits<B>::template read_element<2,3>(b) &&
+ mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b) &&
+ mat_traits<A>::template read_element<3,1>(a)==mat_traits<B>::template read_element<3,1>(b) &&
+ mat_traits<A>::template read_element<3,2>(a)==mat_traits<B>::template read_element<3,2>(b) &&
+ mat_traits<A>::template read_element<3,3>(a)==mat_traits<B>::template read_element<3,3>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b) &&
+ mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b) &&
+ mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b) &&
+ mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b) &&
+ mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b) &&
+ mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct eq_mm_defined;
+
+ template <>
+ struct
+ eq_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
+ !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b)) ||
+ !(mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b)) ||
+ !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
+ !(mat_traits<A>::template read_element<1,1>(a)==mat_traits<B>::template read_element<1,1>(b)) ||
+ !(mat_traits<A>::template read_element<1,2>(a)==mat_traits<B>::template read_element<1,2>(b)) ||
+ !(mat_traits<A>::template read_element<1,3>(a)==mat_traits<B>::template read_element<1,3>(b)) ||
+ !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b)) ||
+ !(mat_traits<A>::template read_element<2,1>(a)==mat_traits<B>::template read_element<2,1>(b)) ||
+ !(mat_traits<A>::template read_element<2,2>(a)==mat_traits<B>::template read_element<2,2>(b)) ||
+ !(mat_traits<A>::template read_element<2,3>(a)==mat_traits<B>::template read_element<2,3>(b)) ||
+ !(mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b)) ||
+ !(mat_traits<A>::template read_element<3,1>(a)==mat_traits<B>::template read_element<3,1>(b)) ||
+ !(mat_traits<A>::template read_element<3,2>(a)==mat_traits<B>::template read_element<3,2>(b)) ||
+ !(mat_traits<A>::template read_element<3,3>(a)==mat_traits<B>::template read_element<3,3>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==1 && mat_traits<B>::cols==1,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<1,0>(a)==mat_traits<B>::template read_element<1,0>(b)) ||
+ !(mat_traits<A>::template read_element<2,0>(a)==mat_traits<B>::template read_element<2,0>(b)) ||
+ !(mat_traits<A>::template read_element<3,0>(a)==mat_traits<B>::template read_element<3,0>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==1 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(mat_traits<A>::template read_element<0,0>(a)==mat_traits<B>::template read_element<0,0>(b)) ||
+ !(mat_traits<A>::template read_element<0,1>(a)==mat_traits<B>::template read_element<0,1>(b)) ||
+ !(mat_traits<A>::template read_element<0,2>(a)==mat_traits<B>::template read_element<0,2>(b)) ||
+ !(mat_traits<A>::template read_element<0,3>(a)==mat_traits<B>::template read_element<0,3>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct neq_mm_defined;
+
+ template <>
+ struct
+ neq_mm_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
+ mat_traits<R>::template write_element<0,3>(r)=-mat_traits<A>::template read_element<0,3>(a);
+ mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<1,1>(r)=-mat_traits<A>::template read_element<1,1>(a);
+ mat_traits<R>::template write_element<1,2>(r)=-mat_traits<A>::template read_element<1,2>(a);
+ mat_traits<R>::template write_element<1,3>(r)=-mat_traits<A>::template read_element<1,3>(a);
+ mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
+ mat_traits<R>::template write_element<2,1>(r)=-mat_traits<A>::template read_element<2,1>(a);
+ mat_traits<R>::template write_element<2,2>(r)=-mat_traits<A>::template read_element<2,2>(a);
+ mat_traits<R>::template write_element<2,3>(r)=-mat_traits<A>::template read_element<2,3>(a);
+ mat_traits<R>::template write_element<3,0>(r)=-mat_traits<A>::template read_element<3,0>(a);
+ mat_traits<R>::template write_element<3,1>(r)=-mat_traits<A>::template read_element<3,1>(a);
+ mat_traits<R>::template write_element<3,2>(r)=-mat_traits<A>::template read_element<3,2>(a);
+ mat_traits<R>::template write_element<3,3>(r)=-mat_traits<A>::template read_element<3,3>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==1,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<1,0>(r)=-mat_traits<A>::template read_element<1,0>(a);
+ mat_traits<R>::template write_element<2,0>(r)=-mat_traits<A>::template read_element<2,0>(a);
+ mat_traits<R>::template write_element<3,0>(r)=-mat_traits<A>::template read_element<3,0>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<A>::cols==4,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=-mat_traits<A>::template read_element<0,0>(a);
+ mat_traits<R>::template write_element<0,1>(r)=-mat_traits<A>::template read_element<0,1>(a);
+ mat_traits<R>::template write_element<0,2>(r)=-mat_traits<A>::template read_element<0,2>(a);
+ mat_traits<R>::template write_element<0,3>(r)=-mat_traits<A>::template read_element<0,3>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct minus_m_defined;
+
+ template <>
+ struct
+ minus_m_defined<1,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4,
+ typename mat_traits<A>::scalar_type>::type
+ determinant( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T const a00=mat_traits<A>::template read_element<0,0>(a);
+ T const a01=mat_traits<A>::template read_element<0,1>(a);
+ T const a02=mat_traits<A>::template read_element<0,2>(a);
+ T const a03=mat_traits<A>::template read_element<0,3>(a);
+ T const a10=mat_traits<A>::template read_element<1,0>(a);
+ T const a11=mat_traits<A>::template read_element<1,1>(a);
+ T const a12=mat_traits<A>::template read_element<1,2>(a);
+ T const a13=mat_traits<A>::template read_element<1,3>(a);
+ T const a20=mat_traits<A>::template read_element<2,0>(a);
+ T const a21=mat_traits<A>::template read_element<2,1>(a);
+ T const a22=mat_traits<A>::template read_element<2,2>(a);
+ T const a23=mat_traits<A>::template read_element<2,3>(a);
+ T const a30=mat_traits<A>::template read_element<3,0>(a);
+ T const a31=mat_traits<A>::template read_element<3,1>(a);
+ T const a32=mat_traits<A>::template read_element<3,2>(a);
+ T const a33=mat_traits<A>::template read_element<3,3>(a);
+ T det=(a00*(a11*(a22*a33-a23*a32)-a12*(a21*a33-a23*a31)+a13*(a21*a32-a22*a31))-a01*(a10*(a22*a33-a23*a32)-a12*(a20*a33-a23*a30)+a13*(a20*a32-a22*a30))+a02*(a10*(a21*a33-a23*a31)-a11*(a20*a33-a23*a30)+a13*(a20*a31-a21*a30))-a03*(a10*(a21*a32-a22*a31)-a11*(a20*a32-a22*a30)+a12*(a20*a31-a21*a30)));
+ return det;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::determinant;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct determinant_defined;
+
+ template <>
+ struct
+ determinant_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 && is_scalar<B>::value,
+ deduce_mat<A> >::type
+ inverse( A const & a, B det )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ BOOST_QVM_ASSERT(det!=scalar_traits<B>::value(0));
+ T const a00=mat_traits<A>::template read_element<0,0>(a);
+ T const a01=mat_traits<A>::template read_element<0,1>(a);
+ T const a02=mat_traits<A>::template read_element<0,2>(a);
+ T const a03=mat_traits<A>::template read_element<0,3>(a);
+ T const a10=mat_traits<A>::template read_element<1,0>(a);
+ T const a11=mat_traits<A>::template read_element<1,1>(a);
+ T const a12=mat_traits<A>::template read_element<1,2>(a);
+ T const a13=mat_traits<A>::template read_element<1,3>(a);
+ T const a20=mat_traits<A>::template read_element<2,0>(a);
+ T const a21=mat_traits<A>::template read_element<2,1>(a);
+ T const a22=mat_traits<A>::template read_element<2,2>(a);
+ T const a23=mat_traits<A>::template read_element<2,3>(a);
+ T const a30=mat_traits<A>::template read_element<3,0>(a);
+ T const a31=mat_traits<A>::template read_element<3,1>(a);
+ T const a32=mat_traits<A>::template read_element<3,2>(a);
+ T const a33=mat_traits<A>::template read_element<3,3>(a);
+ T const f=scalar_traits<T>::value(1)/det;
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)= f*(a11*(a22*a33-a23*a32)-a12*(a21*a33-a23*a31)+a13*(a21*a32-a22*a31));
+ mat_traits<R>::template write_element<0,1>(r)=-f*(a01*(a22*a33-a23*a32)-a02*(a21*a33-a23*a31)+a03*(a21*a32-a22*a31));
+ mat_traits<R>::template write_element<0,2>(r)= f*(a01*(a12*a33-a13*a32)-a02*(a11*a33-a13*a31)+a03*(a11*a32-a12*a31));
+ mat_traits<R>::template write_element<0,3>(r)=-f*(a01*(a12*a23-a13*a22)-a02*(a11*a23-a13*a21)+a03*(a11*a22-a12*a21));
+ mat_traits<R>::template write_element<1,0>(r)=-f*(a10*(a22*a33-a23*a32)-a12*(a20*a33-a23*a30)+a13*(a20*a32-a22*a30));
+ mat_traits<R>::template write_element<1,1>(r)= f*(a00*(a22*a33-a23*a32)-a02*(a20*a33-a23*a30)+a03*(a20*a32-a22*a30));
+ mat_traits<R>::template write_element<1,2>(r)=-f*(a00*(a12*a33-a13*a32)-a02*(a10*a33-a13*a30)+a03*(a10*a32-a12*a30));
+ mat_traits<R>::template write_element<1,3>(r)= f*(a00*(a12*a23-a13*a22)-a02*(a10*a23-a13*a20)+a03*(a10*a22-a12*a20));
+ mat_traits<R>::template write_element<2,0>(r)= f*(a10*(a21*a33-a23*a31)-a11*(a20*a33-a23*a30)+a13*(a20*a31-a21*a30));
+ mat_traits<R>::template write_element<2,1>(r)=-f*(a00*(a21*a33-a23*a31)-a01*(a20*a33-a23*a30)+a03*(a20*a31-a21*a30));
+ mat_traits<R>::template write_element<2,2>(r)= f*(a00*(a11*a33-a13*a31)-a01*(a10*a33-a13*a30)+a03*(a10*a31-a11*a30));
+ mat_traits<R>::template write_element<2,3>(r)=-f*(a00*(a11*a23-a13*a21)-a01*(a10*a23-a13*a20)+a03*(a10*a21-a11*a20));
+ mat_traits<R>::template write_element<3,0>(r)=-f*(a10*(a21*a32-a22*a31)-a11*(a20*a32-a22*a30)+a12*(a20*a31-a21*a30));
+ mat_traits<R>::template write_element<3,1>(r)= f*(a00*(a21*a32-a22*a31)-a01*(a20*a32-a22*a30)+a02*(a20*a31-a21*a30));
+ mat_traits<R>::template write_element<3,2>(r)=-f*(a00*(a11*a32-a12*a31)-a01*(a10*a32-a12*a30)+a02*(a10*a31-a11*a30));
+ mat_traits<R>::template write_element<3,3>(r)= f*(a00*(a11*a22-a12*a21)-a01*(a10*a22-a12*a20)+a02*(a10*a21-a11*a20));
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4,
+ deduce_mat<A> >::type
+ inverse( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T det=determinant(a);
+ if( det==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
+ return inverse(a,det);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::inverse;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct inverse_m_defined;
+
+ template <>
+ struct
+ inverse_m_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ deduce_mat2<A,B,4,4> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
+ Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
+ Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
+ Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
+ Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
+ Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
+ Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
+ Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
+ Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
+ typedef typename deduce_mat2<A,B,4,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20+a03*b30;
+ mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21+a03*b31;
+ mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22+a03*b32;
+ mat_traits<R>::template write_element<0,3>(r)=a00*b03+a01*b13+a02*b23+a03*b33;
+ mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20+a13*b30;
+ mat_traits<R>::template write_element<1,1>(r)=a10*b01+a11*b11+a12*b21+a13*b31;
+ mat_traits<R>::template write_element<1,2>(r)=a10*b02+a11*b12+a12*b22+a13*b32;
+ mat_traits<R>::template write_element<1,3>(r)=a10*b03+a11*b13+a12*b23+a13*b33;
+ mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20+a23*b30;
+ mat_traits<R>::template write_element<2,1>(r)=a20*b01+a21*b11+a22*b21+a23*b31;
+ mat_traits<R>::template write_element<2,2>(r)=a20*b02+a21*b12+a22*b22+a23*b32;
+ mat_traits<R>::template write_element<2,3>(r)=a20*b03+a21*b13+a22*b23+a23*b33;
+ mat_traits<R>::template write_element<3,0>(r)=a30*b00+a31*b10+a32*b20+a33*b30;
+ mat_traits<R>::template write_element<3,1>(r)=a30*b01+a31*b11+a32*b21+a33*b31;
+ mat_traits<R>::template write_element<3,2>(r)=a30*b02+a31*b12+a32*b22+a33*b32;
+ mat_traits<R>::template write_element<3,3>(r)=a30*b03+a31*b13+a32*b23+a33*b33;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<4,4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ A &>::type
+ operator*=( A & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
+ Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
+ Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
+ Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
+ Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
+ Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
+ Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
+ Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
+ Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
+ mat_traits<A>::template write_element<0,0>(a)=a00*b00+a01*b10+a02*b20+a03*b30;
+ mat_traits<A>::template write_element<0,1>(a)=a00*b01+a01*b11+a02*b21+a03*b31;
+ mat_traits<A>::template write_element<0,2>(a)=a00*b02+a01*b12+a02*b22+a03*b32;
+ mat_traits<A>::template write_element<0,3>(a)=a00*b03+a01*b13+a02*b23+a03*b33;
+ mat_traits<A>::template write_element<1,0>(a)=a10*b00+a11*b10+a12*b20+a13*b30;
+ mat_traits<A>::template write_element<1,1>(a)=a10*b01+a11*b11+a12*b21+a13*b31;
+ mat_traits<A>::template write_element<1,2>(a)=a10*b02+a11*b12+a12*b22+a13*b32;
+ mat_traits<A>::template write_element<1,3>(a)=a10*b03+a11*b13+a12*b23+a13*b33;
+ mat_traits<A>::template write_element<2,0>(a)=a20*b00+a21*b10+a22*b20+a23*b30;
+ mat_traits<A>::template write_element<2,1>(a)=a20*b01+a21*b11+a22*b21+a23*b31;
+ mat_traits<A>::template write_element<2,2>(a)=a20*b02+a21*b12+a22*b22+a23*b32;
+ mat_traits<A>::template write_element<2,3>(a)=a20*b03+a21*b13+a22*b23+a23*b33;
+ mat_traits<A>::template write_element<3,0>(a)=a30*b00+a31*b10+a32*b20+a33*b30;
+ mat_traits<A>::template write_element<3,1>(a)=a30*b01+a31*b11+a32*b21+a33*b31;
+ mat_traits<A>::template write_element<3,2>(a)=a30*b02+a31*b12+a32*b22+a33*b32;
+ mat_traits<A>::template write_element<3,3>(a)=a30*b03+a31*b13+a32*b23+a33*b33;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_eq_mm_defined;
+
+ template <>
+ struct
+ mul_eq_mm_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==1,
+ deduce_mat2<A,B,4,1> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
+ Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
+ Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
+ Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
+ Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
+ typedef typename deduce_mat2<A,B,4,1>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==4);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==1);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20+a03*b30;
+ mat_traits<R>::template write_element<1,0>(r)=a10*b00+a11*b10+a12*b20+a13*b30;
+ mat_traits<R>::template write_element<2,0>(r)=a20*b00+a21*b10+a22*b20+a23*b30;
+ mat_traits<R>::template write_element<3,0>(r)=a30*b00+a31*b10+a32*b20+a33*b30;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<4,4,1>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==1 && mat_traits<B>::rows==4 &&
+ mat_traits<A>::cols==4 && mat_traits<B>::cols==4,
+ deduce_mat2<A,B,1,4> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
+ Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
+ Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
+ Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
+ Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
+ typedef typename deduce_mat2<A,B,1,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::rows==1);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<R>::cols==4);
+ R r;
+ mat_traits<R>::template write_element<0,0>(r)=a00*b00+a01*b10+a02*b20+a03*b30;
+ mat_traits<R>::template write_element<0,1>(r)=a00*b01+a01*b11+a02*b21+a03*b31;
+ mat_traits<R>::template write_element<0,2>(r)=a00*b02+a01*b12+a02*b22+a03*b32;
+ mat_traits<R>::template write_element<0,3>(r)=a00*b03+a01*b13+a02*b23+a03*b33;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct mul_mm_defined;
+
+ template <>
+ struct
+ mul_mm_defined<1,4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/swizzle2.hpp b/boost/qvm/gen/swizzle2.hpp
index a4f6ac27aa..11c0a4f9f6 100644
--- a/boost/qvm/gen/swizzle2.hpp
+++ b/boost/qvm/gen/swizzle2.hpp
@@ -1,714 +1,714 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_9673ED9162F6768D4F74A4AD0576876
-#define BOOST_QVM_9673ED9162F6768D4F74A4AD0576876
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/detail/swizzle_traits.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const &
- _11()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const &
- _01()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>::type
- W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>::type
- W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>::type
- Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>::type
- Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>::type
- Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>::type
- Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
- X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
- X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
- X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
- X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const &
- _10()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const &
- _00()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>::type
- W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>::type
- W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>::type
- Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>::type
- Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>::type
- Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>::type
- Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
- X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
- X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
- X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
- X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>::type
- _1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>::type
- _1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>::type
- _0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>::type
- _0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>::type
- WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>::type
- WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>::type
- ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>::type
- ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>::type
- YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>::type
- YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>::type
- XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>::type
- XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>::type
- _1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>::type
- _1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>::type
- _0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>::type
- _0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>::type
- WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>::type
- WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>::type
- ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>::type
- ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>::type
- YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>::type
- YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>::type
- XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>::type
- XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>::type
- _1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>::type
- _1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>::type
- _0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>::type
- _0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>::type
- WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>::type
- WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>::type
- ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>::type
- ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>::type
- YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>::type
- YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>::type
- XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>::type
- XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
- _1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
- _1X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
- _1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
- _1X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
- _0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
- _0X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
- _0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
- _0X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>::type
- WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>::type
- WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>::type
- ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>::type
- ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>::type
- YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>::type
- YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
- XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
- XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
- XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
- XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_9673ED9162F6768D4F74A4AD0576876
+#define BOOST_QVM_9673ED9162F6768D4F74A4AD0576876
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/detail/swizzle_traits.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const &
+ _11()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const &
+ _01()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>::type
+ W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>::type
+ Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>::type
+ Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
+ X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
+ X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
+ X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const &
+ _10()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const &
+ _00()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>::type
+ W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>::type
+ Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>::type
+ Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
+ X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
+ X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
+ X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>::type
+ _1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>::type
+ _1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>::type
+ _0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>::type
+ _0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>::type
+ WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>::type
+ WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>::type
+ ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>::type
+ ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>::type
+ YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>::type
+ YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>::type
+ XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>::type
+ XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>::type
+ _1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>::type
+ _1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>::type
+ _0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>::type
+ _0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>::type
+ WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>::type
+ WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>::type
+ ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>::type
+ ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>::type
+ YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>::type
+ YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>::type
+ XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>::type
+ XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>::type
+ _1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>::type
+ _1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>::type
+ _0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>::type
+ _0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>::type
+ WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>::type
+ WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>::type
+ ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>::type
+ ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>::type
+ YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>::type
+ YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>::type
+ XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>::type
+ XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
+ _1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
+ _1X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
+ _1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
+ _1X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
+ _0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
+ _0X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
+ _0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
+ _0X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>::type
+ WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>::type
+ WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>::type
+ ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>::type
+ ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>::type
+ YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>::type
+ YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
+ XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
+ XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
+ XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
+ XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/swizzle3.hpp b/boost/qvm/gen/swizzle3.hpp
index beacb2681e..aacba3334f 100644
--- a/boost/qvm/gen/swizzle3.hpp
+++ b/boost/qvm/gen/swizzle3.hpp
@@ -1,4158 +1,4158 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_FA16BB11ADAE248879FE52DB2543E53C
-#define BOOST_QVM_FA16BB11ADAE248879FE52DB2543E53C
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/detail/swizzle_traits.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &
- _111()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &
- _011()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- W11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- W11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- Z11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- Z11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- Y11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- Y11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- X11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- X11( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- X11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- X11( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &
- _101()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &
- _001()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- W01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- W01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- Z01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- Z01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- Y01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- Y01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- X01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- X01( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- X01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- X01( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _1W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _1W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _0W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _0W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- WW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
- WW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- ZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
- ZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- YW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
- YW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- XW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
- XW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _1Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _1Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _0Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _0Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- WZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- WZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- ZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- ZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- YZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- YZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- XZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
- XZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _1Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _1Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _0Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _0Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- WY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- WY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- ZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- ZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- YY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- YY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- XY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
- XY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _1X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _1X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _1X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _1X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _0X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- _0X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _0X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- _0X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- WX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- WX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- ZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- ZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- YX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- YX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- XX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
- XX1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- XX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
- XX1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &
- _110()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &
- _010()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- W10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- W10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- Z10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- Z10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- Y10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- Y10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- X10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- X10( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- X10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- X10( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &
- _100()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &
- _000()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- W00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- W00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- Z00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- Z00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- Y00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- Y00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- X00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- X00( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- X00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- X00( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _1W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _1W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _0W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _0W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- WW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
- WW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- ZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
- ZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- YW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
- YW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- XW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
- XW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _1Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _1Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _0Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _0Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- WZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- WZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- ZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- ZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- YZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- YZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- XZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
- XZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _1Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _1Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _0Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _0Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- WY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- WY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- ZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- ZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- YY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- YY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- XY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
- XY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _1X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _1X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _1X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _1X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _0X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- _0X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _0X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- _0X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- WX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- WX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- ZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- ZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- YX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- YX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- XX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
- XX0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- XX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
- XX0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _11W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
- _11W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _01W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
- _01W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- W1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
- W1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- Z1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
- Z1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- Y1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
- Y1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- X1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
- X1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _10W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
- _10W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _00W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
- _00W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- W0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
- W0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- Z0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
- Z0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- Y0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
- Y0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- X0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
- X0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _1WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
- _1WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _0WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
- _0WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
- WWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
- WWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
- ZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
- ZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
- YWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
- YWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
- XWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
- XWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _1ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
- _1ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _0ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
- _0ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- WZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
- WZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- ZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
- ZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- YZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
- YZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
- XZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
- XZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _1YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
- _1YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _0YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
- _0YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- WYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
- WYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- ZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
- ZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- YYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
- YYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
- XYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
- XYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _1XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
- _1XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
- _0XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
- _0XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
- WXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
- WXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
- ZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
- ZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
- YXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
- YXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
- XXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
- XXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _11Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
- _11Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _01Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
- _01Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- W1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
- W1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- Z1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
- Z1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- Y1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
- Y1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- X1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
- X1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _10Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
- _10Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _00Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
- _00Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- W0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
- W0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- Z0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
- Z0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- Y0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
- Y0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- X0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
- X0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _1WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
- _1WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _0WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
- _0WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
- WWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
- WWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
- ZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
- ZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
- YWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
- YWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
- XWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
- XWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _1ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
- _1ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _0ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
- _0ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- WZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
- WZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- ZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
- ZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- YZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
- YZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
- XZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
- XZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _1YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
- _1YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _0YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
- _0YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- WYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
- WYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- ZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
- ZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- YYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
- YYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
- XYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
- XYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _1XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
- _1XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
- _0XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
- _0XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
- WXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
- WXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
- ZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
- ZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
- YXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
- YXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
- XXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
- XXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _11Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
- _11Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _01Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
- _01Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- W1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
- W1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- Z1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
- Z1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- Y1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
- Y1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- X1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
- X1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _10Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
- _10Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _00Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
- _00Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- W0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
- W0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- Z0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
- Z0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- Y0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
- Y0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- X0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
- X0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _1WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
- _1WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _0WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
- _0WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
- WWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
- WWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
- ZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
- ZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
- YWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
- YWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
- XWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
- XWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _1ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
- _1ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _0ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
- _0ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- WZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
- WZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- ZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
- ZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- YZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
- YZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
- XZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
- XZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _1YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
- _1YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _0YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
- _0YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- WYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
- WYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- ZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
- ZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- YYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
- YYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
- XYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
- XYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _1XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
- _1XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
- _0XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
- _0XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
- WXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
- WXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
- ZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
- ZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
- YXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
- YXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
- XXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
- XXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _11X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _11X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- _11X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- _11X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _01X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _01X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- _01X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- _01X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- W1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- W1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- Z1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- Z1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- Y1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- Y1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- X1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- X1X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- X1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
- X1X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _10X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _10X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- _10X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- _10X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _00X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _00X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- _00X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- _00X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- W0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- W0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- Z0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- Z0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- Y0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- Y0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- X0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- X0X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- X0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
- X0X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _1WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
- _1WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _0WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
- _0WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
- WWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
- WWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
- ZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
- ZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
- YWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
- YWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
- XWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
- XWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _1ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
- _1ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _0ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
- _0ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- WZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
- WZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- ZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
- ZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- YZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
- YZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
- XZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
- XZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _1YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
- _1YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _0YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
- _0YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- WYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
- WYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- ZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
- ZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- YYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
- YYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
- XYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
- XYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _1XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _1XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- _1XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- _1XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _0XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- _0XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- _0XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- _0XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- WXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- WXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- ZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- ZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- YXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- YXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- XXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
- XXX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- XXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
- XXX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_FA16BB11ADAE248879FE52DB2543E53C
+#define BOOST_QVM_FA16BB11ADAE248879FE52DB2543E53C
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/detail/swizzle_traits.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &
+ _111()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &
+ _011()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ W11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ W11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ Z11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ Z11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ Y11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ Y11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ X11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ X11( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ X11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ X11( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &
+ _101()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &
+ _001()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ W01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ W01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ Z01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ Z01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ Y01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ Y01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ X01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ X01( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ X01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ X01( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _1W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _1W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _0W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _0W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ WW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ WW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ ZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ ZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ YW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ YW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ XW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ XW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _1Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _1Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _0Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _0Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ WZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ WZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ ZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ ZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ YZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ YZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ XZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ XZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _1Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _1Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _0Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _0Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ WY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ WY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ ZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ ZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ YY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ YY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ XY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ XY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _1X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _1X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _1X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _1X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _0X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ _0X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _0X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ _0X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ WX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ WX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ ZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ ZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ YX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ YX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ XX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>::type
+ XX1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ XX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>::type
+ XX1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &
+ _110()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &
+ _010()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ W10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ W10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ Z10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ Z10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ Y10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ Y10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ X10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ X10( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ X10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ X10( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &
+ _100()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &
+ _000()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ W00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ W00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ Z00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ Z00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ Y00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ Y00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ X00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ X00( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ X00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ X00( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _1W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _1W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _0W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _0W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ WW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ WW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ ZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ ZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ YW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ YW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ XW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ XW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _1Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _1Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _0Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _0Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ WZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ WZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ ZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ ZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ YZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ YZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ XZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ XZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _1Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _1Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _0Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _0Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ WY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ WY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ ZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ ZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ YY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ YY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ XY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ XY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _1X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _1X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _1X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _1X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _0X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ _0X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _0X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ _0X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ WX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ WX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ ZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ ZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ YX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ YX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ XX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>::type
+ XX0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ XX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>::type
+ XX0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _11W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _11W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _01W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _01W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ W1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ W1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ Z1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ Z1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ Y1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ Y1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ X1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ X1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _10W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _10W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _00W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _00W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ W0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ W0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ Z0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ Z0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ Y0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ Y0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ X0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ X0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _1WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _1WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _0WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _0WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ WWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
+ WWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ ZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
+ ZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ YWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
+ YWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ XWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>::type
+ XWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _1ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _1ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _0ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _0ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ WZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ WZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ ZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ ZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ YZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ YZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ XZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>::type
+ XZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _1YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _1YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _0YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _0YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ WYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ WYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ ZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ ZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ YYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ YYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ XYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>::type
+ XYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _1XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _1XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ _0XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
+ _0XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ WXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
+ WXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ ZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
+ ZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ YXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
+ YXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>::type
+ XXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>::type
+ XXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _11Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _11Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _01Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _01Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ W1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ W1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ Z1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ Z1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ Y1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ Y1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ X1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ X1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _10Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _10Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _00Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _00Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ W0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ W0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ Z0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ Z0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ Y0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ Y0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ X0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ X0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _1WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _1WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _0WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _0WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ WWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
+ WWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ ZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
+ ZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ YWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
+ YWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ XWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>::type
+ XWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _1ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _1ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _0ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _0ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ WZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ WZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ ZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ ZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ YZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ YZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ XZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>::type
+ XZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _1YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _1YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _0YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _0YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ WYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ WYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ ZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ ZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ YYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ YYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ XYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>::type
+ XYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _1XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _1XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ _0XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
+ _0XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ WXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
+ WXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ ZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
+ ZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ YXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
+ YXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>::type
+ XXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>::type
+ XXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _11Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _11Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _01Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _01Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ W1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ W1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ Z1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ Z1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ Y1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ Y1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ X1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ X1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _10Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _10Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _00Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _00Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ W0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ W0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ Z0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ Z0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ Y0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ Y0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ X0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ X0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _1WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _1WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _0WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _0WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ WWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
+ WWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ ZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
+ ZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ YWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
+ YWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ XWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>::type
+ XWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _1ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _1ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _0ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _0ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ WZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ WZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ ZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ ZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ YZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ YZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ XZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>::type
+ XZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _1YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _1YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _0YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _0YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ WYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ WYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ ZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ ZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ YYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ YYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ XYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>::type
+ XYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _1XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _1XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ _0XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
+ _0XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ WXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
+ WXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ ZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
+ ZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ YXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
+ YXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>::type
+ XXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>::type
+ XXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _11X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _11X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _11X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _11X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _01X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _01X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _01X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _01X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ W1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ W1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ Z1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ Z1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ Y1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ Y1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ X1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ X1X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ X1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ X1X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _10X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _10X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _10X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _10X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _00X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _00X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _00X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _00X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ W0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ W0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ Z0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ Z0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ Y0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ Y0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ X0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ X0X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ X0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ X0X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _1WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _1WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _0WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _0WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ WWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
+ WWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ ZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
+ ZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ YWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
+ YWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ XWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>::type
+ XWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _1ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _1ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _0ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _0ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ WZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ WZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ ZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ ZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ YZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ YZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ XZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>::type
+ XZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _1YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _1YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _0YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _0YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ WYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ WYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ ZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ ZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ YYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ YYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ XYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>::type
+ XYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _1XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _1XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _1XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _1XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _0XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ _0XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _0XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ _0XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ WXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ WXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ ZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ ZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ YXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ YXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ XXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>::type
+ XXX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ XXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>::type
+ XXX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > &>(a);
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/swizzle4.hpp b/boost/qvm/gen/swizzle4.hpp
index c400a12a6f..b6b2951121 100644
--- a/boost/qvm/gen/swizzle4.hpp
+++ b/boost/qvm/gen/swizzle4.hpp
@@ -1,24330 +1,24330 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_F445D3D828CEBF5C560593D97278A59
-#define BOOST_QVM_F445D3D828CEBF5C560593D97278A59
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/detail/swizzle_traits.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
- _1111()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
- _0111()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W111( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W111( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z111( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z111( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y111( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y111( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X111( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X111( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X111( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X111( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
- _1011()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
- _0011()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W011( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W011( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z011( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z011( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y011( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y011( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X011( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X011( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X011( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X011( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1W11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1W11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0W11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0W11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WW11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WW11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZW11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZW11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YW11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YW11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XW11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XW11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1Z11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1Z11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0Z11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0Z11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WZ11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WZ11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZZ11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZZ11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YZ11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YZ11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XZ11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XZ11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1Y11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1Y11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0Y11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0Y11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WY11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WY11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZY11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZY11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YY11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YY11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XY11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XY11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1X11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1X11( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1X11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1X11( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0X11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0X11( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0X11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0X11( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WX11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WX11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZX11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZX11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YX11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YX11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XX11( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XX11( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XX11( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XX11( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
- _1101()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
- _0101()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W101( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W101( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z101( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z101( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y101( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y101( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X101( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X101( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X101( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X101( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
- _1001()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
- _0001()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W001( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W001( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z001( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z001( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y001( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y001( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X001( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X001( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X001( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X001( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1W01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1W01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0W01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0W01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WW01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WW01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZW01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZW01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YW01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YW01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XW01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XW01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1Z01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1Z01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0Z01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0Z01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WZ01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WZ01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZZ01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZZ01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YZ01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YZ01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XZ01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XZ01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1Y01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1Y01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0Y01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0Y01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WY01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WY01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZY01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZY01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YY01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YY01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XY01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XY01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1X01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1X01( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1X01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1X01( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0X01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0X01( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0X01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0X01( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WX01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WX01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZX01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZX01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YX01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YX01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XX01( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XX01( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XX01( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XX01( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _11W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _11W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _01W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _01W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W1W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W1W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z1W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z1W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y1W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y1W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X1W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X1W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _10W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _10W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _00W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _00W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W0W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W0W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z0W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z0W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y0W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y0W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X0W1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X0W1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1WW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1WW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0WW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0WW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WWW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WWW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZWW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZWW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YWW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YWW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XWW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XWW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1ZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1ZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0ZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0ZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XZW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XZW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1YW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1YW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0YW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0YW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WYW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WYW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZYW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZYW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YYW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YYW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XYW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XYW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1XW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1XW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0XW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0XW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WXW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WXW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZXW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZXW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YXW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YXW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XXW1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XXW1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _11Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _11Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _01Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _01Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W1Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W1Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z1Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z1Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y1Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y1Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X1Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X1Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _10Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _10Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _00Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _00Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W0Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W0Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z0Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z0Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y0Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y0Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X0Z1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X0Z1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1WZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1WZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0WZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0WZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WWZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WWZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZWZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZWZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YWZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YWZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XWZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XWZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1ZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1ZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0ZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0ZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XZZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XZZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1YZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1YZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0YZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0YZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WYZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WYZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZYZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZYZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YYZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YYZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XYZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XYZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1XZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1XZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0XZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0XZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WXZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WXZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZXZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZXZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YXZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YXZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XXZ1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XXZ1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _11Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _11Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _01Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _01Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W1Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W1Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z1Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z1Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y1Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y1Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X1Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X1Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _10Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _10Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _00Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _00Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W0Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W0Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z0Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z0Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y0Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y0Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X0Y1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X0Y1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1WY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1WY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0WY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0WY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WWY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WWY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZWY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZWY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YWY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YWY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XWY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XWY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1ZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1ZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0ZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0ZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XZY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XZY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1YY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1YY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0YY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0YY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WYY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WYY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZYY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZYY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YYY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YYY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XYY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XYY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1XY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1XY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0XY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0XY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WXY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WXY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZXY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZXY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YXY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YXY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XXY1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XXY1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _11X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _11X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _11X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _11X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _01X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _01X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _01X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _01X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W1X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W1X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z1X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z1X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y1X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y1X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X1X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X1X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X1X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X1X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _10X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _10X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _10X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _10X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _00X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _00X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _00X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _00X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- W0X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- W0X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Z0X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Z0X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- Y0X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- Y0X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X0X1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- X0X1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X0X1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- X0X1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1WX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1WX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0WX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0WX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WWX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WWX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZWX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZWX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YWX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YWX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XWX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XWX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1ZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1ZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0ZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0ZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XZX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XZX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1YX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1YX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0YX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0YX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WYX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WYX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZYX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZYX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YYX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YYX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XYX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XYX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1XX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _1XX1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1XX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _1XX1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0XX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- _0XX1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0XX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- _0XX1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- WXX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- WXX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- ZXX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- ZXX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- YXX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- YXX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XXX1( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
- XXX1( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XXX1( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
- XXX1( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
- _1110()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
- _0110()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W110( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W110( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z110( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z110( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y110( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y110( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X110( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X110( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X110( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X110( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
- _1010()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
- _0010()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W010( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W010( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z010( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z010( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y010( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y010( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X010( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X010( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X010( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X010( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1W10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1W10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0W10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0W10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WW10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WW10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZW10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZW10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YW10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YW10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XW10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XW10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1Z10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1Z10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0Z10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0Z10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WZ10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WZ10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZZ10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZZ10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YZ10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YZ10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XZ10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XZ10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1Y10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1Y10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0Y10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0Y10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WY10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WY10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZY10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZY10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YY10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YY10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XY10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XY10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1X10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1X10( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1X10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1X10( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0X10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0X10( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0X10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0X10( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WX10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WX10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZX10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZX10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YX10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YX10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XX10( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XX10( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XX10( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XX10( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
- _1100()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
- _0100()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W100( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W100( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z100( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z100( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y100( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y100( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X100( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X100( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X100( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X100( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
- _1000()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
- _0000()
- {
- return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W000( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W000( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z000( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z000( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y000( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y000( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X000( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X000( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X000( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X000( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1W00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1W00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0W00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0W00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WW00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WW00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZW00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZW00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YW00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YW00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XW00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XW00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1Z00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1Z00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0Z00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0Z00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WZ00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WZ00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZZ00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZZ00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YZ00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YZ00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XZ00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XZ00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1Y00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1Y00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0Y00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0Y00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WY00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WY00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZY00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZY00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YY00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YY00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XY00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XY00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1X00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1X00( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1X00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1X00( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0X00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0X00( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0X00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0X00( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WX00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WX00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZX00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZX00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YX00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YX00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XX00( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XX00( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XX00( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XX00( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _11W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _11W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _01W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _01W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W1W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W1W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z1W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z1W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y1W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y1W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X1W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X1W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _10W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _10W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _00W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _00W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W0W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W0W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z0W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z0W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y0W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y0W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X0W0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X0W0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1WW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1WW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0WW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0WW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WWW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WWW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZWW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZWW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YWW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YWW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XWW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XWW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1ZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1ZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0ZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0ZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XZW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XZW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1YW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1YW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0YW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0YW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WYW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WYW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZYW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZYW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YYW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YYW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XYW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XYW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1XW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1XW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0XW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0XW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WXW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WXW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZXW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZXW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YXW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YXW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XXW0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XXW0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _11Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _11Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _01Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _01Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W1Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W1Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z1Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z1Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y1Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y1Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X1Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X1Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _10Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _10Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _00Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _00Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W0Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W0Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z0Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z0Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y0Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y0Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X0Z0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X0Z0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1WZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1WZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0WZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0WZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WWZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WWZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZWZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZWZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YWZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YWZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XWZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XWZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1ZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1ZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0ZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0ZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XZZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XZZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1YZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1YZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0YZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0YZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WYZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WYZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZYZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZYZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YYZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YYZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XYZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XYZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1XZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1XZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0XZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0XZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WXZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WXZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZXZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZXZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YXZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YXZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XXZ0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XXZ0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _11Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _11Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _01Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _01Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W1Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W1Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z1Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z1Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y1Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y1Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X1Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X1Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _10Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _10Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _00Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _00Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W0Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W0Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z0Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z0Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y0Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y0Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X0Y0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X0Y0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1WY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1WY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0WY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0WY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WWY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WWY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZWY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZWY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YWY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YWY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XWY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XWY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1ZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1ZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0ZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0ZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XZY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XZY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1YY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1YY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0YY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0YY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WYY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WYY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZYY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZYY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YYY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YYY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XYY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XYY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1XY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1XY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0XY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0XY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WXY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WXY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZXY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZXY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YXY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YXY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XXY0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XXY0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _11X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _11X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _11X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _11X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _01X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _01X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _01X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _01X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W1X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W1X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z1X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z1X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y1X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y1X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X1X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X1X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X1X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X1X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _10X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _10X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _10X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _10X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _00X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _00X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _00X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _00X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- W0X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- W0X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Z0X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Z0X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- Y0X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- Y0X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X0X0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- X0X0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X0X0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- X0X0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1WX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1WX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0WX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0WX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WWX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WWX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZWX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZWX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YWX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YWX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XWX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XWX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1ZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1ZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0ZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0ZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XZX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XZX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1YX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1YX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0YX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0YX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WYX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WYX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZYX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZYX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YYX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YYX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XYX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XYX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1XX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _1XX0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1XX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _1XX0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0XX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- _0XX0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0XX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- _0XX0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- WXX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- WXX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- ZXX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- ZXX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- YXX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- YXX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XXX0( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
- XXX0( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XXX0( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
- XXX0( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _111W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _111W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _011W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _011W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W11W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W11W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z11W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z11W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y11W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y11W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X11W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X11W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _101W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _101W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _001W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _001W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W01W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W01W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z01W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z01W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y01W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y01W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X01W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X01W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1W1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1W1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0W1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0W1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WW1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WW1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZW1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZW1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YW1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YW1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XW1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XW1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1Z1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1Z1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0Z1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0Z1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WZ1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WZ1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZZ1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZZ1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YZ1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YZ1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XZ1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XZ1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1Y1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1Y1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0Y1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0Y1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WY1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WY1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZY1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZY1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YY1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YY1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XY1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XY1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1X1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1X1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0X1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0X1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WX1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WX1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZX1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZX1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YX1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YX1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XX1W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XX1W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _110W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _110W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _010W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _010W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W10W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W10W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z10W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z10W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y10W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y10W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X10W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X10W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _100W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _100W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _000W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _000W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W00W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W00W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z00W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z00W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y00W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y00W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X00W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X00W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1W0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1W0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0W0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0W0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WW0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WW0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZW0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZW0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YW0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YW0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XW0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XW0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1Z0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1Z0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0Z0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0Z0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WZ0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WZ0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZZ0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZZ0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YZ0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YZ0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XZ0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XZ0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1Y0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1Y0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0Y0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0Y0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WY0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WY0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZY0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZY0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YY0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YY0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XY0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XY0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1X0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1X0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0X0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0X0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WX0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WX0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZX0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZX0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YX0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YX0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XX0W( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XX0W( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _11WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _11WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _01WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _01WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W1WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W1WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z1WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z1WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y1WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y1WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X1WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X1WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _10WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _10WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _00WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _00WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W0WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W0WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z0WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z0WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y0WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y0WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X0WW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X0WW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1WWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1WWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0WWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0WWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WWWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WWWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZWWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZWWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YWWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YWWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XWWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XWWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1ZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1ZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0ZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0ZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XZWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XZWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1YWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1YWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0YWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0YWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WYWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WYWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZYWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZYWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YYWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YYWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XYWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XYWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1XWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1XWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0XWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0XWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WXWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WXWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZXWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZXWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YXWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YXWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XXWW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XXWW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _11ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _11ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _01ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _01ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W1ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W1ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z1ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z1ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y1ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y1ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X1ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X1ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _10ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _10ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _00ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _00ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W0ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W0ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z0ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z0ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y0ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y0ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X0ZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X0ZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1WZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1WZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0WZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0WZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WWZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WWZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZWZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZWZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YWZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YWZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XWZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XWZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1ZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1ZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0ZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0ZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XZZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XZZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1YZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1YZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0YZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0YZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WYZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WYZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZYZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZYZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YYZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YYZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XYZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XYZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1XZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1XZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0XZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0XZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WXZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WXZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZXZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZXZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YXZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YXZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XXZW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XXZW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _11YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _11YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _01YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _01YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W1YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W1YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z1YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z1YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y1YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y1YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X1YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X1YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _10YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _10YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _00YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _00YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W0YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W0YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z0YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z0YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y0YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y0YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X0YW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X0YW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1WYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1WYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0WYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0WYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WWYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WWYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZWYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZWYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YWYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YWYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XWYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XWYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1ZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1ZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0ZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0ZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XZYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XZYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1YYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1YYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0YYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0YYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WYYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WYYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZYYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZYYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YYYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YYYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XYYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XYYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1XYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1XYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0XYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0XYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WXYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WXYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZXYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZXYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YXYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YXYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XXYW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XXYW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _11XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _11XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _01XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _01XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W1XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W1XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z1XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z1XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y1XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y1XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X1XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X1XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _10XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _10XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _00XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _00XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- W0XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- W0XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Z0XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Z0XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- Y0XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- Y0XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- X0XW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- X0XW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1WXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1WXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0WXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0WXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WWXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WWXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZWXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZWXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YWXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YWXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XWXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XWXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1ZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1ZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0ZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0ZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XZXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XZXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1YXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1YXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0YXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0YXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WYXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WYXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZYXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZYXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YYXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YYXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XYXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XYXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _1XXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _1XXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- _0XXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- _0XXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- WXXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- WXXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- ZXXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- ZXXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- YXXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- YXXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
- XXXW( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
- XXXW( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _111Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _111Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _011Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _011Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W11Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W11Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z11Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z11Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y11Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y11Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X11Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X11Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _101Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _101Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _001Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _001Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W01Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W01Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z01Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z01Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y01Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y01Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X01Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X01Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1W1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1W1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0W1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0W1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WW1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WW1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZW1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZW1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YW1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YW1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XW1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XW1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1Z1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1Z1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0Z1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0Z1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WZ1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WZ1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZZ1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZZ1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YZ1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YZ1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XZ1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XZ1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1Y1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1Y1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0Y1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0Y1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WY1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WY1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZY1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZY1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YY1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YY1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XY1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XY1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1X1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1X1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0X1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0X1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WX1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WX1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZX1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZX1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YX1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YX1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XX1Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XX1Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _110Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _110Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _010Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _010Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W10Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W10Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z10Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z10Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y10Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y10Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X10Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X10Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _100Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _100Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _000Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _000Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W00Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W00Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z00Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z00Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y00Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y00Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X00Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X00Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1W0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1W0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0W0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0W0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WW0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WW0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZW0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZW0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YW0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YW0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XW0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XW0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1Z0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1Z0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0Z0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0Z0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WZ0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WZ0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZZ0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZZ0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YZ0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YZ0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XZ0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XZ0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1Y0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1Y0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0Y0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0Y0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WY0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WY0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZY0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZY0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YY0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YY0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XY0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XY0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1X0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1X0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0X0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0X0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WX0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WX0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZX0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZX0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YX0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YX0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XX0Z( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XX0Z( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _11WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _11WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _01WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _01WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W1WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W1WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z1WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z1WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y1WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y1WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X1WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X1WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _10WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _10WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _00WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _00WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W0WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W0WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z0WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z0WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y0WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y0WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X0WZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X0WZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1WWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1WWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0WWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0WWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WWWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WWWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZWWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZWWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YWWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YWWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XWWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XWWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1ZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1ZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0ZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0ZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XZWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XZWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1YWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1YWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0YWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0YWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WYWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WYWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZYWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZYWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YYWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YYWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XYWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XYWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1XWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1XWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0XWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0XWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WXWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WXWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZXWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZXWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YXWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YXWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XXWZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XXWZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _11ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _11ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _01ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _01ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W1ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W1ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z1ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z1ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y1ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y1ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X1ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X1ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _10ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _10ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _00ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _00ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W0ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W0ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z0ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z0ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y0ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y0ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X0ZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X0ZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1WZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1WZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0WZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0WZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WWZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WWZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZWZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZWZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YWZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YWZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XWZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XWZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1ZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1ZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0ZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0ZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XZZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XZZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1YZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1YZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0YZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0YZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WYZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WYZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZYZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZYZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YYZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YYZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XYZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XYZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1XZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1XZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0XZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0XZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WXZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WXZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZXZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZXZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YXZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YXZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XXZZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XXZZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _11YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _11YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _01YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _01YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W1YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W1YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z1YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z1YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y1YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y1YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X1YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X1YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _10YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _10YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _00YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _00YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W0YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W0YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z0YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z0YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y0YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y0YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X0YZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X0YZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1WYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1WYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0WYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0WYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WWYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WWYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZWYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZWYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YWYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YWYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XWYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XWYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1ZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1ZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0ZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0ZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XZYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XZYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1YYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1YYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0YYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0YYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WYYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WYYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZYYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZYYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YYYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YYYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XYYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XYYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1XYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1XYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0XYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0XYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WXYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WXYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZXYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZXYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YXYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YXYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XXYZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XXYZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _11XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _11XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _01XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _01XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W1XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W1XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z1XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z1XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y1XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y1XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X1XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X1XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _10XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _10XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _00XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _00XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- W0XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- W0XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Z0XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Z0XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- Y0XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- Y0XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- X0XZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- X0XZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1WXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1WXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0WXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0WXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WWXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WWXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZWXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZWXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YWXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YWXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XWXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XWXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1ZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1ZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0ZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0ZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XZXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XZXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1YXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1YXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0YXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0YXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WYXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WYXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZYXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZYXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YYXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YYXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XYXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XYXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _1XXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _1XXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- _0XXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- _0XXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- WXXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- WXXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- ZXXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- ZXXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- YXXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- YXXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
- XXXZ( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
- XXXZ( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _111Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _111Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _011Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _011Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W11Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W11Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z11Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z11Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y11Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y11Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X11Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X11Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _101Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _101Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _001Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _001Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W01Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W01Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z01Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z01Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y01Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y01Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X01Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X01Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1W1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1W1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0W1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0W1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WW1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WW1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZW1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZW1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YW1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YW1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XW1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XW1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1Z1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1Z1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0Z1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0Z1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WZ1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WZ1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZZ1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZZ1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YZ1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YZ1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XZ1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XZ1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1Y1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1Y1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0Y1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0Y1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WY1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WY1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZY1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZY1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YY1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YY1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XY1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XY1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1X1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1X1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0X1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0X1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WX1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WX1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZX1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZX1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YX1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YX1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XX1Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XX1Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _110Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _110Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _010Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _010Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W10Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W10Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z10Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z10Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y10Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y10Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X10Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X10Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _100Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _100Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _000Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _000Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W00Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W00Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z00Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z00Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y00Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y00Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X00Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X00Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1W0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1W0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0W0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0W0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WW0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WW0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZW0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZW0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YW0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YW0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XW0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XW0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1Z0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1Z0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0Z0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0Z0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WZ0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WZ0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZZ0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZZ0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YZ0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YZ0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XZ0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XZ0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1Y0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1Y0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0Y0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0Y0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WY0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WY0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZY0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZY0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YY0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YY0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XY0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XY0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1X0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1X0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0X0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0X0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WX0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WX0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZX0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZX0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YX0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YX0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XX0Y( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XX0Y( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _11WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _11WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _01WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _01WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W1WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W1WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z1WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z1WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y1WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y1WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X1WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X1WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _10WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _10WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _00WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _00WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W0WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W0WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z0WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z0WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y0WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y0WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X0WY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X0WY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1WWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1WWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0WWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0WWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WWWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WWWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZWWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZWWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YWWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YWWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XWWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XWWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1ZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1ZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0ZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0ZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XZWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XZWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1YWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1YWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0YWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0YWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WYWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WYWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZYWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZYWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YYWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YYWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XYWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XYWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1XWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1XWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0XWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0XWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WXWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WXWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZXWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZXWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YXWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YXWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XXWY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XXWY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _11ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _11ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _01ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _01ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W1ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W1ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z1ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z1ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y1ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y1ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X1ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X1ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _10ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _10ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _00ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _00ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W0ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W0ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z0ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z0ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y0ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y0ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X0ZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X0ZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1WZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1WZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0WZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0WZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WWZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WWZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZWZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZWZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YWZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YWZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XWZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XWZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1ZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1ZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0ZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0ZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XZZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XZZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1YZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1YZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0YZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0YZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WYZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WYZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZYZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZYZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YYZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YYZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XYZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XYZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1XZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1XZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0XZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0XZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WXZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WXZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZXZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZXZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YXZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YXZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XXZY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XXZY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _11YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _11YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _01YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _01YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W1YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W1YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z1YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z1YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y1YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y1YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X1YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X1YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _10YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _10YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _00YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _00YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W0YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W0YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z0YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z0YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y0YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y0YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X0YY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X0YY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1WYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1WYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0WYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0WYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WWYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WWYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZWYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZWYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YWYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YWYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XWYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XWYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1ZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1ZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0ZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0ZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XZYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XZYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1YYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1YYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0YYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0YYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WYYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WYYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZYYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZYYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YYYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YYYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XYYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XYYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1XYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1XYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0XYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0XYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WXYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WXYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZXYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZXYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YXYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YXYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XXYY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XXYY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _11XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _11XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _01XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _01XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W1XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W1XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z1XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z1XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y1XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y1XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X1XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X1XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _10XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _10XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _00XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _00XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- W0XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- W0XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Z0XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Z0XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- Y0XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- Y0XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- X0XY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- X0XY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1WXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1WXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0WXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0WXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WWXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WWXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZWXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZWXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YWXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YWXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XWXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XWXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1ZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1ZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0ZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0ZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XZXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XZXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1YXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1YXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0YXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0YXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WYXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WYXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZYXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZYXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YYXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YYXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XYXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XYXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _1XXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _1XXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- _0XXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- _0XXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- WXXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- WXXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- ZXXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- ZXXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- YXXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- YXXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
- XXXY( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
- XXXY( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _111X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _111X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _111X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _111X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _011X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _011X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _011X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _011X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W11X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W11X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z11X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z11X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y11X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y11X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X11X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X11X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X11X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X11X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _101X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _101X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _101X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _101X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _001X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _001X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _001X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _001X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W01X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W01X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z01X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z01X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y01X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y01X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X01X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X01X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X01X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X01X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1W1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1W1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0W1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0W1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WW1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WW1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZW1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZW1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YW1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YW1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XW1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XW1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1Z1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1Z1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0Z1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0Z1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WZ1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WZ1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZZ1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZZ1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YZ1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YZ1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XZ1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XZ1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1Y1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1Y1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0Y1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0Y1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WY1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WY1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZY1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZY1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YY1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YY1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XY1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XY1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1X1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1X1X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1X1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1X1X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0X1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0X1X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0X1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0X1X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WX1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WX1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZX1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZX1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YX1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YX1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XX1X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XX1X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XX1X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XX1X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _110X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _110X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _110X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _110X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _010X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _010X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _010X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _010X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W10X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W10X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z10X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z10X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y10X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y10X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X10X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X10X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X10X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X10X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _100X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _100X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _100X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _100X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _000X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _000X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _000X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _000X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W00X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W00X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z00X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z00X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y00X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y00X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X00X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X00X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X00X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X00X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1W0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1W0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0W0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0W0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WW0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WW0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZW0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZW0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YW0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YW0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XW0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XW0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1Z0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1Z0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0Z0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0Z0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WZ0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WZ0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZZ0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZZ0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YZ0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YZ0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XZ0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XZ0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1Y0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1Y0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0Y0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0Y0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WY0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WY0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZY0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZY0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YY0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YY0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XY0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XY0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1X0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1X0X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1X0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1X0X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0X0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0X0X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0X0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0X0X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WX0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WX0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZX0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZX0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YX0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YX0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XX0X( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XX0X( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XX0X( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XX0X( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _11WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _11WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _01WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _01WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W1WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W1WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z1WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z1WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y1WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y1WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X1WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X1WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _10WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _10WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _00WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _00WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W0WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W0WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z0WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z0WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y0WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y0WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X0WX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X0WX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1WWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1WWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0WWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0WWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WWWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WWWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZWWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZWWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YWWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YWWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XWWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XWWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1ZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1ZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0ZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0ZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XZWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XZWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1YWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1YWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0YWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0YWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WYWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WYWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZYWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZYWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YYWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YYWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XYWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XYWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1XWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1XWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0XWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0XWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WXWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WXWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZXWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZXWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YXWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YXWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XXWX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XXWX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _11ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _11ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _01ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _01ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W1ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W1ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z1ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z1ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y1ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y1ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X1ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X1ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _10ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _10ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _00ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _00ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W0ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W0ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z0ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z0ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y0ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y0ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X0ZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X0ZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1WZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1WZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0WZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0WZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WWZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WWZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZWZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZWZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YWZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YWZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XWZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XWZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1ZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1ZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0ZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0ZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XZZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XZZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1YZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1YZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0YZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0YZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WYZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WYZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZYZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZYZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YYZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YYZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XYZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XYZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1XZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1XZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0XZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0XZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WXZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WXZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZXZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZXZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YXZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YXZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XXZX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XXZX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _11YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _11YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _01YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _01YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W1YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W1YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z1YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z1YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y1YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y1YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X1YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X1YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _10YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _10YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _00YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _00YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W0YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W0YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z0YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z0YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y0YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y0YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X0YX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X0YX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1WYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1WYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0WYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0WYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WWYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WWYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZWYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZWYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YWYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YWYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XWYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XWYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1ZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1ZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0ZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0ZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XZYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XZYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1YYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1YYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0YYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0YYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WYYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WYYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZYYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZYYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YYYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YYYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XYYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XYYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1XYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1XYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0XYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0XYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WXYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WXYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZXYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZXYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YXYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YXYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XXYX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XXYX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _11XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _11XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _11XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _11XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _01XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _01XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _01XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _01XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W1XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W1XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z1XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z1XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y1XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y1XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X1XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X1XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X1XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X1XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _10XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _10XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _10XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _10XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _00XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _00XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _00XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _00XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- W0XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- W0XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Z0XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Z0XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- Y0XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- Y0XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X0XX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- X0XX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X0XX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- X0XX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1WXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1WXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0WXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0WXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WWXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WWXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZWXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZWXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YWXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YWXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XWXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XWXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1ZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1ZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0ZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0ZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XZXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XZXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1YXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1YXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0YXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0YXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WYXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WYXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZYXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZYXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YYXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YYXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XYXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XYXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1XXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _1XXX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1XXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _1XXX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0XXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- _0XXX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0XXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- _0XXX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- WXXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=4,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- WXXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- ZXXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=3,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- ZXXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- YXXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=2,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- YXXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XXXX( V const & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
- XXXX( S const & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
- }
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim>=1,
- qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XXXX( V & a )
- {
- return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- template <class S>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_scalar<S>::value,
- qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
- XXXX( S & a )
- {
- return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_F445D3D828CEBF5C560593D97278A59
+#define BOOST_QVM_F445D3D828CEBF5C560593D97278A59
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/detail/swizzle_traits.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _1111()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _0111()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W111( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W111( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z111( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z111( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y111( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y111( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X111( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X111( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X111( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X111( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _1011()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _0011()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W011( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W011( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z011( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z011( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y011( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y011( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X011( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X011( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X011( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X011( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1W11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1W11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0W11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0W11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WW11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WW11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZW11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZW11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YW11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YW11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XW11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XW11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1Z11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1Z11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0Z11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0Z11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WZ11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WZ11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZZ11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZZ11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YZ11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YZ11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XZ11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XZ11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1Y11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1Y11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0Y11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0Y11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WY11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WY11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZY11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZY11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YY11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YY11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XY11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XY11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1X11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1X11( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1X11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1X11( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0X11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0X11( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0X11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0X11( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WX11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WX11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZX11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZX11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YX11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YX11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XX11( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XX11( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XX11( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XX11( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _1101()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _0101()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W101( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W101( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z101( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z101( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y101( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y101( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X101( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X101( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X101( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X101( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _1001()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
+ _0001()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W001( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W001( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z001( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z001( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y001( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y001( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X001( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X001( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X001( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X001( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1W01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1W01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0W01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0W01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WW01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WW01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZW01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZW01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YW01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YW01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XW01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XW01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1Z01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1Z01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0Z01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0Z01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WZ01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WZ01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZZ01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZZ01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YZ01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YZ01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XZ01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XZ01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1Y01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1Y01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0Y01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0Y01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WY01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WY01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZY01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZY01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YY01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YY01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XY01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XY01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1X01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1X01( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1X01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1X01( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0X01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0X01( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0X01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0X01( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WX01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WX01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZX01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZX01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YX01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YX01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XX01( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XX01( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XX01( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XX01( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _11W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _11W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _01W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _01W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W1W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W1W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z1W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z1W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y1W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y1W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X1W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X1W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _10W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _10W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _00W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _00W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W0W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W0W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z0W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z0W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y0W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y0W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X0W1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X0W1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1WW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1WW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0WW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0WW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WWW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WWW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZWW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZWW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YWW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YWW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XWW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XWW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1ZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1ZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0ZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0ZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XZW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XZW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1YW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1YW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0YW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0YW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WYW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WYW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZYW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZYW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YYW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YYW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XYW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XYW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1XW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1XW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0XW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0XW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WXW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WXW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZXW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZXW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YXW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YXW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XXW1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XXW1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _11Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _11Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _01Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _01Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W1Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W1Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z1Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z1Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y1Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y1Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X1Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X1Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _10Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _10Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _00Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _00Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W0Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W0Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z0Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z0Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y0Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y0Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X0Z1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X0Z1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1WZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1WZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0WZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0WZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WWZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WWZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZWZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZWZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YWZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YWZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XWZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XWZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1ZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1ZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0ZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0ZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XZZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XZZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1YZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1YZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0YZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0YZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WYZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WYZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZYZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZYZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YYZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YYZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XYZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XYZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1XZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1XZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0XZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0XZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WXZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WXZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZXZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZXZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YXZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YXZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XXZ1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XXZ1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _11Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _11Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _01Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _01Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W1Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W1Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z1Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z1Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y1Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y1Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X1Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X1Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _10Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _10Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _00Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _00Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W0Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W0Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z0Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z0Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y0Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y0Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X0Y1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X0Y1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1WY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1WY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0WY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0WY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WWY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WWY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZWY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZWY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YWY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YWY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XWY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XWY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1ZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1ZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0ZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0ZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XZY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XZY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1YY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1YY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0YY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0YY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WYY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WYY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZYY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZYY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YYY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YYY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XYY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XYY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1XY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1XY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0XY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0XY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WXY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WXY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZXY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZXY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YXY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YXY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XXY1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XXY1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _11X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _11X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _11X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _11X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _01X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _01X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _01X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _01X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W1X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W1X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z1X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z1X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y1X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y1X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X1X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X1X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X1X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X1X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _10X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _10X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _10X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _10X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _00X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _00X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _00X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _00X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ W0X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ W0X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Z0X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Z0X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ Y0X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ Y0X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X0X1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ X0X1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X0X1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ X0X1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1WX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1WX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0WX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0WX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WWX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WWX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZWX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZWX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YWX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YWX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XWX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XWX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1ZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1ZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0ZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0ZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XZX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XZX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1YX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1YX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0YX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0YX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WYX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WYX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZYX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZYX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YYX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YYX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XYX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XYX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1XX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _1XX1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1XX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _1XX1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0XX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ _0XX1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0XX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ _0XX1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ WXX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ WXX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ ZXX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ ZXX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ YXX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ YXX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XXX1( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
+ XXX1( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XXX1( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
+ XXX1( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _1110()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _0110()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W110( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W110( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z110( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z110( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y110( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y110( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X110( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X110( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X110( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X110( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _1010()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _0010()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W010( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W010( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z010( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z010( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y010( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y010( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X010( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X010( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X010( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X010( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1W10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1W10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0W10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0W10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WW10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WW10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZW10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZW10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YW10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YW10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XW10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XW10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1Z10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1Z10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0Z10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0Z10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WZ10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WZ10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZZ10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZZ10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YZ10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YZ10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XZ10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XZ10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1Y10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1Y10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0Y10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0Y10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WY10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WY10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZY10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZY10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YY10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YY10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XY10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XY10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1X10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1X10( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1X10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1X10( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0X10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0X10( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0X10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0X10( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WX10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WX10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZX10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZX10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YX10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YX10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XX10( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XX10( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XX10( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XX10( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _1100()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _0100()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W100( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W100( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z100( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z100( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y100( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y100( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X100( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X100( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X100( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X100( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _1000()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
+ _0000()
+ {
+ return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W000( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W000( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z000( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z000( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y000( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y000( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X000( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X000( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X000( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X000( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1W00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1W00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0W00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0W00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WW00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WW00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZW00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZW00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YW00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YW00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XW00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XW00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1Z00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1Z00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0Z00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0Z00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WZ00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WZ00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZZ00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZZ00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YZ00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YZ00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XZ00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XZ00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1Y00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1Y00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0Y00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0Y00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WY00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WY00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZY00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZY00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YY00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YY00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XY00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XY00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1X00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1X00( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1X00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1X00( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0X00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0X00( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0X00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0X00( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WX00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WX00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZX00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZX00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YX00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YX00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XX00( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XX00( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XX00( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XX00( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _11W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _11W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _01W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _01W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W1W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W1W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z1W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z1W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y1W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y1W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X1W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X1W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _10W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _10W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _00W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _00W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W0W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W0W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z0W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z0W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y0W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y0W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X0W0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X0W0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1WW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1WW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0WW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0WW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WWW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WWW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZWW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZWW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YWW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YWW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XWW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XWW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1ZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1ZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0ZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0ZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XZW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XZW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1YW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1YW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0YW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0YW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WYW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WYW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZYW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZYW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YYW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YYW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XYW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XYW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1XW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1XW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0XW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0XW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WXW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WXW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZXW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZXW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YXW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YXW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XXW0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XXW0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _11Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _11Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _01Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _01Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W1Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W1Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z1Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z1Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y1Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y1Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X1Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X1Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _10Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _10Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _00Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _00Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W0Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W0Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z0Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z0Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y0Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y0Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X0Z0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X0Z0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1WZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1WZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0WZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0WZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WWZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WWZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZWZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZWZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YWZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YWZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XWZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XWZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1ZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1ZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0ZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0ZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XZZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XZZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1YZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1YZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0YZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0YZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WYZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WYZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZYZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZYZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YYZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YYZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XYZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XYZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1XZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1XZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0XZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0XZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WXZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WXZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZXZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZXZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YXZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YXZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XXZ0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XXZ0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _11Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _11Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _01Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _01Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W1Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W1Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z1Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z1Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y1Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y1Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X1Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X1Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _10Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _10Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _00Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _00Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W0Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W0Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z0Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z0Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y0Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y0Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X0Y0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X0Y0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1WY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1WY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0WY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0WY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WWY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WWY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZWY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZWY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YWY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YWY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XWY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XWY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1ZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1ZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0ZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0ZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XZY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XZY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1YY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1YY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0YY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0YY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WYY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WYY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZYY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZYY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YYY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YYY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XYY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XYY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1XY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1XY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0XY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0XY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WXY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WXY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZXY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZXY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YXY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YXY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XXY0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XXY0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _11X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _11X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _11X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _11X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _01X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _01X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _01X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _01X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W1X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W1X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z1X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z1X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y1X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y1X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X1X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X1X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X1X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X1X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _10X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _10X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _10X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _10X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _00X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _00X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _00X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _00X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ W0X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ W0X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Z0X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Z0X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ Y0X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ Y0X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X0X0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ X0X0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X0X0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ X0X0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1WX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1WX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0WX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0WX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WWX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WWX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZWX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZWX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YWX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YWX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XWX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XWX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1ZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1ZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0ZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0ZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XZX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XZX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1YX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1YX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0YX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0YX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WYX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WYX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZYX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZYX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YYX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YYX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XYX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XYX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1XX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _1XX0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1XX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _1XX0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0XX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ _0XX0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0XX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ _0XX0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ WXX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ WXX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ ZXX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ ZXX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ YXX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ YXX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XXX0( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
+ XXX0( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XXX0( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
+ XXX0( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _111W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _111W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _011W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _011W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W11W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W11W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z11W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z11W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y11W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y11W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X11W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X11W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _101W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _101W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _001W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _001W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W01W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W01W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z01W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z01W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y01W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y01W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X01W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X01W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1W1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1W1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0W1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0W1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WW1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WW1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZW1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZW1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YW1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YW1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XW1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XW1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1Z1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1Z1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0Z1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0Z1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WZ1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WZ1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZZ1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZZ1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YZ1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YZ1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XZ1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XZ1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1Y1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1Y1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0Y1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0Y1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WY1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WY1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZY1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZY1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YY1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YY1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XY1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XY1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1X1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1X1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0X1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0X1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WX1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WX1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZX1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZX1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YX1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YX1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XX1W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XX1W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _110W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _110W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _010W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _010W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W10W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W10W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z10W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z10W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y10W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y10W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X10W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X10W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _100W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _100W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _000W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _000W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W00W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W00W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z00W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z00W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y00W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y00W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X00W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X00W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1W0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1W0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0W0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0W0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WW0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WW0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZW0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZW0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YW0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YW0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XW0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XW0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1Z0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1Z0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0Z0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0Z0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WZ0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WZ0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZZ0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZZ0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YZ0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YZ0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XZ0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XZ0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1Y0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1Y0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0Y0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0Y0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WY0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WY0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZY0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZY0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YY0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YY0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XY0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XY0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1X0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1X0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0X0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0X0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WX0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WX0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZX0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZX0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YX0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YX0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XX0W( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XX0W( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _11WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _11WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _01WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _01WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W1WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W1WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z1WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z1WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y1WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y1WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X1WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X1WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _10WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _10WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _00WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _00WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W0WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W0WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z0WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z0WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y0WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y0WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X0WW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X0WW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1WWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1WWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0WWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0WWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WWWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WWWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZWWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZWWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YWWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YWWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XWWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XWWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1ZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1ZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0ZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0ZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XZWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XZWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1YWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1YWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0YWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0YWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WYWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WYWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZYWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZYWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YYWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YYWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XYWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XYWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1XWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1XWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0XWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0XWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WXWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WXWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZXWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZXWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YXWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YXWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XXWW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XXWW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _11ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _11ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _01ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _01ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W1ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W1ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z1ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z1ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y1ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y1ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X1ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X1ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _10ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _10ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _00ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _00ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W0ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W0ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z0ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z0ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y0ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y0ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X0ZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X0ZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1WZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1WZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0WZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0WZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WWZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WWZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZWZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZWZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YWZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YWZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XWZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XWZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1ZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1ZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0ZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0ZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XZZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XZZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1YZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1YZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0YZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0YZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WYZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WYZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZYZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZYZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YYZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YYZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XYZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XYZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1XZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1XZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0XZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0XZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WXZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WXZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZXZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZXZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YXZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YXZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XXZW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XXZW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _11YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _11YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _01YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _01YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W1YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W1YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z1YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z1YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y1YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y1YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X1YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X1YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _10YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _10YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _00YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _00YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W0YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W0YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z0YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z0YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y0YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y0YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X0YW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X0YW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1WYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1WYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0WYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0WYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WWYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WWYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZWYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZWYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YWYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YWYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XWYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XWYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1ZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1ZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0ZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0ZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XZYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XZYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1YYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1YYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0YYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0YYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WYYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WYYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZYYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZYYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YYYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YYYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XYYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XYYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1XYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1XYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0XYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0XYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WXYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WXYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZXYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZXYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YXYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YXYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XXYW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XXYW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _11XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _11XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _01XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _01XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W1XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W1XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z1XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z1XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y1XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y1XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X1XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X1XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _10XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _10XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _00XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _00XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ W0XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ W0XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Z0XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Z0XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ Y0XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ Y0XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ X0XW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ X0XW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1WXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1WXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0WXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0WXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WWXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WWXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZWXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZWXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YWXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YWXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XWXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XWXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1ZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1ZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0ZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0ZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XZXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XZXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1YXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1YXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0YXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0YXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WYXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WYXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZYXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZYXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YYXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YYXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XYXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XYXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _1XXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _1XXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ _0XXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ _0XXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ WXXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ WXXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ ZXXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ ZXXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ YXXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ YXXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
+ XXXW( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
+ XXXW( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _111Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _111Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _011Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _011Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W11Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W11Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z11Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z11Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y11Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y11Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X11Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X11Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _101Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _101Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _001Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _001Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W01Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W01Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z01Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z01Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y01Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y01Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X01Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X01Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1W1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1W1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0W1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0W1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WW1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WW1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZW1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZW1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YW1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YW1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XW1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XW1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1Z1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1Z1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0Z1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0Z1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WZ1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WZ1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZZ1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZZ1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YZ1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YZ1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XZ1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XZ1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1Y1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1Y1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0Y1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0Y1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WY1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WY1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZY1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZY1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YY1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YY1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XY1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XY1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1X1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1X1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0X1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0X1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WX1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WX1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZX1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZX1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YX1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YX1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XX1Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XX1Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _110Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _110Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _010Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _010Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W10Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W10Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z10Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z10Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y10Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y10Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X10Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X10Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _100Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _100Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _000Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _000Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W00Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W00Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z00Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z00Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y00Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y00Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X00Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X00Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1W0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1W0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0W0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0W0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WW0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WW0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZW0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZW0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YW0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YW0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XW0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XW0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1Z0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1Z0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0Z0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0Z0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WZ0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WZ0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZZ0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZZ0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YZ0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YZ0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XZ0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XZ0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1Y0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1Y0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0Y0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0Y0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WY0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WY0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZY0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZY0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YY0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YY0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XY0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XY0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1X0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1X0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0X0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0X0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WX0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WX0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZX0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZX0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YX0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YX0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XX0Z( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XX0Z( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _11WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _11WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _01WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _01WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W1WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W1WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z1WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z1WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y1WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y1WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X1WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X1WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _10WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _10WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _00WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _00WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W0WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W0WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z0WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z0WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y0WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y0WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X0WZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X0WZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1WWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1WWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0WWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0WWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WWWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WWWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZWWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZWWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YWWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YWWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XWWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XWWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1ZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1ZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0ZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0ZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XZWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XZWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1YWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1YWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0YWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0YWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WYWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WYWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZYWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZYWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YYWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YYWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XYWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XYWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1XWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1XWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0XWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0XWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WXWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WXWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZXWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZXWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YXWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YXWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XXWZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XXWZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _11ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _11ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _01ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _01ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W1ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W1ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z1ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z1ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y1ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y1ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X1ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X1ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _10ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _10ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _00ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _00ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W0ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W0ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z0ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z0ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y0ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y0ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X0ZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X0ZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1WZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1WZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0WZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0WZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WWZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WWZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZWZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZWZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YWZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YWZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XWZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XWZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1ZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1ZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0ZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0ZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XZZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XZZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1YZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1YZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0YZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0YZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WYZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WYZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZYZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZYZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YYZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YYZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XYZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XYZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1XZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1XZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0XZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0XZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WXZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WXZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZXZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZXZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YXZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YXZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XXZZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XXZZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _11YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _11YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _01YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _01YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W1YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W1YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z1YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z1YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y1YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y1YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X1YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X1YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _10YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _10YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _00YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _00YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W0YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W0YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z0YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z0YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y0YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y0YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X0YZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X0YZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1WYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1WYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0WYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0WYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WWYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WWYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZWYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZWYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YWYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YWYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XWYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XWYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1ZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1ZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0ZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0ZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XZYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XZYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1YYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1YYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0YYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0YYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WYYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WYYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZYYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZYYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YYYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YYYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XYYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XYYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1XYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1XYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0XYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0XYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WXYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WXYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZXYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZXYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YXYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YXYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XXYZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XXYZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _11XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _11XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _01XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _01XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W1XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W1XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z1XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z1XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y1XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y1XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X1XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X1XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _10XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _10XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _00XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _00XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ W0XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ W0XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Z0XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Z0XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ Y0XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ Y0XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ X0XZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ X0XZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1WXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1WXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0WXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0WXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WWXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WWXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZWXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZWXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YWXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YWXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XWXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XWXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1ZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1ZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0ZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0ZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XZXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XZXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1YXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1YXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0YXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0YXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WYXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WYXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZYXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZYXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YYXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YYXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XYXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XYXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _1XXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _1XXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ _0XXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ _0XXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ WXXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ WXXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ ZXXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ ZXXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ YXXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ YXXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
+ XXXZ( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
+ XXXZ( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _111Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _111Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _011Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _011Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W11Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W11Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z11Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z11Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y11Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y11Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X11Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X11Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _101Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _101Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _001Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _001Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W01Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W01Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z01Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z01Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y01Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y01Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X01Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X01Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1W1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1W1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0W1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0W1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WW1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WW1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZW1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZW1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YW1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YW1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XW1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XW1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1Z1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1Z1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0Z1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0Z1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WZ1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WZ1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZZ1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZZ1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YZ1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YZ1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XZ1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XZ1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1Y1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1Y1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0Y1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0Y1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WY1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WY1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZY1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZY1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YY1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YY1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XY1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XY1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1X1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1X1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0X1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0X1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WX1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WX1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZX1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZX1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YX1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YX1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XX1Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XX1Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _110Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _110Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _010Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _010Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W10Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W10Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z10Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z10Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y10Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y10Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X10Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X10Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _100Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _100Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _000Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _000Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W00Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W00Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z00Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z00Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y00Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y00Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X00Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X00Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1W0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1W0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0W0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0W0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WW0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WW0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZW0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZW0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YW0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YW0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XW0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XW0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1Z0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1Z0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0Z0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0Z0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WZ0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WZ0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZZ0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZZ0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YZ0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YZ0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XZ0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XZ0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1Y0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1Y0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0Y0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0Y0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WY0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WY0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZY0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZY0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YY0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YY0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XY0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XY0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1X0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1X0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0X0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0X0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WX0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WX0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZX0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZX0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YX0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YX0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XX0Y( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XX0Y( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _11WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _11WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _01WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _01WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W1WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W1WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z1WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z1WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y1WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y1WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X1WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X1WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _10WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _10WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _00WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _00WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W0WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W0WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z0WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z0WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y0WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y0WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X0WY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X0WY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1WWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1WWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0WWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0WWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WWWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WWWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZWWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZWWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YWWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YWWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XWWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XWWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1ZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1ZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0ZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0ZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XZWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XZWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1YWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1YWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0YWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0YWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WYWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WYWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZYWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZYWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YYWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YYWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XYWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XYWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1XWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1XWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0XWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0XWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WXWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WXWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZXWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZXWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YXWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YXWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XXWY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XXWY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _11ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _11ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _01ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _01ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W1ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W1ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z1ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z1ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y1ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y1ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X1ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X1ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _10ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _10ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _00ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _00ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W0ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W0ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z0ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z0ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y0ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y0ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X0ZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X0ZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1WZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1WZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0WZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0WZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WWZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WWZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZWZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZWZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YWZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YWZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XWZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XWZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1ZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1ZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0ZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0ZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XZZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XZZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1YZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1YZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0YZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0YZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WYZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WYZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZYZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZYZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YYZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YYZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XYZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XYZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1XZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1XZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0XZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0XZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WXZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WXZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZXZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZXZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YXZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YXZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XXZY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XXZY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _11YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _11YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _01YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _01YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W1YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W1YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z1YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z1YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y1YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y1YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X1YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X1YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _10YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _10YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _00YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _00YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W0YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W0YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z0YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z0YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y0YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y0YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X0YY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X0YY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1WYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1WYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0WYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0WYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WWYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WWYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZWYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZWYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YWYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YWYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XWYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XWYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1ZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1ZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0ZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0ZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XZYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XZYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1YYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1YYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0YYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0YYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WYYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WYYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZYYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZYYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YYYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YYYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XYYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XYYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1XYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1XYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0XYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0XYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WXYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WXYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZXYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZXYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YXYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YXYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XXYY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XXYY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _11XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _11XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _01XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _01XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W1XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W1XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z1XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z1XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y1XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y1XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X1XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X1XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _10XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _10XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _00XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _00XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ W0XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ W0XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Z0XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Z0XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ Y0XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ Y0XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ X0XY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ X0XY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1WXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1WXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0WXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0WXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WWXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WWXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZWXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZWXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YWXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YWXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XWXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XWXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1ZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1ZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0ZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0ZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XZXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XZXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1YXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1YXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0YXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0YXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WYXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WYXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZYXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZYXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YYXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YYXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XYXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XYXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _1XXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _1XXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ _0XXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ _0XXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ WXXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ WXXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ ZXXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ ZXXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ YXXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ YXXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
+ XXXY( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
+ XXXY( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _111X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _111X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _111X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _111X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _011X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _011X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _011X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _011X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W11X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W11X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z11X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z11X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y11X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y11X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X11X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X11X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X11X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X11X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _101X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _101X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _101X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _101X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _001X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _001X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _001X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _001X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W01X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W01X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z01X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z01X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y01X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y01X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X01X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X01X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X01X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X01X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1W1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1W1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0W1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0W1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WW1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WW1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZW1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZW1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YW1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YW1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XW1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XW1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1Z1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1Z1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0Z1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0Z1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WZ1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WZ1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZZ1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZZ1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YZ1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YZ1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XZ1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XZ1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1Y1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1Y1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0Y1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0Y1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WY1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WY1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZY1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZY1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YY1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YY1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XY1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XY1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1X1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1X1X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1X1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1X1X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0X1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0X1X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0X1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0X1X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WX1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WX1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZX1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZX1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YX1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YX1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XX1X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XX1X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XX1X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XX1X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _110X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _110X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _110X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _110X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _010X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _010X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _010X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _010X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W10X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W10X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z10X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z10X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y10X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y10X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X10X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X10X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X10X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X10X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _100X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _100X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _100X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _100X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _000X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _000X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _000X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _000X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W00X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W00X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z00X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z00X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y00X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y00X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X00X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X00X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X00X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X00X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1W0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1W0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0W0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0W0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WW0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WW0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZW0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZW0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YW0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YW0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XW0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XW0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1Z0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1Z0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0Z0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0Z0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WZ0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WZ0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZZ0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZZ0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YZ0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YZ0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XZ0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XZ0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1Y0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1Y0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0Y0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0Y0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WY0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WY0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZY0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZY0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YY0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YY0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XY0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XY0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1X0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1X0X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1X0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1X0X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0X0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0X0X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0X0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0X0X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WX0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WX0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZX0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZX0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YX0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YX0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XX0X( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XX0X( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XX0X( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XX0X( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _11WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _11WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _01WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _01WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W1WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W1WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z1WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z1WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y1WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y1WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X1WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X1WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _10WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _10WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _00WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _00WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W0WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W0WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z0WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z0WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y0WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y0WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X0WX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X0WX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1WWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1WWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0WWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0WWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WWWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WWWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZWWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZWWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YWWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YWWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XWWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XWWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1ZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1ZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0ZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0ZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XZWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XZWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1YWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1YWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0YWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0YWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WYWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WYWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZYWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZYWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YYWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YYWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XYWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XYWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1XWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1XWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0XWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0XWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WXWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WXWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZXWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZXWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YXWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YXWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XXWX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XXWX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _11ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _11ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _01ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _01ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W1ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W1ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z1ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z1ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y1ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y1ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X1ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X1ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _10ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _10ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _00ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _00ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W0ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W0ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z0ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z0ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y0ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y0ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X0ZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X0ZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1WZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1WZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0WZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0WZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WWZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WWZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZWZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZWZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YWZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YWZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XWZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XWZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1ZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1ZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0ZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0ZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XZZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XZZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1YZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1YZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0YZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0YZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WYZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WYZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZYZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZYZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YYZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YYZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XYZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XYZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1XZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1XZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0XZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0XZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WXZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WXZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZXZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZXZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YXZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YXZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XXZX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XXZX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _11YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _11YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _01YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _01YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W1YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W1YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z1YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z1YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y1YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y1YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X1YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X1YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _10YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _10YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _00YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _00YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W0YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W0YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z0YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z0YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y0YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y0YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X0YX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X0YX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1WYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1WYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0WYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0WYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WWYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WWYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZWYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZWYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YWYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YWYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XWYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XWYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1ZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1ZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0ZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0ZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XZYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XZYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1YYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1YYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0YYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0YYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WYYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WYYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZYYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZYYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YYYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YYYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XYYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XYYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1XYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1XYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0XYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0XYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WXYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WXYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZXYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZXYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YXYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YXYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XXYX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XXYX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _11XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _11XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _11XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _11XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _01XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _01XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _01XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _01XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W1XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W1XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z1XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z1XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y1XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y1XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X1XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X1XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X1XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X1XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _10XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _10XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _10XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _10XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _00XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _00XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _00XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _00XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ W0XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ W0XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Z0XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Z0XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ Y0XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ Y0XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X0XX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ X0XX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X0XX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ X0XX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1WXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1WXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0WXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0WXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WWXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WWXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZWXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZWXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YWXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YWXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XWXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XWXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1ZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1ZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0ZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0ZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XZXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XZXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1YXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1YXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0YXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0YXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WYXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WYXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZYXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZYXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YYXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YYXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XYXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XYXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1XXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _1XXX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1XXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _1XXX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0XXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ _0XXX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0XXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ _0XXX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ WXXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=4,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ WXXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ ZXXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=3,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ ZXXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ YXXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=2,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ YXXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XXXX( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
+ XXXX( S const & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
+ }
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim>=1,
+ qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XXXX( V & a )
+ {
+ return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ template <class S>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_scalar<S>::value,
+ qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
+ XXXX( S & a )
+ {
+ return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_assign2.hpp b/boost/qvm/gen/vec_assign2.hpp
index 2265602b7a..442a0d2214 100644
--- a/boost/qvm/gen/vec_assign2.hpp
+++ b/boost/qvm/gen/vec_assign2.hpp
@@ -1,56 +1,56 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
-#define BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/vec_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- A &>::type
- assign( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct assign_vv_defined;
-
- template <>
- struct
- assign_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
+#define BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/vec_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct assign_vv_defined;
+
+ template <>
+ struct
+ assign_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_assign3.hpp b/boost/qvm/gen/vec_assign3.hpp
index 17da3ad9af..1ca4be7305 100644
--- a/boost/qvm/gen/vec_assign3.hpp
+++ b/boost/qvm/gen/vec_assign3.hpp
@@ -1,57 +1,57 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5
-#define BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/vec_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- A &>::type
- assign( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b);
- vec_traits<A>::template write_element<2>(a)=vec_traits<B>::template read_element<2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct assign_vv_defined;
-
- template <>
- struct
- assign_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5
+#define BOOST_QVM_2D7E8392C53CBC9121E33749ECF4D5
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/vec_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b);
+ vec_traits<A>::template write_element<2>(a)=vec_traits<B>::template read_element<2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct assign_vv_defined;
+
+ template <>
+ struct
+ assign_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_assign4.hpp b/boost/qvm/gen/vec_assign4.hpp
index 7fa7a566ef..9fa63830e5 100644
--- a/boost/qvm/gen/vec_assign4.hpp
+++ b/boost/qvm/gen/vec_assign4.hpp
@@ -1,58 +1,58 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_D49FD4A4597E35CF3222F4CCCFD3902D
-#define BOOST_QVM_D49FD4A4597E35CF3222F4CCCFD3902D
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/vec_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- A &>::type
- assign( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b);
- vec_traits<A>::template write_element<2>(a)=vec_traits<B>::template read_element<2>(b);
- vec_traits<A>::template write_element<3>(a)=vec_traits<B>::template read_element<3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct assign_vv_defined;
-
- template <>
- struct
- assign_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_D49FD4A4597E35CF3222F4CCCFD3902D
+#define BOOST_QVM_D49FD4A4597E35CF3222F4CCCFD3902D
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/vec_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ A &>::type
+ assign( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)=vec_traits<B>::template read_element<1>(b);
+ vec_traits<A>::template write_element<2>(a)=vec_traits<B>::template read_element<2>(b);
+ vec_traits<A>::template write_element<3>(a)=vec_traits<B>::template read_element<3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct assign_vv_defined;
+
+ template <>
+ struct
+ assign_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_mat_operations2.hpp b/boost/qvm/gen/vec_mat_operations2.hpp
index 8b52bd25e4..981eff722f 100644
--- a/boost/qvm/gen/vec_mat_operations2.hpp
+++ b/boost/qvm/gen/vec_mat_operations2.hpp
@@ -1,114 +1,114 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_48D38F75E6D91D2AE5C0F72B78818744
-#define BOOST_QVM_48D38F75E6D91D2AE5C0F72B78818744
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/vec_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==2 && mat_traits<A>::cols==2 &&
- vec_traits<B>::dim==2,
- deduce_vec2<A,B,2> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Tb const b0 = vec_traits<B>::template read_element<0>(b);
- Tb const b1 = vec_traits<B>::template read_element<1>(b);
- typedef typename deduce_vec2<A,B,2>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
- R r;
- vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1;
- vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_mv_defined;
-
- template <>
- struct
- mul_mv_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<B>::rows==2 && mat_traits<B>::cols==2 &&
- vec_traits<A>::dim==2,
- deduce_vec2<A,B,2> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename vec_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a0 = vec_traits<A>::template read_element<0>(a);
- Ta const a1 = vec_traits<A>::template read_element<1>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- typedef typename deduce_vec2<A,B,2>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
- R r;
- vec_traits<R>::template write_element<0>(r)=a0*b00+a1*b10;
- vec_traits<R>::template write_element<1>(r)=a0*b01+a1*b11;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_vm_defined;
-
- template <>
- struct
- mul_vm_defined<2,2>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_48D38F75E6D91D2AE5C0F72B78818744
+#define BOOST_QVM_48D38F75E6D91D2AE5C0F72B78818744
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/vec_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==2 && mat_traits<A>::cols==2 &&
+ vec_traits<B>::dim==2,
+ deduce_vec2<A,B,2> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Tb const b0 = vec_traits<B>::template read_element<0>(b);
+ Tb const b1 = vec_traits<B>::template read_element<1>(b);
+ typedef typename deduce_vec2<A,B,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1;
+ vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_mv_defined;
+
+ template <>
+ struct
+ mul_mv_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<B>::rows==2 && mat_traits<B>::cols==2 &&
+ vec_traits<A>::dim==2,
+ deduce_vec2<A,B,2> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename vec_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a0 = vec_traits<A>::template read_element<0>(a);
+ Ta const a1 = vec_traits<A>::template read_element<1>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ typedef typename deduce_vec2<A,B,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a0*b00+a1*b10;
+ vec_traits<R>::template write_element<1>(r)=a0*b01+a1*b11;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_vm_defined;
+
+ template <>
+ struct
+ mul_vm_defined<2,2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_mat_operations3.hpp b/boost/qvm/gen/vec_mat_operations3.hpp
index 9e0da9045e..7c32031914 100644
--- a/boost/qvm/gen/vec_mat_operations3.hpp
+++ b/boost/qvm/gen/vec_mat_operations3.hpp
@@ -1,128 +1,128 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_E5F500D4618DBE7B51573B33821F
-#define BOOST_QVM_E5F500D4618DBE7B51573B33821F
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/vec_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3 &&
- vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Tb const b0 = vec_traits<B>::template read_element<0>(b);
- Tb const b1 = vec_traits<B>::template read_element<1>(b);
- Tb const b2 = vec_traits<B>::template read_element<2>(b);
- typedef typename deduce_vec2<A,B,3>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
- R r;
- vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2;
- vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2;
- vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_mv_defined;
-
- template <>
- struct
- mul_mv_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<B>::rows==3 && mat_traits<B>::cols==3 &&
- vec_traits<A>::dim==3,
- deduce_vec2<A,B,3> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename vec_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a0 = vec_traits<A>::template read_element<0>(a);
- Ta const a1 = vec_traits<A>::template read_element<1>(a);
- Ta const a2 = vec_traits<A>::template read_element<2>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- typedef typename deduce_vec2<A,B,3>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
- R r;
- vec_traits<R>::template write_element<0>(r)=a0*b00+a1*b10+a2*b20;
- vec_traits<R>::template write_element<1>(r)=a0*b01+a1*b11+a2*b21;
- vec_traits<R>::template write_element<2>(r)=a0*b02+a1*b12+a2*b22;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_vm_defined;
-
- template <>
- struct
- mul_vm_defined<3,3>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_E5F500D4618DBE7B51573B33821F
+#define BOOST_QVM_E5F500D4618DBE7B51573B33821F
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/vec_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3 &&
+ vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Tb const b0 = vec_traits<B>::template read_element<0>(b);
+ Tb const b1 = vec_traits<B>::template read_element<1>(b);
+ Tb const b2 = vec_traits<B>::template read_element<2>(b);
+ typedef typename deduce_vec2<A,B,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2;
+ vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2;
+ vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_mv_defined;
+
+ template <>
+ struct
+ mul_mv_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<B>::rows==3 && mat_traits<B>::cols==3 &&
+ vec_traits<A>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename vec_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a0 = vec_traits<A>::template read_element<0>(a);
+ Ta const a1 = vec_traits<A>::template read_element<1>(a);
+ Ta const a2 = vec_traits<A>::template read_element<2>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ typedef typename deduce_vec2<A,B,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a0*b00+a1*b10+a2*b20;
+ vec_traits<R>::template write_element<1>(r)=a0*b01+a1*b11+a2*b21;
+ vec_traits<R>::template write_element<2>(r)=a0*b02+a1*b12+a2*b22;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_vm_defined;
+
+ template <>
+ struct
+ mul_vm_defined<3,3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_mat_operations4.hpp b/boost/qvm/gen/vec_mat_operations4.hpp
index ab7db98e31..e5ba1bc0b3 100644
--- a/boost/qvm/gen/vec_mat_operations4.hpp
+++ b/boost/qvm/gen/vec_mat_operations4.hpp
@@ -1,146 +1,146 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_187092DA6454CEB1853E6915F8466A4
-#define BOOST_QVM_187092DA6454CEB1853E6915F8466A4
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/vec_traits.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
- vec_traits<B>::dim==4,
- deduce_vec2<A,B,4> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
- Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
- Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
- Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
- Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
- Tb const b0 = vec_traits<B>::template read_element<0>(b);
- Tb const b1 = vec_traits<B>::template read_element<1>(b);
- Tb const b2 = vec_traits<B>::template read_element<2>(b);
- Tb const b3 = vec_traits<B>::template read_element<3>(b);
- typedef typename deduce_vec2<A,B,4>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
- R r;
- vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2+a03*b3;
- vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2+a13*b3;
- vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2+a23*b3;
- vec_traits<R>::template write_element<3>(r)=a30*b0+a31*b1+a32*b2+a33*b3;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_mv_defined;
-
- template <>
- struct
- mul_mv_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<B>::rows==4 && mat_traits<B>::cols==4 &&
- vec_traits<A>::dim==4,
- deduce_vec2<A,B,4> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename vec_traits<A>::scalar_type Ta;
- typedef typename mat_traits<B>::scalar_type Tb;
- Ta const a0 = vec_traits<A>::template read_element<0>(a);
- Ta const a1 = vec_traits<A>::template read_element<1>(a);
- Ta const a2 = vec_traits<A>::template read_element<2>(a);
- Ta const a3 = vec_traits<A>::template read_element<3>(a);
- Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
- Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
- Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
- Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
- Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
- Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
- Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
- Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
- Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
- Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
- Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
- Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
- Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
- Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
- Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
- Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
- typedef typename deduce_vec2<A,B,4>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
- R r;
- vec_traits<R>::template write_element<0>(r)=a0*b00+a1*b10+a2*b20+a3*b30;
- vec_traits<R>::template write_element<1>(r)=a0*b01+a1*b11+a2*b21+a3*b31;
- vec_traits<R>::template write_element<2>(r)=a0*b02+a1*b12+a2*b22+a3*b32;
- vec_traits<R>::template write_element<3>(r)=a0*b03+a1*b13+a2*b23+a3*b33;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct mul_vm_defined;
-
- template <>
- struct
- mul_vm_defined<4,4>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_187092DA6454CEB1853E6915F8466A4
+#define BOOST_QVM_187092DA6454CEB1853E6915F8466A4
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/vec_traits.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
+ vec_traits<B>::dim==4,
+ deduce_vec2<A,B,4> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
+ Ta const a30 = mat_traits<A>::template read_element<3,0>(a);
+ Ta const a31 = mat_traits<A>::template read_element<3,1>(a);
+ Ta const a32 = mat_traits<A>::template read_element<3,2>(a);
+ Ta const a33 = mat_traits<A>::template read_element<3,3>(a);
+ Tb const b0 = vec_traits<B>::template read_element<0>(b);
+ Tb const b1 = vec_traits<B>::template read_element<1>(b);
+ Tb const b2 = vec_traits<B>::template read_element<2>(b);
+ Tb const b3 = vec_traits<B>::template read_element<3>(b);
+ typedef typename deduce_vec2<A,B,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2+a03*b3;
+ vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2+a13*b3;
+ vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2+a23*b3;
+ vec_traits<R>::template write_element<3>(r)=a30*b0+a31*b1+a32*b2+a33*b3;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_mv_defined;
+
+ template <>
+ struct
+ mul_mv_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<B>::rows==4 && mat_traits<B>::cols==4 &&
+ vec_traits<A>::dim==4,
+ deduce_vec2<A,B,4> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename vec_traits<A>::scalar_type Ta;
+ typedef typename mat_traits<B>::scalar_type Tb;
+ Ta const a0 = vec_traits<A>::template read_element<0>(a);
+ Ta const a1 = vec_traits<A>::template read_element<1>(a);
+ Ta const a2 = vec_traits<A>::template read_element<2>(a);
+ Ta const a3 = vec_traits<A>::template read_element<3>(a);
+ Tb const b00 = mat_traits<B>::template read_element<0,0>(b);
+ Tb const b01 = mat_traits<B>::template read_element<0,1>(b);
+ Tb const b02 = mat_traits<B>::template read_element<0,2>(b);
+ Tb const b03 = mat_traits<B>::template read_element<0,3>(b);
+ Tb const b10 = mat_traits<B>::template read_element<1,0>(b);
+ Tb const b11 = mat_traits<B>::template read_element<1,1>(b);
+ Tb const b12 = mat_traits<B>::template read_element<1,2>(b);
+ Tb const b13 = mat_traits<B>::template read_element<1,3>(b);
+ Tb const b20 = mat_traits<B>::template read_element<2,0>(b);
+ Tb const b21 = mat_traits<B>::template read_element<2,1>(b);
+ Tb const b22 = mat_traits<B>::template read_element<2,2>(b);
+ Tb const b23 = mat_traits<B>::template read_element<2,3>(b);
+ Tb const b30 = mat_traits<B>::template read_element<3,0>(b);
+ Tb const b31 = mat_traits<B>::template read_element<3,1>(b);
+ Tb const b32 = mat_traits<B>::template read_element<3,2>(b);
+ Tb const b33 = mat_traits<B>::template read_element<3,3>(b);
+ typedef typename deduce_vec2<A,B,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a0*b00+a1*b10+a2*b20+a3*b30;
+ vec_traits<R>::template write_element<1>(r)=a0*b01+a1*b11+a2*b21+a3*b31;
+ vec_traits<R>::template write_element<2>(r)=a0*b02+a1*b12+a2*b22+a3*b32;
+ vec_traits<R>::template write_element<3>(r)=a0*b03+a1*b13+a2*b23+a3*b33;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct mul_vm_defined;
+
+ template <>
+ struct
+ mul_vm_defined<4,4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_operations2.hpp b/boost/qvm/gen/vec_operations2.hpp
index 08faeddb38..7a382e705d 100644
--- a/boost/qvm/gen/vec_operations2.hpp
+++ b/boost/qvm/gen/vec_operations2.hpp
@@ -1,632 +1,632 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_F622919DE18B1FDAB0CA992B9729D49
-#define BOOST_QVM_F622919DE18B1FDAB0CA992B9729D49
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/deduce_scalar.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/gen/vec_assign2.hpp>
-#include <boost/qvm/math.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/throw_exception.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- deduce_vec2<A,B,2> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,2>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)+vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)+vec_traits<B>::template read_element<1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct plus_vv_defined;
-
- template <>
- struct
- plus_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- deduce_vec2<A,B,2> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,2>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)-vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)-vec_traits<B>::template read_element<1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_vv_defined;
-
- template <>
- struct
- minus_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- A &>::type
- operator+=( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)+=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)+=vec_traits<B>::template read_element<1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct plus_eq_vv_defined;
-
- template <>
- struct
- plus_eq_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- A &>::type
- operator-=( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)-=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)-=vec_traits<B>::template read_element<1>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_eq_vv_defined;
-
- template <>
- struct
- minus_eq_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2 && is_scalar<B>::value,
- deduce_vec<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)*b;
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_vs_defined;
-
- template <>
- struct
- mul_vs_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && vec_traits<B>::dim==2,
- deduce_vec<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_vec<B>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=a*vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=a*vec_traits<B>::template read_element<1>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_sv_defined;
-
- template <>
- struct
- mul_sv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- vec_traits<A>::template write_element<0>(a)*=b;
- vec_traits<A>::template write_element<1>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_eq_vs_defined;
-
- template <>
- struct
- mul_eq_vs_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2 && is_scalar<B>::value,
- deduce_vec<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)/b;
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct div_vs_defined;
-
- template <>
- struct
- div_vs_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- vec_traits<A>::template write_element<0>(a)/=b;
- vec_traits<A>::template write_element<1>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct div_eq_vs_defined;
-
- template <>
- struct
- div_eq_vs_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value &&
- vec_traits<R>::dim==2 && vec_traits<A>::dim==2,
- R>::type
- convert_to( A const & a )
- {
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct convert_to_v_defined;
-
- template <>
- struct
- convert_to_v_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b) &&
- vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct eq_vv_defined;
-
- template <>
- struct
- eq_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b)) ||
- !(vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct neq_vv_defined;
-
- template <>
- struct
- neq_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2,
- deduce_vec<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=-vec_traits<A>::template read_element<0>(a);
- vec_traits<R>::template write_element<1>(r)=-vec_traits<A>::template read_element<1>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_v_defined;
-
- template <>
- struct
- minus_v_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==2,
- typename vec_traits<A>::scalar_type>::type
- mag( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const m2=a0*a0+a1*a1;
- T const mag=sqrt<T>(m2);
- return mag;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::mag;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mag_v_defined;
-
- template <>
- struct
- mag_v_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==2,
- typename vec_traits<A>::scalar_type>::type
- mag_sqr( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const m2=a0*a0+a1*a1;
- return m2;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::mag_sqr;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mag_sqr_v_defined;
-
- template <>
- struct
- mag_sqr_v_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2,
- deduce_vec<A> >::type
- normalized( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const m2=a0*a0+a1*a1;
- if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=a0*rm;
- vec_traits<R>::template write_element<1>(r)=a1*rm;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::normalized;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==2,
- void>::type
- normalize( A & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const m2=a0*a0+a1*a1;
- if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- vec_traits<A>::template write_element<0>(a)*=rm;
- vec_traits<A>::template write_element<1>(a)*=rm;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::normalize;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct normalize_v_defined;
-
- template <>
- struct
- normalize_v_defined<2>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
- deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
- dot( A const & a, B const & b )
- {
- typedef typename vec_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- typedef typename deduce_scalar<Ta,Tb>::type Tr;
- Ta const a0=vec_traits<A>::template read_element<0>(a);
- Ta const a1=vec_traits<A>::template read_element<1>(a);
- Tb const b0=vec_traits<B>::template read_element<0>(b);
- Tb const b1=vec_traits<B>::template read_element<1>(b);
- Tr const dot=a0*b0+a1*b1;
- return dot;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::dot;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct dot_vv_defined;
-
- template <>
- struct
- dot_vv_defined<2>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_F622919DE18B1FDAB0CA992B9729D49
+#define BOOST_QVM_F622919DE18B1FDAB0CA992B9729D49
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/deduce_scalar.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/gen/vec_assign2.hpp>
+#include <boost/qvm/math.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/throw_exception.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ deduce_vec2<A,B,2> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)+vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)+vec_traits<B>::template read_element<1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct plus_vv_defined;
+
+ template <>
+ struct
+ plus_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ deduce_vec2<A,B,2> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,2>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==2);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)-vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)-vec_traits<B>::template read_element<1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_vv_defined;
+
+ template <>
+ struct
+ minus_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)+=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)+=vec_traits<B>::template read_element<1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct plus_eq_vv_defined;
+
+ template <>
+ struct
+ plus_eq_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)-=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)-=vec_traits<B>::template read_element<1>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_eq_vv_defined;
+
+ template <>
+ struct
+ minus_eq_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2 && is_scalar<B>::value,
+ deduce_vec<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)*b;
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_vs_defined;
+
+ template <>
+ struct
+ mul_vs_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && vec_traits<B>::dim==2,
+ deduce_vec<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_vec<B>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a*vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=a*vec_traits<B>::template read_element<1>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_sv_defined;
+
+ template <>
+ struct
+ mul_sv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ vec_traits<A>::template write_element<0>(a)*=b;
+ vec_traits<A>::template write_element<1>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_eq_vs_defined;
+
+ template <>
+ struct
+ mul_eq_vs_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2 && is_scalar<B>::value,
+ deduce_vec<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)/b;
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct div_vs_defined;
+
+ template <>
+ struct
+ div_vs_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ vec_traits<A>::template write_element<0>(a)/=b;
+ vec_traits<A>::template write_element<1>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct div_eq_vs_defined;
+
+ template <>
+ struct
+ div_eq_vs_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value &&
+ vec_traits<R>::dim==2 && vec_traits<A>::dim==2,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct convert_to_v_defined;
+
+ template <>
+ struct
+ convert_to_v_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b) &&
+ vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct eq_vv_defined;
+
+ template <>
+ struct
+ eq_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b)) ||
+ !(vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct neq_vv_defined;
+
+ template <>
+ struct
+ neq_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2,
+ deduce_vec<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=-vec_traits<A>::template read_element<0>(a);
+ vec_traits<R>::template write_element<1>(r)=-vec_traits<A>::template read_element<1>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_v_defined;
+
+ template <>
+ struct
+ minus_v_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==2,
+ typename vec_traits<A>::scalar_type>::type
+ mag( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const m2=a0*a0+a1*a1;
+ T const mag=sqrt<T>(m2);
+ return mag;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::mag;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mag_v_defined;
+
+ template <>
+ struct
+ mag_v_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==2,
+ typename vec_traits<A>::scalar_type>::type
+ mag_sqr( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const m2=a0*a0+a1*a1;
+ return m2;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::mag_sqr;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mag_sqr_v_defined;
+
+ template <>
+ struct
+ mag_sqr_v_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2,
+ deduce_vec<A> >::type
+ normalized( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const m2=a0*a0+a1*a1;
+ if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a0*rm;
+ vec_traits<R>::template write_element<1>(r)=a1*rm;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::normalized;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==2,
+ void>::type
+ normalize( A & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const m2=a0*a0+a1*a1;
+ if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ vec_traits<A>::template write_element<0>(a)*=rm;
+ vec_traits<A>::template write_element<1>(a)*=rm;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::normalize;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct normalize_v_defined;
+
+ template <>
+ struct
+ normalize_v_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==2 && vec_traits<B>::dim==2,
+ deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
+ dot( A const & a, B const & b )
+ {
+ typedef typename vec_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ typedef typename deduce_scalar<Ta,Tb>::type Tr;
+ Ta const a0=vec_traits<A>::template read_element<0>(a);
+ Ta const a1=vec_traits<A>::template read_element<1>(a);
+ Tb const b0=vec_traits<B>::template read_element<0>(b);
+ Tb const b1=vec_traits<B>::template read_element<1>(b);
+ Tr const dot=a0*b0+a1*b1;
+ return dot;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::dot;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct dot_vv_defined;
+
+ template <>
+ struct
+ dot_vv_defined<2>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_operations3.hpp b/boost/qvm/gen/vec_operations3.hpp
index c985721d65..0c4aa518cb 100644
--- a/boost/qvm/gen/vec_operations3.hpp
+++ b/boost/qvm/gen/vec_operations3.hpp
@@ -1,653 +1,653 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_2C807EC599D5E980B2EAC9CC53BF67D6
-#define BOOST_QVM_2C807EC599D5E980B2EAC9CC53BF67D6
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/deduce_scalar.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/gen/vec_assign3.hpp>
-#include <boost/qvm/math.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/throw_exception.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,3>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)+vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)+vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)+vec_traits<B>::template read_element<2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct plus_vv_defined;
-
- template <>
- struct
- plus_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,3>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)-vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)-vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)-vec_traits<B>::template read_element<2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_vv_defined;
-
- template <>
- struct
- minus_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- A &>::type
- operator+=( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)+=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)+=vec_traits<B>::template read_element<1>(b);
- vec_traits<A>::template write_element<2>(a)+=vec_traits<B>::template read_element<2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct plus_eq_vv_defined;
-
- template <>
- struct
- plus_eq_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- A &>::type
- operator-=( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)-=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)-=vec_traits<B>::template read_element<1>(b);
- vec_traits<A>::template write_element<2>(a)-=vec_traits<B>::template read_element<2>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_eq_vv_defined;
-
- template <>
- struct
- minus_eq_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3 && is_scalar<B>::value,
- deduce_vec<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)*b;
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)*b;
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_vs_defined;
-
- template <>
- struct
- mul_vs_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && vec_traits<B>::dim==3,
- deduce_vec<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_vec<B>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=a*vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=a*vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<2>(r)=a*vec_traits<B>::template read_element<2>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_sv_defined;
-
- template <>
- struct
- mul_sv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- vec_traits<A>::template write_element<0>(a)*=b;
- vec_traits<A>::template write_element<1>(a)*=b;
- vec_traits<A>::template write_element<2>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_eq_vs_defined;
-
- template <>
- struct
- mul_eq_vs_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3 && is_scalar<B>::value,
- deduce_vec<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)/b;
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)/b;
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct div_vs_defined;
-
- template <>
- struct
- div_vs_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- vec_traits<A>::template write_element<0>(a)/=b;
- vec_traits<A>::template write_element<1>(a)/=b;
- vec_traits<A>::template write_element<2>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct div_eq_vs_defined;
-
- template <>
- struct
- div_eq_vs_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value &&
- vec_traits<R>::dim==3 && vec_traits<A>::dim==3,
- R>::type
- convert_to( A const & a )
- {
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a);
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct convert_to_v_defined;
-
- template <>
- struct
- convert_to_v_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b) &&
- vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b) &&
- vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct eq_vv_defined;
-
- template <>
- struct
- eq_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b)) ||
- !(vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b)) ||
- !(vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct neq_vv_defined;
-
- template <>
- struct
- neq_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3,
- deduce_vec<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=-vec_traits<A>::template read_element<0>(a);
- vec_traits<R>::template write_element<1>(r)=-vec_traits<A>::template read_element<1>(a);
- vec_traits<R>::template write_element<2>(r)=-vec_traits<A>::template read_element<2>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_v_defined;
-
- template <>
- struct
- minus_v_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==3,
- typename vec_traits<A>::scalar_type>::type
- mag( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const m2=a0*a0+a1*a1+a2*a2;
- T const mag=sqrt<T>(m2);
- return mag;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::mag;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mag_v_defined;
-
- template <>
- struct
- mag_v_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==3,
- typename vec_traits<A>::scalar_type>::type
- mag_sqr( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const m2=a0*a0+a1*a1+a2*a2;
- return m2;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::mag_sqr;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mag_sqr_v_defined;
-
- template <>
- struct
- mag_sqr_v_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3,
- deduce_vec<A> >::type
- normalized( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const m2=a0*a0+a1*a1+a2*a2;
- if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=a0*rm;
- vec_traits<R>::template write_element<1>(r)=a1*rm;
- vec_traits<R>::template write_element<2>(r)=a2*rm;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::normalized;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==3,
- void>::type
- normalize( A & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const m2=a0*a0+a1*a1+a2*a2;
- if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- vec_traits<A>::template write_element<0>(a)*=rm;
- vec_traits<A>::template write_element<1>(a)*=rm;
- vec_traits<A>::template write_element<2>(a)*=rm;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::normalize;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct normalize_v_defined;
-
- template <>
- struct
- normalize_v_defined<3>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
- dot( A const & a, B const & b )
- {
- typedef typename vec_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- typedef typename deduce_scalar<Ta,Tb>::type Tr;
- Ta const a0=vec_traits<A>::template read_element<0>(a);
- Ta const a1=vec_traits<A>::template read_element<1>(a);
- Ta const a2=vec_traits<A>::template read_element<2>(a);
- Tb const b0=vec_traits<B>::template read_element<0>(b);
- Tb const b1=vec_traits<B>::template read_element<1>(b);
- Tb const b2=vec_traits<B>::template read_element<2>(b);
- Tr const dot=a0*b0+a1*b1+a2*b2;
- return dot;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::dot;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct dot_vv_defined;
-
- template <>
- struct
- dot_vv_defined<3>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_2C807EC599D5E980B2EAC9CC53BF67D6
+#define BOOST_QVM_2C807EC599D5E980B2EAC9CC53BF67D6
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/deduce_scalar.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/gen/vec_assign3.hpp>
+#include <boost/qvm/math.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/throw_exception.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)+vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)+vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)+vec_traits<B>::template read_element<2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct plus_vv_defined;
+
+ template <>
+ struct
+ plus_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)-vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)-vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)-vec_traits<B>::template read_element<2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_vv_defined;
+
+ template <>
+ struct
+ minus_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)+=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)+=vec_traits<B>::template read_element<1>(b);
+ vec_traits<A>::template write_element<2>(a)+=vec_traits<B>::template read_element<2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct plus_eq_vv_defined;
+
+ template <>
+ struct
+ plus_eq_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)-=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)-=vec_traits<B>::template read_element<1>(b);
+ vec_traits<A>::template write_element<2>(a)-=vec_traits<B>::template read_element<2>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_eq_vv_defined;
+
+ template <>
+ struct
+ minus_eq_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3 && is_scalar<B>::value,
+ deduce_vec<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)*b;
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)*b;
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_vs_defined;
+
+ template <>
+ struct
+ mul_vs_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && vec_traits<B>::dim==3,
+ deduce_vec<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_vec<B>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a*vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=a*vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<2>(r)=a*vec_traits<B>::template read_element<2>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_sv_defined;
+
+ template <>
+ struct
+ mul_sv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ vec_traits<A>::template write_element<0>(a)*=b;
+ vec_traits<A>::template write_element<1>(a)*=b;
+ vec_traits<A>::template write_element<2>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_eq_vs_defined;
+
+ template <>
+ struct
+ mul_eq_vs_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3 && is_scalar<B>::value,
+ deduce_vec<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)/b;
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)/b;
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct div_vs_defined;
+
+ template <>
+ struct
+ div_vs_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ vec_traits<A>::template write_element<0>(a)/=b;
+ vec_traits<A>::template write_element<1>(a)/=b;
+ vec_traits<A>::template write_element<2>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct div_eq_vs_defined;
+
+ template <>
+ struct
+ div_eq_vs_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value &&
+ vec_traits<R>::dim==3 && vec_traits<A>::dim==3,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a);
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct convert_to_v_defined;
+
+ template <>
+ struct
+ convert_to_v_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b) &&
+ vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b) &&
+ vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct eq_vv_defined;
+
+ template <>
+ struct
+ eq_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b)) ||
+ !(vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b)) ||
+ !(vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct neq_vv_defined;
+
+ template <>
+ struct
+ neq_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3,
+ deduce_vec<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=-vec_traits<A>::template read_element<0>(a);
+ vec_traits<R>::template write_element<1>(r)=-vec_traits<A>::template read_element<1>(a);
+ vec_traits<R>::template write_element<2>(r)=-vec_traits<A>::template read_element<2>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_v_defined;
+
+ template <>
+ struct
+ minus_v_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==3,
+ typename vec_traits<A>::scalar_type>::type
+ mag( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const m2=a0*a0+a1*a1+a2*a2;
+ T const mag=sqrt<T>(m2);
+ return mag;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::mag;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mag_v_defined;
+
+ template <>
+ struct
+ mag_v_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==3,
+ typename vec_traits<A>::scalar_type>::type
+ mag_sqr( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const m2=a0*a0+a1*a1+a2*a2;
+ return m2;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::mag_sqr;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mag_sqr_v_defined;
+
+ template <>
+ struct
+ mag_sqr_v_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3,
+ deduce_vec<A> >::type
+ normalized( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const m2=a0*a0+a1*a1+a2*a2;
+ if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a0*rm;
+ vec_traits<R>::template write_element<1>(r)=a1*rm;
+ vec_traits<R>::template write_element<2>(r)=a2*rm;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::normalized;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==3,
+ void>::type
+ normalize( A & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const m2=a0*a0+a1*a1+a2*a2;
+ if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ vec_traits<A>::template write_element<0>(a)*=rm;
+ vec_traits<A>::template write_element<1>(a)*=rm;
+ vec_traits<A>::template write_element<2>(a)*=rm;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::normalize;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct normalize_v_defined;
+
+ template <>
+ struct
+ normalize_v_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
+ dot( A const & a, B const & b )
+ {
+ typedef typename vec_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ typedef typename deduce_scalar<Ta,Tb>::type Tr;
+ Ta const a0=vec_traits<A>::template read_element<0>(a);
+ Ta const a1=vec_traits<A>::template read_element<1>(a);
+ Ta const a2=vec_traits<A>::template read_element<2>(a);
+ Tb const b0=vec_traits<B>::template read_element<0>(b);
+ Tb const b1=vec_traits<B>::template read_element<1>(b);
+ Tb const b2=vec_traits<B>::template read_element<2>(b);
+ Tr const dot=a0*b0+a1*b1+a2*b2;
+ return dot;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::dot;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct dot_vv_defined;
+
+ template <>
+ struct
+ dot_vv_defined<3>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/gen/vec_operations4.hpp b/boost/qvm/gen/vec_operations4.hpp
index e3edfa27c3..ee7eb1577a 100644
--- a/boost/qvm/gen/vec_operations4.hpp
+++ b/boost/qvm/gen/vec_operations4.hpp
@@ -1,674 +1,674 @@
-//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_BF14D67E2DDC8E6683EF574961FF698F
-#define BOOST_QVM_BF14D67E2DDC8E6683EF574961FF698F
-
-//This file was generated by a program. Do not edit manually.
-
-#include <boost/qvm/deduce_scalar.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/gen/vec_assign4.hpp>
-#include <boost/qvm/math.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/throw_exception.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- deduce_vec2<A,B,4> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,4>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)+vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)+vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)+vec_traits<B>::template read_element<2>(b);
- vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)+vec_traits<B>::template read_element<3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct plus_vv_defined;
-
- template <>
- struct
- plus_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- deduce_vec2<A,B,4> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,4>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)-vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)-vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)-vec_traits<B>::template read_element<2>(b);
- vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)-vec_traits<B>::template read_element<3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_vv_defined;
-
- template <>
- struct
- minus_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- A &>::type
- operator+=( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)+=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)+=vec_traits<B>::template read_element<1>(b);
- vec_traits<A>::template write_element<2>(a)+=vec_traits<B>::template read_element<2>(b);
- vec_traits<A>::template write_element<3>(a)+=vec_traits<B>::template read_element<3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator+=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct plus_eq_vv_defined;
-
- template <>
- struct
- plus_eq_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- A &>::type
- operator-=( A & a, B const & b )
- {
- vec_traits<A>::template write_element<0>(a)-=vec_traits<B>::template read_element<0>(b);
- vec_traits<A>::template write_element<1>(a)-=vec_traits<B>::template read_element<1>(b);
- vec_traits<A>::template write_element<2>(a)-=vec_traits<B>::template read_element<2>(b);
- vec_traits<A>::template write_element<3>(a)-=vec_traits<B>::template read_element<3>(b);
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_eq_vv_defined;
-
- template <>
- struct
- minus_eq_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4 && is_scalar<B>::value,
- deduce_vec<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)*b;
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)*b;
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)*b;
- vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)*b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_vs_defined;
-
- template <>
- struct
- mul_vs_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && vec_traits<B>::dim==4,
- deduce_vec<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_vec<B>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=a*vec_traits<B>::template read_element<0>(b);
- vec_traits<R>::template write_element<1>(r)=a*vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<2>(r)=a*vec_traits<B>::template read_element<2>(b);
- vec_traits<R>::template write_element<3>(r)=a*vec_traits<B>::template read_element<3>(b);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_sv_defined;
-
- template <>
- struct
- mul_sv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- vec_traits<A>::template write_element<0>(a)*=b;
- vec_traits<A>::template write_element<1>(a)*=b;
- vec_traits<A>::template write_element<2>(a)*=b;
- vec_traits<A>::template write_element<3>(a)*=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mul_eq_vs_defined;
-
- template <>
- struct
- mul_eq_vs_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4 && is_scalar<B>::value,
- deduce_vec<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)/b;
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)/b;
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)/b;
- vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)/b;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct div_vs_defined;
-
- template <>
- struct
- div_vs_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- vec_traits<A>::template write_element<0>(a)/=b;
- vec_traits<A>::template write_element<1>(a)/=b;
- vec_traits<A>::template write_element<2>(a)/=b;
- vec_traits<A>::template write_element<3>(a)/=b;
- return a;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator/=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct div_eq_vs_defined;
-
- template <>
- struct
- div_eq_vs_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value &&
- vec_traits<R>::dim==4 && vec_traits<A>::dim==4,
- R>::type
- convert_to( A const & a )
- {
- R r;
- vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a);
- vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a);
- vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a);
- vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::convert_to;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct convert_to_v_defined;
-
- template <>
- struct
- convert_to_v_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b) &&
- vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b) &&
- vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b) &&
- vec_traits<A>::template read_element<3>(a)==vec_traits<B>::template read_element<3>(b);
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator==;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct eq_vv_defined;
-
- template <>
- struct
- eq_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- !(vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b)) ||
- !(vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b)) ||
- !(vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b)) ||
- !(vec_traits<A>::template read_element<3>(a)==vec_traits<B>::template read_element<3>(b));
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator!=;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct neq_vv_defined;
-
- template <>
- struct
- neq_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4,
- deduce_vec<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=-vec_traits<A>::template read_element<0>(a);
- vec_traits<R>::template write_element<1>(r)=-vec_traits<A>::template read_element<1>(a);
- vec_traits<R>::template write_element<2>(r)=-vec_traits<A>::template read_element<2>(a);
- vec_traits<R>::template write_element<3>(r)=-vec_traits<A>::template read_element<3>(a);
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator-;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct minus_v_defined;
-
- template <>
- struct
- minus_v_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==4,
- typename vec_traits<A>::scalar_type>::type
- mag( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const a3=vec_traits<A>::template read_element<3>(a);
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- T const mag=sqrt<T>(m2);
- return mag;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::mag;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mag_v_defined;
-
- template <>
- struct
- mag_v_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==4,
- typename vec_traits<A>::scalar_type>::type
- mag_sqr( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const a3=vec_traits<A>::template read_element<3>(a);
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- return m2;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::mag_sqr;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct mag_sqr_v_defined;
-
- template <>
- struct
- mag_sqr_v_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4,
- deduce_vec<A> >::type
- normalized( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const a3=vec_traits<A>::template read_element<3>(a);
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- typedef typename deduce_vec<A>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=a0*rm;
- vec_traits<R>::template write_element<1>(r)=a1*rm;
- vec_traits<R>::template write_element<2>(r)=a2*rm;
- vec_traits<R>::template write_element<3>(r)=a3*rm;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::normalized;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- vec_traits<A>::dim==4,
- void>::type
- normalize( A & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T const a0=vec_traits<A>::template read_element<0>(a);
- T const a1=vec_traits<A>::template read_element<1>(a);
- T const a2=vec_traits<A>::template read_element<2>(a);
- T const a3=vec_traits<A>::template read_element<3>(a);
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- vec_traits<A>::template write_element<0>(a)*=rm;
- vec_traits<A>::template write_element<1>(a)*=rm;
- vec_traits<A>::template write_element<2>(a)*=rm;
- vec_traits<A>::template write_element<3>(a)*=rm;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::normalize;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct normalize_v_defined;
-
- template <>
- struct
- normalize_v_defined<4>
- {
- static bool const value=true;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
- deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
- dot( A const & a, B const & b )
- {
- typedef typename vec_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- typedef typename deduce_scalar<Ta,Tb>::type Tr;
- Ta const a0=vec_traits<A>::template read_element<0>(a);
- Ta const a1=vec_traits<A>::template read_element<1>(a);
- Ta const a2=vec_traits<A>::template read_element<2>(a);
- Ta const a3=vec_traits<A>::template read_element<3>(a);
- Tb const b0=vec_traits<B>::template read_element<0>(b);
- Tb const b1=vec_traits<B>::template read_element<1>(b);
- Tb const b2=vec_traits<B>::template read_element<2>(b);
- Tb const b3=vec_traits<B>::template read_element<3>(b);
- Tr const dot=a0*b0+a1*b1+a2*b2+a3*b3;
- return dot;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::dot;
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct dot_vv_defined;
-
- template <>
- struct
- dot_vv_defined<4>
- {
- static bool const value=true;
- };
- }
-
- }
- }
-
-#endif
+//Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_BF14D67E2DDC8E6683EF574961FF698F
+#define BOOST_QVM_BF14D67E2DDC8E6683EF574961FF698F
+
+//This file was generated by a program. Do not edit manually.
+
+#include <boost/qvm/deduce_scalar.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/gen/vec_assign4.hpp>
+#include <boost/qvm/math.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/throw_exception.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ deduce_vec2<A,B,4> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)+vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)+vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)+vec_traits<B>::template read_element<2>(b);
+ vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)+vec_traits<B>::template read_element<3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct plus_vv_defined;
+
+ template <>
+ struct
+ plus_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ deduce_vec2<A,B,4> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,4>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==4);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)-vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)-vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)-vec_traits<B>::template read_element<2>(b);
+ vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)-vec_traits<B>::template read_element<3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_vv_defined;
+
+ template <>
+ struct
+ minus_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)+=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)+=vec_traits<B>::template read_element<1>(b);
+ vec_traits<A>::template write_element<2>(a)+=vec_traits<B>::template read_element<2>(b);
+ vec_traits<A>::template write_element<3>(a)+=vec_traits<B>::template read_element<3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator+=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct plus_eq_vv_defined;
+
+ template <>
+ struct
+ plus_eq_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ vec_traits<A>::template write_element<0>(a)-=vec_traits<B>::template read_element<0>(b);
+ vec_traits<A>::template write_element<1>(a)-=vec_traits<B>::template read_element<1>(b);
+ vec_traits<A>::template write_element<2>(a)-=vec_traits<B>::template read_element<2>(b);
+ vec_traits<A>::template write_element<3>(a)-=vec_traits<B>::template read_element<3>(b);
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_eq_vv_defined;
+
+ template <>
+ struct
+ minus_eq_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4 && is_scalar<B>::value,
+ deduce_vec<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)*b;
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)*b;
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)*b;
+ vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)*b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_vs_defined;
+
+ template <>
+ struct
+ mul_vs_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && vec_traits<B>::dim==4,
+ deduce_vec<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_vec<B>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a*vec_traits<B>::template read_element<0>(b);
+ vec_traits<R>::template write_element<1>(r)=a*vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<2>(r)=a*vec_traits<B>::template read_element<2>(b);
+ vec_traits<R>::template write_element<3>(r)=a*vec_traits<B>::template read_element<3>(b);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_sv_defined;
+
+ template <>
+ struct
+ mul_sv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ vec_traits<A>::template write_element<0>(a)*=b;
+ vec_traits<A>::template write_element<1>(a)*=b;
+ vec_traits<A>::template write_element<2>(a)*=b;
+ vec_traits<A>::template write_element<3>(a)*=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mul_eq_vs_defined;
+
+ template <>
+ struct
+ mul_eq_vs_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4 && is_scalar<B>::value,
+ deduce_vec<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a)/b;
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a)/b;
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a)/b;
+ vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a)/b;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct div_vs_defined;
+
+ template <>
+ struct
+ div_vs_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ vec_traits<A>::template write_element<0>(a)/=b;
+ vec_traits<A>::template write_element<1>(a)/=b;
+ vec_traits<A>::template write_element<2>(a)/=b;
+ vec_traits<A>::template write_element<3>(a)/=b;
+ return a;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator/=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct div_eq_vs_defined;
+
+ template <>
+ struct
+ div_eq_vs_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value &&
+ vec_traits<R>::dim==4 && vec_traits<A>::dim==4,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ vec_traits<R>::template write_element<0>(r)=vec_traits<A>::template read_element<0>(a);
+ vec_traits<R>::template write_element<1>(r)=vec_traits<A>::template read_element<1>(a);
+ vec_traits<R>::template write_element<2>(r)=vec_traits<A>::template read_element<2>(a);
+ vec_traits<R>::template write_element<3>(r)=vec_traits<A>::template read_element<3>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::convert_to;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct convert_to_v_defined;
+
+ template <>
+ struct
+ convert_to_v_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b) &&
+ vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b) &&
+ vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b) &&
+ vec_traits<A>::template read_element<3>(a)==vec_traits<B>::template read_element<3>(b);
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator==;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct eq_vv_defined;
+
+ template <>
+ struct
+ eq_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ !(vec_traits<A>::template read_element<0>(a)==vec_traits<B>::template read_element<0>(b)) ||
+ !(vec_traits<A>::template read_element<1>(a)==vec_traits<B>::template read_element<1>(b)) ||
+ !(vec_traits<A>::template read_element<2>(a)==vec_traits<B>::template read_element<2>(b)) ||
+ !(vec_traits<A>::template read_element<3>(a)==vec_traits<B>::template read_element<3>(b));
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator!=;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct neq_vv_defined;
+
+ template <>
+ struct
+ neq_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4,
+ deduce_vec<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=-vec_traits<A>::template read_element<0>(a);
+ vec_traits<R>::template write_element<1>(r)=-vec_traits<A>::template read_element<1>(a);
+ vec_traits<R>::template write_element<2>(r)=-vec_traits<A>::template read_element<2>(a);
+ vec_traits<R>::template write_element<3>(r)=-vec_traits<A>::template read_element<3>(a);
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator-;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct minus_v_defined;
+
+ template <>
+ struct
+ minus_v_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==4,
+ typename vec_traits<A>::scalar_type>::type
+ mag( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const a3=vec_traits<A>::template read_element<3>(a);
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ T const mag=sqrt<T>(m2);
+ return mag;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::mag;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mag_v_defined;
+
+ template <>
+ struct
+ mag_v_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==4,
+ typename vec_traits<A>::scalar_type>::type
+ mag_sqr( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const a3=vec_traits<A>::template read_element<3>(a);
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ return m2;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::mag_sqr;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct mag_sqr_v_defined;
+
+ template <>
+ struct
+ mag_sqr_v_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4,
+ deduce_vec<A> >::type
+ normalized( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const a3=vec_traits<A>::template read_element<3>(a);
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a0*rm;
+ vec_traits<R>::template write_element<1>(r)=a1*rm;
+ vec_traits<R>::template write_element<2>(r)=a2*rm;
+ vec_traits<R>::template write_element<3>(r)=a3*rm;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::normalized;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ vec_traits<A>::dim==4,
+ void>::type
+ normalize( A & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T const a0=vec_traits<A>::template read_element<0>(a);
+ T const a1=vec_traits<A>::template read_element<1>(a);
+ T const a2=vec_traits<A>::template read_element<2>(a);
+ T const a3=vec_traits<A>::template read_element<3>(a);
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ if( m2==scalar_traits<typename vec_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ vec_traits<A>::template write_element<0>(a)*=rm;
+ vec_traits<A>::template write_element<1>(a)*=rm;
+ vec_traits<A>::template write_element<2>(a)*=rm;
+ vec_traits<A>::template write_element<3>(a)*=rm;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::normalize;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct normalize_v_defined;
+
+ template <>
+ struct
+ normalize_v_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ vec_traits<A>::dim==4 && vec_traits<B>::dim==4,
+ deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
+ dot( A const & a, B const & b )
+ {
+ typedef typename vec_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ typedef typename deduce_scalar<Ta,Tb>::type Tr;
+ Ta const a0=vec_traits<A>::template read_element<0>(a);
+ Ta const a1=vec_traits<A>::template read_element<1>(a);
+ Ta const a2=vec_traits<A>::template read_element<2>(a);
+ Ta const a3=vec_traits<A>::template read_element<3>(a);
+ Tb const b0=vec_traits<B>::template read_element<0>(b);
+ Tb const b1=vec_traits<B>::template read_element<1>(b);
+ Tb const b2=vec_traits<B>::template read_element<2>(b);
+ Tb const b3=vec_traits<B>::template read_element<3>(b);
+ Tr const dot=a0*b0+a1*b1+a2*b2+a3*b3;
+ return dot;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::dot;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct dot_vv_defined;
+
+ template <>
+ struct
+ dot_vv_defined<4>
+ {
+ static bool const value=true;
+ };
+ }
+
+ }
+ }
+
+#endif
diff --git a/boost/qvm/inline.hpp b/boost/qvm/inline.hpp
index 419fad223e..0d1ac8f5ca 100644
--- a/boost/qvm/inline.hpp
+++ b/boost/qvm/inline.hpp
@@ -1,34 +1,34 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_FORCEINLINE
-# if defined(_MSC_VER)
-# define BOOST_QVM_FORCEINLINE __forceinline
-# elif defined(__GNUC__) && __GNUC__>3
-# define BOOST_QVM_FORCEINLINE inline __attribute__ ((always_inline))
-# else
-# define BOOST_QVM_FORCEINLINE inline
-# endif
-#endif
-
-#ifndef BOOST_QVM_INLINE
-#define BOOST_QVM_INLINE inline
-#endif
-
-#ifndef BOOST_QVM_INLINE_TRIVIAL
-#define BOOST_QVM_INLINE_TRIVIAL BOOST_QVM_FORCEINLINE
-#endif
-
-#ifndef BOOST_QVM_INLINE_CRITICAL
-#define BOOST_QVM_INLINE_CRITICAL BOOST_QVM_FORCEINLINE
-#endif
-
-#ifndef BOOST_QVM_INLINE_OPERATIONS
-#define BOOST_QVM_INLINE_OPERATIONS BOOST_QVM_INLINE
-#endif
-
-#ifndef BOOST_QVM_INLINE_RECURSION
-#define BOOST_QVM_INLINE_RECURSION BOOST_QVM_INLINE_OPERATIONS
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_FORCEINLINE
+# if defined(_MSC_VER)
+# define BOOST_QVM_FORCEINLINE __forceinline
+# elif defined(__GNUC__) && __GNUC__>3
+# define BOOST_QVM_FORCEINLINE inline __attribute__ ((always_inline))
+# else
+# define BOOST_QVM_FORCEINLINE inline
+# endif
+#endif
+
+#ifndef BOOST_QVM_INLINE
+#define BOOST_QVM_INLINE inline
+#endif
+
+#ifndef BOOST_QVM_INLINE_TRIVIAL
+#define BOOST_QVM_INLINE_TRIVIAL BOOST_QVM_FORCEINLINE
+#endif
+
+#ifndef BOOST_QVM_INLINE_CRITICAL
+#define BOOST_QVM_INLINE_CRITICAL BOOST_QVM_FORCEINLINE
+#endif
+
+#ifndef BOOST_QVM_INLINE_OPERATIONS
+#define BOOST_QVM_INLINE_OPERATIONS BOOST_QVM_INLINE
+#endif
+
+#ifndef BOOST_QVM_INLINE_RECURSION
+#define BOOST_QVM_INLINE_RECURSION BOOST_QVM_INLINE_OPERATIONS
+#endif
diff --git a/boost/qvm/map.hpp b/boost/qvm/map.hpp
index 9b53211a90..e9bf742505 100644
--- a/boost/qvm/map.hpp
+++ b/boost/qvm/map.hpp
@@ -1,13 +1,13 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_74318C76B4ED11E58A3AE198BB8E7F8B
-#define UUID_74318C76B4ED11E58A3AE198BB8E7F8B
-
-#include <boost/qvm/map_vec_mat.hpp>
-#include <boost/qvm/map_mat_vec.hpp>
-#include <boost/qvm/map_mat_mat.hpp>
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_74318C76B4ED11E58A3AE198BB8E7F8B
+#define UUID_74318C76B4ED11E58A3AE198BB8E7F8B
+
+#include <boost/qvm/map_vec_mat.hpp>
+#include <boost/qvm/map_mat_vec.hpp>
+#include <boost/qvm/map_mat_mat.hpp>
+
+#endif
diff --git a/boost/qvm/map_mat_mat.hpp b/boost/qvm/map_mat_mat.hpp
index 8f691722ea..f3704307d7 100644
--- a/boost/qvm/map_mat_mat.hpp
+++ b/boost/qvm/map_mat_mat.hpp
@@ -1,895 +1,895 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_20D98340A3EB11DEB2180CD156D89593
-#define UUID_20D98340A3EB11DEB2180CD156D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/enable_if.hpp>
-#include <boost/qvm/detail/transp_impl.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Row,class OriginalMatrix>
- class
- del_row_
- {
- del_row_( del_row_ const & );
- del_row_ & operator=( del_row_ const & );
- ~del_row_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- del_row_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int I,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::del_row_<I,OriginalMatrix> >
- {
- typedef qvm_detail::del_row_<I,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows-1;
- static int const cols=mat_traits<OriginalMatrix>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template read_element<Row+(Row>=I),Col>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template write_element<Row+(Row>=I),Col>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::read_element_idx(row+(row>=I),col,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::write_element_idx(row+(row>=I),col,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::del_row_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::del_row_<J,OriginalMatrix>,qvm_detail::del_row_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int Row,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::del_row_<Row,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- del_row( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::del_row_<Row,A> const &>(a);
- }
-
- template <int Row,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::del_row_<Row,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- del_row( A & a )
- {
- return reinterpret_cast<typename qvm_detail::del_row_<Row,A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Col,class OriginalMatrix>
- class
- del_col_
- {
- del_col_( del_col_ const & );
- del_col_ & operator=( del_col_ const & );
- ~del_col_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- del_col_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int J,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::del_col_<J,OriginalMatrix> >
- {
- typedef qvm_detail::del_col_<J,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows;
- static int const cols=mat_traits<OriginalMatrix>::cols-1;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template read_element<Row,Col+(Col>=J)>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template write_element<Row,Col+(Col>=J)>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::read_element_idx(row,col+(col>=J),reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::write_element_idx(row,col+(col>=J),reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::del_col_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::del_col_<J,OriginalMatrix>,qvm_detail::del_col_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::del_col_<Col,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- del_col( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::del_col_<Col,A> const &>(a);
- }
-
- template <int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::del_col_<Col,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- del_col( A & a )
- {
- return reinterpret_cast<typename qvm_detail::del_col_<Col,A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Row,int Col,class OriginalMatrix>
- class
- del_row_col_
- {
- del_row_col_( del_row_col_ const & );
- ~del_row_col_();
-
- public:
-
- BOOST_QVM_INLINE_TRIVIAL
- del_row_col_ &
- operator=( del_row_col_ const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- del_row_col_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int I,int J,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::del_row_col_<I,J,OriginalMatrix> >
- {
- typedef qvm_detail::del_row_col_<I,J,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows-1;
- static int const cols=mat_traits<OriginalMatrix>::cols-1;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template read_element<Row+(Row>=I),Col+(Col>=J)>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template write_element<Row+(Row>=I),Col+(Col>=J)>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::read_element_idx(row+(row>=I),col+(col>=J),reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::write_element_idx(row+(row>=I),col+(col>=J),reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int I,int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::del_row_col_<I,J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int I,int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::del_row_col_<I,J,OriginalMatrix>,qvm_detail::del_row_col_<I,J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int Row,int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::del_row_col_<Row,Col,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- del_row_col( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::del_row_col_<Row,Col,A> const &>(a);
- }
-
- template <int Row,int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::del_row_col_<Row,Col,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- del_row_col( A & a )
- {
- return reinterpret_cast<typename qvm_detail::del_row_col_<Row,Col,A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Row,class OriginalMatrix>
- class
- neg_row_
- {
- neg_row_( neg_row_ const & );
- neg_row_ & operator=( neg_row_ const & );
- ~neg_row_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- neg_row_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int I,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::neg_row_<I,OriginalMatrix> >
- {
- typedef qvm_detail::neg_row_<I,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows;
- static int const cols=mat_traits<OriginalMatrix>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return Row==I ?
- -mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x)) :
- mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return row==I?
- -mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x)) :
- mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x));
- }
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::neg_row_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::neg_row_<J,OriginalMatrix>,qvm_detail::neg_row_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int Row,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::neg_row_<Row,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- neg_row( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::neg_row_<Row,A> const &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Col,class OriginalMatrix>
- class
- neg_col_
- {
- neg_col_( neg_col_ const & );
- neg_col_ & operator=( neg_col_ const & );
- ~neg_col_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- neg_col_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int J,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::neg_col_<J,OriginalMatrix> >
- {
- typedef qvm_detail::neg_col_<J,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows;
- static int const cols=mat_traits<OriginalMatrix>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return Col==J?
- -mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x)) :
- mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return col==J?
- -mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x)) :
- mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x));
- }
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::neg_col_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int J,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::neg_col_<J,OriginalMatrix>,qvm_detail::neg_col_<J,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::neg_col_<Col,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- neg_col( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::neg_col_<Col,A> const &>(a);
- }
-
- ////////////////////////////////////////////////
-
- template <class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::transposed_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- transposed( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::transposed_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::transposed_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- transposed( A & a )
- {
- return reinterpret_cast<typename qvm_detail::transposed_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Row1,int Row2,class OriginalMatrix>
- class
- swap_rows_
- {
- swap_rows_( swap_rows_ const & );
- swap_rows_ & operator=( swap_rows_ const & );
- ~swap_rows_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- swap_rows_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int R1,int R2,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::swap_rows_<R1,R2,OriginalMatrix> >
- {
- typedef qvm_detail::swap_rows_<R1,R2,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows;
- static int const cols=mat_traits<OriginalMatrix>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template read_element<(Row==R1 && R1!=R2)*R2+(Row==R2 && R1!=R2)*R1+((Row!=R1 && Row!=R2) || R1==R2)*Row,Col>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template write_element<(Row==R1 && R1!=R2)*R2+(Row==R2 && R1!=R2)*R1+((Row!=R1 && Row!=R2) || R1==R2)*Row,Col>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::read_element_idx(row==R1?R2:row==R2?R1:row,col,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::write_element_idx(row==R1?R2:row==R2?R1:row,col,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int R1,int R2,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::swap_rows_<R1,R2,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int R1,int R2,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::swap_rows_<R1,R2,OriginalMatrix>,qvm_detail::swap_rows_<R1,R2,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int R1,int R2,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::swap_rows_<R1,R2,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- swap_rows( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::swap_rows_<R1,R2,A> const &>(a);
- }
-
- template <int R1,int R2,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::swap_rows_<R1,R2,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- swap_rows( A & a )
- {
- return reinterpret_cast<typename qvm_detail::swap_rows_<R1,R2,A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Row1,int Row2,class OriginalMatrix>
- class
- swap_cols_
- {
- swap_cols_( swap_cols_ const & );
- swap_cols_ & operator=( swap_cols_ const & );
- ~swap_cols_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- swap_cols_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int C1,int C2,class OriginalMatrix>
- struct
- mat_traits< qvm_detail::swap_cols_<C1,C2,OriginalMatrix> >
- {
- typedef qvm_detail::swap_cols_<C1,C2,OriginalMatrix> this_matrix;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const rows=mat_traits<OriginalMatrix>::rows;
- static int const cols=mat_traits<OriginalMatrix>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template read_element<Row,(Col==C1 && C1!=C2)*C2+(Col==C2 && C1!=C2)*C1+((Col!=C1 && Col!=C2) || C1==C2)*Col>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<OriginalMatrix>::template write_element<Row,(Col==C1 && C1!=C2)*C2+(Col==C2 && C1!=C2)*C1+((Col!=C1 && Col!=C2) || C1==C2)*Col>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::read_element_idx(row,col==C1?C2:col==C2?C1:col,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<OriginalMatrix>::write_element_idx(row,col==C1?C2:col==C2?C1:col,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int C1,int C2,class OriginalMatrix,int R,int C>
- struct
- deduce_mat<qvm_detail::swap_cols_<C1,C2,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int C1,int C2,class OriginalMatrix,int R,int C>
- struct
- deduce_mat2<qvm_detail::swap_cols_<C1,C2,OriginalMatrix>,qvm_detail::swap_cols_<C1,C2,OriginalMatrix>,R,C>
- {
- typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
- };
-
- template <int C1,int C2,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::swap_cols_<C1,C2,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- swap_cols( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::swap_cols_<C1,C2,A> const &>(a);
- }
-
- template <int C1,int C2,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::swap_cols_<C1,C2,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- swap_cols( A & a )
- {
- return reinterpret_cast<typename qvm_detail::swap_cols_<C1,C2,A> &>(a);
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_20D98340A3EB11DEB2180CD156D89593
+#define UUID_20D98340A3EB11DEB2180CD156D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/enable_if.hpp>
+#include <boost/qvm/detail/transp_impl.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Row,class OriginalMatrix>
+ class
+ del_row_
+ {
+ del_row_( del_row_ const & );
+ del_row_ & operator=( del_row_ const & );
+ ~del_row_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int I,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::del_row_<I,OriginalMatrix> >
+ {
+ typedef qvm_detail::del_row_<I,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows-1;
+ static int const cols=mat_traits<OriginalMatrix>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template read_element<Row+(Row>=I),Col>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template write_element<Row+(Row>=I),Col>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::read_element_idx(row+(row>=I),col,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::write_element_idx(row+(row>=I),col,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::del_row_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::del_row_<J,OriginalMatrix>,qvm_detail::del_row_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int Row,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::del_row_<Row,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::del_row_<Row,A> const &>(a);
+ }
+
+ template <int Row,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::del_row_<Row,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::del_row_<Row,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Col,class OriginalMatrix>
+ class
+ del_col_
+ {
+ del_col_( del_col_ const & );
+ del_col_ & operator=( del_col_ const & );
+ ~del_col_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ del_col_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int J,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::del_col_<J,OriginalMatrix> >
+ {
+ typedef qvm_detail::del_col_<J,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows;
+ static int const cols=mat_traits<OriginalMatrix>::cols-1;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template read_element<Row,Col+(Col>=J)>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template write_element<Row,Col+(Col>=J)>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::read_element_idx(row,col+(col>=J),reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::write_element_idx(row,col+(col>=J),reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::del_col_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::del_col_<J,OriginalMatrix>,qvm_detail::del_col_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::del_col_<Col,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ del_col( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::del_col_<Col,A> const &>(a);
+ }
+
+ template <int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::del_col_<Col,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ del_col( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::del_col_<Col,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Row,int Col,class OriginalMatrix>
+ class
+ del_row_col_
+ {
+ del_row_col_( del_row_col_ const & );
+ ~del_row_col_();
+
+ public:
+
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row_col_ &
+ operator=( del_row_col_ const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row_col_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int I,int J,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::del_row_col_<I,J,OriginalMatrix> >
+ {
+ typedef qvm_detail::del_row_col_<I,J,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows-1;
+ static int const cols=mat_traits<OriginalMatrix>::cols-1;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template read_element<Row+(Row>=I),Col+(Col>=J)>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template write_element<Row+(Row>=I),Col+(Col>=J)>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::read_element_idx(row+(row>=I),col+(col>=J),reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::write_element_idx(row+(row>=I),col+(col>=J),reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int I,int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::del_row_col_<I,J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int I,int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::del_row_col_<I,J,OriginalMatrix>,qvm_detail::del_row_col_<I,J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int Row,int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::del_row_col_<Row,Col,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row_col( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::del_row_col_<Row,Col,A> const &>(a);
+ }
+
+ template <int Row,int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::del_row_col_<Row,Col,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ del_row_col( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::del_row_col_<Row,Col,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Row,class OriginalMatrix>
+ class
+ neg_row_
+ {
+ neg_row_( neg_row_ const & );
+ neg_row_ & operator=( neg_row_ const & );
+ ~neg_row_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ neg_row_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int I,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::neg_row_<I,OriginalMatrix> >
+ {
+ typedef qvm_detail::neg_row_<I,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows;
+ static int const cols=mat_traits<OriginalMatrix>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return Row==I ?
+ -mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x)) :
+ mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return row==I?
+ -mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x)) :
+ mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::neg_row_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::neg_row_<J,OriginalMatrix>,qvm_detail::neg_row_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int Row,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::neg_row_<Row,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ neg_row( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::neg_row_<Row,A> const &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Col,class OriginalMatrix>
+ class
+ neg_col_
+ {
+ neg_col_( neg_col_ const & );
+ neg_col_ & operator=( neg_col_ const & );
+ ~neg_col_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ neg_col_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int J,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::neg_col_<J,OriginalMatrix> >
+ {
+ typedef qvm_detail::neg_col_<J,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows;
+ static int const cols=mat_traits<OriginalMatrix>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return Col==J?
+ -mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x)) :
+ mat_traits<OriginalMatrix>::template read_element<Row,Col>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return col==J?
+ -mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x)) :
+ mat_traits<OriginalMatrix>::read_element_idx(row,col,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::neg_col_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int J,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::neg_col_<J,OriginalMatrix>,qvm_detail::neg_col_<J,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::neg_col_<Col,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ neg_col( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::neg_col_<Col,A> const &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::transposed_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ transposed( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::transposed_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::transposed_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ transposed( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::transposed_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Row1,int Row2,class OriginalMatrix>
+ class
+ swap_rows_
+ {
+ swap_rows_( swap_rows_ const & );
+ swap_rows_ & operator=( swap_rows_ const & );
+ ~swap_rows_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ swap_rows_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int R1,int R2,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::swap_rows_<R1,R2,OriginalMatrix> >
+ {
+ typedef qvm_detail::swap_rows_<R1,R2,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows;
+ static int const cols=mat_traits<OriginalMatrix>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template read_element<(Row==R1 && R1!=R2)*R2+(Row==R2 && R1!=R2)*R1+((Row!=R1 && Row!=R2) || R1==R2)*Row,Col>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template write_element<(Row==R1 && R1!=R2)*R2+(Row==R2 && R1!=R2)*R1+((Row!=R1 && Row!=R2) || R1==R2)*Row,Col>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::read_element_idx(row==R1?R2:row==R2?R1:row,col,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::write_element_idx(row==R1?R2:row==R2?R1:row,col,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int R1,int R2,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::swap_rows_<R1,R2,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int R1,int R2,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::swap_rows_<R1,R2,OriginalMatrix>,qvm_detail::swap_rows_<R1,R2,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int R1,int R2,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::swap_rows_<R1,R2,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ swap_rows( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::swap_rows_<R1,R2,A> const &>(a);
+ }
+
+ template <int R1,int R2,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::swap_rows_<R1,R2,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ swap_rows( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::swap_rows_<R1,R2,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Row1,int Row2,class OriginalMatrix>
+ class
+ swap_cols_
+ {
+ swap_cols_( swap_cols_ const & );
+ swap_cols_ & operator=( swap_cols_ const & );
+ ~swap_cols_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ swap_cols_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int C1,int C2,class OriginalMatrix>
+ struct
+ mat_traits< qvm_detail::swap_cols_<C1,C2,OriginalMatrix> >
+ {
+ typedef qvm_detail::swap_cols_<C1,C2,OriginalMatrix> this_matrix;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const rows=mat_traits<OriginalMatrix>::rows;
+ static int const cols=mat_traits<OriginalMatrix>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template read_element<Row,(Col==C1 && C1!=C2)*C2+(Col==C2 && C1!=C2)*C1+((Col!=C1 && Col!=C2) || C1==C2)*Col>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<OriginalMatrix>::template write_element<Row,(Col==C1 && C1!=C2)*C2+(Col==C2 && C1!=C2)*C1+((Col!=C1 && Col!=C2) || C1==C2)*Col>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::read_element_idx(row,col==C1?C2:col==C2?C1:col,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<OriginalMatrix>::write_element_idx(row,col==C1?C2:col==C2?C1:col,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int C1,int C2,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat<qvm_detail::swap_cols_<C1,C2,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int C1,int C2,class OriginalMatrix,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::swap_cols_<C1,C2,OriginalMatrix>,qvm_detail::swap_cols_<C1,C2,OriginalMatrix>,R,C>
+ {
+ typedef mat<typename mat_traits<OriginalMatrix>::scalar_type,R,C> type;
+ };
+
+ template <int C1,int C2,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::swap_cols_<C1,C2,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ swap_cols( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::swap_cols_<C1,C2,A> const &>(a);
+ }
+
+ template <int C1,int C2,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::swap_cols_<C1,C2,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ swap_cols( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::swap_cols_<C1,C2,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/map_mat_vec.hpp b/boost/qvm/map_mat_vec.hpp
index 81a2527d21..0ef6c94daa 100644
--- a/boost/qvm/map_mat_vec.hpp
+++ b/boost/qvm/map_mat_vec.hpp
@@ -1,537 +1,537 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_5265FC7CA1C011DE9EBDFFA956D89593
-#define UUID_5265FC7CA1C011DE9EBDFFA956D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Col,class OriginalMatrix>
- class
- col_
- {
- col_( col_ const & );
- col_ & operator=( col_ const & );
- ~col_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- col_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int Col,class OriginalMatrix>
- struct
- vec_traits< qvm_detail::col_<Col,OriginalMatrix> >
- {
- typedef qvm_detail::col_<Col,OriginalMatrix> this_vector;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const dim=mat_traits<OriginalMatrix>::rows;
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<mat_traits<OriginalMatrix>::cols);
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template read_element<I,Col>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template write_element<I,Col>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::read_element_idx(i,Col,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::write_element_idx(i,Col,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int Col,class OriginalMatrix,int D>
- struct
- deduce_vec<qvm_detail::col_<Col,OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <int Col,class OriginalMatrix,int D>
- struct
- deduce_vec2<qvm_detail::col_<Col,OriginalMatrix>,qvm_detail::col_<Col,OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::col_<Col,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- col( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::col_<Col,A> const &>(a);
- }
-
- template <int Col,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::col_<Col,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- col( A & a )
- {
- return reinterpret_cast<typename qvm_detail::col_<Col,A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Row,class OriginalMatrix>
- class
- row_
- {
- row_( row_ const & );
- row_ & operator=( row_ const & );
- ~row_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- row_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <int Row,class OriginalMatrix>
- struct
- vec_traits< qvm_detail::row_<Row,OriginalMatrix> >
- {
- typedef qvm_detail::row_<Row,OriginalMatrix> this_vector;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const dim=mat_traits<OriginalMatrix>::cols;
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<mat_traits<OriginalMatrix>::rows);
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template read_element<Row,I>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template write_element<Row,I>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::read_element_idx(Row,i,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::write_element_idx(Row,i,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <int Row,class OriginalMatrix,int D>
- struct
- deduce_vec<qvm_detail::row_<Row,OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <int Row,class OriginalMatrix,int D>
- struct
- deduce_vec2<qvm_detail::row_<Row,OriginalMatrix>,qvm_detail::row_<Row,OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <int Row,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::row_<Row,A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- row( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::row_<Row,A> const &>(a);
- }
-
- template <int Row,class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::row_<Row,A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- row( A & a )
- {
- return reinterpret_cast<typename qvm_detail::row_<Row,A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalMatrix>
- class
- diag_
- {
- diag_( diag_ const & );
- diag_ & operator=( diag_ const & );
- ~diag_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- diag_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <int X,int Y,bool Which>
- struct diag_bool_dispatch;
-
- template <int X,int Y>
- struct
- diag_bool_dispatch<X,Y,true>
- {
- static int const value=X;
- };
-
- template <int X,int Y>
- struct
- diag_bool_dispatch<X,Y,false>
- {
- static int const value=Y;
- };
- }
-
- template <class OriginalMatrix>
- struct
- vec_traits< qvm_detail::diag_<OriginalMatrix> >
- {
- typedef qvm_detail::diag_<OriginalMatrix> this_vector;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const dim=qvm_detail::diag_bool_dispatch<
- mat_traits<OriginalMatrix>::rows,
- mat_traits<OriginalMatrix>::cols,
- mat_traits<OriginalMatrix>::rows<=mat_traits<OriginalMatrix>::cols>::value;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template read_element<I,I>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template write_element<I,I>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::read_element_idx(i,i,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::write_element_idx(i,i,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <class OriginalMatrix,int D>
- struct
- deduce_vec<qvm_detail::diag_<OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <class OriginalMatrix,int D>
- struct
- deduce_vec2<qvm_detail::diag_<OriginalMatrix>,qvm_detail::diag_<OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::diag_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- diag( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::diag_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_mat<A>::value,
- qvm_detail::diag_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- diag( A & a )
- {
- return reinterpret_cast<typename qvm_detail::diag_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalMatrix>
- class
- translation_
- {
- translation_( translation_ const & );
- ~translation_();
-
- public:
-
- translation_ &
- operator=( translation_ const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- translation_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class OriginalMatrix>
- struct
- vec_traits< qvm_detail::translation_<OriginalMatrix> >
- {
- typedef qvm_detail::translation_<OriginalMatrix> this_vector;
- typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
- static int const dim=mat_traits<OriginalMatrix>::rows-1;
- BOOST_QVM_STATIC_ASSERT(mat_traits<OriginalMatrix>::rows==mat_traits<OriginalMatrix>::cols);
- BOOST_QVM_STATIC_ASSERT(mat_traits<OriginalMatrix>::rows>=3);
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template read_element<I,dim>(reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return mat_traits<OriginalMatrix>::template write_element<I,dim>(reinterpret_cast<OriginalMatrix &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::read_element_idx(i,dim,reinterpret_cast<OriginalMatrix const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return mat_traits<OriginalMatrix>::write_element_idx(i,dim,reinterpret_cast<OriginalMatrix &>(x));
- }
- };
-
- template <class OriginalMatrix,int D>
- struct
- deduce_vec<qvm_detail::translation_<OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <class OriginalMatrix,int D>
- struct
- deduce_vec2<qvm_detail::translation_<OriginalMatrix>,qvm_detail::translation_<OriginalMatrix>,D>
- {
- typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
- };
-
- template <class A>
- typename boost::enable_if_c<
- is_mat<A>::value && mat_traits<A>::rows==mat_traits<A>::cols && mat_traits<A>::rows>=3,
- qvm_detail::translation_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- translation( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::translation_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_mat<A>::value && mat_traits<A>::rows==mat_traits<A>::cols && mat_traits<A>::rows>=3,
- qvm_detail::translation_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- translation( A & a )
- {
- return reinterpret_cast<typename qvm_detail::translation_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_5265FC7CA1C011DE9EBDFFA956D89593
+#define UUID_5265FC7CA1C011DE9EBDFFA956D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Col,class OriginalMatrix>
+ class
+ col_
+ {
+ col_( col_ const & );
+ col_ & operator=( col_ const & );
+ ~col_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ col_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int Col,class OriginalMatrix>
+ struct
+ vec_traits< qvm_detail::col_<Col,OriginalMatrix> >
+ {
+ typedef qvm_detail::col_<Col,OriginalMatrix> this_vector;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const dim=mat_traits<OriginalMatrix>::rows;
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<mat_traits<OriginalMatrix>::cols);
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template read_element<I,Col>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template write_element<I,Col>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::read_element_idx(i,Col,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::write_element_idx(i,Col,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int Col,class OriginalMatrix,int D>
+ struct
+ deduce_vec<qvm_detail::col_<Col,OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <int Col,class OriginalMatrix,int D>
+ struct
+ deduce_vec2<qvm_detail::col_<Col,OriginalMatrix>,qvm_detail::col_<Col,OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::col_<Col,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ col( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::col_<Col,A> const &>(a);
+ }
+
+ template <int Col,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::col_<Col,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ col( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::col_<Col,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Row,class OriginalMatrix>
+ class
+ row_
+ {
+ row_( row_ const & );
+ row_ & operator=( row_ const & );
+ ~row_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ row_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <int Row,class OriginalMatrix>
+ struct
+ vec_traits< qvm_detail::row_<Row,OriginalMatrix> >
+ {
+ typedef qvm_detail::row_<Row,OriginalMatrix> this_vector;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const dim=mat_traits<OriginalMatrix>::cols;
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<mat_traits<OriginalMatrix>::rows);
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template read_element<Row,I>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template write_element<Row,I>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::read_element_idx(Row,i,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::write_element_idx(Row,i,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <int Row,class OriginalMatrix,int D>
+ struct
+ deduce_vec<qvm_detail::row_<Row,OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <int Row,class OriginalMatrix,int D>
+ struct
+ deduce_vec2<qvm_detail::row_<Row,OriginalMatrix>,qvm_detail::row_<Row,OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <int Row,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::row_<Row,A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ row( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::row_<Row,A> const &>(a);
+ }
+
+ template <int Row,class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::row_<Row,A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ row( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::row_<Row,A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalMatrix>
+ class
+ diag_
+ {
+ diag_( diag_ const & );
+ diag_ & operator=( diag_ const & );
+ ~diag_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ diag_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <int X,int Y,bool Which>
+ struct diag_bool_dispatch;
+
+ template <int X,int Y>
+ struct
+ diag_bool_dispatch<X,Y,true>
+ {
+ static int const value=X;
+ };
+
+ template <int X,int Y>
+ struct
+ diag_bool_dispatch<X,Y,false>
+ {
+ static int const value=Y;
+ };
+ }
+
+ template <class OriginalMatrix>
+ struct
+ vec_traits< qvm_detail::diag_<OriginalMatrix> >
+ {
+ typedef qvm_detail::diag_<OriginalMatrix> this_vector;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const dim=qvm_detail::diag_bool_dispatch<
+ mat_traits<OriginalMatrix>::rows,
+ mat_traits<OriginalMatrix>::cols,
+ mat_traits<OriginalMatrix>::rows<=mat_traits<OriginalMatrix>::cols>::value;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template read_element<I,I>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template write_element<I,I>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::read_element_idx(i,i,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::write_element_idx(i,i,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <class OriginalMatrix,int D>
+ struct
+ deduce_vec<qvm_detail::diag_<OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <class OriginalMatrix,int D>
+ struct
+ deduce_vec2<qvm_detail::diag_<OriginalMatrix>,qvm_detail::diag_<OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::diag_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ diag( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::diag_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value,
+ qvm_detail::diag_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ diag( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::diag_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalMatrix>
+ class
+ translation_
+ {
+ translation_( translation_ const & );
+ ~translation_();
+
+ public:
+
+ translation_ &
+ operator=( translation_ const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ translation_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class OriginalMatrix>
+ struct
+ vec_traits< qvm_detail::translation_<OriginalMatrix> >
+ {
+ typedef qvm_detail::translation_<OriginalMatrix> this_vector;
+ typedef typename mat_traits<OriginalMatrix>::scalar_type scalar_type;
+ static int const dim=mat_traits<OriginalMatrix>::rows-1;
+ BOOST_QVM_STATIC_ASSERT(mat_traits<OriginalMatrix>::rows==mat_traits<OriginalMatrix>::cols);
+ BOOST_QVM_STATIC_ASSERT(mat_traits<OriginalMatrix>::rows>=3);
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template read_element<I,dim>(reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return mat_traits<OriginalMatrix>::template write_element<I,dim>(reinterpret_cast<OriginalMatrix &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::read_element_idx(i,dim,reinterpret_cast<OriginalMatrix const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return mat_traits<OriginalMatrix>::write_element_idx(i,dim,reinterpret_cast<OriginalMatrix &>(x));
+ }
+ };
+
+ template <class OriginalMatrix,int D>
+ struct
+ deduce_vec<qvm_detail::translation_<OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <class OriginalMatrix,int D>
+ struct
+ deduce_vec2<qvm_detail::translation_<OriginalMatrix>,qvm_detail::translation_<OriginalMatrix>,D>
+ {
+ typedef vec<typename mat_traits<OriginalMatrix>::scalar_type,D> type;
+ };
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value && mat_traits<A>::rows==mat_traits<A>::cols && mat_traits<A>::rows>=3,
+ qvm_detail::translation_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ translation( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::translation_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_mat<A>::value && mat_traits<A>::rows==mat_traits<A>::cols && mat_traits<A>::rows>=3,
+ qvm_detail::translation_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ translation( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::translation_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/map_vec_mat.hpp b/boost/qvm/map_vec_mat.hpp
index b7412f2963..ca3f976ff9 100644
--- a/boost/qvm/map_vec_mat.hpp
+++ b/boost/qvm/map_vec_mat.hpp
@@ -1,591 +1,591 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_3EDF999CA1C011DEBA5C8DA956D89593
-#define UUID_3EDF999CA1C011DEBA5C8DA956D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/vec_traits.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalVector>
- class
- col_mat_
- {
- col_mat_( col_mat_ const & );
- col_mat_ & operator=( col_mat_ const & );
- ~col_mat_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- col_mat_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class OriginalVector>
- struct
- mat_traits< qvm_detail::col_mat_<OriginalVector> >
- {
- typedef qvm_detail::col_mat_<OriginalVector> this_matrix;
- typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
- static int const rows=vec_traits<OriginalVector>::dim;
- static int const cols=1;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Col==0);
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- return vec_traits<OriginalVector>::template read_element<Row>(reinterpret_cast<OriginalVector const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Col==0);
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- return vec_traits<OriginalVector>::template write_element<Row>(reinterpret_cast<OriginalVector &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(col==0);
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- return vec_traits<OriginalVector>::read_element_idx(row,reinterpret_cast<OriginalVector const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(col==0);
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- return vec_traits<OriginalVector>::write_element_idx(row,reinterpret_cast<OriginalVector &>(x));
- }
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat<qvm_detail::col_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat2<qvm_detail::col_mat_<OriginalVector>,qvm_detail::col_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::col_mat_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- col_mat( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::col_mat_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::col_mat_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- col_mat( A & a )
- {
- return reinterpret_cast<typename qvm_detail::col_mat_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalVector>
- class
- row_mat_
- {
- row_mat_( row_mat_ const & );
- row_mat_ & operator=( row_mat_ const & );
- ~row_mat_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- row_mat_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class OriginalVector>
- struct
- mat_traits< qvm_detail::row_mat_<OriginalVector> >
- {
- typedef qvm_detail::row_mat_<OriginalVector> this_matrix;
- typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
- static int const rows=1;
- static int const cols=vec_traits<OriginalVector>::dim;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row==0);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return vec_traits<OriginalVector>::template read_element<Col>(reinterpret_cast<OriginalVector const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row==0);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return vec_traits<OriginalVector>::template write_element<Col>(reinterpret_cast<OriginalVector &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row==0);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return vec_traits<OriginalVector>::read_element_idx(col,reinterpret_cast<OriginalVector const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row==0);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return vec_traits<OriginalVector>::write_element_idx(col,reinterpret_cast<OriginalVector &>(x));
- }
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat<qvm_detail::row_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat2<qvm_detail::row_mat_<OriginalVector>,qvm_detail::row_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::row_mat_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- row_mat( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::row_mat_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::row_mat_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- row_mat( A & a )
- {
- return reinterpret_cast<typename qvm_detail::row_mat_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalVector>
- class
- translation_mat_
- {
- translation_mat_( translation_mat_ const & );
- translation_mat_ & operator=( translation_mat_ const & );
- ~translation_mat_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- translation_mat_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <class M,int Row,int Col,bool TransCol=(Col==mat_traits<M>::cols-1)>
- struct read_translation_matat;
-
- template <class OriginalVector,int Row,int Col,bool TransCol>
- struct
- read_translation_matat<translation_mat_<OriginalVector>,Row,Col,TransCol>
- {
- static
- BOOST_QVM_INLINE_CRITICAL
- typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
- f( translation_mat_<OriginalVector> const & )
- {
- return scalar_traits<typename mat_traits< translation_mat_<OriginalVector> >::scalar_type>::value(0);
- }
- };
-
- template <class OriginalVector,int D>
- struct
- read_translation_matat<translation_mat_<OriginalVector>,D,D,false>
- {
- static
- BOOST_QVM_INLINE_CRITICAL
- typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
- f( translation_mat_<OriginalVector> const & )
- {
- return scalar_traits<typename mat_traits< translation_mat_<OriginalVector> >::scalar_type>::value(1);
- }
- };
-
- template <class OriginalVector,int D>
- struct
- read_translation_matat<translation_mat_<OriginalVector>,D,D,true>
- {
- static
- BOOST_QVM_INLINE_CRITICAL
- typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
- f( translation_mat_<OriginalVector> const & )
- {
- return scalar_traits<typename mat_traits< translation_mat_<OriginalVector> >::scalar_type>::value(1);
- }
- };
-
- template <class OriginalVector,int Row,int Col>
- struct
- read_translation_matat<translation_mat_<OriginalVector>,Row,Col,true>
- {
- static
- BOOST_QVM_INLINE_CRITICAL
- typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
- f( translation_mat_<OriginalVector> const & x )
- {
- return vec_traits<OriginalVector>::template read_element<Row>(reinterpret_cast<OriginalVector const &>(x));
- }
- };
- }
-
- template <class OriginalVector>
- struct
- mat_traits< qvm_detail::translation_mat_<OriginalVector> >
- {
- typedef qvm_detail::translation_mat_<OriginalVector> this_matrix;
- typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
- static int const rows=vec_traits<OriginalVector>::dim+1;
- static int const cols=vec_traits<OriginalVector>::dim+1;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return qvm_detail::read_translation_matat<qvm_detail::translation_mat_<OriginalVector>,Row,Col>::f(x);
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col==cols-1);
- BOOST_QVM_STATIC_ASSERT(Col!=Row);
- return vec_traits<OriginalVector>::template write_element<Row>(reinterpret_cast<OriginalVector &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return
- row==col?
- scalar_traits<scalar_type>::value(1):
- (col==cols-1?
- vec_traits<OriginalVector>::read_element_idx(row,reinterpret_cast<OriginalVector const &>(x)):
- scalar_traits<scalar_type>::value(0));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col==cols-1);
- BOOST_QVM_ASSERT(col!=row);
- return vec_traits<OriginalVector>::write_element_idx(row,reinterpret_cast<OriginalVector &>(x));
- }
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat<qvm_detail::translation_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat2<qvm_detail::translation_mat_<OriginalVector>,qvm_detail::translation_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::translation_mat_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- translation_mat( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::translation_mat_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::translation_mat_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- translation_mat( A & a )
- {
- return reinterpret_cast<typename qvm_detail::translation_mat_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalVector>
- class
- diag_mat_
- {
- diag_mat_( diag_mat_ const & );
- diag_mat_ & operator=( diag_mat_ const & );
- ~diag_mat_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- diag_mat_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class OriginalVector>
- struct
- mat_traits< qvm_detail::diag_mat_<OriginalVector> >
- {
- typedef qvm_detail::diag_mat_<OriginalVector> this_matrix;
- typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
- static int const rows=vec_traits<OriginalVector>::dim;
- static int const cols=vec_traits<OriginalVector>::dim;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return Row==Col?vec_traits<OriginalVector>::template read_element<Row>(reinterpret_cast<OriginalVector const &>(x)):scalar_traits<scalar_type>::value(0);
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Row==Col);
- return vec_traits<OriginalVector>::template write_element<Row>(reinterpret_cast<OriginalVector &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return row==col?vec_traits<OriginalVector>::read_element_idx(row,reinterpret_cast<OriginalVector const &>(x)):scalar_traits<scalar_type>::value(0);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(row==col);
- return vec_traits<OriginalVector>::write_element_idx(row,reinterpret_cast<OriginalVector &>(x));
- }
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat<qvm_detail::diag_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class OriginalVector,int R,int C>
- struct
- deduce_mat2<qvm_detail::diag_mat_<OriginalVector>,qvm_detail::diag_mat_<OriginalVector>,R,C>
- {
- typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
- };
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::diag_mat_<A> const &>::type
- BOOST_QVM_INLINE_TRIVIAL
- diag_mat( A const & a )
- {
- return reinterpret_cast<typename qvm_detail::diag_mat_<A> const &>(a);
- }
-
- template <class A>
- typename boost::enable_if_c<
- is_vec<A>::value,
- qvm_detail::diag_mat_<A> &>::type
- BOOST_QVM_INLINE_TRIVIAL
- diag_mat( A & a )
- {
- return reinterpret_cast<typename qvm_detail::diag_mat_<A> &>(a);
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_3EDF999CA1C011DEBA5C8DA956D89593
+#define UUID_3EDF999CA1C011DEBA5C8DA956D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/vec_traits.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalVector>
+ class
+ col_mat_
+ {
+ col_mat_( col_mat_ const & );
+ col_mat_ & operator=( col_mat_ const & );
+ ~col_mat_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ col_mat_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class OriginalVector>
+ struct
+ mat_traits< qvm_detail::col_mat_<OriginalVector> >
+ {
+ typedef qvm_detail::col_mat_<OriginalVector> this_matrix;
+ typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
+ static int const rows=vec_traits<OriginalVector>::dim;
+ static int const cols=1;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Col==0);
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ return vec_traits<OriginalVector>::template read_element<Row>(reinterpret_cast<OriginalVector const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Col==0);
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ return vec_traits<OriginalVector>::template write_element<Row>(reinterpret_cast<OriginalVector &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(col==0);
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ return vec_traits<OriginalVector>::read_element_idx(row,reinterpret_cast<OriginalVector const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(col==0);
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ return vec_traits<OriginalVector>::write_element_idx(row,reinterpret_cast<OriginalVector &>(x));
+ }
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat<qvm_detail::col_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::col_mat_<OriginalVector>,qvm_detail::col_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::col_mat_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ col_mat( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::col_mat_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::col_mat_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ col_mat( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::col_mat_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalVector>
+ class
+ row_mat_
+ {
+ row_mat_( row_mat_ const & );
+ row_mat_ & operator=( row_mat_ const & );
+ ~row_mat_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ row_mat_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class OriginalVector>
+ struct
+ mat_traits< qvm_detail::row_mat_<OriginalVector> >
+ {
+ typedef qvm_detail::row_mat_<OriginalVector> this_matrix;
+ typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
+ static int const rows=1;
+ static int const cols=vec_traits<OriginalVector>::dim;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row==0);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return vec_traits<OriginalVector>::template read_element<Col>(reinterpret_cast<OriginalVector const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row==0);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return vec_traits<OriginalVector>::template write_element<Col>(reinterpret_cast<OriginalVector &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row==0);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return vec_traits<OriginalVector>::read_element_idx(col,reinterpret_cast<OriginalVector const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row==0);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return vec_traits<OriginalVector>::write_element_idx(col,reinterpret_cast<OriginalVector &>(x));
+ }
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat<qvm_detail::row_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::row_mat_<OriginalVector>,qvm_detail::row_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::row_mat_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ row_mat( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::row_mat_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::row_mat_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ row_mat( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::row_mat_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalVector>
+ class
+ translation_mat_
+ {
+ translation_mat_( translation_mat_ const & );
+ translation_mat_ & operator=( translation_mat_ const & );
+ ~translation_mat_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ translation_mat_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <class M,int Row,int Col,bool TransCol=(Col==mat_traits<M>::cols-1)>
+ struct read_translation_matat;
+
+ template <class OriginalVector,int Row,int Col,bool TransCol>
+ struct
+ read_translation_matat<translation_mat_<OriginalVector>,Row,Col,TransCol>
+ {
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
+ f( translation_mat_<OriginalVector> const & )
+ {
+ return scalar_traits<typename mat_traits< translation_mat_<OriginalVector> >::scalar_type>::value(0);
+ }
+ };
+
+ template <class OriginalVector,int D>
+ struct
+ read_translation_matat<translation_mat_<OriginalVector>,D,D,false>
+ {
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
+ f( translation_mat_<OriginalVector> const & )
+ {
+ return scalar_traits<typename mat_traits< translation_mat_<OriginalVector> >::scalar_type>::value(1);
+ }
+ };
+
+ template <class OriginalVector,int D>
+ struct
+ read_translation_matat<translation_mat_<OriginalVector>,D,D,true>
+ {
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
+ f( translation_mat_<OriginalVector> const & )
+ {
+ return scalar_traits<typename mat_traits< translation_mat_<OriginalVector> >::scalar_type>::value(1);
+ }
+ };
+
+ template <class OriginalVector,int Row,int Col>
+ struct
+ read_translation_matat<translation_mat_<OriginalVector>,Row,Col,true>
+ {
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ typename mat_traits< translation_mat_<OriginalVector> >::scalar_type
+ f( translation_mat_<OriginalVector> const & x )
+ {
+ return vec_traits<OriginalVector>::template read_element<Row>(reinterpret_cast<OriginalVector const &>(x));
+ }
+ };
+ }
+
+ template <class OriginalVector>
+ struct
+ mat_traits< qvm_detail::translation_mat_<OriginalVector> >
+ {
+ typedef qvm_detail::translation_mat_<OriginalVector> this_matrix;
+ typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
+ static int const rows=vec_traits<OriginalVector>::dim+1;
+ static int const cols=vec_traits<OriginalVector>::dim+1;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return qvm_detail::read_translation_matat<qvm_detail::translation_mat_<OriginalVector>,Row,Col>::f(x);
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col==cols-1);
+ BOOST_QVM_STATIC_ASSERT(Col!=Row);
+ return vec_traits<OriginalVector>::template write_element<Row>(reinterpret_cast<OriginalVector &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return
+ row==col?
+ scalar_traits<scalar_type>::value(1):
+ (col==cols-1?
+ vec_traits<OriginalVector>::read_element_idx(row,reinterpret_cast<OriginalVector const &>(x)):
+ scalar_traits<scalar_type>::value(0));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col==cols-1);
+ BOOST_QVM_ASSERT(col!=row);
+ return vec_traits<OriginalVector>::write_element_idx(row,reinterpret_cast<OriginalVector &>(x));
+ }
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat<qvm_detail::translation_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::translation_mat_<OriginalVector>,qvm_detail::translation_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::translation_mat_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ translation_mat( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::translation_mat_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::translation_mat_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ translation_mat( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::translation_mat_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalVector>
+ class
+ diag_mat_
+ {
+ diag_mat_( diag_mat_ const & );
+ diag_mat_ & operator=( diag_mat_ const & );
+ ~diag_mat_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ diag_mat_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class OriginalVector>
+ struct
+ mat_traits< qvm_detail::diag_mat_<OriginalVector> >
+ {
+ typedef qvm_detail::diag_mat_<OriginalVector> this_matrix;
+ typedef typename vec_traits<OriginalVector>::scalar_type scalar_type;
+ static int const rows=vec_traits<OriginalVector>::dim;
+ static int const cols=vec_traits<OriginalVector>::dim;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return Row==Col?vec_traits<OriginalVector>::template read_element<Row>(reinterpret_cast<OriginalVector const &>(x)):scalar_traits<scalar_type>::value(0);
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Row==Col);
+ return vec_traits<OriginalVector>::template write_element<Row>(reinterpret_cast<OriginalVector &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return row==col?vec_traits<OriginalVector>::read_element_idx(row,reinterpret_cast<OriginalVector const &>(x)):scalar_traits<scalar_type>::value(0);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(row==col);
+ return vec_traits<OriginalVector>::write_element_idx(row,reinterpret_cast<OriginalVector &>(x));
+ }
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat<qvm_detail::diag_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class OriginalVector,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::diag_mat_<OriginalVector>,qvm_detail::diag_mat_<OriginalVector>,R,C>
+ {
+ typedef mat<typename vec_traits<OriginalVector>::scalar_type,R,C> type;
+ };
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::diag_mat_<A> const &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ diag_mat( A const & a )
+ {
+ return reinterpret_cast<typename qvm_detail::diag_mat_<A> const &>(a);
+ }
+
+ template <class A>
+ typename boost::enable_if_c<
+ is_vec<A>::value,
+ qvm_detail::diag_mat_<A> &>::type
+ BOOST_QVM_INLINE_TRIVIAL
+ diag_mat( A & a )
+ {
+ return reinterpret_cast<typename qvm_detail::diag_mat_<A> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/mat.hpp b/boost/qvm/mat.hpp
index a3d44a9699..aceaa5a9fd 100644
--- a/boost/qvm/mat.hpp
+++ b/boost/qvm/mat.hpp
@@ -1,98 +1,98 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_67E67D68A32F11DEA56FD18556D89593
-#define UUID_67E67D68A32F11DEA56FD18556D89593
-
-#include <boost/qvm/detail/mat_assign.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int Rows,int Cols>
- struct
- mat
- {
- T a[Rows][Cols];
- template <class R>
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <class M>
- struct mat_traits;
-
- template <class T,int Rows,int Cols>
- struct
- mat_traits< mat<T,Rows,Cols> >
- {
- typedef mat<T,Rows,Cols> this_matrix;
- typedef T scalar_type;
- static int const rows=Rows;
- static int const cols=Cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<Cols);
- return x.a[Row][Col];
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<Cols);
- return x.a[Row][Col];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<Rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<Cols);
- return x.a[row][col];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<Rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<Cols);
- return x.a[row][col];
- }
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_67E67D68A32F11DEA56FD18556D89593
+#define UUID_67E67D68A32F11DEA56FD18556D89593
+
+#include <boost/qvm/detail/mat_assign.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int Rows,int Cols>
+ struct
+ mat
+ {
+ T a[Rows][Cols];
+ template <class R>
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <class M>
+ struct mat_traits;
+
+ template <class T,int Rows,int Cols>
+ struct
+ mat_traits< mat<T,Rows,Cols> >
+ {
+ typedef mat<T,Rows,Cols> this_matrix;
+ typedef T scalar_type;
+ static int const rows=Rows;
+ static int const cols=Cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<Cols);
+ return x.a[Row][Col];
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<Cols);
+ return x.a[Row][Col];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<Rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<Cols);
+ return x.a[row][col];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<Rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<Cols);
+ return x.a[row][col];
+ }
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/mat_access.hpp b/boost/qvm/mat_access.hpp
index a50ff66db2..3d7487ae72 100644
--- a/boost/qvm/mat_access.hpp
+++ b/boost/qvm/mat_access.hpp
@@ -1,258 +1,258 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_47B1D1217B411E08424FA0ADFD72085
-#define UUID_47B1D1217B411E08424FA0ADFD72085
-
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- template <int R,int C,class M>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_mat<M>::value,
- typename mat_traits<M>::scalar_type>::type
- A( M const & a )
- {
- BOOST_STATIC_ASSERT(R>=0);
- BOOST_STATIC_ASSERT(R<mat_traits<M>::rows);
- BOOST_STATIC_ASSERT(C>=0);
- BOOST_STATIC_ASSERT(C<mat_traits<M>::cols);
- return mat_traits<M>::template read_element<R,C>(a);
- }
-
- template <int R,int C,class M>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_mat<M>::value,
- typename mat_traits<M>::scalar_type &>::type
- A( M & a )
- {
- BOOST_STATIC_ASSERT(R>=0);
- BOOST_STATIC_ASSERT(R<mat_traits<M>::rows);
- BOOST_STATIC_ASSERT(C>=0);
- BOOST_STATIC_ASSERT(C<mat_traits<M>::cols);
- return mat_traits<M>::template write_element<R,C>(a);
- }
-
- ////////////////////////////////////////////////
-
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A00( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A01( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A02( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A03( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A04( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A05( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A06( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A07( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A08( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A09( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A10( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A11( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A12( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A13( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A14( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A15( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A16( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A17( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A18( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A19( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A20( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A21( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A22( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A23( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A24( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A25( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A26( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A27( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A28( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A29( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A30( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A31( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A32( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A33( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A34( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A35( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A36( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A37( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A38( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A39( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A40( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A41( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A42( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A43( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A44( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A45( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A46( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A47( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A48( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A49( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A50( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A51( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A52( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A53( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A54( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A55( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A56( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A57( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A58( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A59( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A60( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A61( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A62( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A63( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A64( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A65( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A66( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A67( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A68( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A69( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A70( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A71( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A72( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A73( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A74( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A75( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A76( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A77( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A78( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A79( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A80( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A81( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A82( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A83( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A84( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A85( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A86( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A87( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A88( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A89( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A90( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A91( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A92( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A93( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A94( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A95( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A96( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A97( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A98( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A99( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,9>(a); }
-
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A00( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A01( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A02( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A03( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A04( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A05( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A06( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A07( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A08( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A09( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A10( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A11( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A12( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A13( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A14( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A15( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A16( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A17( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A18( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A19( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A20( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A21( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A22( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A23( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A24( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A25( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A26( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A27( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A28( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A29( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A30( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A31( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A32( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A33( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A34( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A35( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A36( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A37( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A38( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A39( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A40( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A41( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A42( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A43( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A44( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A45( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A46( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A47( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A48( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A49( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A50( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A51( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A52( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A53( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A54( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A55( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A56( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A57( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A58( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A59( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A60( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A61( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A62( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A63( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A64( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A65( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A66( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A67( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A68( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A69( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A70( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A71( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A72( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A73( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A74( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A75( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A76( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A77( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A78( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A79( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A80( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A81( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A82( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A83( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A84( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A85( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A86( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A87( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A88( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A89( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,9>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A90( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,0>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A91( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,1>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A92( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,2>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A93( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,3>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A94( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,4>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A95( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,5>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A96( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,6>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A97( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,7>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A98( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,8>(a); }
- template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A99( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,9>(a); }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_47B1D1217B411E08424FA0ADFD72085
+#define UUID_47B1D1217B411E08424FA0ADFD72085
+
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ template <int R,int C,class M>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_mat<M>::value,
+ typename mat_traits<M>::scalar_type>::type
+ A( M const & a )
+ {
+ BOOST_STATIC_ASSERT(R>=0);
+ BOOST_STATIC_ASSERT(R<mat_traits<M>::rows);
+ BOOST_STATIC_ASSERT(C>=0);
+ BOOST_STATIC_ASSERT(C<mat_traits<M>::cols);
+ return mat_traits<M>::template read_element<R,C>(a);
+ }
+
+ template <int R,int C,class M>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_mat<M>::value,
+ typename mat_traits<M>::scalar_type &>::type
+ A( M & a )
+ {
+ BOOST_STATIC_ASSERT(R>=0);
+ BOOST_STATIC_ASSERT(R<mat_traits<M>::rows);
+ BOOST_STATIC_ASSERT(C>=0);
+ BOOST_STATIC_ASSERT(C<mat_traits<M>::cols);
+ return mat_traits<M>::template write_element<R,C>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A00( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A01( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A02( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A03( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A04( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A05( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A06( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A07( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A08( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A09( M const & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<0,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A10( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A11( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A12( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A13( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A14( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A15( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A16( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A17( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A18( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A19( M const & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<1,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A20( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A21( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A22( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A23( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A24( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A25( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A26( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A27( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A28( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A29( M const & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<2,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A30( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A31( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A32( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A33( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A34( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A35( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A36( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A37( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A38( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A39( M const & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<3,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A40( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A41( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A42( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A43( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A44( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A45( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A46( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A47( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A48( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A49( M const & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<4,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A50( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A51( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A52( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A53( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A54( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A55( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A56( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A57( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A58( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A59( M const & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<5,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A60( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A61( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A62( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A63( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A64( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A65( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A66( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A67( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A68( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A69( M const & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<6,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A70( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A71( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A72( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A73( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A74( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A75( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A76( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A77( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A78( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A79( M const & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<7,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A80( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A81( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A82( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A83( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A84( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A85( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A86( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A87( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A88( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A89( M const & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<8,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A90( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A91( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A92( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A93( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A94( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A95( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A96( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A97( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A98( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type>::type A99( M const & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template read_element<9,9>(a); }
+
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A00( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A01( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A02( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A03( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A04( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A05( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A06( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A07( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A08( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A09( M & a ) { BOOST_STATIC_ASSERT(0<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<0,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A10( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A11( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A12( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A13( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A14( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A15( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A16( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A17( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A18( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A19( M & a ) { BOOST_STATIC_ASSERT(1<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<1,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A20( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A21( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A22( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A23( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A24( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A25( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A26( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A27( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A28( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A29( M & a ) { BOOST_STATIC_ASSERT(2<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<2,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A30( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A31( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A32( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A33( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A34( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A35( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A36( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A37( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A38( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A39( M & a ) { BOOST_STATIC_ASSERT(3<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<3,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A40( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A41( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A42( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A43( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A44( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A45( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A46( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A47( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A48( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A49( M & a ) { BOOST_STATIC_ASSERT(4<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<4,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A50( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A51( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A52( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A53( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A54( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A55( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A56( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A57( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A58( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A59( M & a ) { BOOST_STATIC_ASSERT(5<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<5,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A60( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A61( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A62( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A63( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A64( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A65( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A66( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A67( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A68( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A69( M & a ) { BOOST_STATIC_ASSERT(6<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<6,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A70( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A71( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A72( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A73( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A74( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A75( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A76( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A77( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A78( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A79( M & a ) { BOOST_STATIC_ASSERT(7<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<7,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A80( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A81( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A82( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A83( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A84( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A85( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A86( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A87( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A88( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A89( M & a ) { BOOST_STATIC_ASSERT(8<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<8,9>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A90( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 0<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,0>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A91( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 1<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,1>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A92( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 2<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,2>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A93( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 3<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,3>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A94( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 4<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,4>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A95( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 5<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,5>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A96( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 6<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,6>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A97( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 7<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,7>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A98( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 8<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,8>(a); }
+ template <class M> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_mat<M>::value,typename mat_traits<M>::scalar_type &>::type A99( M & a ) { BOOST_STATIC_ASSERT(9<mat_traits<M>::rows && 9<mat_traits<M>::cols); return mat_traits<M>::template write_element<9,9>(a); }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/mat_operations.hpp b/boost/qvm/mat_operations.hpp
index 0cf35154d4..ec986616fd 100644
--- a/boost/qvm/mat_operations.hpp
+++ b/boost/qvm/mat_operations.hpp
@@ -1,2470 +1,2470 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_4F915D9ED30A11DF962186E3DFD72085
-#define UUID_4F915D9ED30A11DF962186E3DFD72085
-
-#include <boost/qvm/detail/mat_assign.hpp>
-#include <boost/qvm/mat_operations2.hpp>
-#include <boost/qvm/mat_operations3.hpp>
-#include <boost/qvm/mat_operations4.hpp>
-#include <boost/qvm/math.hpp>
-#include <boost/qvm/detail/determinant_impl.hpp>
-#include <boost/qvm/detail/cofactor_impl.hpp>
-#include <boost/qvm/detail/transp_impl.hpp>
-#include <boost/qvm/scalar_traits.hpp>
-#include <string>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- BOOST_QVM_INLINE_CRITICAL
- void const *
- get_valid_ptr_mat_operations()
- {
- static int const obj=0;
- return &obj;
- }
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_to_string_detail
- {
- template <class T>
- std::string to_string( T const & x );
- }
-
- namespace
- qvm_detail
- {
- template <int R,int C>
- struct
- to_string_m_defined
- {
- static bool const value=false;
- };
-
- template <int I,int SizeMinusOne>
- struct
- to_string_matrix_elements
- {
- template <class A>
- static
- std::string
- f( A const & a )
- {
- using namespace qvm_to_string_detail;
- return
- ( (I%mat_traits<A>::cols)==0 ? '(' : ',' ) +
- to_string(mat_traits<A>::template read_element<I/mat_traits<A>::cols,I%mat_traits<A>::cols>(a)) +
- ( (I%mat_traits<A>::cols)==mat_traits<A>::cols-1 ? ")" : "" ) +
- to_string_matrix_elements<I+1,SizeMinusOne>::f(a);
- }
- };
-
- template <int SizeMinusOne>
- struct
- to_string_matrix_elements<SizeMinusOne,SizeMinusOne>
- {
- template <class A>
- static
- std::string
- f( A const & a )
- {
- using namespace qvm_to_string_detail;
- return
- ( (SizeMinusOne%mat_traits<A>::cols)==0 ? '(' : ',' ) +
- to_string(mat_traits<A>::template read_element<SizeMinusOne/mat_traits<A>::cols,SizeMinusOne%mat_traits<A>::cols>(a)) +
- ')';
- }
- };
- }
-
- template <class A>
- inline
- typename boost::enable_if_c<
- is_mat<A>::value &&
- !qvm_detail::to_string_m_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- std::string>::type
- to_string( A const & a )
- {
- return "("+qvm_detail::to_string_matrix_elements<0,mat_traits<A>::rows*mat_traits<A>::cols-1>::f(a)+')';
- }
-
- ////////////////////////////////////////////////
-
- template <class A,class B,class Cmp>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols,
- bool>::type
- cmp( A const & a, B const & b, Cmp f )
- {
- typedef typename deduce_scalar<
- typename mat_traits<A>::scalar_type,
- typename mat_traits<B>::scalar_type>::type T;
- int const rows=mat_traits<A>::rows;
- int const cols=mat_traits<A>::cols;
- T m1[rows][cols]; assign(m1,a);
- T m2[rows][cols]; assign(m2,b);
- for( int i=0; i!=rows; ++i )
- for( int j=0; j!=cols; ++j )
- if( !f(m1[i][j],m2[i][j]) )
- return false;
- return true;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- convert_to_m_defined
- {
- static bool const value=false;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_mat<R>::value && is_mat<A>::value &&
- mat_traits<R>::rows==mat_traits<A>::rows &&
- mat_traits<R>::cols==mat_traits<A>::cols &&
- !qvm_detail::convert_to_m_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- R>::type
- convert_to( A const & a )
- {
- R r; assign(r,a);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- determinant_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- !qvm_detail::determinant_defined<mat_traits<A>::rows>::value,
- typename mat_traits<A>::scalar_type>::type
- determinant( A const & a )
- {
- return qvm_detail::determinant_impl(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T,int Dim>
- class
- identity_mat_
- {
- identity_mat_( identity_mat_ const & );
- identity_mat_ & operator=( identity_mat_ const & );
- ~identity_mat_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class T,int Dim>
- struct
- mat_traits< qvm_detail::identity_mat_<T,Dim> >
- {
- typedef qvm_detail::identity_mat_<T,Dim> this_matrix;
- typedef T scalar_type;
- static int const rows=Dim;
- static int const cols=Dim;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Dim);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<Dim);
- return scalar_traits<scalar_type>::value(Row==Col);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<Dim);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<Dim);
- return scalar_traits<scalar_type>::value(row==col);
- }
- };
-
- template <class T,int Dim>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::identity_mat_<T,Dim> const &
- identity_mat()
- {
- return *(qvm_detail::identity_mat_<T,Dim> const *)qvm_detail::get_valid_ptr_mat_operations();
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- set_identity( A & a )
- {
- assign(a,identity_mat<typename mat_traits<A>::scalar_type,mat_traits<A>::rows>());
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- struct
- projection_
- {
- T const _00;
- T const _11;
- T const _22;
- T const _23;
- T const _32;
-
- BOOST_QVM_INLINE_TRIVIAL
- projection_( T _00, T _11, T _22, T _23, T _32 ):
- _00(_00),
- _11(_11),
- _22(_22),
- _23(_23),
- _32(_32)
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <int Row,int Col>
- struct
- projection_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( projection_<T> const & )
- {
- return scalar_traits<T>::value(0);
- }
- };
-
- template <> struct projection_get<0,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._00; } };
- template <> struct projection_get<1,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._11; } };
- template <> struct projection_get<2,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._22; } };
- template <> struct projection_get<2,3> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._23; } };
- template <> struct projection_get<3,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._32; } };
- }
-
- template <class T>
- struct
- mat_traits< qvm_detail::projection_<T> >
- {
- typedef qvm_detail::projection_<T> this_matrix;
- typedef T scalar_type;
- static int const rows=4;
- static int const cols=4;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return qvm_detail::projection_get<Row,Col>::get(x);
- }
- };
-
- template <class T>
- qvm_detail::projection_<T>
- BOOST_QVM_INLINE_OPERATIONS
- perspective_lh( T fov_y, T aspect_ratio, T z_near, T z_far )
- {
- T const one = scalar_traits<T>::value(1);
- T const ys = one/tan<T>(fov_y/scalar_traits<T>::value(2));
- T const xs = ys/aspect_ratio;
- T const zd = z_far-z_near;
- T const z1 = z_far/zd;
- T const z2 = -z_near*z1;
- return qvm_detail::projection_<T>(xs,ys,z1,z2,one);
- }
-
- template <class T>
- qvm_detail::projection_<T>
- BOOST_QVM_INLINE_OPERATIONS
- perspective_rh( T fov_y, T aspect_ratio, T z_near, T z_far )
- {
- T const one = scalar_traits<T>::value(1);
- T const ys = one/tan<T>(fov_y/scalar_traits<T>::value(2));
- T const xs = ys/aspect_ratio;
- T const zd = z_near-z_far;
- T const z1 = z_far/zd;
- T const z2 = z_near*z1;
- return qvm_detail::projection_<T>(xs,ys,z1,z2,-one);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalType,class Scalar>
- class
- matrix_scalar_cast_
- {
- matrix_scalar_cast_( matrix_scalar_cast_ const & );
- matrix_scalar_cast_ & operator=( matrix_scalar_cast_ const & );
- ~matrix_scalar_cast_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- matrix_scalar_cast_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <bool> struct scalar_cast_matrix_filter { };
- template <> struct scalar_cast_matrix_filter<true> { typedef int type; };
- }
-
- template <class OriginalType,class Scalar>
- struct
- mat_traits< qvm_detail::matrix_scalar_cast_<OriginalType,Scalar> >
- {
- typedef Scalar scalar_type;
- typedef qvm_detail::matrix_scalar_cast_<OriginalType,Scalar> this_matrix;
- static int const rows=mat_traits<OriginalType>::rows;
- static int const cols=mat_traits<OriginalType>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return scalar_type(mat_traits<OriginalType>::template read_element<Row,Col>(reinterpret_cast<OriginalType const &>(x)));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return scalar_type(mat_traits<OriginalType>::read_element_idx(col,row,reinterpret_cast<OriginalType const &>(x)));
- }
- };
-
- template <class OriginalType,class Scalar,int R,int C>
- struct
- deduce_mat<qvm_detail::matrix_scalar_cast_<OriginalType,Scalar>,R,C>
- {
- typedef mat<Scalar,R,C> type;
- };
-
- template <class Scalar,class T>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::matrix_scalar_cast_<T,Scalar> const &
- scalar_cast( T const & x, typename qvm_detail::scalar_cast_matrix_filter<is_mat<T>::value>::type=0 )
- {
- return reinterpret_cast<qvm_detail::matrix_scalar_cast_<T,Scalar> const &>(x);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- div_eq_ms_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_scalar<B>::value &&
- !qvm_detail::div_eq_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<A>::write_element_idx(i,j,a)/=b;
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- div_ms_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value && is_scalar<B>::value &&
- !qvm_detail::div_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- deduce_mat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)/b;
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- eq_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::eq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- bool>::type
- operator==( A const & a, B const & b )
- {
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- if( mat_traits<A>::read_element_idx(i,j,a)!=mat_traits<B>::read_element_idx(i,j,b) )
- return false;
- return true;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- minus_eq_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::minus_eq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- A &>::type
- operator-=( A & a, B const & b )
- {
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<A>::write_element_idx(i,j,a)-=mat_traits<B>::read_element_idx(i,j,b);
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- minus_m_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value &&
- !qvm_detail::minus_m_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- deduce_mat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<R>::write_element_idx(i,j,r)=-mat_traits<A>::read_element_idx(i,j,a);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- minus_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::minus_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols>::type R;
- R r;
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)-mat_traits<B>::read_element_idx(i,j,b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- mul_eq_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::mul_eq_mm_defined<mat_traits<A>::rows>::value,
- A &>::type
- operator*=( A & r, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- Ta a[mat_traits<A>::rows][mat_traits<A>::cols];
- for( int i=0; i<mat_traits<A>::rows; ++i )
- for( int j=0; j<mat_traits<B>::cols; ++j )
- a[i][j]=mat_traits<A>::read_element_idx(i,j,r);
- for( int i=0; i<mat_traits<A>::rows; ++i )
- for( int j=0; j<mat_traits<B>::cols; ++j )
- {
- Ta x(scalar_traits<Ta>::value(0));
- for( int k=0; k<mat_traits<A>::cols; ++k )
- x += a[i][k]*mat_traits<B>::read_element_idx(k,j,b);
- mat_traits<A>::write_element_idx(i,j,r) = x;
- }
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- mul_eq_ms_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_scalar<B>::value &&
- !qvm_detail::mul_eq_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<A>::write_element_idx(i,j,a)*=b;
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int R,int CR,int C>
- struct
- mul_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::cols==mat_traits<B>::rows &&
- !qvm_detail::mul_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols,mat_traits<B>::cols>::value,
- deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<B>::cols> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<B>::cols>::type R;
- R r;
- for( int i=0; i<mat_traits<A>::rows; ++i )
- for( int j=0; j<mat_traits<B>::cols; ++j )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- Ta x(scalar_traits<Ta>::value(0));
- for( int k=0; k<mat_traits<A>::cols; ++k )
- x += mat_traits<A>::read_element_idx(i,k,a)*mat_traits<B>::read_element_idx(k,j,b);
- mat_traits<R>::write_element_idx(i,j,r) = x;
- }
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- mul_ms_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value && is_scalar<B>::value &&
- !qvm_detail::mul_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- deduce_mat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_mat<A>::type R;
- R r;
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)*b;
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- mul_sm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && is_mat<B>::value &&
- !qvm_detail::mul_sm_defined<mat_traits<B>::rows,mat_traits<B>::cols>::value,
- deduce_mat<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_mat<B>::type R;
- R r;
- for( int i=0; i!=mat_traits<B>::rows; ++i )
- for( int j=0; j!=mat_traits<B>::cols; ++j )
- mat_traits<R>::write_element_idx(i,j,r)=a*mat_traits<B>::read_element_idx(i,j,b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- neq_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::neq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- if( mat_traits<A>::read_element_idx(i,j,a)!=mat_traits<B>::read_element_idx(i,j,b) )
- return true;
- return false;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- plus_eq_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::plus_eq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- A &>::type
- operator+=( A & a, B const & b )
- {
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<A>::write_element_idx(i,j,a)+=mat_traits<B>::read_element_idx(i,j,b);
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- plus_mm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value && is_mat<B>::value &&
- mat_traits<A>::rows==mat_traits<B>::rows &&
- mat_traits<A>::cols==mat_traits<B>::cols &&
- !qvm_detail::plus_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols>::type R;
- R r;
- for( int i=0; i!=mat_traits<A>::rows; ++i )
- for( int j=0; j!=mat_traits<A>::cols; ++j )
- mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)+mat_traits<B>::read_element_idx(i,j,b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- class
- mref_
- {
- mref_( mref_ const & );
- mref_ & operator=( mref_ const & );
- ~mref_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- mref_ &
- operator=( R const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class M>
- struct
- mat_traits< qvm_detail::mref_<M> >
- {
- typedef typename mat_traits<M>::scalar_type scalar_type;
- typedef qvm_detail::mref_<M> this_matrix;
- static int const rows=mat_traits<M>::rows;
- static int const cols=mat_traits<M>::cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<M>::template read_element<Row,Col>(reinterpret_cast<M const &>(x));
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<cols);
- return mat_traits<M>::template write_element<Row,Col>(reinterpret_cast<M &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<M>::read_element_idx(row,col,reinterpret_cast<M const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return mat_traits<M>::write_element_idx(row,col,reinterpret_cast<M &>(x));
- }
- };
-
- template <class M,int R,int C>
- struct
- deduce_mat<qvm_detail::mref_<M>,R,C>
- {
- typedef mat<typename mat_traits<M>::scalar_type,R,C> type;
- };
-
- template <class M>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_mat<M>::value,
- qvm_detail::mref_<M> const &>::type
- mref( M const & a )
- {
- return reinterpret_cast<qvm_detail::mref_<M> const &>(a);
- }
-
- template <class M>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_mat<M>::value,
- qvm_detail::mref_<M> &>::type
- mref( M & a )
- {
- return reinterpret_cast<qvm_detail::mref_<M> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T,int Rows,int Cols>
- class
- zero_mat_
- {
- zero_mat_( zero_mat_ const & );
- zero_mat_ & operator=( zero_mat_ const & );
- ~zero_mat_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class T,int Rows,int Cols>
- struct
- mat_traits< qvm_detail::zero_mat_<T,Rows,Cols> >
- {
- typedef qvm_detail::zero_mat_<T,Rows,Cols> this_matrix;
- typedef T scalar_type;
- static int const rows=Rows;
- static int const cols=Cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<Cols);
- return scalar_traits<scalar_type>::value(0);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<cols);
- return scalar_traits<scalar_type>::value(0);
- }
- };
-
- template <class T,int Rows,int Cols,int R,int C>
- struct
- deduce_mat<qvm_detail::zero_mat_<T,Rows,Cols>,R,C>
- {
- typedef mat<T,R,C> type;
- };
-
- template <class T,int Rows,int Cols>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::zero_mat_<T,Rows,Cols> const &
- zero_mat()
- {
- return *(qvm_detail::zero_mat_<T,Rows,Cols> const *)qvm_detail::get_valid_ptr_mat_operations();
- }
-
- template <class T,int Dim>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::zero_mat_<T,Dim,Dim> const &
- zero_mat()
- {
- return *(qvm_detail::zero_mat_<T,Dim,Dim> const *)qvm_detail::get_valid_ptr_mat_operations();
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value,
- void>::type
- set_zero( A & a )
- {
- assign(a,zero_mat<typename mat_traits<A>::scalar_type,mat_traits<A>::rows,mat_traits<A>::cols>());
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D,class S>
- struct
- rot_mat_
- {
- typedef S scalar_type;
- scalar_type a[3][3];
-
- BOOST_QVM_INLINE
- rot_mat_(
- scalar_type a00, scalar_type a01, scalar_type a02,
- scalar_type a10, scalar_type a11, scalar_type a12,
- scalar_type a20, scalar_type a21, scalar_type a22 )
- {
- a[0][0] = a00;
- a[0][1] = a01;
- a[0][2] = a02;
- a[1][0] = a10;
- a[1][1] = a11;
- a[1][2] = a12;
- a[2][0] = a20;
- a[2][1] = a21;
- a[2][2] = a22;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <int Row,int Col>
- struct
- rot_m_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const (&)[3][3] )
- {
- return scalar_traits<T>::value(Row==Col);
- }
- };
-
- template <> struct rot_m_get<0,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[0][0]; } };
- template <> struct rot_m_get<0,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[0][1]; } };
- template <> struct rot_m_get<0,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[0][2]; } };
- template <> struct rot_m_get<1,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[1][0]; } };
- template <> struct rot_m_get<1,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[1][1]; } };
- template <> struct rot_m_get<1,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[1][2]; } };
- template <> struct rot_m_get<2,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[2][0]; } };
- template <> struct rot_m_get<2,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[2][1]; } };
- template <> struct rot_m_get<2,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[2][2]; } };
- }
-
- template <class M>
- struct mat_traits;
-
- template <int D,class S>
- struct
- mat_traits< qvm_detail::rot_mat_<D,S> >
- {
- typedef qvm_detail::rot_mat_<D,S> this_matrix;
- typedef typename this_matrix::scalar_type scalar_type;
- static int const rows=D;
- static int const cols=D;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<D);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<D);
- return qvm_detail::rot_m_get<Row,Col>::get(x.a);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<D);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<D);
- return row<3 && col<3?
- x.a[row][col] :
- scalar_traits<scalar_type>::value(row==col);
- }
- };
-
- template <int Dim,class V,class Angle>
- BOOST_QVM_INLINE
- typename enable_if_c<
- is_vec<V>::value && vec_traits<V>::dim==3,
- qvm_detail::rot_mat_<Dim,Angle> >::type
- rot_mat( V const & axis, Angle angle )
- {
- typedef Angle scalar_type;
- scalar_type const x=vec_traits<V>::template read_element<0>(axis);
- scalar_type const y=vec_traits<V>::template read_element<1>(axis);
- scalar_type const z=vec_traits<V>::template read_element<2>(axis);
- scalar_type const m2=x*x+y*y+z*z;
- if( m2==scalar_traits<scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- scalar_type const s = sin<scalar_type>(angle);
- scalar_type const c = cos<scalar_type>(angle);
- scalar_type const x2 = x*x;
- scalar_type const y2 = y*y;
- scalar_type const z2 = z*z;
- scalar_type const xy = x*y;
- scalar_type const xz = x*z;
- scalar_type const yz = y*z;
- scalar_type const xs = x*s;
- scalar_type const ys = y*s;
- scalar_type const zs = z*s;
- scalar_type const one = scalar_traits<scalar_type>::value(1);
- scalar_type const c1 = one-c;
- return qvm_detail::rot_mat_<Dim,Angle>(
- x2+(one-x2)*c, xy*c1-zs, xz*(one-c)+ys,
- xy*c1+zs, y2+(one-y2)*c, yz*c1-xs,
- xz*c1-ys, yz*c1+xs, z2+(one-z2)*c );
- }
-
- template <class A,class B,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3 &&
- is_vec<B>::value && vec_traits<B>::dim==3,
- void>::type
- set_rot( A & a, B const & axis, Angle angle )
- {
- assign(a,rot_mat<mat_traits<A>::rows>(axis,angle));
- }
-
- template <class A,class B,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3 &&
- is_vec<B>::value && vec_traits<B>::dim==3,
- void>::type
- rotate( A & a, B const & axis, Angle angle )
- {
- a *= rot_mat<mat_traits<A>::rows>(axis,angle);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_xzy( Angle x1, Angle z2, Angle y3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(x1);
- scalar_type const s1 = sin<scalar_type>(x1);
- scalar_type const c2 = cos<scalar_type>(z2);
- scalar_type const s2 = sin<scalar_type>(z2);
- scalar_type const c3 = cos<scalar_type>(y3);
- scalar_type const s3 = sin<scalar_type>(y3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c2*c3, -s2, c2*s3,
- s1*s3 + c1*c3*s2, c1*c2, c1*s2*s3 - c3*s1,
- c3*s1*s2 - c1*s3, c2*s1, c1*c3 + s1*s2*s3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_xzy( A & a, Angle x1, Angle z2, Angle y3 )
- {
- assign(a,rot_mat_xzy<mat_traits<A>::rows>(x1,z2,y3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_xzy( A & a, Angle x1, Angle z2, Angle y3 )
- {
- a *= rot_mat_xzy<mat_traits<A>::rows>(x1,z2,y3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_xyz( Angle x1, Angle y2, Angle z3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(x1);
- scalar_type const s1 = sin<scalar_type>(x1);
- scalar_type const c2 = cos<scalar_type>(y2);
- scalar_type const s2 = sin<scalar_type>(y2);
- scalar_type const c3 = cos<scalar_type>(z3);
- scalar_type const s3 = sin<scalar_type>(z3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c2*c3, -c2*s3, s2,
- c1*s3 + c3*s1*s2, c1*c3 - s1*s2*s3, -c2*s1,
- s1*s3 - c1*c3*s2, c3*s1 + c1*s2*s3, c1*c2 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_xyz( A & a, Angle x1, Angle y2, Angle z3 )
- {
- assign(a,rot_mat_xyz<mat_traits<A>::rows>(x1,y2,z3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_xyz( A & a, Angle x1, Angle y2, Angle z3 )
- {
- a *= rot_mat_xyz<mat_traits<A>::rows>(x1,y2,z3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_yxz( Angle y1, Angle x2, Angle z3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(y1);
- scalar_type const s1 = sin<scalar_type>(y1);
- scalar_type const c2 = cos<scalar_type>(x2);
- scalar_type const s2 = sin<scalar_type>(x2);
- scalar_type const c3 = cos<scalar_type>(z3);
- scalar_type const s3 = sin<scalar_type>(z3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c3 + s1*s2*s3, c3*s1*s2 - c1*s3, c2*s1,
- c2*s3, c2*c3, -s2,
- c1*s2*s3 - c3*s1, c1*c3*s2 + s1*s3, c1*c2 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_yxz( A & a, Angle y1, Angle x2, Angle z3 )
- {
- assign(a,rot_mat_yxz<mat_traits<A>::rows>(y1,x2,z3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_yxz( A & a, Angle y1, Angle x2, Angle z3 )
- {
- a *= rot_mat_yxz<mat_traits<A>::rows>(y1,x2,z3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_yzx( Angle y1, Angle z2, Angle x3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(y1);
- scalar_type const s1 = sin<scalar_type>(y1);
- scalar_type const c2 = cos<scalar_type>(z2);
- scalar_type const s2 = sin<scalar_type>(z2);
- scalar_type const c3 = cos<scalar_type>(x3);
- scalar_type const s3 = sin<scalar_type>(x3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c2, s1*s3 - c1*c3*s2, c3*s1 + c1*s2*s3,
- s2, c2*c3, -c2*s3,
- -c2*s1, c1*s3 + c3*s1*s2, c1*c3 - s1*s2*s3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_yzx( A & a, Angle y1, Angle z2, Angle x3 )
- {
- assign(a,rot_mat_yzx<mat_traits<A>::rows>(y1,z2,x3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_yzx( A & a, Angle y1, Angle z2, Angle x3 )
- {
- a *= rot_mat_yzx<mat_traits<A>::rows>(y1,z2,x3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_zyx( Angle z1, Angle y2, Angle x3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(z1);
- scalar_type const s1 = sin<scalar_type>(z1);
- scalar_type const c2 = cos<scalar_type>(y2);
- scalar_type const s2 = sin<scalar_type>(y2);
- scalar_type const c3 = cos<scalar_type>(x3);
- scalar_type const s3 = sin<scalar_type>(x3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c2, c1*s2*s3 - c3*s1, s1*s3 + c1*c3*s2,
- c2*s1, c1*c3 + s1*s2*s3, c3*s1*s2 - c1*s3,
- -s2, c2*s3, c2*c3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_zyx( A & a, Angle z1, Angle y2, Angle x3 )
- {
- assign(a,rot_mat_zyx<mat_traits<A>::rows>(z1,y2,x3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_zyx( A & a, Angle z1, Angle y2, Angle x3 )
- {
- a *= rot_mat_zyx<mat_traits<A>::rows>(z1,y2,x3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_zxy( Angle z1, Angle x2, Angle y3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(z1);
- scalar_type const s1 = sin<scalar_type>(z1);
- scalar_type const c2 = cos<scalar_type>(x2);
- scalar_type const s2 = sin<scalar_type>(x2);
- scalar_type const c3 = cos<scalar_type>(y3);
- scalar_type const s3 = sin<scalar_type>(y3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c3 - s1*s2*s3, -c2*s1, c1*s3 + c3*s1*s2,
- c3*s1 + c1*s2*s3, c1*c2, s1*s3 - c1*c3*s2,
- -c2*s3, s2, c2*c3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_zxy( A & a, Angle z1, Angle x2, Angle y3 )
- {
- assign(a,rot_mat_zxy<mat_traits<A>::rows>(z1,x2,y3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_zxy( A & a, Angle z1, Angle x2, Angle y3 )
- {
- a *= rot_mat_zxy<mat_traits<A>::rows>(z1,x2,y3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_xzx( Angle x1, Angle z2, Angle x3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(x1);
- scalar_type const s1 = sin<scalar_type>(x1);
- scalar_type const c2 = cos<scalar_type>(z2);
- scalar_type const s2 = sin<scalar_type>(z2);
- scalar_type const c3 = cos<scalar_type>(x3);
- scalar_type const s3 = sin<scalar_type>(x3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c2, -c3*s2, s2*s3,
- c1*s2, c1*c2*c3 - s1*s3, -c3*s1 - c1*c2*s3,
- s1*s2, c1*s3 + c2*c3*s1, c1*c3 - c2*s1*s3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_xzx( A & a, Angle x1, Angle z2, Angle x3 )
- {
- assign(a,rot_mat_xzx<mat_traits<A>::rows>(x1,z2,x3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_xzx( A & a, Angle x1, Angle z2, Angle x3 )
- {
- a *= rot_mat_xzx<mat_traits<A>::rows>(x1,z2,x3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_xyx( Angle x1, Angle y2, Angle x3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(x1);
- scalar_type const s1 = sin<scalar_type>(x1);
- scalar_type const c2 = cos<scalar_type>(y2);
- scalar_type const s2 = sin<scalar_type>(y2);
- scalar_type const c3 = cos<scalar_type>(x3);
- scalar_type const s3 = sin<scalar_type>(x3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c2, s2*s3, c3*s2,
- s1*s2, c1*c3 - c2*s1*s3, -c1*s3 - c2*c3*s1,
- -c1*s2, c3*s1 + c1*c2*s3, c1*c2*c3 - s1*s3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_xyx( A & a, Angle x1, Angle y2, Angle x3 )
- {
- assign(a,rot_mat_xyx<mat_traits<A>::rows>(x1,y2,x3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_xyx( A & a, Angle x1, Angle y2, Angle x3 )
- {
- a *= rot_mat_xyx<mat_traits<A>::rows>(x1,y2,x3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_yxy( Angle y1, Angle x2, Angle y3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(y1);
- scalar_type const s1 = sin<scalar_type>(y1);
- scalar_type const c2 = cos<scalar_type>(x2);
- scalar_type const s2 = sin<scalar_type>(x2);
- scalar_type const c3 = cos<scalar_type>(y3);
- scalar_type const s3 = sin<scalar_type>(y3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c3 - c2*s1*s3, s1*s2, c1*s3 + c2*c3*s1,
- s2*s3, c2, -c3*s2,
- -c3*s1 - c1*c2*s3, c1*s2, c1*c2*c3 - s1*s3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_yxy( A & a, Angle y1, Angle x2, Angle y3 )
- {
- assign(a,rot_mat_yxy<mat_traits<A>::rows>(y1,x2,y3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_yxy( A & a, Angle y1, Angle x2, Angle y3 )
- {
- a *= rot_mat_yxy<mat_traits<A>::rows>(y1,x2,y3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_yzy( Angle y1, Angle z2, Angle y3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(y1);
- scalar_type const s1 = sin<scalar_type>(y1);
- scalar_type const c2 = cos<scalar_type>(z2);
- scalar_type const s2 = sin<scalar_type>(z2);
- scalar_type const c3 = cos<scalar_type>(y3);
- scalar_type const s3 = sin<scalar_type>(y3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c2*c3 - s1*s3, -c1*s2, c3*s1 + c1*c2*s3,
- c3*s2, c2, s2*s3,
- -c1*s3 - c2*c3*s1, s1*s2, c1*c3 - c2*s1*s3 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_yzy( A & a, Angle y1, Angle z2, Angle y3 )
- {
- assign(a,rot_mat_yzy<mat_traits<A>::rows>(y1,z2,y3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_yzy( A & a, Angle y1, Angle z2, Angle y3 )
- {
- a *= rot_mat_yzy<mat_traits<A>::rows>(y1,z2,y3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_zyz( Angle z1, Angle y2, Angle z3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(z1);
- scalar_type const s1 = sin<scalar_type>(z1);
- scalar_type const c2 = cos<scalar_type>(y2);
- scalar_type const s2 = sin<scalar_type>(y2);
- scalar_type const c3 = cos<scalar_type>(z3);
- scalar_type const s3 = sin<scalar_type>(z3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c2*c3 - s1*s3, -c3*s1 - c1*c2*s3, c1*s2,
- c1*s3 + c2*c3*s1, c1*c3 - c2*s1*s3, s1*s2,
- -c3*s2, s2*s3, c2 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_zyz( A & a, Angle z1, Angle y2, Angle z3 )
- {
- assign(a,rot_mat_zyz<mat_traits<A>::rows>(z1,y2,z3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_zyz( A & a, Angle z1, Angle y2, Angle z3 )
- {
- a *= rot_mat_zyz<mat_traits<A>::rows>(z1,y2,z3);
- }
-
- ////////////////////////////////////////////////
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE
- qvm_detail::rot_mat_<Dim,Angle>
- rot_mat_zxz( Angle z1, Angle x2, Angle z3 )
- {
- typedef Angle scalar_type;
- scalar_type const c1 = cos<scalar_type>(z1);
- scalar_type const s1 = sin<scalar_type>(z1);
- scalar_type const c2 = cos<scalar_type>(x2);
- scalar_type const s2 = sin<scalar_type>(x2);
- scalar_type const c3 = cos<scalar_type>(z3);
- scalar_type const s3 = sin<scalar_type>(z3);
- return qvm_detail::rot_mat_<Dim,Angle>(
- c1*c3 - c2*s1*s3, -c1*s3 - c2*c3*s1, s1*s2,
- c3*s1 + c1*c2*s3, c1*c2*c3 - s1*s3, -c1*s2,
- s2*s3, c3*s2, c2 );
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- set_rot_zxz( A & a, Angle z1, Angle x2, Angle z3 )
- {
- assign(a,rot_mat_zxz<mat_traits<A>::rows>(z1,x2,z3));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- mat_traits<A>::rows>=3,
- void>::type
- rotate_zxz( A & a, Angle z1, Angle x2, Angle z3 )
- {
- a *= rot_mat_zxz<mat_traits<A>::rows>(z1,x2,z3);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Dim,class Angle>
- struct
- rotx_mat_
- {
- BOOST_QVM_INLINE_TRIVIAL
- rotx_mat_()
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- rotx_mat_( rotx_mat_ const & );
- rotx_mat_ & operator=( rotx_mat_ const & );
- ~rotx_mat_();
- };
-
- template <int Row,int Col>
- struct
- rotx_m_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & )
- {
- return scalar_traits<T>::value(Row==Col);
- }
- };
-
- template <>
- struct
- rotx_m_get<1,1>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle);
- }
- };
-
- template <>
- struct
- rotx_m_get<1,2>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return -sin<T>(angle);
- }
- };
-
- template <>
- struct
- rotx_m_get<2,1>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return sin<T>(angle);
- }
- };
-
- template <>
- struct
- rotx_m_get<2,2>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle);
- }
- };
- }
-
- template <int Dim,class Angle>
- struct
- mat_traits< qvm_detail::rotx_mat_<Dim,Angle> >
- {
- typedef qvm_detail::rotx_mat_<Dim,Angle> this_matrix;
- typedef Angle scalar_type;
- static int const rows=Dim;
- static int const cols=Dim;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Dim);
- BOOST_QVM_STATIC_ASSERT(Col<Dim);
- return qvm_detail::rotx_m_get<Row,Col>::get(reinterpret_cast<Angle const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(row<Dim);
- BOOST_QVM_ASSERT(col<Dim);
- Angle const & a=reinterpret_cast<Angle const &>(x);
- if( row==1 )
- {
- if( col==1 )
- return cos<scalar_type>(a);
- if( col==2 )
- return -sin<scalar_type>(a);
- }
- if( row==2 )
- {
- if( col==1 )
- return sin<scalar_type>(a);
- if( col==2 )
- return cos<scalar_type>(a);
- }
- return scalar_traits<scalar_type>::value(row==col);
- }
- };
-
- template <int Dim,class Angle>
- struct
- deduce_mat<qvm_detail::rotx_mat_<Dim,Angle>,Dim,Dim>
- {
- typedef mat<Angle,Dim,Dim> type;
- };
-
- template <int Dim,class Angle>
- struct
- deduce_mat2<qvm_detail::rotx_mat_<Dim,Angle>,qvm_detail::rotx_mat_<Dim,Angle>,Dim,Dim>
- {
- typedef mat<Angle,Dim,Dim> type;
- };
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::rotx_mat_<Dim,Angle> const &
- rotx_mat( Angle const & angle )
- {
- BOOST_QVM_STATIC_ASSERT(Dim>=3);
- return reinterpret_cast<qvm_detail::rotx_mat_<Dim,Angle> const &>(angle);
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows>=3 &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- set_rotx( A & a, Angle angle )
- {
- assign(a,rotx_mat<mat_traits<A>::rows>(angle));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows>=3 &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- rotate_x( A & a, Angle angle )
- {
- a *= rotx_mat<mat_traits<A>::rows>(angle);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Dim,class Angle>
- struct
- roty_mat_
- {
- BOOST_QVM_INLINE_TRIVIAL
- roty_mat_()
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- roty_mat_( roty_mat_ const & );
- roty_mat_ & operator=( roty_mat_ const & );
- ~roty_mat_();
- };
-
- template <int Row,int Col>
- struct
- roty_m_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & )
- {
- return scalar_traits<T>::value(Row==Col);
- }
- };
-
- template <>
- struct
- roty_m_get<0,0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle);
- }
- };
-
- template <>
- struct
- roty_m_get<0,2>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return sin<T>(angle);
- }
- };
-
- template <>
- struct
- roty_m_get<2,0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return -sin<T>(angle);
- }
- };
-
- template <>
- struct
- roty_m_get<2,2>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle);
- }
- };
- }
-
- template <int Dim,class Angle>
- struct
- mat_traits< qvm_detail::roty_mat_<Dim,Angle> >
- {
- typedef qvm_detail::roty_mat_<Dim,Angle> this_matrix;
- typedef Angle scalar_type;
- static int const rows=Dim;
- static int const cols=Dim;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Dim);
- BOOST_QVM_STATIC_ASSERT(Col<Dim);
- return qvm_detail::roty_m_get<Row,Col>::get(reinterpret_cast<Angle const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(row<Dim);
- BOOST_QVM_ASSERT(col<Dim);
- Angle const & a=reinterpret_cast<Angle const &>(x);
- if( row==0 )
- {
- if( col==0 )
- return cos<scalar_type>(a);
- if( col==2 )
- return sin<scalar_type>(a);
- }
- if( row==2 )
- {
- if( col==0 )
- return -sin<scalar_type>(a);
- if( col==2 )
- return cos<scalar_type>(a);
- }
- return scalar_traits<scalar_type>::value(row==col);
- }
- };
-
- template <int Dim,class Angle>
- struct
- deduce_mat<qvm_detail::roty_mat_<Dim,Angle>,Dim,Dim>
- {
- typedef mat<Angle,Dim,Dim> type;
- };
-
- template <int Dim,class Angle>
- struct
- deduce_mat2<qvm_detail::roty_mat_<Dim,Angle>,qvm_detail::roty_mat_<Dim,Angle>,Dim,Dim>
- {
- typedef mat<Angle,Dim,Dim> type;
- };
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::roty_mat_<Dim,Angle> const &
- roty_mat( Angle const & angle )
- {
- BOOST_QVM_STATIC_ASSERT(Dim>=3);
- return reinterpret_cast<qvm_detail::roty_mat_<Dim,Angle> const &>(angle);
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows>=2 &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- set_roty( A & a, Angle angle )
- {
- assign(a,roty_mat<mat_traits<A>::rows>(angle));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows>=3 &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- rotate_y( A & a, Angle angle )
- {
- a *= roty_mat<mat_traits<A>::rows>(angle);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int Dim,class Angle>
- struct
- rotz_mat_
- {
- BOOST_QVM_INLINE_TRIVIAL
- rotz_mat_()
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- rotz_mat_( rotz_mat_ const & );
- rotz_mat_ & operator=( rotz_mat_ const & );
- ~rotz_mat_();
- };
-
- template <int Row,int Col>
- struct
- rotz_m_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & )
- {
- return scalar_traits<T>::value(Row==Col);
- }
- };
-
- template <>
- struct
- rotz_m_get<0,0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle);
- }
- };
-
- template <>
- struct
- rotz_m_get<0,1>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return -sin<T>(angle);
- }
- };
-
- template <>
- struct
- rotz_m_get<1,0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return sin<T>(angle);
- }
- };
-
- template <>
- struct
- rotz_m_get<1,1>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle);
- }
- };
- }
-
- template <int Dim,class Angle>
- struct
- mat_traits< qvm_detail::rotz_mat_<Dim,Angle> >
- {
- typedef qvm_detail::rotz_mat_<Dim,Angle> this_matrix;
- typedef Angle scalar_type;
- static int const rows=Dim;
- static int const cols=Dim;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Dim);
- BOOST_QVM_STATIC_ASSERT(Col<Dim);
- return qvm_detail::rotz_m_get<Row,Col>::get(reinterpret_cast<Angle const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(row<Dim);
- BOOST_QVM_ASSERT(col<Dim);
- Angle const & a=reinterpret_cast<Angle const &>(x);
- if( row==0 )
- {
- if( col==0 )
- return cos<scalar_type>(a);
- if( col==1 )
- return -sin<scalar_type>(a);
- }
- if( row==1 )
- {
- if( col==0 )
- return sin<scalar_type>(a);
- if( col==1 )
- return cos<scalar_type>(a);
- }
- return scalar_traits<scalar_type>::value(row==col);
- }
- };
-
- template <int Dim,class Angle>
- struct
- deduce_mat<qvm_detail::rotz_mat_<Dim,Angle>,Dim,Dim>
- {
- typedef mat<Angle,Dim,Dim> type;
- };
-
- template <int Dim,class Angle,int R,int C>
- struct
- deduce_mat2<qvm_detail::rotz_mat_<Dim,Angle>,qvm_detail::rotz_mat_<Dim,Angle>,R,C>
- {
- typedef mat<Angle,R,C> type;
- };
-
- template <int Dim,class Angle>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::rotz_mat_<Dim,Angle> const &
- rotz_mat( Angle const & angle )
- {
- BOOST_QVM_STATIC_ASSERT(Dim>=2);
- return reinterpret_cast<qvm_detail::rotz_mat_<Dim,Angle> const &>(angle);
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows>=2 &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- set_rotz( A & a, Angle angle )
- {
- assign(a,rotz_mat<mat_traits<A>::rows>(angle));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows>=2 &&
- mat_traits<A>::rows==mat_traits<A>::cols,
- void>::type
- rotate_z( A & a, Angle angle )
- {
- a *= rotz_mat<mat_traits<A>::rows>(angle);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- inverse_m_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_TRIVIAL
- typename lazy_enable_if_c<
- is_mat<A>::value && is_scalar<B>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- !qvm_detail::inverse_m_defined<mat_traits<A>::rows>::value,
- deduce_mat<A> >::type
- inverse( A const & a, B det )
- {
- typedef typename mat_traits<A>::scalar_type T;
- BOOST_QVM_ASSERT(det!=scalar_traits<T>::value(0));
- T f=scalar_traits<T>::value(1)/det;
- typedef typename deduce_mat<A>::type cofactor_return_type;
- cofactor_return_type c=qvm_detail::cofactor_impl(a);
- return reinterpret_cast<qvm_detail::transposed_<cofactor_return_type> const &>(c) * f;
- }
-
- template <class A>
- BOOST_QVM_INLINE_TRIVIAL
- typename lazy_enable_if_c<
- is_mat<A>::value &&
- mat_traits<A>::rows==mat_traits<A>::cols &&
- !qvm_detail::inverse_m_defined<mat_traits<A>::rows>::value,
- deduce_mat<A> >::type
- inverse( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T det=determinant(a);
- if( det==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
- return inverse(a,det);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- sfinae
- {
- using ::boost::qvm::to_string;
- using ::boost::qvm::assign;
- using ::boost::qvm::determinant;
- using ::boost::qvm::cmp;
- using ::boost::qvm::convert_to;
- using ::boost::qvm::set_identity;
- using ::boost::qvm::set_zero;
- using ::boost::qvm::scalar_cast;
- using ::boost::qvm::operator/=;
- using ::boost::qvm::operator/;
- using ::boost::qvm::operator==;
- using ::boost::qvm::operator-=;
- using ::boost::qvm::operator-;
- using ::boost::qvm::operator*=;
- using ::boost::qvm::operator*;
- using ::boost::qvm::operator!=;
- using ::boost::qvm::operator+=;
- using ::boost::qvm::operator+;
- using ::boost::qvm::mref;
- using ::boost::qvm::rot_mat;
- using ::boost::qvm::set_rot;
- using ::boost::qvm::rotate;
- using ::boost::qvm::set_rotx;
- using ::boost::qvm::rotate_x;
- using ::boost::qvm::set_roty;
- using ::boost::qvm::rotate_y;
- using ::boost::qvm::set_rotz;
- using ::boost::qvm::rotate_z;
- using ::boost::qvm::inverse;
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_4F915D9ED30A11DF962186E3DFD72085
+#define UUID_4F915D9ED30A11DF962186E3DFD72085
+
+#include <boost/qvm/detail/mat_assign.hpp>
+#include <boost/qvm/mat_operations2.hpp>
+#include <boost/qvm/mat_operations3.hpp>
+#include <boost/qvm/mat_operations4.hpp>
+#include <boost/qvm/math.hpp>
+#include <boost/qvm/detail/determinant_impl.hpp>
+#include <boost/qvm/detail/cofactor_impl.hpp>
+#include <boost/qvm/detail/transp_impl.hpp>
+#include <boost/qvm/scalar_traits.hpp>
+#include <string>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ BOOST_QVM_INLINE_CRITICAL
+ void const *
+ get_valid_ptr_mat_operations()
+ {
+ static int const obj=0;
+ return &obj;
+ }
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_to_string_detail
+ {
+ template <class T>
+ std::string to_string( T const & x );
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int C>
+ struct
+ to_string_m_defined
+ {
+ static bool const value=false;
+ };
+
+ template <int I,int SizeMinusOne>
+ struct
+ to_string_matrix_elements
+ {
+ template <class A>
+ static
+ std::string
+ f( A const & a )
+ {
+ using namespace qvm_to_string_detail;
+ return
+ ( (I%mat_traits<A>::cols)==0 ? '(' : ',' ) +
+ to_string(mat_traits<A>::template read_element<I/mat_traits<A>::cols,I%mat_traits<A>::cols>(a)) +
+ ( (I%mat_traits<A>::cols)==mat_traits<A>::cols-1 ? ")" : "" ) +
+ to_string_matrix_elements<I+1,SizeMinusOne>::f(a);
+ }
+ };
+
+ template <int SizeMinusOne>
+ struct
+ to_string_matrix_elements<SizeMinusOne,SizeMinusOne>
+ {
+ template <class A>
+ static
+ std::string
+ f( A const & a )
+ {
+ using namespace qvm_to_string_detail;
+ return
+ ( (SizeMinusOne%mat_traits<A>::cols)==0 ? '(' : ',' ) +
+ to_string(mat_traits<A>::template read_element<SizeMinusOne/mat_traits<A>::cols,SizeMinusOne%mat_traits<A>::cols>(a)) +
+ ')';
+ }
+ };
+ }
+
+ template <class A>
+ inline
+ typename boost::enable_if_c<
+ is_mat<A>::value &&
+ !qvm_detail::to_string_m_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ std::string>::type
+ to_string( A const & a )
+ {
+ return "("+qvm_detail::to_string_matrix_elements<0,mat_traits<A>::rows*mat_traits<A>::cols-1>::f(a)+')';
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A,class B,class Cmp>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols,
+ bool>::type
+ cmp( A const & a, B const & b, Cmp f )
+ {
+ typedef typename deduce_scalar<
+ typename mat_traits<A>::scalar_type,
+ typename mat_traits<B>::scalar_type>::type T;
+ int const rows=mat_traits<A>::rows;
+ int const cols=mat_traits<A>::cols;
+ T m1[rows][cols]; assign(m1,a);
+ T m2[rows][cols]; assign(m2,b);
+ for( int i=0; i!=rows; ++i )
+ for( int j=0; j!=cols; ++j )
+ if( !f(m1[i][j],m2[i][j]) )
+ return false;
+ return true;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ convert_to_m_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_mat<R>::value && is_mat<A>::value &&
+ mat_traits<R>::rows==mat_traits<A>::rows &&
+ mat_traits<R>::cols==mat_traits<A>::cols &&
+ !qvm_detail::convert_to_m_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r; assign(r,a);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ determinant_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ !qvm_detail::determinant_defined<mat_traits<A>::rows>::value,
+ typename mat_traits<A>::scalar_type>::type
+ determinant( A const & a )
+ {
+ return qvm_detail::determinant_impl(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T,int Dim>
+ class
+ identity_mat_
+ {
+ identity_mat_( identity_mat_ const & );
+ identity_mat_ & operator=( identity_mat_ const & );
+ ~identity_mat_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class T,int Dim>
+ struct
+ mat_traits< qvm_detail::identity_mat_<T,Dim> >
+ {
+ typedef qvm_detail::identity_mat_<T,Dim> this_matrix;
+ typedef T scalar_type;
+ static int const rows=Dim;
+ static int const cols=Dim;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & /*x*/ )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Dim);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<Dim);
+ return scalar_traits<scalar_type>::value(Row==Col);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & /*x*/ )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<Dim);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<Dim);
+ return scalar_traits<scalar_type>::value(row==col);
+ }
+ };
+
+ template <class T,int Dim>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::identity_mat_<T,Dim> const &
+ identity_mat()
+ {
+ return *(qvm_detail::identity_mat_<T,Dim> const *)qvm_detail::get_valid_ptr_mat_operations();
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ set_identity( A & a )
+ {
+ assign(a,identity_mat<typename mat_traits<A>::scalar_type,mat_traits<A>::rows>());
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ struct
+ projection_
+ {
+ T const _00;
+ T const _11;
+ T const _22;
+ T const _23;
+ T const _32;
+
+ BOOST_QVM_INLINE_TRIVIAL
+ projection_( T _00, T _11, T _22, T _23, T _32 ):
+ _00(_00),
+ _11(_11),
+ _22(_22),
+ _23(_23),
+ _32(_32)
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <int Row,int Col>
+ struct
+ projection_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( projection_<T> const & )
+ {
+ return scalar_traits<T>::value(0);
+ }
+ };
+
+ template <> struct projection_get<0,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._00; } };
+ template <> struct projection_get<1,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._11; } };
+ template <> struct projection_get<2,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._22; } };
+ template <> struct projection_get<2,3> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._23; } };
+ template <> struct projection_get<3,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( projection_<T> const & m ) { return m._32; } };
+ }
+
+ template <class T>
+ struct
+ mat_traits< qvm_detail::projection_<T> >
+ {
+ typedef qvm_detail::projection_<T> this_matrix;
+ typedef T scalar_type;
+ static int const rows=4;
+ static int const cols=4;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return qvm_detail::projection_get<Row,Col>::get(x);
+ }
+ };
+
+ template <class T>
+ qvm_detail::projection_<T>
+ BOOST_QVM_INLINE_OPERATIONS
+ perspective_lh( T fov_y, T aspect_ratio, T z_near, T z_far )
+ {
+ T const one = scalar_traits<T>::value(1);
+ T const ys = one/tan<T>(fov_y/scalar_traits<T>::value(2));
+ T const xs = ys/aspect_ratio;
+ T const zd = z_far-z_near;
+ T const z1 = z_far/zd;
+ T const z2 = -z_near*z1;
+ return qvm_detail::projection_<T>(xs,ys,z1,z2,one);
+ }
+
+ template <class T>
+ qvm_detail::projection_<T>
+ BOOST_QVM_INLINE_OPERATIONS
+ perspective_rh( T fov_y, T aspect_ratio, T z_near, T z_far )
+ {
+ T const one = scalar_traits<T>::value(1);
+ T const ys = one/tan<T>(fov_y/scalar_traits<T>::value(2));
+ T const xs = ys/aspect_ratio;
+ T const zd = z_near-z_far;
+ T const z1 = z_far/zd;
+ T const z2 = z_near*z1;
+ return qvm_detail::projection_<T>(xs,ys,z1,z2,-one);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalType,class Scalar>
+ class
+ matrix_scalar_cast_
+ {
+ matrix_scalar_cast_( matrix_scalar_cast_ const & );
+ matrix_scalar_cast_ & operator=( matrix_scalar_cast_ const & );
+ ~matrix_scalar_cast_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ matrix_scalar_cast_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <bool> struct scalar_cast_matrix_filter { };
+ template <> struct scalar_cast_matrix_filter<true> { typedef int type; };
+ }
+
+ template <class OriginalType,class Scalar>
+ struct
+ mat_traits< qvm_detail::matrix_scalar_cast_<OriginalType,Scalar> >
+ {
+ typedef Scalar scalar_type;
+ typedef qvm_detail::matrix_scalar_cast_<OriginalType,Scalar> this_matrix;
+ static int const rows=mat_traits<OriginalType>::rows;
+ static int const cols=mat_traits<OriginalType>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return scalar_type(mat_traits<OriginalType>::template read_element<Row,Col>(reinterpret_cast<OriginalType const &>(x)));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return scalar_type(mat_traits<OriginalType>::read_element_idx(col,row,reinterpret_cast<OriginalType const &>(x)));
+ }
+ };
+
+ template <class OriginalType,class Scalar,int R,int C>
+ struct
+ deduce_mat<qvm_detail::matrix_scalar_cast_<OriginalType,Scalar>,R,C>
+ {
+ typedef mat<Scalar,R,C> type;
+ };
+
+ template <class Scalar,class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::matrix_scalar_cast_<T,Scalar> const &
+ scalar_cast( T const & x, typename qvm_detail::scalar_cast_matrix_filter<is_mat<T>::value>::type=0 )
+ {
+ return reinterpret_cast<qvm_detail::matrix_scalar_cast_<T,Scalar> const &>(x);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ div_eq_ms_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_scalar<B>::value &&
+ !qvm_detail::div_eq_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<A>::write_element_idx(i,j,a)/=b;
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ div_ms_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_scalar<B>::value &&
+ !qvm_detail::div_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ deduce_mat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)/b;
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ eq_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::eq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ if( mat_traits<A>::read_element_idx(i,j,a)!=mat_traits<B>::read_element_idx(i,j,b) )
+ return false;
+ return true;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ minus_eq_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::minus_eq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<A>::write_element_idx(i,j,a)-=mat_traits<B>::read_element_idx(i,j,b);
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ minus_m_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value &&
+ !qvm_detail::minus_m_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ deduce_mat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<R>::write_element_idx(i,j,r)=-mat_traits<A>::read_element_idx(i,j,a);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ minus_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::minus_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols>::type R;
+ R r;
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)-mat_traits<B>::read_element_idx(i,j,b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ mul_eq_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::mul_eq_mm_defined<mat_traits<A>::rows>::value,
+ A &>::type
+ operator*=( A & r, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ Ta a[mat_traits<A>::rows][mat_traits<A>::cols];
+ for( int i=0; i<mat_traits<A>::rows; ++i )
+ for( int j=0; j<mat_traits<B>::cols; ++j )
+ a[i][j]=mat_traits<A>::read_element_idx(i,j,r);
+ for( int i=0; i<mat_traits<A>::rows; ++i )
+ for( int j=0; j<mat_traits<B>::cols; ++j )
+ {
+ Ta x(scalar_traits<Ta>::value(0));
+ for( int k=0; k<mat_traits<A>::cols; ++k )
+ x += a[i][k]*mat_traits<B>::read_element_idx(k,j,b);
+ mat_traits<A>::write_element_idx(i,j,r) = x;
+ }
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ mul_eq_ms_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_scalar<B>::value &&
+ !qvm_detail::mul_eq_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<A>::write_element_idx(i,j,a)*=b;
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int R,int CR,int C>
+ struct
+ mul_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::cols==mat_traits<B>::rows &&
+ !qvm_detail::mul_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols,mat_traits<B>::cols>::value,
+ deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<B>::cols> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<B>::cols>::type R;
+ R r;
+ for( int i=0; i<mat_traits<A>::rows; ++i )
+ for( int j=0; j<mat_traits<B>::cols; ++j )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ Ta x(scalar_traits<Ta>::value(0));
+ for( int k=0; k<mat_traits<A>::cols; ++k )
+ x += mat_traits<A>::read_element_idx(i,k,a)*mat_traits<B>::read_element_idx(k,j,b);
+ mat_traits<R>::write_element_idx(i,j,r) = x;
+ }
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ mul_ms_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_scalar<B>::value &&
+ !qvm_detail::mul_ms_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ deduce_mat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_mat<A>::type R;
+ R r;
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)*b;
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ mul_sm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && is_mat<B>::value &&
+ !qvm_detail::mul_sm_defined<mat_traits<B>::rows,mat_traits<B>::cols>::value,
+ deduce_mat<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_mat<B>::type R;
+ R r;
+ for( int i=0; i!=mat_traits<B>::rows; ++i )
+ for( int j=0; j!=mat_traits<B>::cols; ++j )
+ mat_traits<R>::write_element_idx(i,j,r)=a*mat_traits<B>::read_element_idx(i,j,b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ neq_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::neq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ if( mat_traits<A>::read_element_idx(i,j,a)!=mat_traits<B>::read_element_idx(i,j,b) )
+ return true;
+ return false;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ plus_eq_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::plus_eq_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<A>::write_element_idx(i,j,a)+=mat_traits<B>::read_element_idx(i,j,b);
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ plus_mm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_mat<B>::value &&
+ mat_traits<A>::rows==mat_traits<B>::rows &&
+ mat_traits<A>::cols==mat_traits<B>::cols &&
+ !qvm_detail::plus_mm_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_mat2<A,B,mat_traits<A>::rows,mat_traits<A>::cols>::type R;
+ R r;
+ for( int i=0; i!=mat_traits<A>::rows; ++i )
+ for( int j=0; j!=mat_traits<A>::cols; ++j )
+ mat_traits<R>::write_element_idx(i,j,r)=mat_traits<A>::read_element_idx(i,j,a)+mat_traits<B>::read_element_idx(i,j,b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ class
+ mref_
+ {
+ mref_( mref_ const & );
+ mref_ & operator=( mref_ const & );
+ ~mref_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ mref_ &
+ operator=( R const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class M>
+ struct
+ mat_traits< qvm_detail::mref_<M> >
+ {
+ typedef typename mat_traits<M>::scalar_type scalar_type;
+ typedef qvm_detail::mref_<M> this_matrix;
+ static int const rows=mat_traits<M>::rows;
+ static int const cols=mat_traits<M>::cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<M>::template read_element<Row,Col>(reinterpret_cast<M const &>(x));
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<cols);
+ return mat_traits<M>::template write_element<Row,Col>(reinterpret_cast<M &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<M>::read_element_idx(row,col,reinterpret_cast<M const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return mat_traits<M>::write_element_idx(row,col,reinterpret_cast<M &>(x));
+ }
+ };
+
+ template <class M,int R,int C>
+ struct
+ deduce_mat<qvm_detail::mref_<M>,R,C>
+ {
+ typedef mat<typename mat_traits<M>::scalar_type,R,C> type;
+ };
+
+ template <class M>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_mat<M>::value,
+ qvm_detail::mref_<M> const &>::type
+ mref( M const & a )
+ {
+ return reinterpret_cast<qvm_detail::mref_<M> const &>(a);
+ }
+
+ template <class M>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_mat<M>::value,
+ qvm_detail::mref_<M> &>::type
+ mref( M & a )
+ {
+ return reinterpret_cast<qvm_detail::mref_<M> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T,int Rows,int Cols>
+ class
+ zero_mat_
+ {
+ zero_mat_( zero_mat_ const & );
+ zero_mat_ & operator=( zero_mat_ const & );
+ ~zero_mat_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class T,int Rows,int Cols>
+ struct
+ mat_traits< qvm_detail::zero_mat_<T,Rows,Cols> >
+ {
+ typedef qvm_detail::zero_mat_<T,Rows,Cols> this_matrix;
+ typedef T scalar_type;
+ static int const rows=Rows;
+ static int const cols=Cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<Cols);
+ return scalar_traits<scalar_type>::value(0);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<cols);
+ return scalar_traits<scalar_type>::value(0);
+ }
+ };
+
+ template <class T,int Rows,int Cols,int R,int C>
+ struct
+ deduce_mat<qvm_detail::zero_mat_<T,Rows,Cols>,R,C>
+ {
+ typedef mat<T,R,C> type;
+ };
+
+ template <class T,int Rows,int Cols>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::zero_mat_<T,Rows,Cols> const &
+ zero_mat()
+ {
+ return *(qvm_detail::zero_mat_<T,Rows,Cols> const *)qvm_detail::get_valid_ptr_mat_operations();
+ }
+
+ template <class T,int Dim>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::zero_mat_<T,Dim,Dim> const &
+ zero_mat()
+ {
+ return *(qvm_detail::zero_mat_<T,Dim,Dim> const *)qvm_detail::get_valid_ptr_mat_operations();
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value,
+ void>::type
+ set_zero( A & a )
+ {
+ assign(a,zero_mat<typename mat_traits<A>::scalar_type,mat_traits<A>::rows,mat_traits<A>::cols>());
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D,class S>
+ struct
+ rot_mat_
+ {
+ typedef S scalar_type;
+ scalar_type a[3][3];
+
+ BOOST_QVM_INLINE
+ rot_mat_(
+ scalar_type a00, scalar_type a01, scalar_type a02,
+ scalar_type a10, scalar_type a11, scalar_type a12,
+ scalar_type a20, scalar_type a21, scalar_type a22 )
+ {
+ a[0][0] = a00;
+ a[0][1] = a01;
+ a[0][2] = a02;
+ a[1][0] = a10;
+ a[1][1] = a11;
+ a[1][2] = a12;
+ a[2][0] = a20;
+ a[2][1] = a21;
+ a[2][2] = a22;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <int Row,int Col>
+ struct
+ rot_m_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const (&)[3][3] )
+ {
+ return scalar_traits<T>::value(Row==Col);
+ }
+ };
+
+ template <> struct rot_m_get<0,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[0][0]; } };
+ template <> struct rot_m_get<0,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[0][1]; } };
+ template <> struct rot_m_get<0,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[0][2]; } };
+ template <> struct rot_m_get<1,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[1][0]; } };
+ template <> struct rot_m_get<1,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[1][1]; } };
+ template <> struct rot_m_get<1,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[1][2]; } };
+ template <> struct rot_m_get<2,0> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[2][0]; } };
+ template <> struct rot_m_get<2,1> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[2][1]; } };
+ template <> struct rot_m_get<2,2> { template <class T> static BOOST_QVM_INLINE_CRITICAL T get( T const (&a)[3][3] ) { return a[2][2]; } };
+ }
+
+ template <class M>
+ struct mat_traits;
+
+ template <int D,class S>
+ struct
+ mat_traits< qvm_detail::rot_mat_<D,S> >
+ {
+ typedef qvm_detail::rot_mat_<D,S> this_matrix;
+ typedef typename this_matrix::scalar_type scalar_type;
+ static int const rows=D;
+ static int const cols=D;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<D);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<D);
+ return qvm_detail::rot_m_get<Row,Col>::get(x.a);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<D);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<D);
+ return row<3 && col<3?
+ x.a[row][col] :
+ scalar_traits<scalar_type>::value(row==col);
+ }
+ };
+
+ template <int Dim,class V,class Angle>
+ BOOST_QVM_INLINE
+ typename enable_if_c<
+ is_vec<V>::value && vec_traits<V>::dim==3,
+ qvm_detail::rot_mat_<Dim,Angle> >::type
+ rot_mat( V const & axis, Angle angle )
+ {
+ typedef Angle scalar_type;
+ scalar_type const x=vec_traits<V>::template read_element<0>(axis);
+ scalar_type const y=vec_traits<V>::template read_element<1>(axis);
+ scalar_type const z=vec_traits<V>::template read_element<2>(axis);
+ scalar_type const m2=x*x+y*y+z*z;
+ if( m2==scalar_traits<scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ scalar_type const s = sin<scalar_type>(angle);
+ scalar_type const c = cos<scalar_type>(angle);
+ scalar_type const x2 = x*x;
+ scalar_type const y2 = y*y;
+ scalar_type const z2 = z*z;
+ scalar_type const xy = x*y;
+ scalar_type const xz = x*z;
+ scalar_type const yz = y*z;
+ scalar_type const xs = x*s;
+ scalar_type const ys = y*s;
+ scalar_type const zs = z*s;
+ scalar_type const one = scalar_traits<scalar_type>::value(1);
+ scalar_type const c1 = one-c;
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ x2+(one-x2)*c, xy*c1-zs, xz*(one-c)+ys,
+ xy*c1+zs, y2+(one-y2)*c, yz*c1-xs,
+ xz*c1-ys, yz*c1+xs, z2+(one-z2)*c );
+ }
+
+ template <class A,class B,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3 &&
+ is_vec<B>::value && vec_traits<B>::dim==3,
+ void>::type
+ set_rot( A & a, B const & axis, Angle angle )
+ {
+ assign(a,rot_mat<mat_traits<A>::rows>(axis,angle));
+ }
+
+ template <class A,class B,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3 &&
+ is_vec<B>::value && vec_traits<B>::dim==3,
+ void>::type
+ rotate( A & a, B const & axis, Angle angle )
+ {
+ a *= rot_mat<mat_traits<A>::rows>(axis,angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_xzy( Angle x1, Angle z2, Angle y3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(x1);
+ scalar_type const s1 = sin<scalar_type>(x1);
+ scalar_type const c2 = cos<scalar_type>(z2);
+ scalar_type const s2 = sin<scalar_type>(z2);
+ scalar_type const c3 = cos<scalar_type>(y3);
+ scalar_type const s3 = sin<scalar_type>(y3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c2*c3, -s2, c2*s3,
+ s1*s3 + c1*c3*s2, c1*c2, c1*s2*s3 - c3*s1,
+ c3*s1*s2 - c1*s3, c2*s1, c1*c3 + s1*s2*s3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_xzy( A & a, Angle x1, Angle z2, Angle y3 )
+ {
+ assign(a,rot_mat_xzy<mat_traits<A>::rows>(x1,z2,y3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_xzy( A & a, Angle x1, Angle z2, Angle y3 )
+ {
+ a *= rot_mat_xzy<mat_traits<A>::rows>(x1,z2,y3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_xyz( Angle x1, Angle y2, Angle z3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(x1);
+ scalar_type const s1 = sin<scalar_type>(x1);
+ scalar_type const c2 = cos<scalar_type>(y2);
+ scalar_type const s2 = sin<scalar_type>(y2);
+ scalar_type const c3 = cos<scalar_type>(z3);
+ scalar_type const s3 = sin<scalar_type>(z3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c2*c3, -c2*s3, s2,
+ c1*s3 + c3*s1*s2, c1*c3 - s1*s2*s3, -c2*s1,
+ s1*s3 - c1*c3*s2, c3*s1 + c1*s2*s3, c1*c2 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_xyz( A & a, Angle x1, Angle y2, Angle z3 )
+ {
+ assign(a,rot_mat_xyz<mat_traits<A>::rows>(x1,y2,z3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_xyz( A & a, Angle x1, Angle y2, Angle z3 )
+ {
+ a *= rot_mat_xyz<mat_traits<A>::rows>(x1,y2,z3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_yxz( Angle y1, Angle x2, Angle z3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(y1);
+ scalar_type const s1 = sin<scalar_type>(y1);
+ scalar_type const c2 = cos<scalar_type>(x2);
+ scalar_type const s2 = sin<scalar_type>(x2);
+ scalar_type const c3 = cos<scalar_type>(z3);
+ scalar_type const s3 = sin<scalar_type>(z3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c3 + s1*s2*s3, c3*s1*s2 - c1*s3, c2*s1,
+ c2*s3, c2*c3, -s2,
+ c1*s2*s3 - c3*s1, c1*c3*s2 + s1*s3, c1*c2 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_yxz( A & a, Angle y1, Angle x2, Angle z3 )
+ {
+ assign(a,rot_mat_yxz<mat_traits<A>::rows>(y1,x2,z3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_yxz( A & a, Angle y1, Angle x2, Angle z3 )
+ {
+ a *= rot_mat_yxz<mat_traits<A>::rows>(y1,x2,z3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_yzx( Angle y1, Angle z2, Angle x3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(y1);
+ scalar_type const s1 = sin<scalar_type>(y1);
+ scalar_type const c2 = cos<scalar_type>(z2);
+ scalar_type const s2 = sin<scalar_type>(z2);
+ scalar_type const c3 = cos<scalar_type>(x3);
+ scalar_type const s3 = sin<scalar_type>(x3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c2, s1*s3 - c1*c3*s2, c3*s1 + c1*s2*s3,
+ s2, c2*c3, -c2*s3,
+ -c2*s1, c1*s3 + c3*s1*s2, c1*c3 - s1*s2*s3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_yzx( A & a, Angle y1, Angle z2, Angle x3 )
+ {
+ assign(a,rot_mat_yzx<mat_traits<A>::rows>(y1,z2,x3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_yzx( A & a, Angle y1, Angle z2, Angle x3 )
+ {
+ a *= rot_mat_yzx<mat_traits<A>::rows>(y1,z2,x3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_zyx( Angle z1, Angle y2, Angle x3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(z1);
+ scalar_type const s1 = sin<scalar_type>(z1);
+ scalar_type const c2 = cos<scalar_type>(y2);
+ scalar_type const s2 = sin<scalar_type>(y2);
+ scalar_type const c3 = cos<scalar_type>(x3);
+ scalar_type const s3 = sin<scalar_type>(x3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c2, c1*s2*s3 - c3*s1, s1*s3 + c1*c3*s2,
+ c2*s1, c1*c3 + s1*s2*s3, c3*s1*s2 - c1*s3,
+ -s2, c2*s3, c2*c3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_zyx( A & a, Angle z1, Angle y2, Angle x3 )
+ {
+ assign(a,rot_mat_zyx<mat_traits<A>::rows>(z1,y2,x3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_zyx( A & a, Angle z1, Angle y2, Angle x3 )
+ {
+ a *= rot_mat_zyx<mat_traits<A>::rows>(z1,y2,x3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_zxy( Angle z1, Angle x2, Angle y3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(z1);
+ scalar_type const s1 = sin<scalar_type>(z1);
+ scalar_type const c2 = cos<scalar_type>(x2);
+ scalar_type const s2 = sin<scalar_type>(x2);
+ scalar_type const c3 = cos<scalar_type>(y3);
+ scalar_type const s3 = sin<scalar_type>(y3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c3 - s1*s2*s3, -c2*s1, c1*s3 + c3*s1*s2,
+ c3*s1 + c1*s2*s3, c1*c2, s1*s3 - c1*c3*s2,
+ -c2*s3, s2, c2*c3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_zxy( A & a, Angle z1, Angle x2, Angle y3 )
+ {
+ assign(a,rot_mat_zxy<mat_traits<A>::rows>(z1,x2,y3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_zxy( A & a, Angle z1, Angle x2, Angle y3 )
+ {
+ a *= rot_mat_zxy<mat_traits<A>::rows>(z1,x2,y3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_xzx( Angle x1, Angle z2, Angle x3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(x1);
+ scalar_type const s1 = sin<scalar_type>(x1);
+ scalar_type const c2 = cos<scalar_type>(z2);
+ scalar_type const s2 = sin<scalar_type>(z2);
+ scalar_type const c3 = cos<scalar_type>(x3);
+ scalar_type const s3 = sin<scalar_type>(x3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c2, -c3*s2, s2*s3,
+ c1*s2, c1*c2*c3 - s1*s3, -c3*s1 - c1*c2*s3,
+ s1*s2, c1*s3 + c2*c3*s1, c1*c3 - c2*s1*s3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_xzx( A & a, Angle x1, Angle z2, Angle x3 )
+ {
+ assign(a,rot_mat_xzx<mat_traits<A>::rows>(x1,z2,x3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_xzx( A & a, Angle x1, Angle z2, Angle x3 )
+ {
+ a *= rot_mat_xzx<mat_traits<A>::rows>(x1,z2,x3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_xyx( Angle x1, Angle y2, Angle x3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(x1);
+ scalar_type const s1 = sin<scalar_type>(x1);
+ scalar_type const c2 = cos<scalar_type>(y2);
+ scalar_type const s2 = sin<scalar_type>(y2);
+ scalar_type const c3 = cos<scalar_type>(x3);
+ scalar_type const s3 = sin<scalar_type>(x3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c2, s2*s3, c3*s2,
+ s1*s2, c1*c3 - c2*s1*s3, -c1*s3 - c2*c3*s1,
+ -c1*s2, c3*s1 + c1*c2*s3, c1*c2*c3 - s1*s3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_xyx( A & a, Angle x1, Angle y2, Angle x3 )
+ {
+ assign(a,rot_mat_xyx<mat_traits<A>::rows>(x1,y2,x3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_xyx( A & a, Angle x1, Angle y2, Angle x3 )
+ {
+ a *= rot_mat_xyx<mat_traits<A>::rows>(x1,y2,x3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_yxy( Angle y1, Angle x2, Angle y3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(y1);
+ scalar_type const s1 = sin<scalar_type>(y1);
+ scalar_type const c2 = cos<scalar_type>(x2);
+ scalar_type const s2 = sin<scalar_type>(x2);
+ scalar_type const c3 = cos<scalar_type>(y3);
+ scalar_type const s3 = sin<scalar_type>(y3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c3 - c2*s1*s3, s1*s2, c1*s3 + c2*c3*s1,
+ s2*s3, c2, -c3*s2,
+ -c3*s1 - c1*c2*s3, c1*s2, c1*c2*c3 - s1*s3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_yxy( A & a, Angle y1, Angle x2, Angle y3 )
+ {
+ assign(a,rot_mat_yxy<mat_traits<A>::rows>(y1,x2,y3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_yxy( A & a, Angle y1, Angle x2, Angle y3 )
+ {
+ a *= rot_mat_yxy<mat_traits<A>::rows>(y1,x2,y3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_yzy( Angle y1, Angle z2, Angle y3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(y1);
+ scalar_type const s1 = sin<scalar_type>(y1);
+ scalar_type const c2 = cos<scalar_type>(z2);
+ scalar_type const s2 = sin<scalar_type>(z2);
+ scalar_type const c3 = cos<scalar_type>(y3);
+ scalar_type const s3 = sin<scalar_type>(y3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c2*c3 - s1*s3, -c1*s2, c3*s1 + c1*c2*s3,
+ c3*s2, c2, s2*s3,
+ -c1*s3 - c2*c3*s1, s1*s2, c1*c3 - c2*s1*s3 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_yzy( A & a, Angle y1, Angle z2, Angle y3 )
+ {
+ assign(a,rot_mat_yzy<mat_traits<A>::rows>(y1,z2,y3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_yzy( A & a, Angle y1, Angle z2, Angle y3 )
+ {
+ a *= rot_mat_yzy<mat_traits<A>::rows>(y1,z2,y3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_zyz( Angle z1, Angle y2, Angle z3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(z1);
+ scalar_type const s1 = sin<scalar_type>(z1);
+ scalar_type const c2 = cos<scalar_type>(y2);
+ scalar_type const s2 = sin<scalar_type>(y2);
+ scalar_type const c3 = cos<scalar_type>(z3);
+ scalar_type const s3 = sin<scalar_type>(z3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c2*c3 - s1*s3, -c3*s1 - c1*c2*s3, c1*s2,
+ c1*s3 + c2*c3*s1, c1*c3 - c2*s1*s3, s1*s2,
+ -c3*s2, s2*s3, c2 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_zyz( A & a, Angle z1, Angle y2, Angle z3 )
+ {
+ assign(a,rot_mat_zyz<mat_traits<A>::rows>(z1,y2,z3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_zyz( A & a, Angle z1, Angle y2, Angle z3 )
+ {
+ a *= rot_mat_zyz<mat_traits<A>::rows>(z1,y2,z3);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE
+ qvm_detail::rot_mat_<Dim,Angle>
+ rot_mat_zxz( Angle z1, Angle x2, Angle z3 )
+ {
+ typedef Angle scalar_type;
+ scalar_type const c1 = cos<scalar_type>(z1);
+ scalar_type const s1 = sin<scalar_type>(z1);
+ scalar_type const c2 = cos<scalar_type>(x2);
+ scalar_type const s2 = sin<scalar_type>(x2);
+ scalar_type const c3 = cos<scalar_type>(z3);
+ scalar_type const s3 = sin<scalar_type>(z3);
+ return qvm_detail::rot_mat_<Dim,Angle>(
+ c1*c3 - c2*s1*s3, -c1*s3 - c2*c3*s1, s1*s2,
+ c3*s1 + c1*c2*s3, c1*c2*c3 - s1*s3, -c1*s2,
+ s2*s3, c3*s2, c2 );
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ set_rot_zxz( A & a, Angle z1, Angle x2, Angle z3 )
+ {
+ assign(a,rot_mat_zxz<mat_traits<A>::rows>(z1,x2,z3));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ mat_traits<A>::rows>=3,
+ void>::type
+ rotate_zxz( A & a, Angle z1, Angle x2, Angle z3 )
+ {
+ a *= rot_mat_zxz<mat_traits<A>::rows>(z1,x2,z3);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Dim,class Angle>
+ struct
+ rotx_mat_
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ rotx_mat_()
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ rotx_mat_( rotx_mat_ const & );
+ rotx_mat_ & operator=( rotx_mat_ const & );
+ ~rotx_mat_();
+ };
+
+ template <int Row,int Col>
+ struct
+ rotx_m_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & )
+ {
+ return scalar_traits<T>::value(Row==Col);
+ }
+ };
+
+ template <>
+ struct
+ rotx_m_get<1,1>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ rotx_m_get<1,2>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return -sin<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ rotx_m_get<2,1>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return sin<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ rotx_m_get<2,2>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle);
+ }
+ };
+ }
+
+ template <int Dim,class Angle>
+ struct
+ mat_traits< qvm_detail::rotx_mat_<Dim,Angle> >
+ {
+ typedef qvm_detail::rotx_mat_<Dim,Angle> this_matrix;
+ typedef Angle scalar_type;
+ static int const rows=Dim;
+ static int const cols=Dim;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Dim);
+ BOOST_QVM_STATIC_ASSERT(Col<Dim);
+ return qvm_detail::rotx_m_get<Row,Col>::get(reinterpret_cast<Angle const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(row<Dim);
+ BOOST_QVM_ASSERT(col<Dim);
+ Angle const & a=reinterpret_cast<Angle const &>(x);
+ if( row==1 )
+ {
+ if( col==1 )
+ return cos<scalar_type>(a);
+ if( col==2 )
+ return -sin<scalar_type>(a);
+ }
+ if( row==2 )
+ {
+ if( col==1 )
+ return sin<scalar_type>(a);
+ if( col==2 )
+ return cos<scalar_type>(a);
+ }
+ return scalar_traits<scalar_type>::value(row==col);
+ }
+ };
+
+ template <int Dim,class Angle>
+ struct
+ deduce_mat<qvm_detail::rotx_mat_<Dim,Angle>,Dim,Dim>
+ {
+ typedef mat<Angle,Dim,Dim> type;
+ };
+
+ template <int Dim,class Angle>
+ struct
+ deduce_mat2<qvm_detail::rotx_mat_<Dim,Angle>,qvm_detail::rotx_mat_<Dim,Angle>,Dim,Dim>
+ {
+ typedef mat<Angle,Dim,Dim> type;
+ };
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::rotx_mat_<Dim,Angle> const &
+ rotx_mat( Angle const & angle )
+ {
+ BOOST_QVM_STATIC_ASSERT(Dim>=3);
+ return reinterpret_cast<qvm_detail::rotx_mat_<Dim,Angle> const &>(angle);
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows>=3 &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ set_rotx( A & a, Angle angle )
+ {
+ assign(a,rotx_mat<mat_traits<A>::rows>(angle));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows>=3 &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ rotate_x( A & a, Angle angle )
+ {
+ a *= rotx_mat<mat_traits<A>::rows>(angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Dim,class Angle>
+ struct
+ roty_mat_
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ roty_mat_()
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ roty_mat_( roty_mat_ const & );
+ roty_mat_ & operator=( roty_mat_ const & );
+ ~roty_mat_();
+ };
+
+ template <int Row,int Col>
+ struct
+ roty_m_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & )
+ {
+ return scalar_traits<T>::value(Row==Col);
+ }
+ };
+
+ template <>
+ struct
+ roty_m_get<0,0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ roty_m_get<0,2>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return sin<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ roty_m_get<2,0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return -sin<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ roty_m_get<2,2>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle);
+ }
+ };
+ }
+
+ template <int Dim,class Angle>
+ struct
+ mat_traits< qvm_detail::roty_mat_<Dim,Angle> >
+ {
+ typedef qvm_detail::roty_mat_<Dim,Angle> this_matrix;
+ typedef Angle scalar_type;
+ static int const rows=Dim;
+ static int const cols=Dim;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Dim);
+ BOOST_QVM_STATIC_ASSERT(Col<Dim);
+ return qvm_detail::roty_m_get<Row,Col>::get(reinterpret_cast<Angle const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(row<Dim);
+ BOOST_QVM_ASSERT(col<Dim);
+ Angle const & a=reinterpret_cast<Angle const &>(x);
+ if( row==0 )
+ {
+ if( col==0 )
+ return cos<scalar_type>(a);
+ if( col==2 )
+ return sin<scalar_type>(a);
+ }
+ if( row==2 )
+ {
+ if( col==0 )
+ return -sin<scalar_type>(a);
+ if( col==2 )
+ return cos<scalar_type>(a);
+ }
+ return scalar_traits<scalar_type>::value(row==col);
+ }
+ };
+
+ template <int Dim,class Angle>
+ struct
+ deduce_mat<qvm_detail::roty_mat_<Dim,Angle>,Dim,Dim>
+ {
+ typedef mat<Angle,Dim,Dim> type;
+ };
+
+ template <int Dim,class Angle>
+ struct
+ deduce_mat2<qvm_detail::roty_mat_<Dim,Angle>,qvm_detail::roty_mat_<Dim,Angle>,Dim,Dim>
+ {
+ typedef mat<Angle,Dim,Dim> type;
+ };
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::roty_mat_<Dim,Angle> const &
+ roty_mat( Angle const & angle )
+ {
+ BOOST_QVM_STATIC_ASSERT(Dim>=3);
+ return reinterpret_cast<qvm_detail::roty_mat_<Dim,Angle> const &>(angle);
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows>=2 &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ set_roty( A & a, Angle angle )
+ {
+ assign(a,roty_mat<mat_traits<A>::rows>(angle));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows>=3 &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ rotate_y( A & a, Angle angle )
+ {
+ a *= roty_mat<mat_traits<A>::rows>(angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int Dim,class Angle>
+ struct
+ rotz_mat_
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ rotz_mat_()
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ rotz_mat_( rotz_mat_ const & );
+ rotz_mat_ & operator=( rotz_mat_ const & );
+ ~rotz_mat_();
+ };
+
+ template <int Row,int Col>
+ struct
+ rotz_m_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & )
+ {
+ return scalar_traits<T>::value(Row==Col);
+ }
+ };
+
+ template <>
+ struct
+ rotz_m_get<0,0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ rotz_m_get<0,1>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return -sin<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ rotz_m_get<1,0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return sin<T>(angle);
+ }
+ };
+
+ template <>
+ struct
+ rotz_m_get<1,1>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle);
+ }
+ };
+ }
+
+ template <int Dim,class Angle>
+ struct
+ mat_traits< qvm_detail::rotz_mat_<Dim,Angle> >
+ {
+ typedef qvm_detail::rotz_mat_<Dim,Angle> this_matrix;
+ typedef Angle scalar_type;
+ static int const rows=Dim;
+ static int const cols=Dim;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Dim);
+ BOOST_QVM_STATIC_ASSERT(Col<Dim);
+ return qvm_detail::rotz_m_get<Row,Col>::get(reinterpret_cast<Angle const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(row<Dim);
+ BOOST_QVM_ASSERT(col<Dim);
+ Angle const & a=reinterpret_cast<Angle const &>(x);
+ if( row==0 )
+ {
+ if( col==0 )
+ return cos<scalar_type>(a);
+ if( col==1 )
+ return -sin<scalar_type>(a);
+ }
+ if( row==1 )
+ {
+ if( col==0 )
+ return sin<scalar_type>(a);
+ if( col==1 )
+ return cos<scalar_type>(a);
+ }
+ return scalar_traits<scalar_type>::value(row==col);
+ }
+ };
+
+ template <int Dim,class Angle>
+ struct
+ deduce_mat<qvm_detail::rotz_mat_<Dim,Angle>,Dim,Dim>
+ {
+ typedef mat<Angle,Dim,Dim> type;
+ };
+
+ template <int Dim,class Angle,int R,int C>
+ struct
+ deduce_mat2<qvm_detail::rotz_mat_<Dim,Angle>,qvm_detail::rotz_mat_<Dim,Angle>,R,C>
+ {
+ typedef mat<Angle,R,C> type;
+ };
+
+ template <int Dim,class Angle>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::rotz_mat_<Dim,Angle> const &
+ rotz_mat( Angle const & angle )
+ {
+ BOOST_QVM_STATIC_ASSERT(Dim>=2);
+ return reinterpret_cast<qvm_detail::rotz_mat_<Dim,Angle> const &>(angle);
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows>=2 &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ set_rotz( A & a, Angle angle )
+ {
+ assign(a,rotz_mat<mat_traits<A>::rows>(angle));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows>=2 &&
+ mat_traits<A>::rows==mat_traits<A>::cols,
+ void>::type
+ rotate_z( A & a, Angle angle )
+ {
+ a *= rotz_mat<mat_traits<A>::rows>(angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ inverse_m_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_scalar<B>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ !qvm_detail::inverse_m_defined<mat_traits<A>::rows>::value,
+ deduce_mat<A> >::type
+ inverse( A const & a, B det )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ BOOST_QVM_ASSERT(det!=scalar_traits<T>::value(0));
+ T f=scalar_traits<T>::value(1)/det;
+ typedef typename deduce_mat<A>::type cofactor_return_type;
+ cofactor_return_type c=qvm_detail::cofactor_impl(a);
+ return reinterpret_cast<qvm_detail::transposed_<cofactor_return_type> const &>(c) * f;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename lazy_enable_if_c<
+ is_mat<A>::value &&
+ mat_traits<A>::rows==mat_traits<A>::cols &&
+ !qvm_detail::inverse_m_defined<mat_traits<A>::rows>::value,
+ deduce_mat<A> >::type
+ inverse( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T det=determinant(a);
+ if( det==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_determinant_error());
+ return inverse(a,det);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::to_string;
+ using ::boost::qvm::assign;
+ using ::boost::qvm::determinant;
+ using ::boost::qvm::cmp;
+ using ::boost::qvm::convert_to;
+ using ::boost::qvm::set_identity;
+ using ::boost::qvm::set_zero;
+ using ::boost::qvm::scalar_cast;
+ using ::boost::qvm::operator/=;
+ using ::boost::qvm::operator/;
+ using ::boost::qvm::operator==;
+ using ::boost::qvm::operator-=;
+ using ::boost::qvm::operator-;
+ using ::boost::qvm::operator*=;
+ using ::boost::qvm::operator*;
+ using ::boost::qvm::operator!=;
+ using ::boost::qvm::operator+=;
+ using ::boost::qvm::operator+;
+ using ::boost::qvm::mref;
+ using ::boost::qvm::rot_mat;
+ using ::boost::qvm::set_rot;
+ using ::boost::qvm::rotate;
+ using ::boost::qvm::set_rotx;
+ using ::boost::qvm::rotate_x;
+ using ::boost::qvm::set_roty;
+ using ::boost::qvm::rotate_y;
+ using ::boost::qvm::set_rotz;
+ using ::boost::qvm::rotate_z;
+ using ::boost::qvm::inverse;
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/mat_operations2.hpp b/boost/qvm/mat_operations2.hpp
index b390780173..cdbaca00e0 100644
--- a/boost/qvm/mat_operations2.hpp
+++ b/boost/qvm/mat_operations2.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/mat_operations2.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/mat_operations2.hpp>
diff --git a/boost/qvm/mat_operations3.hpp b/boost/qvm/mat_operations3.hpp
index 4c76d0753c..a68485839c 100644
--- a/boost/qvm/mat_operations3.hpp
+++ b/boost/qvm/mat_operations3.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/mat_operations3.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/mat_operations3.hpp>
diff --git a/boost/qvm/mat_operations4.hpp b/boost/qvm/mat_operations4.hpp
index ab0835adf7..b0aca0932c 100644
--- a/boost/qvm/mat_operations4.hpp
+++ b/boost/qvm/mat_operations4.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/mat_operations4.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/mat_operations4.hpp>
diff --git a/boost/qvm/mat_traits.hpp b/boost/qvm/mat_traits.hpp
index 9937443979..a84fb4de78 100644
--- a/boost/qvm/mat_traits.hpp
+++ b/boost/qvm/mat_traits.hpp
@@ -1,33 +1,33 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_8C06FE26A3E711DEA02C88BA55D89593
-#define UUID_8C06FE26A3E711DEA02C88BA55D89593
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class M>
- struct
- mat_traits
- {
- static int const rows=0;
- static int const cols=0;
- typedef void scalar_type;
- };
-
- template <class T>
- struct
- is_mat
- {
- static bool const value=mat_traits<T>::rows>0 && mat_traits<T>::cols>0;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_8C06FE26A3E711DEA02C88BA55D89593
+#define UUID_8C06FE26A3E711DEA02C88BA55D89593
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class M>
+ struct
+ mat_traits
+ {
+ static int const rows=0;
+ static int const cols=0;
+ typedef void scalar_type;
+ };
+
+ template <class T>
+ struct
+ is_mat
+ {
+ static bool const value=mat_traits<T>::rows>0 && mat_traits<T>::cols>0;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/mat_traits_array.hpp b/boost/qvm/mat_traits_array.hpp
index 160ead7d61..dadc83c44c 100644
--- a/boost/qvm/mat_traits_array.hpp
+++ b/boost/qvm/mat_traits_array.hpp
@@ -1,118 +1,118 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_FA3ED0DCA17911DEA6BBA09955D89593
-#define UUID_FA3ED0DCA17911DEA6BBA09955D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/deduce_mat.hpp>
-#include <boost/qvm/detail/remove_const.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int R,int CR,int C>
- struct
- mat_traits<T[R][CR][C]>
- {
- static int const rows=0;
- static int const cols=0;
- typedef void scalar_type;
- };
-
- template <class T,int Rows,int Cols>
- struct
- mat_traits<T[Rows][Cols]>
- {
- typedef T this_matrix[Rows][Cols];
- typedef typename qvm_detail::remove_const<T>::type scalar_type;
- static int const rows=Rows;
- static int const cols=Cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_matrix const & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<Cols);
- return x[Row][Col];
- }
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_matrix & x )
- {
- BOOST_QVM_STATIC_ASSERT(Row>=0);
- BOOST_QVM_STATIC_ASSERT(Row<Rows);
- BOOST_QVM_STATIC_ASSERT(Col>=0);
- BOOST_QVM_STATIC_ASSERT(Col<Cols);
- return x[Row][Col];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int row, int col, this_matrix const & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<Rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<Cols);
- return x[row][col];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int row, int col, this_matrix & x )
- {
- BOOST_QVM_ASSERT(row>=0);
- BOOST_QVM_ASSERT(row<Rows);
- BOOST_QVM_ASSERT(col>=0);
- BOOST_QVM_ASSERT(col<Cols);
- return x[row][col];
- }
- };
-
- template <class T,int Rows,int Cols,int R,int C>
- struct
- deduce_mat<T[Rows][Cols],R,C>
- {
- typedef mat<T,R,C> type;
- };
-
- template <class T,int Rows,int Cols,int R,int C>
- struct
- deduce_mat<T const[Rows][Cols],R,C>
- {
- typedef mat<T,R,C> type;
- };
-
- template <class T1,class T2,int Rows,int Cols,int R,int C>
- struct
- deduce_mat2<T1[Rows][Cols],T2[Rows][Cols],R,C>
- {
- typedef mat<typename deduce_scalar<T1,T2>::type,R,C> type;
- };
-
- template <int Rows,int Cols,class T>
- T (&ptr_mref( T * ptr ))[Rows][Cols]
- {
- return *reinterpret_cast<T (*)[Rows][Cols]>(ptr);
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_FA3ED0DCA17911DEA6BBA09955D89593
+#define UUID_FA3ED0DCA17911DEA6BBA09955D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/deduce_mat.hpp>
+#include <boost/qvm/detail/remove_const.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int R,int CR,int C>
+ struct
+ mat_traits<T[R][CR][C]>
+ {
+ static int const rows=0;
+ static int const cols=0;
+ typedef void scalar_type;
+ };
+
+ template <class T,int Rows,int Cols>
+ struct
+ mat_traits<T[Rows][Cols]>
+ {
+ typedef T this_matrix[Rows][Cols];
+ typedef typename qvm_detail::remove_const<T>::type scalar_type;
+ static int const rows=Rows;
+ static int const cols=Cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_matrix const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<Cols);
+ return x[Row][Col];
+ }
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_matrix & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(Row>=0);
+ BOOST_QVM_STATIC_ASSERT(Row<Rows);
+ BOOST_QVM_STATIC_ASSERT(Col>=0);
+ BOOST_QVM_STATIC_ASSERT(Col<Cols);
+ return x[Row][Col];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int row, int col, this_matrix const & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<Rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<Cols);
+ return x[row][col];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int row, int col, this_matrix & x )
+ {
+ BOOST_QVM_ASSERT(row>=0);
+ BOOST_QVM_ASSERT(row<Rows);
+ BOOST_QVM_ASSERT(col>=0);
+ BOOST_QVM_ASSERT(col<Cols);
+ return x[row][col];
+ }
+ };
+
+ template <class T,int Rows,int Cols,int R,int C>
+ struct
+ deduce_mat<T[Rows][Cols],R,C>
+ {
+ typedef mat<T,R,C> type;
+ };
+
+ template <class T,int Rows,int Cols,int R,int C>
+ struct
+ deduce_mat<T const[Rows][Cols],R,C>
+ {
+ typedef mat<T,R,C> type;
+ };
+
+ template <class T1,class T2,int Rows,int Cols,int R,int C>
+ struct
+ deduce_mat2<T1[Rows][Cols],T2[Rows][Cols],R,C>
+ {
+ typedef mat<typename deduce_scalar<T1,T2>::type,R,C> type;
+ };
+
+ template <int Rows,int Cols,class T>
+ T (&ptr_mref( T * ptr ))[Rows][Cols]
+ {
+ return *reinterpret_cast<T (*)[Rows][Cols]>(ptr);
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/mat_traits_defaults.hpp b/boost/qvm/mat_traits_defaults.hpp
index 898e79064a..aeda2e9d7b 100644
--- a/boost/qvm/mat_traits_defaults.hpp
+++ b/boost/qvm/mat_traits_defaults.hpp
@@ -1,95 +1,95 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_FB4D5BEAC71B11E68D0EEF1707624D53
-#define UUID_FB4D5BEAC71B11E68D0EEF1707624D53
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class>
- struct mat_traits;
-
- namespace
- qvm_detail
- {
- template <int I,int N>
- struct
- matrix_w
- {
- template <class A>
- static
- BOOST_QVM_INLINE_CRITICAL
- typename mat_traits<A>::scalar_type &
- write_element_idx( int r, int c, A & a )
- {
- return (I/mat_traits<A>::cols)==r && (I%mat_traits<A>::cols)==c?
- mat_traits<A>::template write_element<I/mat_traits<A>::cols,I%mat_traits<A>::cols>(a) :
- matrix_w<I+1,N>::write_element_idx(r,c,a);
- }
- };
-
- template <int N>
- struct
- matrix_w<N,N>
- {
- template <class A>
- static
- BOOST_QVM_INLINE_TRIVIAL
- typename mat_traits<A>::scalar_type &
- write_element_idx( int, int, A & a )
- {
- BOOST_QVM_ASSERT(0);
- return mat_traits<A>::template write_element<0,0>(a);
- }
- };
- }
-
- template <class MatType,class ScalarType,int Rows,int Cols>
- struct
- mat_traits_defaults
- {
- typedef MatType mat_type;
- typedef ScalarType scalar_type;
- static int const rows=Rows;
- static int const cols=Cols;
-
- template <int Row,int Col>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( mat_type const & x )
- {
- return mat_traits<mat_type>::template write_element<Row,Col>(const_cast<mat_type &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int r, int c, mat_type const & x )
- {
- return mat_traits<mat_type>::write_element_idx(r,c,const_cast<mat_type &>(x));
- }
-
- protected:
-
- static
- BOOST_QVM_INLINE_TRIVIAL
- scalar_type &
- write_element_idx( int r, int c, mat_type & m )
- {
- return qvm_detail::matrix_w<0,mat_traits<mat_type>::rows*mat_traits<mat_type>::cols>::write_element_idx(r,c,m);
- }
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_FB4D5BEAC71B11E68D0EEF1707624D53
+#define UUID_FB4D5BEAC71B11E68D0EEF1707624D53
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class>
+ struct mat_traits;
+
+ namespace
+ qvm_detail
+ {
+ template <int I,int N>
+ struct
+ matrix_w
+ {
+ template <class A>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ typename mat_traits<A>::scalar_type &
+ write_element_idx( int r, int c, A & a )
+ {
+ return (I/mat_traits<A>::cols)==r && (I%mat_traits<A>::cols)==c?
+ mat_traits<A>::template write_element<I/mat_traits<A>::cols,I%mat_traits<A>::cols>(a) :
+ matrix_w<I+1,N>::write_element_idx(r,c,a);
+ }
+ };
+
+ template <int N>
+ struct
+ matrix_w<N,N>
+ {
+ template <class A>
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ typename mat_traits<A>::scalar_type &
+ write_element_idx( int, int, A & a )
+ {
+ BOOST_QVM_ASSERT(0);
+ return mat_traits<A>::template write_element<0,0>(a);
+ }
+ };
+ }
+
+ template <class MatType,class ScalarType,int Rows,int Cols>
+ struct
+ mat_traits_defaults
+ {
+ typedef MatType mat_type;
+ typedef ScalarType scalar_type;
+ static int const rows=Rows;
+ static int const cols=Cols;
+
+ template <int Row,int Col>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( mat_type const & x )
+ {
+ return mat_traits<mat_type>::template write_element<Row,Col>(const_cast<mat_type &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int r, int c, mat_type const & x )
+ {
+ return mat_traits<mat_type>::write_element_idx(r,c,const_cast<mat_type &>(x));
+ }
+
+ protected:
+
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ scalar_type &
+ write_element_idx( int r, int c, mat_type & m )
+ {
+ return qvm_detail::matrix_w<0,mat_traits<mat_type>::rows*mat_traits<mat_type>::cols>::write_element_idx(r,c,m);
+ }
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/math.hpp b/boost/qvm/math.hpp
index 26ab3f4c86..1f8d57037e 100644
--- a/boost/qvm/math.hpp
+++ b/boost/qvm/math.hpp
@@ -1,87 +1,87 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_5FD6A664ACC811DEAAFF8A8055D89593
-#define UUID_5FD6A664ACC811DEAAFF8A8055D89593
-
-#include <math.h>
-#include <boost/qvm/inline.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T> T acos( T );
- template <class T> T asin( T );
- template <class T> T atan( T );
- template <class T> T atan2( T, T );
- template <class T> T cos( T );
- template <class T> T sin( T );
- template <class T> T tan( T );
- template <class T> T cosh( T );
- template <class T> T sinh( T );
- template <class T> T tanh( T );
- template <class T> T exp( T );
- template <class T> T log( T );
- template <class T> T log10( T );
- template <class T> T mod( T , T );
- template <class T> T pow( T, T );
- template <class T> T sqrt( T );
- template <class T> T ceil( T );
- template <class T> T abs( T );
- template <class T> T floor( T );
- template <class T> T mod( T, T );
- template <class T> T ldexp( T, int );
- template <class T> T sign( T );
-
- template <> BOOST_QVM_INLINE_TRIVIAL float acos<float>( float x ) { return ::acosf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float asin<float>( float x ) { return ::asinf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float atan<float>( float x ) { return ::atanf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float atan2<float>( float x, float y ) { return ::atan2f(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL float cos<float>( float x ) { return ::cosf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float sin<float>( float x ) { return ::sinf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float tan<float>( float x ) { return ::tanf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float cosh<float>( float x ) { return ::coshf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float sinh<float>( float x ) { return ::sinhf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float tanh<float>( float x ) { return ::tanhf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float exp<float>( float x ) { return ::expf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float log<float>( float x ) { return ::logf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float log10<float>( float x ) { return ::log10f(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float mod<float>( float x, float y ) { return ::fmodf(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL float pow<float>( float x, float y ) { return ::powf(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL float sqrt<float>( float x ) { return ::sqrtf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float ceil<float>( float x ) { return ::ceilf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float abs<float>( float x ) { return ::fabsf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float floor<float>( float x ) { return ::floorf(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL float ldexp<float>( float x, int y ) { return ::ldexpf(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL float sign<float>( float x ) { return x<0 ? -1.f : +1.f; }
-
- template <> BOOST_QVM_INLINE_TRIVIAL double acos<double>( double x ) { return ::acos(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double asin<double>( double x ) { return ::asin(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double atan<double>( double x ) { return ::atan(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double atan2<double>( double x, double y ) { return ::atan2(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL double cos<double>( double x ) { return ::cos(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double sin<double>( double x ) { return ::sin(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double tan<double>( double x ) { return ::tan(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double cosh<double>( double x ) { return ::cosh(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double sinh<double>( double x ) { return ::sinh(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double tanh<double>( double x ) { return ::tanh(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double exp<double>( double x ) { return ::exp(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double log<double>( double x ) { return ::log(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double log10<double>( double x ) { return ::log10(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double mod<double>( double x, double y ) { return ::fmod(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL double pow<double>( double x, double y ) { return ::pow(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL double sqrt<double>( double x ) { return ::sqrt(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double ceil<double>( double x ) { return ::ceil(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double abs<double>( double x ) { return ::fabs(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double floor<double>( double x ) { return ::floor(x); }
- template <> BOOST_QVM_INLINE_TRIVIAL double ldexp<double>( double x, int y ) { return ::ldexp(x,y); }
- template <> BOOST_QVM_INLINE_TRIVIAL double sign<double>( double x ) { return x<0 ? -1.0 : +1.0; }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_5FD6A664ACC811DEAAFF8A8055D89593
+#define UUID_5FD6A664ACC811DEAAFF8A8055D89593
+
+#include <math.h>
+#include <boost/qvm/inline.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T> T acos( T );
+ template <class T> T asin( T );
+ template <class T> T atan( T );
+ template <class T> T atan2( T, T );
+ template <class T> T cos( T );
+ template <class T> T sin( T );
+ template <class T> T tan( T );
+ template <class T> T cosh( T );
+ template <class T> T sinh( T );
+ template <class T> T tanh( T );
+ template <class T> T exp( T );
+ template <class T> T log( T );
+ template <class T> T log10( T );
+ template <class T> T mod( T , T );
+ template <class T> T pow( T, T );
+ template <class T> T sqrt( T );
+ template <class T> T ceil( T );
+ template <class T> T abs( T );
+ template <class T> T floor( T );
+ template <class T> T mod( T, T );
+ template <class T> T ldexp( T, int );
+ template <class T> T sign( T );
+
+ template <> BOOST_QVM_INLINE_TRIVIAL float acos<float>( float x ) { return ::acosf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float asin<float>( float x ) { return ::asinf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float atan<float>( float x ) { return ::atanf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float atan2<float>( float x, float y ) { return ::atan2f(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float cos<float>( float x ) { return ::cosf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float sin<float>( float x ) { return ::sinf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float tan<float>( float x ) { return ::tanf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float cosh<float>( float x ) { return ::coshf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float sinh<float>( float x ) { return ::sinhf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float tanh<float>( float x ) { return ::tanhf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float exp<float>( float x ) { return ::expf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float log<float>( float x ) { return ::logf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float log10<float>( float x ) { return ::log10f(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float mod<float>( float x, float y ) { return ::fmodf(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float pow<float>( float x, float y ) { return ::powf(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float sqrt<float>( float x ) { return ::sqrtf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float ceil<float>( float x ) { return ::ceilf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float abs<float>( float x ) { return ::fabsf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float floor<float>( float x ) { return ::floorf(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float ldexp<float>( float x, int y ) { return ::ldexpf(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL float sign<float>( float x ) { return x<0 ? -1.f : +1.f; }
+
+ template <> BOOST_QVM_INLINE_TRIVIAL double acos<double>( double x ) { return ::acos(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double asin<double>( double x ) { return ::asin(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double atan<double>( double x ) { return ::atan(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double atan2<double>( double x, double y ) { return ::atan2(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double cos<double>( double x ) { return ::cos(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double sin<double>( double x ) { return ::sin(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double tan<double>( double x ) { return ::tan(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double cosh<double>( double x ) { return ::cosh(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double sinh<double>( double x ) { return ::sinh(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double tanh<double>( double x ) { return ::tanh(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double exp<double>( double x ) { return ::exp(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double log<double>( double x ) { return ::log(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double log10<double>( double x ) { return ::log10(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double mod<double>( double x, double y ) { return ::fmod(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double pow<double>( double x, double y ) { return ::pow(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double sqrt<double>( double x ) { return ::sqrt(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double ceil<double>( double x ) { return ::ceil(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double abs<double>( double x ) { return ::fabs(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double floor<double>( double x ) { return ::floor(x); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double ldexp<double>( double x, int y ) { return ::ldexp(x,y); }
+ template <> BOOST_QVM_INLINE_TRIVIAL double sign<double>( double x ) { return x<0 ? -1.0 : +1.0; }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/operations.hpp b/boost/qvm/operations.hpp
index a82ddf8e84..42d6ab9116 100644
--- a/boost/qvm/operations.hpp
+++ b/boost/qvm/operations.hpp
@@ -1,15 +1,15 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_0B9D9FB6B95D11DEA8E0305E55D89593
-#define UUID_0B9D9FB6B95D11DEA8E0305E55D89593
-
-#include <boost/qvm/quat_operations.hpp>
-#include <boost/qvm/vec_operations.hpp>
-#include <boost/qvm/mat_operations.hpp>
-#include <boost/qvm/quat_vec_operations.hpp>
-#include <boost/qvm/vec_mat_operations.hpp>
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_0B9D9FB6B95D11DEA8E0305E55D89593
+#define UUID_0B9D9FB6B95D11DEA8E0305E55D89593
+
+#include <boost/qvm/quat_operations.hpp>
+#include <boost/qvm/vec_operations.hpp>
+#include <boost/qvm/mat_operations.hpp>
+#include <boost/qvm/quat_vec_operations.hpp>
+#include <boost/qvm/vec_mat_operations.hpp>
+
+#endif
diff --git a/boost/qvm/quat.hpp b/boost/qvm/quat.hpp
index cd078ee091..c0fbbd768a 100644
--- a/boost/qvm/quat.hpp
+++ b/boost/qvm/quat.hpp
@@ -1,68 +1,68 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_49C5A1042AEF11DF9603880056D89593
-#define UUID_49C5A1042AEF11DF9603880056D89593
-
-#include <boost/qvm/detail/quat_assign.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T>
- struct
- quat
- {
- T a[4];
- template <class R>
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <class Q>
- struct quat_traits;
-
- template <class T>
- struct
- quat_traits< quat<T> >
- {
- typedef quat<T> this_quaternion;
- typedef T scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return x.a[I];
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_quaternion & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return x.a[I];
- }
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_49C5A1042AEF11DF9603880056D89593
+#define UUID_49C5A1042AEF11DF9603880056D89593
+
+#include <boost/qvm/detail/quat_assign.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T>
+ struct
+ quat
+ {
+ T a[4];
+ template <class R>
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <class Q>
+ struct quat_traits;
+
+ template <class T>
+ struct
+ quat_traits< quat<T> >
+ {
+ typedef quat<T> this_quaternion;
+ typedef T scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return x.a[I];
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_quaternion & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return x.a[I];
+ }
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/quat_access.hpp b/boost/qvm/quat_access.hpp
index fe69b29cb1..774b057070 100644
--- a/boost/qvm/quat_access.hpp
+++ b/boost/qvm/quat_access.hpp
@@ -1,128 +1,128 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_8AC84A2217C411E0A7AF3A1BDFD72085
-#define UUID_8AC84A2217C411E0A7AF3A1BDFD72085
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class Q>
- struct
- quat_v_
- {
- template <class R>
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- quat_v_( quat_v_ const & );
- quat_v_ const & operator=( quat_v_ const & );
- ~quat_v_();
- };
- }
-
- template <class V>
- struct vec_traits;
-
- template <class Q>
- struct
- vec_traits< qvm_detail::quat_v_<Q> >
- {
- typedef qvm_detail::quat_v_<Q> this_vector;
- typedef typename quat_traits<Q>::scalar_type scalar_type;
- static int const dim=3;
-
- template <int I>
- BOOST_QVM_INLINE_CRITICAL
- static
- scalar_type
- read_element( this_vector const & q )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return quat_traits<Q>::template read_element<I+1>( reinterpret_cast<Q const &>(q) );
- }
-
- template <int I>
- BOOST_QVM_INLINE_CRITICAL
- static
- scalar_type &
- write_element( this_vector & q )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return quat_traits<Q>::template write_element<I+1>( reinterpret_cast<Q &>(q) );
- }
- };
-
- template <class Q,int D>
- struct
- deduce_vec<qvm_detail::quat_v_<Q>,D>
- {
- typedef vec<typename quat_traits<Q>::scalar_type,D> type;
- };
-
- template <class Q,int D>
- struct
- deduce_vec2<qvm_detail::quat_v_<Q>,qvm_detail::quat_v_<Q>,D>
- {
- typedef vec<typename quat_traits<Q>::scalar_type,D> type;
- };
-
- template <class Q>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_quat<Q>::value,
- qvm_detail::quat_v_<Q> const &>::type
- V( Q const & a )
- {
- return reinterpret_cast<qvm_detail::quat_v_<Q> const &>(a);
- }
-
- template <class Q>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_quat<Q>::value,
- qvm_detail::quat_v_<Q> &>::type
- V( Q & a )
- {
- return reinterpret_cast<qvm_detail::quat_v_<Q> &>(a);
- }
-
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type S( Q const & a ) { return quat_traits<Q>::template read_element<0>(a); }
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type X( Q const & a ) { return quat_traits<Q>::template read_element<1>(a); }
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type Y( Q const & a ) { return quat_traits<Q>::template read_element<2>(a); }
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type Z( Q const & a ) { return quat_traits<Q>::template read_element<3>(a); }
-
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type S( Q & a ) { return quat_traits<Q>::template write_element<0>(a); }
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type X( Q & a ) { return quat_traits<Q>::template write_element<1>(a); }
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type Y( Q & a ) { return quat_traits<Q>::template write_element<2>(a); }
- template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type Z( Q & a ) { return quat_traits<Q>::template write_element<3>(a); }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_8AC84A2217C411E0A7AF3A1BDFD72085
+#define UUID_8AC84A2217C411E0A7AF3A1BDFD72085
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class Q>
+ struct
+ quat_v_
+ {
+ template <class R>
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ quat_v_( quat_v_ const & );
+ quat_v_ const & operator=( quat_v_ const & );
+ ~quat_v_();
+ };
+ }
+
+ template <class V>
+ struct vec_traits;
+
+ template <class Q>
+ struct
+ vec_traits< qvm_detail::quat_v_<Q> >
+ {
+ typedef qvm_detail::quat_v_<Q> this_vector;
+ typedef typename quat_traits<Q>::scalar_type scalar_type;
+ static int const dim=3;
+
+ template <int I>
+ BOOST_QVM_INLINE_CRITICAL
+ static
+ scalar_type
+ read_element( this_vector const & q )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return quat_traits<Q>::template read_element<I+1>( reinterpret_cast<Q const &>(q) );
+ }
+
+ template <int I>
+ BOOST_QVM_INLINE_CRITICAL
+ static
+ scalar_type &
+ write_element( this_vector & q )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return quat_traits<Q>::template write_element<I+1>( reinterpret_cast<Q &>(q) );
+ }
+ };
+
+ template <class Q,int D>
+ struct
+ deduce_vec<qvm_detail::quat_v_<Q>,D>
+ {
+ typedef vec<typename quat_traits<Q>::scalar_type,D> type;
+ };
+
+ template <class Q,int D>
+ struct
+ deduce_vec2<qvm_detail::quat_v_<Q>,qvm_detail::quat_v_<Q>,D>
+ {
+ typedef vec<typename quat_traits<Q>::scalar_type,D> type;
+ };
+
+ template <class Q>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_quat<Q>::value,
+ qvm_detail::quat_v_<Q> const &>::type
+ V( Q const & a )
+ {
+ return reinterpret_cast<qvm_detail::quat_v_<Q> const &>(a);
+ }
+
+ template <class Q>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_quat<Q>::value,
+ qvm_detail::quat_v_<Q> &>::type
+ V( Q & a )
+ {
+ return reinterpret_cast<qvm_detail::quat_v_<Q> &>(a);
+ }
+
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type S( Q const & a ) { return quat_traits<Q>::template read_element<0>(a); }
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type X( Q const & a ) { return quat_traits<Q>::template read_element<1>(a); }
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type Y( Q const & a ) { return quat_traits<Q>::template read_element<2>(a); }
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type>::type Z( Q const & a ) { return quat_traits<Q>::template read_element<3>(a); }
+
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type S( Q & a ) { return quat_traits<Q>::template write_element<0>(a); }
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type X( Q & a ) { return quat_traits<Q>::template write_element<1>(a); }
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type Y( Q & a ) { return quat_traits<Q>::template write_element<2>(a); }
+ template <class Q> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_quat<Q>::value,typename quat_traits<Q>::scalar_type &>::type Z( Q & a ) { return quat_traits<Q>::template write_element<3>(a); }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/quat_operations.hpp b/boost/qvm/quat_operations.hpp
index aad0331fc6..1a4fdbf249 100644
--- a/boost/qvm/quat_operations.hpp
+++ b/boost/qvm/quat_operations.hpp
@@ -1,1493 +1,1493 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_E6519754D19211DFB8405F74DFD72085
-#define UUID_E6519754D19211DFB8405F74DFD72085
-
-#include <boost/qvm/detail/quat_assign.hpp>
-#include <boost/qvm/deduce_quat.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/scalar_traits.hpp>
-#include <boost/qvm/math.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/error.hpp>
-#include <boost/qvm/throw_exception.hpp>
-#include <string>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- BOOST_QVM_INLINE_CRITICAL
- void const *
- get_valid_ptr_quat_operations()
- {
- static int const obj=0;
- return &obj;
- }
- }
-
- ////////////////////////////////////////////////
-
- namespace
- msvc_parse_bug_workaround
- {
- template <class A,class B>
- struct
- quats
- {
- static bool const value=is_quat<A>::value && is_quat<B>::value;
- };
- }
-
- namespace
- qvm_to_string_detail
- {
- template <class T>
- std::string to_string( T const & x );
- }
-
- template <class A>
- inline
- typename boost::enable_if_c<
- is_quat<A>::value,
- std::string>::type
- to_string( A const & a )
- {
- using namespace qvm_to_string_detail;
- return '('+
- to_string(quat_traits<A>::template read_element<0>(a))+','+
- to_string(quat_traits<A>::template read_element<1>(a))+','+
- to_string(quat_traits<A>::template read_element<2>(a))+','+
- to_string(quat_traits<A>::template read_element<3>(a))+')';
- }
-
- ////////////////////////////////////////////////
-
- template <class A,class B,class Cmp>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- bool>::type
- cmp( A const & a, B const & b, Cmp f )
- {
- typedef typename deduce_scalar<
- typename quat_traits<A>::scalar_type,
- typename quat_traits<B>::scalar_type>::type T;
- T q1[4] =
- {
- quat_traits<A>::template read_element<0>(a),
- quat_traits<A>::template read_element<1>(a),
- quat_traits<A>::template read_element<2>(a),
- quat_traits<A>::template read_element<3>(a)
- };
- T q2[4] =
- {
- quat_traits<B>::template read_element<0>(b),
- quat_traits<B>::template read_element<1>(b),
- quat_traits<B>::template read_element<2>(b),
- quat_traits<B>::template read_element<3>(b)
- };
- int i;
- for( i=0; i!=4; ++i )
- if( !f(q1[i],q2[i]) )
- break;
- if( i==4 )
- return true;
- for( i=0; i!=4; ++i )
- if( !f(q1[i],-q2[i]) )
- return false;
- return true;
- }
-
- ////////////////////////////////////////////////
-
- template <class R,class A>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_quat<R>::value && is_quat<A>::value,
- R>::type
- convert_to( A const & a )
- {
- R r;
- quat_traits<R>::template write_element<0>(r) = quat_traits<A>::template read_element<0>(a);
- quat_traits<R>::template write_element<1>(r) = quat_traits<A>::template read_element<1>(a);
- quat_traits<R>::template write_element<2>(r) = quat_traits<A>::template read_element<2>(a);
- quat_traits<R>::template write_element<3>(r) = quat_traits<A>::template read_element<3>(a);
- return r;
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<R>::value && is_mat<A>::value &&
- mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
- R>::type
- convert_to( A const & a )
- {
- typedef typename mat_traits<A>::scalar_type T;
- T const mat[3][3] =
- {
- { mat_traits<A>::template read_element<0,0>(a), mat_traits<A>::template read_element<0,1>(a), mat_traits<A>::template read_element<0,2>(a) },
- { mat_traits<A>::template read_element<1,0>(a), mat_traits<A>::template read_element<1,1>(a), mat_traits<A>::template read_element<1,2>(a) },
- { mat_traits<A>::template read_element<2,0>(a), mat_traits<A>::template read_element<2,1>(a), mat_traits<A>::template read_element<2,2>(a) }
- };
- R r;
- if( mat[0][0]+mat[1][1]+mat[2][2] > scalar_traits<T>::value(0) )
- {
- T t = mat[0][0] + mat[1][1] + mat[2][2] + scalar_traits<T>::value(1);
- T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
- quat_traits<R>::template write_element<0>(r)=s*t;
- quat_traits<R>::template write_element<1>(r)=(mat[2][1]-mat[1][2])*s;
- quat_traits<R>::template write_element<2>(r)=(mat[0][2]-mat[2][0])*s;
- quat_traits<R>::template write_element<3>(r)=(mat[1][0]-mat[0][1])*s;
- }
- else if( mat[0][0]>mat[1][1] && mat[0][0]>mat[2][2] )
- {
- T t = mat[0][0] - mat[1][1] - mat[2][2] + scalar_traits<T>::value(1);
- T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
- quat_traits<R>::template write_element<0>(r)=(mat[2][1]-mat[1][2])*s;
- quat_traits<R>::template write_element<1>(r)=s*t;
- quat_traits<R>::template write_element<2>(r)=(mat[1][0]+mat[0][1])*s;
- quat_traits<R>::template write_element<3>(r)=(mat[0][2]+mat[2][0])*s;
- }
- else if( mat[1][1]>mat[2][2] )
- {
- T t = - mat[0][0] + mat[1][1] - mat[2][2] + scalar_traits<T>::value(1);
- T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
- quat_traits<R>::template write_element<0>(r)=(mat[0][2]-mat[2][0])*s;
- quat_traits<R>::template write_element<1>(r)=(mat[1][0]+mat[0][1])*s;
- quat_traits<R>::template write_element<2>(r)=s*t;
- quat_traits<R>::template write_element<3>(r)=(mat[2][1]+mat[1][2])*s;
- }
- else
- {
- T t = - mat[0][0] - mat[1][1] + mat[2][2] + scalar_traits<T>::value(1);
- T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
- quat_traits<R>::template write_element<0>(r)=(mat[1][0]-mat[0][1])*s;
- quat_traits<R>::template write_element<1>(r)=(mat[0][2]+mat[2][0])*s;
- quat_traits<R>::template write_element<2>(r)=(mat[2][1]+mat[1][2])*s;
- quat_traits<R>::template write_element<3>(r)=s*t;
- }
- return r;
- }
-
- ////////////////////////////////////////////////
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value,
- deduce_quat<A> >::type
- conjugate( A const & a )
- {
- typedef typename deduce_quat<A>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a);
- quat_traits<R>::template write_element<1>(r)=-quat_traits<A>::template read_element<1>(a);
- quat_traits<R>::template write_element<2>(r)=-quat_traits<A>::template read_element<2>(a);
- quat_traits<R>::template write_element<3>(r)=-quat_traits<A>::template read_element<3>(a);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- class
- identity_quat_
- {
- identity_quat_( identity_quat_ const & );
- identity_quat_ & operator=( identity_quat_ const & );
- ~identity_quat_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class T>
- struct
- quat_traits< qvm_detail::identity_quat_<T> >
- {
- typedef qvm_detail::identity_quat_<T> this_quaternion;
- typedef T scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return scalar_traits<T>::value(I==0);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_quaternion const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<4);
- return scalar_traits<T>::value(i==0);
- }
- };
-
- template <class T>
- struct
- deduce_quat< qvm_detail::identity_quat_<T> >
- {
- typedef quat<T> type;
- };
-
- template <class T>
- struct
- deduce_quat2< qvm_detail::identity_quat_<T>, qvm_detail::identity_quat_<T> >
- {
- typedef quat<T> type;
- };
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::identity_quat_<T> const &
- identity_quat()
- {
- return *(qvm_detail::identity_quat_<T> const *)qvm_detail::get_valid_ptr_quat_operations();
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- set_identity( A & a )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T const zero=scalar_traits<T>::value(0);
- T const one=scalar_traits<T>::value(1);
- quat_traits<A>::template write_element<0>(a) = one;
- quat_traits<A>::template write_element<1>(a) = zero;
- quat_traits<A>::template write_element<2>(a) = zero;
- quat_traits<A>::template write_element<3>(a) = zero;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalType,class Scalar>
- class
- quaternion_scalar_cast_
- {
- quaternion_scalar_cast_( quaternion_scalar_cast_ const & );
- quaternion_scalar_cast_ & operator=( quaternion_scalar_cast_ const & );
- ~quaternion_scalar_cast_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- quaternion_scalar_cast_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <bool> struct scalar_cast_quaternion_filter { };
- template <> struct scalar_cast_quaternion_filter<true> { typedef int type; };
- }
-
- template <class OriginalType,class Scalar>
- struct
- quat_traits< qvm_detail::quaternion_scalar_cast_<OriginalType,Scalar> >
- {
- typedef Scalar scalar_type;
- typedef qvm_detail::quaternion_scalar_cast_<OriginalType,Scalar> this_quaternion;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return scalar_type(quat_traits<OriginalType>::template read_element<I>(reinterpret_cast<OriginalType const &>(x)));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_quaternion const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<4);
- return scalar_type(quat_traits<OriginalType>::read_element_idx(i,reinterpret_cast<OriginalType const &>(x)));
- }
- };
-
- template <class Scalar,class T>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::quaternion_scalar_cast_<T,Scalar> const &
- scalar_cast( T const & x, typename qvm_detail::scalar_cast_quaternion_filter<is_quat<T>::value>::type=0 )
- {
- return reinterpret_cast<qvm_detail::quaternion_scalar_cast_<T,Scalar> const &>(x);
- }
-
- ////////////////////////////////////////////////
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_scalar<B>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- quat_traits<A>::template write_element<0>(a)/=b;
- quat_traits<A>::template write_element<1>(a)/=b;
- quat_traits<A>::template write_element<2>(a)/=b;
- quat_traits<A>::template write_element<3>(a)/=b;
- return a;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_scalar<B>::value,
- deduce_quat<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_quat<A>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r) = quat_traits<A>::template read_element<0>(a)/b;
- quat_traits<R>::template write_element<1>(r) = quat_traits<A>::template read_element<1>(a)/b;
- quat_traits<R>::template write_element<2>(r) = quat_traits<A>::template read_element<2>(a)/b;
- quat_traits<R>::template write_element<3>(r) = quat_traits<A>::template read_element<3>(a)/b;
- return r;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- deduce_scalar<typename quat_traits<A>::scalar_type,typename quat_traits<B>::scalar_type> >::type
- dot( A const & a, B const & b )
- {
- typedef typename quat_traits<A>::scalar_type Ta;
- typedef typename quat_traits<B>::scalar_type Tb;
- typedef typename deduce_scalar<Ta,Tb>::type Tr;
- Ta const a0=quat_traits<A>::template read_element<0>(a);
- Ta const a1=quat_traits<A>::template read_element<1>(a);
- Ta const a2=quat_traits<A>::template read_element<2>(a);
- Ta const a3=quat_traits<A>::template read_element<3>(a);
- Tb const b0=quat_traits<B>::template read_element<0>(b);
- Tb const b1=quat_traits<B>::template read_element<1>(b);
- Tb const b2=quat_traits<B>::template read_element<2>(b);
- Tb const b3=quat_traits<B>::template read_element<3>(b);
- Tr const dp=a0*b0+a1*b1+a2*b2+a3*b3;
- return dp;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- bool>::type
- operator==( A const & a, B const & b )
- {
- return
- quat_traits<A>::template read_element<0>(a)==quat_traits<B>::template read_element<0>(b) &&
- quat_traits<A>::template read_element<1>(a)==quat_traits<B>::template read_element<1>(b) &&
- quat_traits<A>::template read_element<2>(a)==quat_traits<B>::template read_element<2>(b) &&
- quat_traits<A>::template read_element<3>(a)==quat_traits<B>::template read_element<3>(b);
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value,
- deduce_quat<A> >::type
- inverse( A const & a )
- {
- typedef typename deduce_quat<A>::type R;
- typedef typename quat_traits<A>::scalar_type TA;
- TA aa = quat_traits<A>::template read_element<0>(a);
- TA ab = quat_traits<A>::template read_element<1>(a);
- TA ac = quat_traits<A>::template read_element<2>(a);
- TA ad = quat_traits<A>::template read_element<3>(a);
- TA m2 = ab*ab + ac*ac + ad*ad + aa*aa;
- if( m2==scalar_traits<TA>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- TA rm=scalar_traits<TA>::value(1)/m2;
- R r;
- quat_traits<R>::template write_element<0>(r) = aa*rm;
- quat_traits<R>::template write_element<1>(r) = -ab*rm;
- quat_traits<R>::template write_element<2>(r) = -ac*rm;
- quat_traits<R>::template write_element<3>(r) = -ad*rm;
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- typename quat_traits<A>::scalar_type>::type
- mag_sqr( A const & a )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T x=quat_traits<A>::template read_element<0>(a);
- T y=quat_traits<A>::template read_element<1>(a);
- T z=quat_traits<A>::template read_element<2>(a);
- T w=quat_traits<A>::template read_element<3>(a);
- return x*x+y*y+z*z+w*w;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- typename quat_traits<A>::scalar_type>::type
- mag( A const & a )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T x=quat_traits<A>::template read_element<0>(a);
- T y=quat_traits<A>::template read_element<1>(a);
- T z=quat_traits<A>::template read_element<2>(a);
- T w=quat_traits<A>::template read_element<3>(a);
- return sqrt<T>(x*x+y*y+z*z+w*w);
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if<
- msvc_parse_bug_workaround::quats<A,B>,
- A &>::type
- operator-=( A & a, B const & b )
- {
- quat_traits<A>::template write_element<0>(a)-=quat_traits<B>::template read_element<0>(b);
- quat_traits<A>::template write_element<1>(a)-=quat_traits<B>::template read_element<1>(b);
- quat_traits<A>::template write_element<2>(a)-=quat_traits<B>::template read_element<2>(b);
- quat_traits<A>::template write_element<3>(a)-=quat_traits<B>::template read_element<3>(b);
- return a;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- deduce_quat2<A,B> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_quat2<A,B>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a)-quat_traits<B>::template read_element<0>(b);
- quat_traits<R>::template write_element<1>(r)=quat_traits<A>::template read_element<1>(a)-quat_traits<B>::template read_element<1>(b);
- quat_traits<R>::template write_element<2>(r)=quat_traits<A>::template read_element<2>(a)-quat_traits<B>::template read_element<2>(b);
- quat_traits<R>::template write_element<3>(r)=quat_traits<A>::template read_element<3>(a)-quat_traits<B>::template read_element<3>(b);
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value,
- deduce_quat<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_quat<A>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r)=-quat_traits<A>::template read_element<0>(a);
- quat_traits<R>::template write_element<1>(r)=-quat_traits<A>::template read_element<1>(a);
- quat_traits<R>::template write_element<2>(r)=-quat_traits<A>::template read_element<2>(a);
- quat_traits<R>::template write_element<3>(r)=-quat_traits<A>::template read_element<3>(a);
- return r;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if<
- msvc_parse_bug_workaround::quats<A,B>,
- A &>::type
- operator*=( A & a, B const & b )
- {
- typedef typename quat_traits<A>::scalar_type TA;
- typedef typename quat_traits<B>::scalar_type TB;
- TA const aa=quat_traits<A>::template read_element<0>(a);
- TA const ab=quat_traits<A>::template read_element<1>(a);
- TA const ac=quat_traits<A>::template read_element<2>(a);
- TA const ad=quat_traits<A>::template read_element<3>(a);
- TB const ba=quat_traits<B>::template read_element<0>(b);
- TB const bb=quat_traits<B>::template read_element<1>(b);
- TB const bc=quat_traits<B>::template read_element<2>(b);
- TB const bd=quat_traits<B>::template read_element<3>(b);
- quat_traits<A>::template write_element<0>(a) = aa*ba - ab*bb - ac*bc - ad*bd;
- quat_traits<A>::template write_element<1>(a) = aa*bb + ab*ba + ac*bd - ad*bc;
- quat_traits<A>::template write_element<2>(a) = aa*bc + ac*ba + ad*bb - ab*bd;
- quat_traits<A>::template write_element<3>(a) = aa*bd + ad*ba + ab*bc - ac*bb;
- return a;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_scalar<B>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- quat_traits<A>::template write_element<0>(a)*=b;
- quat_traits<A>::template write_element<1>(a)*=b;
- quat_traits<A>::template write_element<2>(a)*=b;
- quat_traits<A>::template write_element<3>(a)*=b;
- return a;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- deduce_quat2<A,B> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename deduce_quat2<A,B>::type R;
- typedef typename quat_traits<A>::scalar_type TA;
- typedef typename quat_traits<B>::scalar_type TB;
- TA const aa=quat_traits<A>::template read_element<0>(a);
- TA const ab=quat_traits<A>::template read_element<1>(a);
- TA const ac=quat_traits<A>::template read_element<2>(a);
- TA const ad=quat_traits<A>::template read_element<3>(a);
- TB const ba=quat_traits<B>::template read_element<0>(b);
- TB const bb=quat_traits<B>::template read_element<1>(b);
- TB const bc=quat_traits<B>::template read_element<2>(b);
- TB const bd=quat_traits<B>::template read_element<3>(b);
- R r;
- quat_traits<R>::template write_element<0>(r) = aa*ba - ab*bb - ac*bc - ad*bd;
- quat_traits<R>::template write_element<1>(r) = aa*bb + ab*ba + ac*bd - ad*bc;
- quat_traits<R>::template write_element<2>(r) = aa*bc + ac*ba + ad*bb - ab*bd;
- quat_traits<R>::template write_element<3>(r) = aa*bd + ad*ba + ab*bc - ac*bb;
- return r;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_scalar<B>::value,
- deduce_quat<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_quat<A>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a)*b;
- quat_traits<R>::template write_element<1>(r)=quat_traits<A>::template read_element<1>(a)*b;
- quat_traits<R>::template write_element<2>(r)=quat_traits<A>::template read_element<2>(a)*b;
- quat_traits<R>::template write_element<3>(r)=quat_traits<A>::template read_element<3>(a)*b;
- return r;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- return
- quat_traits<A>::template read_element<0>(a)!=quat_traits<B>::template read_element<0>(b) ||
- quat_traits<A>::template read_element<1>(a)!=quat_traits<B>::template read_element<1>(b) ||
- quat_traits<A>::template read_element<2>(a)!=quat_traits<B>::template read_element<2>(b) ||
- quat_traits<A>::template read_element<3>(a)!=quat_traits<B>::template read_element<3>(b);
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value,
- deduce_quat<A> >::type
- normalized( A const & a )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T const a0=quat_traits<A>::template read_element<0>(a);
- T const a1=quat_traits<A>::template read_element<1>(a);
- T const a2=quat_traits<A>::template read_element<2>(a);
- T const a3=quat_traits<A>::template read_element<3>(a);
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- if( m2==scalar_traits<typename quat_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- typedef typename deduce_quat<A>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r)=a0*rm;
- quat_traits<R>::template write_element<1>(r)=a1*rm;
- quat_traits<R>::template write_element<2>(r)=a2*rm;
- quat_traits<R>::template write_element<3>(r)=a3*rm;
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- normalize( A & a )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T const a0=quat_traits<A>::template read_element<0>(a);
- T const a1=quat_traits<A>::template read_element<1>(a);
- T const a2=quat_traits<A>::template read_element<2>(a);
- T const a3=quat_traits<A>::template read_element<3>(a);
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- if( m2==scalar_traits<typename quat_traits<A>::scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
- quat_traits<A>::template write_element<0>(a)*=rm;
- quat_traits<A>::template write_element<1>(a)*=rm;
- quat_traits<A>::template write_element<2>(a)*=rm;
- quat_traits<A>::template write_element<3>(a)*=rm;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if<
- msvc_parse_bug_workaround::quats<A,B>,
- A &>::type
- operator+=( A & a, B const & b )
- {
- quat_traits<A>::template write_element<0>(a)+=quat_traits<B>::template read_element<0>(b);
- quat_traits<A>::template write_element<1>(a)+=quat_traits<B>::template read_element<1>(b);
- quat_traits<A>::template write_element<2>(a)+=quat_traits<B>::template read_element<2>(b);
- quat_traits<A>::template write_element<3>(a)+=quat_traits<B>::template read_element<3>(b);
- return a;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_quat<B>::value,
- deduce_quat2<A,B> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_quat2<A,B>::type R;
- R r;
- quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a)+quat_traits<B>::template read_element<0>(b);
- quat_traits<R>::template write_element<1>(r)=quat_traits<A>::template read_element<1>(a)+quat_traits<B>::template read_element<1>(b);
- quat_traits<R>::template write_element<2>(r)=quat_traits<A>::template read_element<2>(a)+quat_traits<B>::template read_element<2>(b);
- quat_traits<R>::template write_element<3>(r)=quat_traits<A>::template read_element<3>(a)+quat_traits<B>::template read_element<3>(b);
- return r;
- }
-
- template <class A,class B,class C>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value && is_quat<B>::value && is_scalar<C>::value,
- deduce_quat2<A,B> >::type
- slerp( A const & a, B const & b, C t )
- {
- typedef typename deduce_quat2<A,B>::type R;
- typedef typename quat_traits<R>::scalar_type TR;
- TR const one = scalar_traits<TR>::value(1);
- TR dp = dot(a,b);
- TR sc=one;
- if( dp < one )
- {
- TR const theta = acosf(dp);
- TR const invsintheta = one/sin<TR>(theta);
- TR const scale = sin<TR>(theta*(one-t)) * invsintheta;
- TR const invscale = sin<TR>(theta*t) * invsintheta * sc;
- return a*scale + b*invscale;
- }
- else
- return normalized(a+(b-a)*t);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- class
- qref_
- {
- qref_( qref_ const & );
- qref_ & operator=( qref_ const & );
- ~qref_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- qref_ &
- operator=( R const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class Q>
- struct quat_traits;
-
- template <class Q>
- struct
- quat_traits< qvm_detail::qref_<Q> >
- {
- typedef typename quat_traits<Q>::scalar_type scalar_type;
- typedef qvm_detail::qref_<Q> this_quaternion;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return quat_traits<Q>::template read_element<I>(reinterpret_cast<Q const &>(x));
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_quaternion & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return quat_traits<Q>::template write_element<I>(reinterpret_cast<Q &>(x));
- }
- };
-
- template <class Q>
- struct
- deduce_quat< qvm_detail::qref_<Q> >
- {
- typedef quat<typename quat_traits<Q>::scalar_type> type;
- };
-
- template <class Q>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_quat<Q>::value,
- qvm_detail::qref_<Q> const &>::type
- qref( Q const & a )
- {
- return reinterpret_cast<qvm_detail::qref_<Q> const &>(a);
- }
-
- template <class Q>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_quat<Q>::value,
- qvm_detail::qref_<Q> &>::type
- qref( Q & a )
- {
- return reinterpret_cast<qvm_detail::qref_<Q> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- class
- zero_q_
- {
- zero_q_( zero_q_ const & );
- zero_q_ & operator=( zero_q_ const & );
- ~zero_q_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class T>
- struct
- quat_traits< qvm_detail::zero_q_<T> >
- {
- typedef qvm_detail::zero_q_<T> this_quaternion;
- typedef T scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return scalar_traits<scalar_type>::value(0);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_quaternion const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<4);
- return scalar_traits<scalar_type>::value(0);
- }
- };
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::zero_q_<T> const &
- zero_quat()
- {
- return *(qvm_detail::zero_q_<T> const *)qvm_detail::get_valid_ptr_quat_operations();
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- set_zero( A & a )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T const zero=scalar_traits<T>::value(0);
- quat_traits<A>::template write_element<0>(a) = zero;
- quat_traits<A>::template write_element<1>(a) = zero;
- quat_traits<A>::template write_element<2>(a) = zero;
- quat_traits<A>::template write_element<3>(a) = zero;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class V>
- struct
- rot_quat_
- {
- typedef typename vec_traits<V>::scalar_type scalar_type;
- scalar_type a[4];
-
- template <class Angle>
- BOOST_QVM_INLINE
- rot_quat_( V const & axis, Angle angle )
- {
- scalar_type const x=vec_traits<V>::template read_element<0>(axis);
- scalar_type const y=vec_traits<V>::template read_element<1>(axis);
- scalar_type const z=vec_traits<V>::template read_element<2>(axis);
- scalar_type const m2=x*x+y*y+z*z;
- if( m2==scalar_traits<scalar_type>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- scalar_type const rm=scalar_traits<scalar_type>::value(1)/sqrt<scalar_type>(m2);
- angle/=2;
- scalar_type const s=sin<Angle>(angle);
- a[0] = cos<Angle>(angle);
- a[1] = rm*x*s;
- a[2] = rm*y*s;
- a[3] = rm*z*s;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class V>
- struct
- quat_traits< qvm_detail::rot_quat_<V> >
- {
- typedef qvm_detail::rot_quat_<V> this_quaternion;
- typedef typename this_quaternion::scalar_type scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return x.a[I];
- }
- };
-
- template <class V>
- struct
- deduce_quat< qvm_detail::rot_quat_<V> >
- {
- typedef quat<typename vec_traits<V>::scalar_type> type;
- };
-
- template <class A,class Angle>
- BOOST_QVM_INLINE
- typename enable_if_c<
- is_vec<A>::value && vec_traits<A>::dim==3,
- qvm_detail::rot_quat_<A> >::type
- rot_quat( A const & axis, Angle angle )
- {
- return qvm_detail::rot_quat_<A>(axis,angle);
- }
-
- template <class A,class B,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value &&
- is_vec<B>::value && vec_traits<B>::dim==3,
- void>::type
- set_rot( A & a, B const & axis, Angle angle )
- {
- assign(a,rot_quat(axis,angle));
- }
-
- template <class A,class B,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value &&
- is_vec<B>::value && vec_traits<B>::dim==3,
- void>::type
- rotate( A & a, B const & axis, Angle angle )
- {
- a *= rot_quat(axis,angle);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- struct
- rotx_quat_
- {
- BOOST_QVM_INLINE_TRIVIAL
- rotx_quat_()
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- rotx_quat_( rotx_quat_ const & );
- rotx_quat_ & operator=( rotx_quat_ const & );
- ~rotx_quat_();
- };
-
- template <int I>
- struct
- rotx_q_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & )
- {
- return scalar_traits<T>::value(0);
- }
- };
-
- template <>
- struct
- rotx_q_get<1>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return sin<T>(angle/2);
- }
- };
-
- template <>
- struct
- rotx_q_get<0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle/2);
- }
- };
- }
-
- template <class Angle>
- struct
- quat_traits< qvm_detail::rotx_quat_<Angle> >
- {
- typedef qvm_detail::rotx_quat_<Angle> this_quaternion;
- typedef Angle scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return qvm_detail::rotx_q_get<I>::get(reinterpret_cast<Angle const &>(x));
- }
- };
-
- template <class Angle>
- struct
- deduce_quat< qvm_detail::rotx_quat_<Angle> >
- {
- typedef quat<Angle> type;
- };
-
- template <class Angle>
- struct
- deduce_quat2< qvm_detail::rotx_quat_<Angle>, qvm_detail::rotx_quat_<Angle> >
- {
- typedef quat<Angle> type;
- };
-
- template <class Angle>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::rotx_quat_<Angle> const &
- rotx_quat( Angle const & angle )
- {
- return reinterpret_cast<qvm_detail::rotx_quat_<Angle> const &>(angle);
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- set_rotx( A & a, Angle angle )
- {
- assign(a,rotx_quat(angle));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- rotate_x( A & a, Angle angle )
- {
- a *= rotx_quat(angle);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- struct
- roty_quat_
- {
- BOOST_QVM_INLINE_TRIVIAL
- roty_quat_()
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- roty_quat_( roty_quat_ const & );
- roty_quat_ & operator=( roty_quat_ const & );
- ~roty_quat_();
- };
-
- template <int I>
- struct
- roty_q_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & )
- {
- return scalar_traits<T>::value(0);
- }
- };
-
- template <>
- struct
- roty_q_get<2>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return sin<T>(angle/2);
- }
- };
-
- template <>
- struct
- roty_q_get<0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle/2);
- }
- };
- }
-
- template <class Angle>
- struct
- quat_traits< qvm_detail::roty_quat_<Angle> >
- {
- typedef qvm_detail::roty_quat_<Angle> this_quaternion;
- typedef Angle scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return qvm_detail::roty_q_get<I>::get(reinterpret_cast<Angle const &>(x));
- }
- };
-
- template <class Angle>
- struct
- deduce_quat< qvm_detail::roty_quat_<Angle> >
- {
- typedef quat<Angle> type;
- };
-
- template <class Angle>
- struct
- deduce_quat2< qvm_detail::roty_quat_<Angle>, qvm_detail::roty_quat_<Angle> >
- {
- typedef quat<Angle> type;
- };
-
- template <class Angle>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::roty_quat_<Angle> const &
- roty_quat( Angle const & angle )
- {
- return reinterpret_cast<qvm_detail::roty_quat_<Angle> const &>(angle);
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- set_roty( A & a, Angle angle )
- {
- assign(a,roty_quat(angle));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- rotate_y( A & a, Angle angle )
- {
- a *= roty_quat(angle);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- struct
- rotz_quat_
- {
- BOOST_QVM_INLINE_TRIVIAL
- rotz_quat_()
- {
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
-
- private:
-
- rotz_quat_( rotz_quat_ const & );
- rotz_quat_ & operator=( rotz_quat_ const & );
- ~rotz_quat_();
- };
-
- template <int I>
- struct
- rotz_q_get
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & )
- {
- return scalar_traits<T>::value(0);
- }
- };
-
- template <>
- struct
- rotz_q_get<3>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return sin<T>(angle/2);
- }
- };
-
- template <>
- struct
- rotz_q_get<0>
- {
- template <class T>
- static
- BOOST_QVM_INLINE_CRITICAL
- T
- get( T const & angle )
- {
- return cos<T>(angle/2);
- }
- };
- }
-
- template <class Angle>
- struct
- quat_traits< qvm_detail::rotz_quat_<Angle> >
- {
- typedef qvm_detail::rotz_quat_<Angle> this_quaternion;
- typedef Angle scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return qvm_detail::rotz_q_get<I>::get(reinterpret_cast<Angle const &>(x));
- }
- };
-
- template <class Angle>
- struct
- deduce_quat< qvm_detail::rotz_quat_<Angle> >
- {
- typedef quat<Angle> type;
- };
-
- template <class Angle>
- struct
- deduce_quat2< qvm_detail::rotz_quat_<Angle>, qvm_detail::rotz_quat_<Angle> >
- {
- typedef quat<Angle> type;
- };
-
- template <class Angle>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::rotz_quat_<Angle> const &
- rotz_quat( Angle const & angle )
- {
- return reinterpret_cast<qvm_detail::rotz_quat_<Angle> const &>(angle);
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- set_rotz( A & a, Angle angle )
- {
- assign(a,rotz_quat(angle));
- }
-
- template <class A,class Angle>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value,
- void>::type
- rotate_z( A & a, Angle angle )
- {
- a *= rotz_quat(angle);
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_quat<A>::value && is_vec<B>::value && vec_traits<B>::dim==3,
- typename quat_traits<A>::scalar_type>::type
- axis_angle( A const & a, B & b )
- {
- typedef typename quat_traits<A>::scalar_type T;
- T a0=quat_traits<A>::template read_element<0>(a);
- T a1=quat_traits<A>::template read_element<1>(a);
- T a2=quat_traits<A>::template read_element<2>(a);
- T a3=quat_traits<A>::template read_element<3>(a);
- if( a0>1 )
- {
- T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
- if( m2==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T const s=sqrt<T>(m2);
- a0/=s;
- a1/=s;
- a2/=s;
- a3/=s;
- }
- if( T s=sqrt<T>(1-a0*a0) )
- {
- vec_traits<B>::template write_element<0>(b) = a1/s;
- vec_traits<B>::template write_element<1>(b) = a2/s;
- vec_traits<B>::template write_element<2>(b) = a3/s;
- }
- else
- {
- typedef typename vec_traits<B>::scalar_type T;
- vec_traits<B>::template write_element<0>(b) = scalar_traits<T>::value(1);
- vec_traits<B>::template write_element<1>(b) = vec_traits<B>::template write_element<2>(b) = scalar_traits<T>::value(0);
- }
- return scalar_traits<T>::value(2) * qvm::acos(a0);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- sfinae
- {
- using ::boost::qvm::assign;
- using ::boost::qvm::cmp;
- using ::boost::qvm::convert_to;
- using ::boost::qvm::conjugate;
- using ::boost::qvm::set_identity;
- using ::boost::qvm::set_zero;
- using ::boost::qvm::scalar_cast;
- using ::boost::qvm::operator/=;
- using ::boost::qvm::operator/;
- using ::boost::qvm::dot;
- using ::boost::qvm::operator==;
- using ::boost::qvm::inverse;
- using ::boost::qvm::mag_sqr;
- using ::boost::qvm::mag;
- using ::boost::qvm::slerp;
- using ::boost::qvm::operator-=;
- using ::boost::qvm::operator-;
- using ::boost::qvm::operator*=;
- using ::boost::qvm::operator*;
- using ::boost::qvm::operator!=;
- using ::boost::qvm::normalized;
- using ::boost::qvm::normalize;
- using ::boost::qvm::operator+=;
- using ::boost::qvm::operator+;
- using ::boost::qvm::qref;
- using ::boost::qvm::rot_quat;
- using ::boost::qvm::set_rot;
- using ::boost::qvm::rotate;
- using ::boost::qvm::rotx_quat;
- using ::boost::qvm::set_rotx;
- using ::boost::qvm::rotate_x;
- using ::boost::qvm::roty_quat;
- using ::boost::qvm::set_roty;
- using ::boost::qvm::rotate_y;
- using ::boost::qvm::rotz_quat;
- using ::boost::qvm::set_rotz;
- using ::boost::qvm::rotate_z;
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_E6519754D19211DFB8405F74DFD72085
+#define UUID_E6519754D19211DFB8405F74DFD72085
+
+#include <boost/qvm/detail/quat_assign.hpp>
+#include <boost/qvm/deduce_quat.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/scalar_traits.hpp>
+#include <boost/qvm/math.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/error.hpp>
+#include <boost/qvm/throw_exception.hpp>
+#include <string>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ BOOST_QVM_INLINE_CRITICAL
+ void const *
+ get_valid_ptr_quat_operations()
+ {
+ static int const obj=0;
+ return &obj;
+ }
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ msvc_parse_bug_workaround
+ {
+ template <class A,class B>
+ struct
+ quats
+ {
+ static bool const value=is_quat<A>::value && is_quat<B>::value;
+ };
+ }
+
+ namespace
+ qvm_to_string_detail
+ {
+ template <class T>
+ std::string to_string( T const & x );
+ }
+
+ template <class A>
+ inline
+ typename boost::enable_if_c<
+ is_quat<A>::value,
+ std::string>::type
+ to_string( A const & a )
+ {
+ using namespace qvm_to_string_detail;
+ return '('+
+ to_string(quat_traits<A>::template read_element<0>(a))+','+
+ to_string(quat_traits<A>::template read_element<1>(a))+','+
+ to_string(quat_traits<A>::template read_element<2>(a))+','+
+ to_string(quat_traits<A>::template read_element<3>(a))+')';
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A,class B,class Cmp>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ bool>::type
+ cmp( A const & a, B const & b, Cmp f )
+ {
+ typedef typename deduce_scalar<
+ typename quat_traits<A>::scalar_type,
+ typename quat_traits<B>::scalar_type>::type T;
+ T q1[4] =
+ {
+ quat_traits<A>::template read_element<0>(a),
+ quat_traits<A>::template read_element<1>(a),
+ quat_traits<A>::template read_element<2>(a),
+ quat_traits<A>::template read_element<3>(a)
+ };
+ T q2[4] =
+ {
+ quat_traits<B>::template read_element<0>(b),
+ quat_traits<B>::template read_element<1>(b),
+ quat_traits<B>::template read_element<2>(b),
+ quat_traits<B>::template read_element<3>(b)
+ };
+ int i;
+ for( i=0; i!=4; ++i )
+ if( !f(q1[i],q2[i]) )
+ break;
+ if( i==4 )
+ return true;
+ for( i=0; i!=4; ++i )
+ if( !f(q1[i],-q2[i]) )
+ return false;
+ return true;
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_quat<R>::value && is_quat<A>::value,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r;
+ quat_traits<R>::template write_element<0>(r) = quat_traits<A>::template read_element<0>(a);
+ quat_traits<R>::template write_element<1>(r) = quat_traits<A>::template read_element<1>(a);
+ quat_traits<R>::template write_element<2>(r) = quat_traits<A>::template read_element<2>(a);
+ quat_traits<R>::template write_element<3>(r) = quat_traits<A>::template read_element<3>(a);
+ return r;
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<R>::value && is_mat<A>::value &&
+ mat_traits<A>::rows==3 && mat_traits<A>::cols==3,
+ R>::type
+ convert_to( A const & a )
+ {
+ typedef typename mat_traits<A>::scalar_type T;
+ T const mat[3][3] =
+ {
+ { mat_traits<A>::template read_element<0,0>(a), mat_traits<A>::template read_element<0,1>(a), mat_traits<A>::template read_element<0,2>(a) },
+ { mat_traits<A>::template read_element<1,0>(a), mat_traits<A>::template read_element<1,1>(a), mat_traits<A>::template read_element<1,2>(a) },
+ { mat_traits<A>::template read_element<2,0>(a), mat_traits<A>::template read_element<2,1>(a), mat_traits<A>::template read_element<2,2>(a) }
+ };
+ R r;
+ if( mat[0][0]+mat[1][1]+mat[2][2] > scalar_traits<T>::value(0) )
+ {
+ T t = mat[0][0] + mat[1][1] + mat[2][2] + scalar_traits<T>::value(1);
+ T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
+ quat_traits<R>::template write_element<0>(r)=s*t;
+ quat_traits<R>::template write_element<1>(r)=(mat[2][1]-mat[1][2])*s;
+ quat_traits<R>::template write_element<2>(r)=(mat[0][2]-mat[2][0])*s;
+ quat_traits<R>::template write_element<3>(r)=(mat[1][0]-mat[0][1])*s;
+ }
+ else if( mat[0][0]>mat[1][1] && mat[0][0]>mat[2][2] )
+ {
+ T t = mat[0][0] - mat[1][1] - mat[2][2] + scalar_traits<T>::value(1);
+ T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
+ quat_traits<R>::template write_element<0>(r)=(mat[2][1]-mat[1][2])*s;
+ quat_traits<R>::template write_element<1>(r)=s*t;
+ quat_traits<R>::template write_element<2>(r)=(mat[1][0]+mat[0][1])*s;
+ quat_traits<R>::template write_element<3>(r)=(mat[0][2]+mat[2][0])*s;
+ }
+ else if( mat[1][1]>mat[2][2] )
+ {
+ T t = - mat[0][0] + mat[1][1] - mat[2][2] + scalar_traits<T>::value(1);
+ T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
+ quat_traits<R>::template write_element<0>(r)=(mat[0][2]-mat[2][0])*s;
+ quat_traits<R>::template write_element<1>(r)=(mat[1][0]+mat[0][1])*s;
+ quat_traits<R>::template write_element<2>(r)=s*t;
+ quat_traits<R>::template write_element<3>(r)=(mat[2][1]+mat[1][2])*s;
+ }
+ else
+ {
+ T t = - mat[0][0] - mat[1][1] + mat[2][2] + scalar_traits<T>::value(1);
+ T s = (scalar_traits<T>::value(1)/sqrt<T>(t))/2;
+ quat_traits<R>::template write_element<0>(r)=(mat[1][0]-mat[0][1])*s;
+ quat_traits<R>::template write_element<1>(r)=(mat[0][2]+mat[2][0])*s;
+ quat_traits<R>::template write_element<2>(r)=(mat[2][1]+mat[1][2])*s;
+ quat_traits<R>::template write_element<3>(r)=s*t;
+ }
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value,
+ deduce_quat<A> >::type
+ conjugate( A const & a )
+ {
+ typedef typename deduce_quat<A>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a);
+ quat_traits<R>::template write_element<1>(r)=-quat_traits<A>::template read_element<1>(a);
+ quat_traits<R>::template write_element<2>(r)=-quat_traits<A>::template read_element<2>(a);
+ quat_traits<R>::template write_element<3>(r)=-quat_traits<A>::template read_element<3>(a);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ class
+ identity_quat_
+ {
+ identity_quat_( identity_quat_ const & );
+ identity_quat_ & operator=( identity_quat_ const & );
+ ~identity_quat_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class T>
+ struct
+ quat_traits< qvm_detail::identity_quat_<T> >
+ {
+ typedef qvm_detail::identity_quat_<T> this_quaternion;
+ typedef T scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return scalar_traits<T>::value(I==0);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_quaternion const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<4);
+ return scalar_traits<T>::value(i==0);
+ }
+ };
+
+ template <class T>
+ struct
+ deduce_quat< qvm_detail::identity_quat_<T> >
+ {
+ typedef quat<T> type;
+ };
+
+ template <class T>
+ struct
+ deduce_quat2< qvm_detail::identity_quat_<T>, qvm_detail::identity_quat_<T> >
+ {
+ typedef quat<T> type;
+ };
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::identity_quat_<T> const &
+ identity_quat()
+ {
+ return *(qvm_detail::identity_quat_<T> const *)qvm_detail::get_valid_ptr_quat_operations();
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ set_identity( A & a )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T const zero=scalar_traits<T>::value(0);
+ T const one=scalar_traits<T>::value(1);
+ quat_traits<A>::template write_element<0>(a) = one;
+ quat_traits<A>::template write_element<1>(a) = zero;
+ quat_traits<A>::template write_element<2>(a) = zero;
+ quat_traits<A>::template write_element<3>(a) = zero;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalType,class Scalar>
+ class
+ quaternion_scalar_cast_
+ {
+ quaternion_scalar_cast_( quaternion_scalar_cast_ const & );
+ quaternion_scalar_cast_ & operator=( quaternion_scalar_cast_ const & );
+ ~quaternion_scalar_cast_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ quaternion_scalar_cast_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <bool> struct scalar_cast_quaternion_filter { };
+ template <> struct scalar_cast_quaternion_filter<true> { typedef int type; };
+ }
+
+ template <class OriginalType,class Scalar>
+ struct
+ quat_traits< qvm_detail::quaternion_scalar_cast_<OriginalType,Scalar> >
+ {
+ typedef Scalar scalar_type;
+ typedef qvm_detail::quaternion_scalar_cast_<OriginalType,Scalar> this_quaternion;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return scalar_type(quat_traits<OriginalType>::template read_element<I>(reinterpret_cast<OriginalType const &>(x)));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_quaternion const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<4);
+ return scalar_type(quat_traits<OriginalType>::read_element_idx(i,reinterpret_cast<OriginalType const &>(x)));
+ }
+ };
+
+ template <class Scalar,class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::quaternion_scalar_cast_<T,Scalar> const &
+ scalar_cast( T const & x, typename qvm_detail::scalar_cast_quaternion_filter<is_quat<T>::value>::type=0 )
+ {
+ return reinterpret_cast<qvm_detail::quaternion_scalar_cast_<T,Scalar> const &>(x);
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_scalar<B>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ quat_traits<A>::template write_element<0>(a)/=b;
+ quat_traits<A>::template write_element<1>(a)/=b;
+ quat_traits<A>::template write_element<2>(a)/=b;
+ quat_traits<A>::template write_element<3>(a)/=b;
+ return a;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_scalar<B>::value,
+ deduce_quat<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_quat<A>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r) = quat_traits<A>::template read_element<0>(a)/b;
+ quat_traits<R>::template write_element<1>(r) = quat_traits<A>::template read_element<1>(a)/b;
+ quat_traits<R>::template write_element<2>(r) = quat_traits<A>::template read_element<2>(a)/b;
+ quat_traits<R>::template write_element<3>(r) = quat_traits<A>::template read_element<3>(a)/b;
+ return r;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ deduce_scalar<typename quat_traits<A>::scalar_type,typename quat_traits<B>::scalar_type> >::type
+ dot( A const & a, B const & b )
+ {
+ typedef typename quat_traits<A>::scalar_type Ta;
+ typedef typename quat_traits<B>::scalar_type Tb;
+ typedef typename deduce_scalar<Ta,Tb>::type Tr;
+ Ta const a0=quat_traits<A>::template read_element<0>(a);
+ Ta const a1=quat_traits<A>::template read_element<1>(a);
+ Ta const a2=quat_traits<A>::template read_element<2>(a);
+ Ta const a3=quat_traits<A>::template read_element<3>(a);
+ Tb const b0=quat_traits<B>::template read_element<0>(b);
+ Tb const b1=quat_traits<B>::template read_element<1>(b);
+ Tb const b2=quat_traits<B>::template read_element<2>(b);
+ Tb const b3=quat_traits<B>::template read_element<3>(b);
+ Tr const dp=a0*b0+a1*b1+a2*b2+a3*b3;
+ return dp;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ return
+ quat_traits<A>::template read_element<0>(a)==quat_traits<B>::template read_element<0>(b) &&
+ quat_traits<A>::template read_element<1>(a)==quat_traits<B>::template read_element<1>(b) &&
+ quat_traits<A>::template read_element<2>(a)==quat_traits<B>::template read_element<2>(b) &&
+ quat_traits<A>::template read_element<3>(a)==quat_traits<B>::template read_element<3>(b);
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value,
+ deduce_quat<A> >::type
+ inverse( A const & a )
+ {
+ typedef typename deduce_quat<A>::type R;
+ typedef typename quat_traits<A>::scalar_type TA;
+ TA aa = quat_traits<A>::template read_element<0>(a);
+ TA ab = quat_traits<A>::template read_element<1>(a);
+ TA ac = quat_traits<A>::template read_element<2>(a);
+ TA ad = quat_traits<A>::template read_element<3>(a);
+ TA m2 = ab*ab + ac*ac + ad*ad + aa*aa;
+ if( m2==scalar_traits<TA>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ TA rm=scalar_traits<TA>::value(1)/m2;
+ R r;
+ quat_traits<R>::template write_element<0>(r) = aa*rm;
+ quat_traits<R>::template write_element<1>(r) = -ab*rm;
+ quat_traits<R>::template write_element<2>(r) = -ac*rm;
+ quat_traits<R>::template write_element<3>(r) = -ad*rm;
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ typename quat_traits<A>::scalar_type>::type
+ mag_sqr( A const & a )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T x=quat_traits<A>::template read_element<0>(a);
+ T y=quat_traits<A>::template read_element<1>(a);
+ T z=quat_traits<A>::template read_element<2>(a);
+ T w=quat_traits<A>::template read_element<3>(a);
+ return x*x+y*y+z*z+w*w;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ typename quat_traits<A>::scalar_type>::type
+ mag( A const & a )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T x=quat_traits<A>::template read_element<0>(a);
+ T y=quat_traits<A>::template read_element<1>(a);
+ T z=quat_traits<A>::template read_element<2>(a);
+ T w=quat_traits<A>::template read_element<3>(a);
+ return sqrt<T>(x*x+y*y+z*z+w*w);
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if<
+ msvc_parse_bug_workaround::quats<A,B>,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ quat_traits<A>::template write_element<0>(a)-=quat_traits<B>::template read_element<0>(b);
+ quat_traits<A>::template write_element<1>(a)-=quat_traits<B>::template read_element<1>(b);
+ quat_traits<A>::template write_element<2>(a)-=quat_traits<B>::template read_element<2>(b);
+ quat_traits<A>::template write_element<3>(a)-=quat_traits<B>::template read_element<3>(b);
+ return a;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ deduce_quat2<A,B> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_quat2<A,B>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a)-quat_traits<B>::template read_element<0>(b);
+ quat_traits<R>::template write_element<1>(r)=quat_traits<A>::template read_element<1>(a)-quat_traits<B>::template read_element<1>(b);
+ quat_traits<R>::template write_element<2>(r)=quat_traits<A>::template read_element<2>(a)-quat_traits<B>::template read_element<2>(b);
+ quat_traits<R>::template write_element<3>(r)=quat_traits<A>::template read_element<3>(a)-quat_traits<B>::template read_element<3>(b);
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value,
+ deduce_quat<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_quat<A>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r)=-quat_traits<A>::template read_element<0>(a);
+ quat_traits<R>::template write_element<1>(r)=-quat_traits<A>::template read_element<1>(a);
+ quat_traits<R>::template write_element<2>(r)=-quat_traits<A>::template read_element<2>(a);
+ quat_traits<R>::template write_element<3>(r)=-quat_traits<A>::template read_element<3>(a);
+ return r;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if<
+ msvc_parse_bug_workaround::quats<A,B>,
+ A &>::type
+ operator*=( A & a, B const & b )
+ {
+ typedef typename quat_traits<A>::scalar_type TA;
+ typedef typename quat_traits<B>::scalar_type TB;
+ TA const aa=quat_traits<A>::template read_element<0>(a);
+ TA const ab=quat_traits<A>::template read_element<1>(a);
+ TA const ac=quat_traits<A>::template read_element<2>(a);
+ TA const ad=quat_traits<A>::template read_element<3>(a);
+ TB const ba=quat_traits<B>::template read_element<0>(b);
+ TB const bb=quat_traits<B>::template read_element<1>(b);
+ TB const bc=quat_traits<B>::template read_element<2>(b);
+ TB const bd=quat_traits<B>::template read_element<3>(b);
+ quat_traits<A>::template write_element<0>(a) = aa*ba - ab*bb - ac*bc - ad*bd;
+ quat_traits<A>::template write_element<1>(a) = aa*bb + ab*ba + ac*bd - ad*bc;
+ quat_traits<A>::template write_element<2>(a) = aa*bc + ac*ba + ad*bb - ab*bd;
+ quat_traits<A>::template write_element<3>(a) = aa*bd + ad*ba + ab*bc - ac*bb;
+ return a;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_scalar<B>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ quat_traits<A>::template write_element<0>(a)*=b;
+ quat_traits<A>::template write_element<1>(a)*=b;
+ quat_traits<A>::template write_element<2>(a)*=b;
+ quat_traits<A>::template write_element<3>(a)*=b;
+ return a;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ deduce_quat2<A,B> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename deduce_quat2<A,B>::type R;
+ typedef typename quat_traits<A>::scalar_type TA;
+ typedef typename quat_traits<B>::scalar_type TB;
+ TA const aa=quat_traits<A>::template read_element<0>(a);
+ TA const ab=quat_traits<A>::template read_element<1>(a);
+ TA const ac=quat_traits<A>::template read_element<2>(a);
+ TA const ad=quat_traits<A>::template read_element<3>(a);
+ TB const ba=quat_traits<B>::template read_element<0>(b);
+ TB const bb=quat_traits<B>::template read_element<1>(b);
+ TB const bc=quat_traits<B>::template read_element<2>(b);
+ TB const bd=quat_traits<B>::template read_element<3>(b);
+ R r;
+ quat_traits<R>::template write_element<0>(r) = aa*ba - ab*bb - ac*bc - ad*bd;
+ quat_traits<R>::template write_element<1>(r) = aa*bb + ab*ba + ac*bd - ad*bc;
+ quat_traits<R>::template write_element<2>(r) = aa*bc + ac*ba + ad*bb - ab*bd;
+ quat_traits<R>::template write_element<3>(r) = aa*bd + ad*ba + ab*bc - ac*bb;
+ return r;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_scalar<B>::value,
+ deduce_quat<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_quat<A>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a)*b;
+ quat_traits<R>::template write_element<1>(r)=quat_traits<A>::template read_element<1>(a)*b;
+ quat_traits<R>::template write_element<2>(r)=quat_traits<A>::template read_element<2>(a)*b;
+ quat_traits<R>::template write_element<3>(r)=quat_traits<A>::template read_element<3>(a)*b;
+ return r;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ return
+ quat_traits<A>::template read_element<0>(a)!=quat_traits<B>::template read_element<0>(b) ||
+ quat_traits<A>::template read_element<1>(a)!=quat_traits<B>::template read_element<1>(b) ||
+ quat_traits<A>::template read_element<2>(a)!=quat_traits<B>::template read_element<2>(b) ||
+ quat_traits<A>::template read_element<3>(a)!=quat_traits<B>::template read_element<3>(b);
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value,
+ deduce_quat<A> >::type
+ normalized( A const & a )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T const a0=quat_traits<A>::template read_element<0>(a);
+ T const a1=quat_traits<A>::template read_element<1>(a);
+ T const a2=quat_traits<A>::template read_element<2>(a);
+ T const a3=quat_traits<A>::template read_element<3>(a);
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ if( m2==scalar_traits<typename quat_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ typedef typename deduce_quat<A>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r)=a0*rm;
+ quat_traits<R>::template write_element<1>(r)=a1*rm;
+ quat_traits<R>::template write_element<2>(r)=a2*rm;
+ quat_traits<R>::template write_element<3>(r)=a3*rm;
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ normalize( A & a )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T const a0=quat_traits<A>::template read_element<0>(a);
+ T const a1=quat_traits<A>::template read_element<1>(a);
+ T const a2=quat_traits<A>::template read_element<2>(a);
+ T const a3=quat_traits<A>::template read_element<3>(a);
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ if( m2==scalar_traits<typename quat_traits<A>::scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const rm=scalar_traits<T>::value(1)/sqrt<T>(m2);
+ quat_traits<A>::template write_element<0>(a)*=rm;
+ quat_traits<A>::template write_element<1>(a)*=rm;
+ quat_traits<A>::template write_element<2>(a)*=rm;
+ quat_traits<A>::template write_element<3>(a)*=rm;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if<
+ msvc_parse_bug_workaround::quats<A,B>,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ quat_traits<A>::template write_element<0>(a)+=quat_traits<B>::template read_element<0>(b);
+ quat_traits<A>::template write_element<1>(a)+=quat_traits<B>::template read_element<1>(b);
+ quat_traits<A>::template write_element<2>(a)+=quat_traits<B>::template read_element<2>(b);
+ quat_traits<A>::template write_element<3>(a)+=quat_traits<B>::template read_element<3>(b);
+ return a;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_quat<B>::value,
+ deduce_quat2<A,B> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_quat2<A,B>::type R;
+ R r;
+ quat_traits<R>::template write_element<0>(r)=quat_traits<A>::template read_element<0>(a)+quat_traits<B>::template read_element<0>(b);
+ quat_traits<R>::template write_element<1>(r)=quat_traits<A>::template read_element<1>(a)+quat_traits<B>::template read_element<1>(b);
+ quat_traits<R>::template write_element<2>(r)=quat_traits<A>::template read_element<2>(a)+quat_traits<B>::template read_element<2>(b);
+ quat_traits<R>::template write_element<3>(r)=quat_traits<A>::template read_element<3>(a)+quat_traits<B>::template read_element<3>(b);
+ return r;
+ }
+
+ template <class A,class B,class C>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value && is_quat<B>::value && is_scalar<C>::value,
+ deduce_quat2<A,B> >::type
+ slerp( A const & a, B const & b, C t )
+ {
+ typedef typename deduce_quat2<A,B>::type R;
+ typedef typename quat_traits<R>::scalar_type TR;
+ TR const one = scalar_traits<TR>::value(1);
+ TR dp = dot(a,b);
+ TR sc=one;
+ if( dp < one )
+ {
+ TR const theta = acosf(dp);
+ TR const invsintheta = one/sin<TR>(theta);
+ TR const scale = sin<TR>(theta*(one-t)) * invsintheta;
+ TR const invscale = sin<TR>(theta*t) * invsintheta * sc;
+ return a*scale + b*invscale;
+ }
+ else
+ return normalized(a+(b-a)*t);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ class
+ qref_
+ {
+ qref_( qref_ const & );
+ qref_ & operator=( qref_ const & );
+ ~qref_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ qref_ &
+ operator=( R const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class Q>
+ struct quat_traits;
+
+ template <class Q>
+ struct
+ quat_traits< qvm_detail::qref_<Q> >
+ {
+ typedef typename quat_traits<Q>::scalar_type scalar_type;
+ typedef qvm_detail::qref_<Q> this_quaternion;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return quat_traits<Q>::template read_element<I>(reinterpret_cast<Q const &>(x));
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_quaternion & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return quat_traits<Q>::template write_element<I>(reinterpret_cast<Q &>(x));
+ }
+ };
+
+ template <class Q>
+ struct
+ deduce_quat< qvm_detail::qref_<Q> >
+ {
+ typedef quat<typename quat_traits<Q>::scalar_type> type;
+ };
+
+ template <class Q>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_quat<Q>::value,
+ qvm_detail::qref_<Q> const &>::type
+ qref( Q const & a )
+ {
+ return reinterpret_cast<qvm_detail::qref_<Q> const &>(a);
+ }
+
+ template <class Q>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_quat<Q>::value,
+ qvm_detail::qref_<Q> &>::type
+ qref( Q & a )
+ {
+ return reinterpret_cast<qvm_detail::qref_<Q> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ class
+ zero_q_
+ {
+ zero_q_( zero_q_ const & );
+ zero_q_ & operator=( zero_q_ const & );
+ ~zero_q_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class T>
+ struct
+ quat_traits< qvm_detail::zero_q_<T> >
+ {
+ typedef qvm_detail::zero_q_<T> this_quaternion;
+ typedef T scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return scalar_traits<scalar_type>::value(0);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_quaternion const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<4);
+ return scalar_traits<scalar_type>::value(0);
+ }
+ };
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::zero_q_<T> const &
+ zero_quat()
+ {
+ return *(qvm_detail::zero_q_<T> const *)qvm_detail::get_valid_ptr_quat_operations();
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ set_zero( A & a )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T const zero=scalar_traits<T>::value(0);
+ quat_traits<A>::template write_element<0>(a) = zero;
+ quat_traits<A>::template write_element<1>(a) = zero;
+ quat_traits<A>::template write_element<2>(a) = zero;
+ quat_traits<A>::template write_element<3>(a) = zero;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class V>
+ struct
+ rot_quat_
+ {
+ typedef typename vec_traits<V>::scalar_type scalar_type;
+ scalar_type a[4];
+
+ template <class Angle>
+ BOOST_QVM_INLINE
+ rot_quat_( V const & axis, Angle angle )
+ {
+ scalar_type const x=vec_traits<V>::template read_element<0>(axis);
+ scalar_type const y=vec_traits<V>::template read_element<1>(axis);
+ scalar_type const z=vec_traits<V>::template read_element<2>(axis);
+ scalar_type const m2=x*x+y*y+z*z;
+ if( m2==scalar_traits<scalar_type>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ scalar_type const rm=scalar_traits<scalar_type>::value(1)/sqrt<scalar_type>(m2);
+ angle/=2;
+ scalar_type const s=sin<Angle>(angle);
+ a[0] = cos<Angle>(angle);
+ a[1] = rm*x*s;
+ a[2] = rm*y*s;
+ a[3] = rm*z*s;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class V>
+ struct
+ quat_traits< qvm_detail::rot_quat_<V> >
+ {
+ typedef qvm_detail::rot_quat_<V> this_quaternion;
+ typedef typename this_quaternion::scalar_type scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return x.a[I];
+ }
+ };
+
+ template <class V>
+ struct
+ deduce_quat< qvm_detail::rot_quat_<V> >
+ {
+ typedef quat<typename vec_traits<V>::scalar_type> type;
+ };
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE
+ typename enable_if_c<
+ is_vec<A>::value && vec_traits<A>::dim==3,
+ qvm_detail::rot_quat_<A> >::type
+ rot_quat( A const & axis, Angle angle )
+ {
+ return qvm_detail::rot_quat_<A>(axis,angle);
+ }
+
+ template <class A,class B,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value &&
+ is_vec<B>::value && vec_traits<B>::dim==3,
+ void>::type
+ set_rot( A & a, B const & axis, Angle angle )
+ {
+ assign(a,rot_quat(axis,angle));
+ }
+
+ template <class A,class B,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value &&
+ is_vec<B>::value && vec_traits<B>::dim==3,
+ void>::type
+ rotate( A & a, B const & axis, Angle angle )
+ {
+ a *= rot_quat(axis,angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ struct
+ rotx_quat_
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ rotx_quat_()
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ rotx_quat_( rotx_quat_ const & );
+ rotx_quat_ & operator=( rotx_quat_ const & );
+ ~rotx_quat_();
+ };
+
+ template <int I>
+ struct
+ rotx_q_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & )
+ {
+ return scalar_traits<T>::value(0);
+ }
+ };
+
+ template <>
+ struct
+ rotx_q_get<1>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return sin<T>(angle/2);
+ }
+ };
+
+ template <>
+ struct
+ rotx_q_get<0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle/2);
+ }
+ };
+ }
+
+ template <class Angle>
+ struct
+ quat_traits< qvm_detail::rotx_quat_<Angle> >
+ {
+ typedef qvm_detail::rotx_quat_<Angle> this_quaternion;
+ typedef Angle scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return qvm_detail::rotx_q_get<I>::get(reinterpret_cast<Angle const &>(x));
+ }
+ };
+
+ template <class Angle>
+ struct
+ deduce_quat< qvm_detail::rotx_quat_<Angle> >
+ {
+ typedef quat<Angle> type;
+ };
+
+ template <class Angle>
+ struct
+ deduce_quat2< qvm_detail::rotx_quat_<Angle>, qvm_detail::rotx_quat_<Angle> >
+ {
+ typedef quat<Angle> type;
+ };
+
+ template <class Angle>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::rotx_quat_<Angle> const &
+ rotx_quat( Angle const & angle )
+ {
+ return reinterpret_cast<qvm_detail::rotx_quat_<Angle> const &>(angle);
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ set_rotx( A & a, Angle angle )
+ {
+ assign(a,rotx_quat(angle));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ rotate_x( A & a, Angle angle )
+ {
+ a *= rotx_quat(angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ struct
+ roty_quat_
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ roty_quat_()
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ roty_quat_( roty_quat_ const & );
+ roty_quat_ & operator=( roty_quat_ const & );
+ ~roty_quat_();
+ };
+
+ template <int I>
+ struct
+ roty_q_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & )
+ {
+ return scalar_traits<T>::value(0);
+ }
+ };
+
+ template <>
+ struct
+ roty_q_get<2>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return sin<T>(angle/2);
+ }
+ };
+
+ template <>
+ struct
+ roty_q_get<0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle/2);
+ }
+ };
+ }
+
+ template <class Angle>
+ struct
+ quat_traits< qvm_detail::roty_quat_<Angle> >
+ {
+ typedef qvm_detail::roty_quat_<Angle> this_quaternion;
+ typedef Angle scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return qvm_detail::roty_q_get<I>::get(reinterpret_cast<Angle const &>(x));
+ }
+ };
+
+ template <class Angle>
+ struct
+ deduce_quat< qvm_detail::roty_quat_<Angle> >
+ {
+ typedef quat<Angle> type;
+ };
+
+ template <class Angle>
+ struct
+ deduce_quat2< qvm_detail::roty_quat_<Angle>, qvm_detail::roty_quat_<Angle> >
+ {
+ typedef quat<Angle> type;
+ };
+
+ template <class Angle>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::roty_quat_<Angle> const &
+ roty_quat( Angle const & angle )
+ {
+ return reinterpret_cast<qvm_detail::roty_quat_<Angle> const &>(angle);
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ set_roty( A & a, Angle angle )
+ {
+ assign(a,roty_quat(angle));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ rotate_y( A & a, Angle angle )
+ {
+ a *= roty_quat(angle);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ struct
+ rotz_quat_
+ {
+ BOOST_QVM_INLINE_TRIVIAL
+ rotz_quat_()
+ {
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+
+ private:
+
+ rotz_quat_( rotz_quat_ const & );
+ rotz_quat_ & operator=( rotz_quat_ const & );
+ ~rotz_quat_();
+ };
+
+ template <int I>
+ struct
+ rotz_q_get
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & )
+ {
+ return scalar_traits<T>::value(0);
+ }
+ };
+
+ template <>
+ struct
+ rotz_q_get<3>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return sin<T>(angle/2);
+ }
+ };
+
+ template <>
+ struct
+ rotz_q_get<0>
+ {
+ template <class T>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ T
+ get( T const & angle )
+ {
+ return cos<T>(angle/2);
+ }
+ };
+ }
+
+ template <class Angle>
+ struct
+ quat_traits< qvm_detail::rotz_quat_<Angle> >
+ {
+ typedef qvm_detail::rotz_quat_<Angle> this_quaternion;
+ typedef Angle scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return qvm_detail::rotz_q_get<I>::get(reinterpret_cast<Angle const &>(x));
+ }
+ };
+
+ template <class Angle>
+ struct
+ deduce_quat< qvm_detail::rotz_quat_<Angle> >
+ {
+ typedef quat<Angle> type;
+ };
+
+ template <class Angle>
+ struct
+ deduce_quat2< qvm_detail::rotz_quat_<Angle>, qvm_detail::rotz_quat_<Angle> >
+ {
+ typedef quat<Angle> type;
+ };
+
+ template <class Angle>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::rotz_quat_<Angle> const &
+ rotz_quat( Angle const & angle )
+ {
+ return reinterpret_cast<qvm_detail::rotz_quat_<Angle> const &>(angle);
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ set_rotz( A & a, Angle angle )
+ {
+ assign(a,rotz_quat(angle));
+ }
+
+ template <class A,class Angle>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value,
+ void>::type
+ rotate_z( A & a, Angle angle )
+ {
+ a *= rotz_quat(angle);
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_quat<A>::value && is_vec<B>::value && vec_traits<B>::dim==3,
+ typename quat_traits<A>::scalar_type>::type
+ axis_angle( A const & a, B & b )
+ {
+ typedef typename quat_traits<A>::scalar_type T;
+ T a0=quat_traits<A>::template read_element<0>(a);
+ T a1=quat_traits<A>::template read_element<1>(a);
+ T a2=quat_traits<A>::template read_element<2>(a);
+ T a3=quat_traits<A>::template read_element<3>(a);
+ if( a0>1 )
+ {
+ T const m2=a0*a0+a1*a1+a2*a2+a3*a3;
+ if( m2==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T const s=sqrt<T>(m2);
+ a0/=s;
+ a1/=s;
+ a2/=s;
+ a3/=s;
+ }
+ if( T s=sqrt<T>(1-a0*a0) )
+ {
+ vec_traits<B>::template write_element<0>(b) = a1/s;
+ vec_traits<B>::template write_element<1>(b) = a2/s;
+ vec_traits<B>::template write_element<2>(b) = a3/s;
+ }
+ else
+ {
+ typedef typename vec_traits<B>::scalar_type T;
+ vec_traits<B>::template write_element<0>(b) = scalar_traits<T>::value(1);
+ vec_traits<B>::template write_element<1>(b) = vec_traits<B>::template write_element<2>(b) = scalar_traits<T>::value(0);
+ }
+ return scalar_traits<T>::value(2) * qvm::acos(a0);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::assign;
+ using ::boost::qvm::cmp;
+ using ::boost::qvm::convert_to;
+ using ::boost::qvm::conjugate;
+ using ::boost::qvm::set_identity;
+ using ::boost::qvm::set_zero;
+ using ::boost::qvm::scalar_cast;
+ using ::boost::qvm::operator/=;
+ using ::boost::qvm::operator/;
+ using ::boost::qvm::dot;
+ using ::boost::qvm::operator==;
+ using ::boost::qvm::inverse;
+ using ::boost::qvm::mag_sqr;
+ using ::boost::qvm::mag;
+ using ::boost::qvm::slerp;
+ using ::boost::qvm::operator-=;
+ using ::boost::qvm::operator-;
+ using ::boost::qvm::operator*=;
+ using ::boost::qvm::operator*;
+ using ::boost::qvm::operator!=;
+ using ::boost::qvm::normalized;
+ using ::boost::qvm::normalize;
+ using ::boost::qvm::operator+=;
+ using ::boost::qvm::operator+;
+ using ::boost::qvm::qref;
+ using ::boost::qvm::rot_quat;
+ using ::boost::qvm::set_rot;
+ using ::boost::qvm::rotate;
+ using ::boost::qvm::rotx_quat;
+ using ::boost::qvm::set_rotx;
+ using ::boost::qvm::rotate_x;
+ using ::boost::qvm::roty_quat;
+ using ::boost::qvm::set_roty;
+ using ::boost::qvm::rotate_y;
+ using ::boost::qvm::rotz_quat;
+ using ::boost::qvm::set_rotz;
+ using ::boost::qvm::rotate_z;
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/quat_traits.hpp b/boost/qvm/quat_traits.hpp
index 9c46a049eb..d26025df4b 100644
--- a/boost/qvm/quat_traits.hpp
+++ b/boost/qvm/quat_traits.hpp
@@ -1,49 +1,49 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_EF321CBE275911E084A4550FDFD72085
-#define UUID_EF321CBE275911E084A4550FDFD72085
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class Q>
- struct
- quat_traits
- {
- typedef void scalar_type;
- };
-
- namespace
- is_quaternion_detail
- {
- template <class>
- struct
- is_void
- {
- static bool const value=false;
- };
-
- template <>
- struct
- is_void<void>
- {
- static bool const value=true;
- };
- }
-
- template <class T>
- struct
- is_quat
- {
- static bool const value=!is_quaternion_detail::is_void<typename quat_traits<T>::scalar_type>::value;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_EF321CBE275911E084A4550FDFD72085
+#define UUID_EF321CBE275911E084A4550FDFD72085
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class Q>
+ struct
+ quat_traits
+ {
+ typedef void scalar_type;
+ };
+
+ namespace
+ is_quaternion_detail
+ {
+ template <class>
+ struct
+ is_void
+ {
+ static bool const value=false;
+ };
+
+ template <>
+ struct
+ is_void<void>
+ {
+ static bool const value=true;
+ };
+ }
+
+ template <class T>
+ struct
+ is_quat
+ {
+ static bool const value=!is_quaternion_detail::is_void<typename quat_traits<T>::scalar_type>::value;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/quat_traits_array.hpp b/boost/qvm/quat_traits_array.hpp
index f3b13d2dd5..d54d17b33e 100644
--- a/boost/qvm/quat_traits_array.hpp
+++ b/boost/qvm/quat_traits_array.hpp
@@ -1,130 +1,130 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_6D6B1EE2119A11E291554FEE6188709B
-#define UUID_6D6B1EE2119A11E291554FEE6188709B
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/deduce_quat.hpp>
-#include <boost/qvm/detail/remove_const.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int D>
- struct
- quat_traits<T[D]>
- {
- typedef void scalar_type;
- };
- template <class T,int D>
- struct
- quat_traits<T[D][4]>
- {
- typedef void scalar_type;
- };
- template <class T,int D>
- struct
- quat_traits<T[4][D]>
- {
- typedef void scalar_type;
- };
- template <class T>
- struct
- quat_traits<T[4][4]>
- {
- typedef void scalar_type;
- };
- template <class T,int M,int N>
- struct
- quat_traits<T[M][N]>
- {
- typedef void scalar_type;
- };
-
- template <class T>
- struct
- quat_traits<T[4]>
- {
- typedef T this_quaternion[4];
- typedef typename qvm_detail::remove_const<T>::type scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_quaternion const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return x[I];
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_quaternion & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<4);
- return x[I];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_quaternion const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<4);
- return x[i];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_quaternion & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<4);
- return x[i];
- }
- };
-
- template <class T>
- struct
- deduce_quat<T[4]>
- {
- typedef quat<T> type;
- };
-
- template <class T>
- struct
- deduce_quat<T const[4]>
- {
- typedef quat<T> type;
- };
-
- template <class T1,class T2>
- struct
- deduce_quat2<T1[4],T2[4]>
- {
- typedef quat<typename deduce_scalar<T1,T2>::type> type;
- };
-
- template <class T>
- T (&ptr_qref( T * ptr ))[4]
- {
- return *reinterpret_cast<T (*)[4]>(ptr);
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_6D6B1EE2119A11E291554FEE6188709B
+#define UUID_6D6B1EE2119A11E291554FEE6188709B
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/deduce_quat.hpp>
+#include <boost/qvm/detail/remove_const.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int D>
+ struct
+ quat_traits<T[D]>
+ {
+ typedef void scalar_type;
+ };
+ template <class T,int D>
+ struct
+ quat_traits<T[D][4]>
+ {
+ typedef void scalar_type;
+ };
+ template <class T,int D>
+ struct
+ quat_traits<T[4][D]>
+ {
+ typedef void scalar_type;
+ };
+ template <class T>
+ struct
+ quat_traits<T[4][4]>
+ {
+ typedef void scalar_type;
+ };
+ template <class T,int M,int N>
+ struct
+ quat_traits<T[M][N]>
+ {
+ typedef void scalar_type;
+ };
+
+ template <class T>
+ struct
+ quat_traits<T[4]>
+ {
+ typedef T this_quaternion[4];
+ typedef typename qvm_detail::remove_const<T>::type scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_quaternion const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return x[I];
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_quaternion & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<4);
+ return x[I];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_quaternion const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<4);
+ return x[i];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_quaternion & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<4);
+ return x[i];
+ }
+ };
+
+ template <class T>
+ struct
+ deduce_quat<T[4]>
+ {
+ typedef quat<T> type;
+ };
+
+ template <class T>
+ struct
+ deduce_quat<T const[4]>
+ {
+ typedef quat<T> type;
+ };
+
+ template <class T1,class T2>
+ struct
+ deduce_quat2<T1[4],T2[4]>
+ {
+ typedef quat<typename deduce_scalar<T1,T2>::type> type;
+ };
+
+ template <class T>
+ T (&ptr_qref( T * ptr ))[4]
+ {
+ return *reinterpret_cast<T (*)[4]>(ptr);
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/quat_traits_defaults.hpp b/boost/qvm/quat_traits_defaults.hpp
index a343b2a3ad..48342144b8 100644
--- a/boost/qvm/quat_traits_defaults.hpp
+++ b/boost/qvm/quat_traits_defaults.hpp
@@ -1,40 +1,40 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_0595DEC2C72D11E6B6B77C2A07624D53
-#define UUID_0595DEC2C72D11E6B6B77C2A07624D53
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class>
- struct quat_traits;
-
- template <class QuatType,class ScalarType>
- struct
- quat_traits_defaults
- {
- typedef QuatType quat_type;
- typedef ScalarType scalar_type;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( quat_type const & x )
- {
- return quat_traits<quat_type>::template write_element<I>(const_cast<quat_type &>(x));
- }
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_0595DEC2C72D11E6B6B77C2A07624D53
+#define UUID_0595DEC2C72D11E6B6B77C2A07624D53
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class>
+ struct quat_traits;
+
+ template <class QuatType,class ScalarType>
+ struct
+ quat_traits_defaults
+ {
+ typedef QuatType quat_type;
+ typedef ScalarType scalar_type;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( quat_type const & x )
+ {
+ return quat_traits<quat_type>::template write_element<I>(const_cast<quat_type &>(x));
+ }
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/quat_vec_operations.hpp b/boost/qvm/quat_vec_operations.hpp
index bbdf33c390..7e1660447c 100644
--- a/boost/qvm/quat_vec_operations.hpp
+++ b/boost/qvm/quat_vec_operations.hpp
@@ -1,62 +1,62 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_51968952D30A11DFAFE78CE3DFD72085
-#define UUID_51968952D30A11DFAFE78CE3DFD72085
-
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_quat<A>::value &&
- is_vec<B>::value && vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,3>::type R;
- typedef typename quat_traits<A>::scalar_type TA;
- typedef typename vec_traits<B>::scalar_type TB;
- TA const aa = quat_traits<A>::template read_element<0>(a);
- TA const ab = quat_traits<A>::template read_element<1>(a);
- TA const ac = quat_traits<A>::template read_element<2>(a);
- TA const ad = quat_traits<A>::template read_element<3>(a);
- TA const t2 = aa*ab;
- TA const t3 = aa*ac;
- TA const t4 = aa*ad;
- TA const t5 = -ab*ab;
- TA const t6 = ab*ac;
- TA const t7 = ab*ad;
- TA const t8 = -ac*ac;
- TA const t9 = ac*ad;
- TA const t10 = -ad*ad;
- TB const bx = vec_traits<B>::template read_element<0>(b);
- TB const by = vec_traits<B>::template read_element<1>(b);
- TB const bz = vec_traits<B>::template read_element<2>(b);
- R r;
- vec_traits<R>::template write_element<0>(r) = 2*((t8+t10)*bx + (t6-t4)*by + (t3+t7)*bz) + bx;
- vec_traits<R>::template write_element<1>(r) = 2*((t4+t6)*bx + (t5+t10)*by + (t9-t2)*bz) + by;
- vec_traits<R>::template write_element<2>(r) = 2*((t7-t3)*bx + (t2+t9)*by + (t5+t8)*bz) + bz;
- return r;
- }
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_51968952D30A11DFAFE78CE3DFD72085
+#define UUID_51968952D30A11DFAFE78CE3DFD72085
+
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_quat<A>::value &&
+ is_vec<B>::value && vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,3>::type R;
+ typedef typename quat_traits<A>::scalar_type TA;
+ typedef typename vec_traits<B>::scalar_type TB;
+ TA const aa = quat_traits<A>::template read_element<0>(a);
+ TA const ab = quat_traits<A>::template read_element<1>(a);
+ TA const ac = quat_traits<A>::template read_element<2>(a);
+ TA const ad = quat_traits<A>::template read_element<3>(a);
+ TA const t2 = aa*ab;
+ TA const t3 = aa*ac;
+ TA const t4 = aa*ad;
+ TA const t5 = -ab*ab;
+ TA const t6 = ab*ac;
+ TA const t7 = ab*ad;
+ TA const t8 = -ac*ac;
+ TA const t9 = ac*ad;
+ TA const t10 = -ad*ad;
+ TB const bx = vec_traits<B>::template read_element<0>(b);
+ TB const by = vec_traits<B>::template read_element<1>(b);
+ TB const bz = vec_traits<B>::template read_element<2>(b);
+ R r;
+ vec_traits<R>::template write_element<0>(r) = 2*((t8+t10)*bx + (t6-t4)*by + (t3+t7)*bz) + bx;
+ vec_traits<R>::template write_element<1>(r) = 2*((t4+t6)*bx + (t5+t10)*by + (t9-t2)*bz) + by;
+ vec_traits<R>::template write_element<2>(r) = 2*((t7-t3)*bx + (t2+t9)*by + (t5+t8)*bz) + bz;
+ return r;
+ }
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/scalar_traits.hpp b/boost/qvm/scalar_traits.hpp
index 8552dfa0ab..f637d40572 100644
--- a/boost/qvm/scalar_traits.hpp
+++ b/boost/qvm/scalar_traits.hpp
@@ -1,92 +1,92 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_57E1C032B9F311DEB7D9BAFE55D89593
-#define UUID_57E1C032B9F311DEB7D9BAFE55D89593
-
-#include <boost/qvm/quat_traits.hpp>
-#include <boost/qvm/vec_traits.hpp>
-#include <boost/qvm/mat_traits.hpp>
-#include <boost/qvm/inline.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class Scalar>
- struct
- scalar_traits
- {
- static
- BOOST_QVM_INLINE_CRITICAL
- Scalar
- value( int v )
- {
- return Scalar(v);
- }
- };
-
- template <class T>
- struct
- is_scalar
- {
- static bool const value=false;
- };
- template <> struct is_scalar<char> { static bool const value=true; };
- template <> struct is_scalar<signed char> { static bool const value=true; };
- template <> struct is_scalar<unsigned char> { static bool const value=true; };
- template <> struct is_scalar<signed short> { static bool const value=true; };
- template <> struct is_scalar<unsigned short> { static bool const value=true; };
- template <> struct is_scalar<signed int> { static bool const value=true; };
- template <> struct is_scalar<unsigned int> { static bool const value=true; };
- template <> struct is_scalar<signed long> { static bool const value=true; };
- template <> struct is_scalar<unsigned long> { static bool const value=true; };
- template <> struct is_scalar<float> { static bool const value=true; };
- template <> struct is_scalar<double> { static bool const value=true; };
- template <> struct is_scalar<long double> { static bool const value=true; };
-
- namespace
- qvm_detail
- {
- template <class A,bool M=is_mat<A>::value,bool Q=is_quat<A>::value,bool V=is_vec<A>::value>
- struct
- scalar_impl
- {
- };
-
- template <class A>
- struct
- scalar_impl<A,true,false,false>
- {
- typedef typename mat_traits<A>::scalar_type type;
- };
-
- template <class A>
- struct
- scalar_impl<A,false,true,false>
- {
- typedef typename quat_traits<A>::scalar_type type;
- };
-
- template <class A>
- struct
- scalar_impl<A,false,false,true>
- {
- typedef typename vec_traits<A>::scalar_type type;
- };
- }
-
- template <class A>
- struct
- scalar
- {
- typedef typename qvm_detail::scalar_impl<A>::type type;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_57E1C032B9F311DEB7D9BAFE55D89593
+#define UUID_57E1C032B9F311DEB7D9BAFE55D89593
+
+#include <boost/qvm/quat_traits.hpp>
+#include <boost/qvm/vec_traits.hpp>
+#include <boost/qvm/mat_traits.hpp>
+#include <boost/qvm/inline.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class Scalar>
+ struct
+ scalar_traits
+ {
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ Scalar
+ value( int v )
+ {
+ return Scalar(v);
+ }
+ };
+
+ template <class T>
+ struct
+ is_scalar
+ {
+ static bool const value=false;
+ };
+ template <> struct is_scalar<char> { static bool const value=true; };
+ template <> struct is_scalar<signed char> { static bool const value=true; };
+ template <> struct is_scalar<unsigned char> { static bool const value=true; };
+ template <> struct is_scalar<signed short> { static bool const value=true; };
+ template <> struct is_scalar<unsigned short> { static bool const value=true; };
+ template <> struct is_scalar<signed int> { static bool const value=true; };
+ template <> struct is_scalar<unsigned int> { static bool const value=true; };
+ template <> struct is_scalar<signed long> { static bool const value=true; };
+ template <> struct is_scalar<unsigned long> { static bool const value=true; };
+ template <> struct is_scalar<float> { static bool const value=true; };
+ template <> struct is_scalar<double> { static bool const value=true; };
+ template <> struct is_scalar<long double> { static bool const value=true; };
+
+ namespace
+ qvm_detail
+ {
+ template <class A,bool M=is_mat<A>::value,bool Q=is_quat<A>::value,bool V=is_vec<A>::value>
+ struct
+ scalar_impl
+ {
+ };
+
+ template <class A>
+ struct
+ scalar_impl<A,true,false,false>
+ {
+ typedef typename mat_traits<A>::scalar_type type;
+ };
+
+ template <class A>
+ struct
+ scalar_impl<A,false,true,false>
+ {
+ typedef typename quat_traits<A>::scalar_type type;
+ };
+
+ template <class A>
+ struct
+ scalar_impl<A,false,false,true>
+ {
+ typedef typename vec_traits<A>::scalar_type type;
+ };
+ }
+
+ template <class A>
+ struct
+ scalar
+ {
+ typedef typename qvm_detail::scalar_impl<A>::type type;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/static_assert.hpp b/boost/qvm/static_assert.hpp
index e97ff4c519..c11746333f 100644
--- a/boost/qvm/static_assert.hpp
+++ b/boost/qvm/static_assert.hpp
@@ -1,9 +1,9 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_STATIC_ASSERT
-#include <boost/static_assert.hpp>
-#define BOOST_QVM_STATIC_ASSERT BOOST_STATIC_ASSERT
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_STATIC_ASSERT
+#include <boost/static_assert.hpp>
+#define BOOST_QVM_STATIC_ASSERT BOOST_STATIC_ASSERT
+#endif
diff --git a/boost/qvm/swizzle.hpp b/boost/qvm/swizzle.hpp
index 9275f263ae..250ff6bd84 100644
--- a/boost/qvm/swizzle.hpp
+++ b/boost/qvm/swizzle.hpp
@@ -1,13 +1,13 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_3B4919D8A41411DEB0818E4C56D89593
-#define UUID_3B4919D8A41411DEB0818E4C56D89593
-
-#include <boost/qvm/swizzle2.hpp>
-#include <boost/qvm/swizzle3.hpp>
-#include <boost/qvm/swizzle4.hpp>
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_3B4919D8A41411DEB0818E4C56D89593
+#define UUID_3B4919D8A41411DEB0818E4C56D89593
+
+#include <boost/qvm/swizzle2.hpp>
+#include <boost/qvm/swizzle3.hpp>
+#include <boost/qvm/swizzle4.hpp>
+
+#endif
diff --git a/boost/qvm/swizzle2.hpp b/boost/qvm/swizzle2.hpp
index 0a5771645e..6380f91606 100644
--- a/boost/qvm/swizzle2.hpp
+++ b/boost/qvm/swizzle2.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/swizzle2.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/swizzle2.hpp>
diff --git a/boost/qvm/swizzle3.hpp b/boost/qvm/swizzle3.hpp
index 7a561db07e..46473a0696 100644
--- a/boost/qvm/swizzle3.hpp
+++ b/boost/qvm/swizzle3.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/swizzle3.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/swizzle3.hpp>
diff --git a/boost/qvm/swizzle4.hpp b/boost/qvm/swizzle4.hpp
index ee3592ea6b..6c87e076a7 100644
--- a/boost/qvm/swizzle4.hpp
+++ b/boost/qvm/swizzle4.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/swizzle4.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/swizzle4.hpp>
diff --git a/boost/qvm/throw_exception.hpp b/boost/qvm/throw_exception.hpp
index 83a498ea6b..74ccaa381f 100644
--- a/boost/qvm/throw_exception.hpp
+++ b/boost/qvm/throw_exception.hpp
@@ -1,9 +1,9 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_QVM_THROW_EXCEPTION
-#include <boost/throw_exception.hpp>
-#define BOOST_QVM_THROW_EXCEPTION BOOST_THROW_EXCEPTION
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_QVM_THROW_EXCEPTION
+#include <boost/throw_exception.hpp>
+#define BOOST_QVM_THROW_EXCEPTION BOOST_THROW_EXCEPTION
+#endif
diff --git a/boost/qvm/to_string.hpp b/boost/qvm/to_string.hpp
index d1826ea56e..11fade6bd9 100644
--- a/boost/qvm/to_string.hpp
+++ b/boost/qvm/to_string.hpp
@@ -1,31 +1,31 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_2812944066B011E29F616DCB6188709B
-#define UUID_2812944066B011E29F616DCB6188709B
-
-#include <boost/exception/to_string.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_to_string_detail
- {
- template <class T>
- std::string
- to_string( T const & x )
- {
- using boost::to_string;
- return to_string(x);
- }
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_2812944066B011E29F616DCB6188709B
+#define UUID_2812944066B011E29F616DCB6188709B
+
+#include <boost/exception/to_string.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_to_string_detail
+ {
+ template <class T>
+ std::string
+ to_string( T const & x )
+ {
+ using boost::to_string;
+ return to_string(x);
+ }
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec.hpp b/boost/qvm/vec.hpp
index 950e58f429..267f15c7d7 100644
--- a/boost/qvm/vec.hpp
+++ b/boost/qvm/vec.hpp
@@ -1,89 +1,89 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_44EB56F0A33711DEB31B41BB56D89593
-#define UUID_44EB56F0A33711DEB31B41BB56D89593
-
-#include <boost/qvm/detail/vec_assign.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/static_assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int D>
- struct
- vec
- {
- T a[D];
- template <class R>
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <class V>
- struct vec_traits;
-
- template <class T,int Dim>
- struct
- vec_traits< vec<T,Dim> >
- {
- typedef vec<T,Dim> this_vector;
- typedef T scalar_type;
- static int const dim=Dim;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return x.a[I];
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return x.a[I];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return x.a[i];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return x.a[i];
- }
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_44EB56F0A33711DEB31B41BB56D89593
+#define UUID_44EB56F0A33711DEB31B41BB56D89593
+
+#include <boost/qvm/detail/vec_assign.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/static_assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int D>
+ struct
+ vec
+ {
+ T a[D];
+ template <class R>
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <class V>
+ struct vec_traits;
+
+ template <class T,int Dim>
+ struct
+ vec_traits< vec<T,Dim> >
+ {
+ typedef vec<T,Dim> this_vector;
+ typedef T scalar_type;
+ static int const dim=Dim;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return x.a[I];
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return x.a[I];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return x.a[i];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return x.a[i];
+ }
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec_access.hpp b/boost/qvm/vec_access.hpp
index add176b03a..5b59165a46 100644
--- a/boost/qvm/vec_access.hpp
+++ b/boost/qvm/vec_access.hpp
@@ -1,82 +1,82 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_10F2D1EA17B511E0BA29FE0BDFD72085
-#define UUID_10F2D1EA17B511E0BA29FE0BDFD72085
-
-#include <boost/qvm/vec_traits.hpp>
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/static_assert.hpp>
-#include <boost/qvm/enable_if.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- template <int I,class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value,
- typename vec_traits<V>::scalar_type>::type
- A( V const & a )
- {
- BOOST_STATIC_ASSERT(I>=0);
- BOOST_STATIC_ASSERT(I<vec_traits<V>::dim);
- return vec_traits<V>::template read_element<I>(a);
- }
-
- template <int I,class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value,
- typename vec_traits<V>::scalar_type &>::type
- A( V & a )
- {
- BOOST_STATIC_ASSERT(I>=0);
- BOOST_STATIC_ASSERT(I<vec_traits<V>::dim);
- return vec_traits<V>::template write_element<I>(a);
- }
-
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type X( V const & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template read_element<0>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type Y( V const & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template read_element<1>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type Z( V const & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template read_element<2>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type W( V const & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template read_element<3>(a); }
-
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type X( V & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template write_element<0>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type Y( V & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template write_element<1>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type Z( V & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template write_element<2>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type W( V & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template write_element<3>(a); }
-
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A0( V const & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template read_element<0>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A1( V const & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template read_element<1>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A2( V const & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template read_element<2>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A3( V const & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template read_element<3>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A4( V const & a ) { BOOST_STATIC_ASSERT(4<vec_traits<V>::dim); return vec_traits<V>::template read_element<4>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A5( V const & a ) { BOOST_STATIC_ASSERT(5<vec_traits<V>::dim); return vec_traits<V>::template read_element<5>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A6( V const & a ) { BOOST_STATIC_ASSERT(6<vec_traits<V>::dim); return vec_traits<V>::template read_element<6>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A7( V const & a ) { BOOST_STATIC_ASSERT(7<vec_traits<V>::dim); return vec_traits<V>::template read_element<7>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A8( V const & a ) { BOOST_STATIC_ASSERT(8<vec_traits<V>::dim); return vec_traits<V>::template read_element<8>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A9( V const & a ) { BOOST_STATIC_ASSERT(9<vec_traits<V>::dim); return vec_traits<V>::template read_element<9>(a); }
-
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A0( V & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template write_element<0>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A1( V & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template write_element<1>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A2( V & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template write_element<2>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A3( V & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template write_element<3>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A4( V & a ) { BOOST_STATIC_ASSERT(4<vec_traits<V>::dim); return vec_traits<V>::template write_element<4>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A5( V & a ) { BOOST_STATIC_ASSERT(5<vec_traits<V>::dim); return vec_traits<V>::template write_element<5>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A6( V & a ) { BOOST_STATIC_ASSERT(6<vec_traits<V>::dim); return vec_traits<V>::template write_element<6>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A7( V & a ) { BOOST_STATIC_ASSERT(7<vec_traits<V>::dim); return vec_traits<V>::template write_element<7>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A8( V & a ) { BOOST_STATIC_ASSERT(8<vec_traits<V>::dim); return vec_traits<V>::template write_element<8>(a); }
- template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A9( V & a ) { BOOST_STATIC_ASSERT(9<vec_traits<V>::dim); return vec_traits<V>::template write_element<9>(a); }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_10F2D1EA17B511E0BA29FE0BDFD72085
+#define UUID_10F2D1EA17B511E0BA29FE0BDFD72085
+
+#include <boost/qvm/vec_traits.hpp>
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/static_assert.hpp>
+#include <boost/qvm/enable_if.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ template <int I,class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value,
+ typename vec_traits<V>::scalar_type>::type
+ A( V const & a )
+ {
+ BOOST_STATIC_ASSERT(I>=0);
+ BOOST_STATIC_ASSERT(I<vec_traits<V>::dim);
+ return vec_traits<V>::template read_element<I>(a);
+ }
+
+ template <int I,class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value,
+ typename vec_traits<V>::scalar_type &>::type
+ A( V & a )
+ {
+ BOOST_STATIC_ASSERT(I>=0);
+ BOOST_STATIC_ASSERT(I<vec_traits<V>::dim);
+ return vec_traits<V>::template write_element<I>(a);
+ }
+
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type X( V const & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template read_element<0>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type Y( V const & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template read_element<1>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type Z( V const & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template read_element<2>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type W( V const & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template read_element<3>(a); }
+
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type X( V & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template write_element<0>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type Y( V & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template write_element<1>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type Z( V & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template write_element<2>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type W( V & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template write_element<3>(a); }
+
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A0( V const & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template read_element<0>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A1( V const & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template read_element<1>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A2( V const & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template read_element<2>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A3( V const & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template read_element<3>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A4( V const & a ) { BOOST_STATIC_ASSERT(4<vec_traits<V>::dim); return vec_traits<V>::template read_element<4>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A5( V const & a ) { BOOST_STATIC_ASSERT(5<vec_traits<V>::dim); return vec_traits<V>::template read_element<5>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A6( V const & a ) { BOOST_STATIC_ASSERT(6<vec_traits<V>::dim); return vec_traits<V>::template read_element<6>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A7( V const & a ) { BOOST_STATIC_ASSERT(7<vec_traits<V>::dim); return vec_traits<V>::template read_element<7>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A8( V const & a ) { BOOST_STATIC_ASSERT(8<vec_traits<V>::dim); return vec_traits<V>::template read_element<8>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type>::type A9( V const & a ) { BOOST_STATIC_ASSERT(9<vec_traits<V>::dim); return vec_traits<V>::template read_element<9>(a); }
+
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A0( V & a ) { BOOST_STATIC_ASSERT(0<vec_traits<V>::dim); return vec_traits<V>::template write_element<0>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A1( V & a ) { BOOST_STATIC_ASSERT(1<vec_traits<V>::dim); return vec_traits<V>::template write_element<1>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A2( V & a ) { BOOST_STATIC_ASSERT(2<vec_traits<V>::dim); return vec_traits<V>::template write_element<2>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A3( V & a ) { BOOST_STATIC_ASSERT(3<vec_traits<V>::dim); return vec_traits<V>::template write_element<3>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A4( V & a ) { BOOST_STATIC_ASSERT(4<vec_traits<V>::dim); return vec_traits<V>::template write_element<4>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A5( V & a ) { BOOST_STATIC_ASSERT(5<vec_traits<V>::dim); return vec_traits<V>::template write_element<5>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A6( V & a ) { BOOST_STATIC_ASSERT(6<vec_traits<V>::dim); return vec_traits<V>::template write_element<6>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A7( V & a ) { BOOST_STATIC_ASSERT(7<vec_traits<V>::dim); return vec_traits<V>::template write_element<7>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A8( V & a ) { BOOST_STATIC_ASSERT(8<vec_traits<V>::dim); return vec_traits<V>::template write_element<8>(a); }
+ template <class V> BOOST_QVM_INLINE_TRIVIAL typename enable_if_c<is_vec<V>::value,typename vec_traits<V>::scalar_type &>::type A9( V & a ) { BOOST_STATIC_ASSERT(9<vec_traits<V>::dim); return vec_traits<V>::template write_element<9>(a); }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec_mat_operations.hpp b/boost/qvm/vec_mat_operations.hpp
index db84bd0205..39bc18db28 100644
--- a/boost/qvm/vec_mat_operations.hpp
+++ b/boost/qvm/vec_mat_operations.hpp
@@ -1,168 +1,168 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_A61EC088D31511DFA59D2B03E0D72085
-#define UUID_A61EC088D31511DFA59D2B03E0D72085
-
-#include <boost/qvm/vec_mat_operations2.hpp>
-#include <boost/qvm/vec_mat_operations3.hpp>
-#include <boost/qvm/vec_mat_operations4.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- mul_mv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_mat<A>::value && is_vec<B>::value &&
- mat_traits<A>::cols==vec_traits<B>::dim &&
- !qvm_detail::mul_mv_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
- deduce_vec2<A,B,mat_traits<A>::rows> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,mat_traits<A>::rows>::type R;
- R r;
- for( int i=0; i<mat_traits<A>::rows; ++i )
- {
- typedef typename vec_traits<R>::scalar_type Tr;
- Tr x(scalar_traits<Tr>::value(0));
- for( int j=0; j<mat_traits<A>::cols; ++j )
- x += mat_traits<A>::read_element_idx(i,j,a)*vec_traits<B>::read_element_idx(j,b);
- vec_traits<R>::write_element_idx(i,r) = x;
- }
- return r;
- }
-
- namespace
- qvm_detail
- {
- template <int M,int N>
- struct
- mul_vm_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_mat<B>::value &&
- vec_traits<A>::dim==mat_traits<B>::rows &&
- !qvm_detail::mul_vm_defined<mat_traits<B>::rows,mat_traits<B>::cols>::value,
- deduce_vec2<A,B,mat_traits<B>::cols> >::type
- operator*( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,mat_traits<B>::cols>::type R;
- R r;
- for( int i=0; i<mat_traits<B>::cols; ++i )
- {
- typedef typename vec_traits<R>::scalar_type Tr;
- Tr x(scalar_traits<Tr>::value(0));
- for( int j=0; j<mat_traits<B>::rows; ++j )
- x += vec_traits<A>::read_element_idx(j,a)*mat_traits<B>::read_element_idx(j,i,b);
- vec_traits<R>::write_element_idx(i,r) = x;
- }
- return r;
- }
-
- ////////////////////////////////////////////////
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
- vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- transform_point( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
- Tb const b0 = vec_traits<B>::template read_element<0>(b);
- Tb const b1 = vec_traits<B>::template read_element<1>(b);
- Tb const b2 = vec_traits<B>::template read_element<2>(b);
- typedef typename deduce_vec2<A,B,3>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
- R r;
- vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2+a03;
- vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2+a13;
- vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2+a23;
- return r;
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
- vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- transform_vector( A const & a, B const & b )
- {
- typedef typename mat_traits<A>::scalar_type Ta;
- typedef typename vec_traits<B>::scalar_type Tb;
- Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
- Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
- Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
- Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
- Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
- Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
- Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
- Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
- Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
- Tb const b0 = vec_traits<B>::template read_element<0>(b);
- Tb const b1 = vec_traits<B>::template read_element<1>(b);
- Tb const b2 = vec_traits<B>::template read_element<2>(b);
- typedef typename deduce_vec2<A,B,3>::type R;
- BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
- R r;
- vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2;
- vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2;
- vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2;
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- sfinae
- {
- using ::boost::qvm::operator*;
- using ::boost::qvm::transform_point;
- using ::boost::qvm::transform_vector;
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_A61EC088D31511DFA59D2B03E0D72085
+#define UUID_A61EC088D31511DFA59D2B03E0D72085
+
+#include <boost/qvm/vec_mat_operations2.hpp>
+#include <boost/qvm/vec_mat_operations3.hpp>
+#include <boost/qvm/vec_mat_operations4.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ mul_mv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_mat<A>::value && is_vec<B>::value &&
+ mat_traits<A>::cols==vec_traits<B>::dim &&
+ !qvm_detail::mul_mv_defined<mat_traits<A>::rows,mat_traits<A>::cols>::value,
+ deduce_vec2<A,B,mat_traits<A>::rows> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,mat_traits<A>::rows>::type R;
+ R r;
+ for( int i=0; i<mat_traits<A>::rows; ++i )
+ {
+ typedef typename vec_traits<R>::scalar_type Tr;
+ Tr x(scalar_traits<Tr>::value(0));
+ for( int j=0; j<mat_traits<A>::cols; ++j )
+ x += mat_traits<A>::read_element_idx(i,j,a)*vec_traits<B>::read_element_idx(j,b);
+ vec_traits<R>::write_element_idx(i,r) = x;
+ }
+ return r;
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int M,int N>
+ struct
+ mul_vm_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_mat<B>::value &&
+ vec_traits<A>::dim==mat_traits<B>::rows &&
+ !qvm_detail::mul_vm_defined<mat_traits<B>::rows,mat_traits<B>::cols>::value,
+ deduce_vec2<A,B,mat_traits<B>::cols> >::type
+ operator*( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,mat_traits<B>::cols>::type R;
+ R r;
+ for( int i=0; i<mat_traits<B>::cols; ++i )
+ {
+ typedef typename vec_traits<R>::scalar_type Tr;
+ Tr x(scalar_traits<Tr>::value(0));
+ for( int j=0; j<mat_traits<B>::rows; ++j )
+ x += vec_traits<A>::read_element_idx(j,a)*mat_traits<B>::read_element_idx(j,i,b);
+ vec_traits<R>::write_element_idx(i,r) = x;
+ }
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
+ vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ transform_point( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a03 = mat_traits<A>::template read_element<0,3>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a13 = mat_traits<A>::template read_element<1,3>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Ta const a23 = mat_traits<A>::template read_element<2,3>(a);
+ Tb const b0 = vec_traits<B>::template read_element<0>(b);
+ Tb const b1 = vec_traits<B>::template read_element<1>(b);
+ Tb const b2 = vec_traits<B>::template read_element<2>(b);
+ typedef typename deduce_vec2<A,B,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2+a03;
+ vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2+a13;
+ vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2+a23;
+ return r;
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ mat_traits<A>::rows==4 && mat_traits<A>::cols==4 &&
+ vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ transform_vector( A const & a, B const & b )
+ {
+ typedef typename mat_traits<A>::scalar_type Ta;
+ typedef typename vec_traits<B>::scalar_type Tb;
+ Ta const a00 = mat_traits<A>::template read_element<0,0>(a);
+ Ta const a01 = mat_traits<A>::template read_element<0,1>(a);
+ Ta const a02 = mat_traits<A>::template read_element<0,2>(a);
+ Ta const a10 = mat_traits<A>::template read_element<1,0>(a);
+ Ta const a11 = mat_traits<A>::template read_element<1,1>(a);
+ Ta const a12 = mat_traits<A>::template read_element<1,2>(a);
+ Ta const a20 = mat_traits<A>::template read_element<2,0>(a);
+ Ta const a21 = mat_traits<A>::template read_element<2,1>(a);
+ Ta const a22 = mat_traits<A>::template read_element<2,2>(a);
+ Tb const b0 = vec_traits<B>::template read_element<0>(b);
+ Tb const b1 = vec_traits<B>::template read_element<1>(b);
+ Tb const b2 = vec_traits<B>::template read_element<2>(b);
+ typedef typename deduce_vec2<A,B,3>::type R;
+ BOOST_QVM_STATIC_ASSERT(vec_traits<R>::dim==3);
+ R r;
+ vec_traits<R>::template write_element<0>(r)=a00*b0+a01*b1+a02*b2;
+ vec_traits<R>::template write_element<1>(r)=a10*b0+a11*b1+a12*b2;
+ vec_traits<R>::template write_element<2>(r)=a20*b0+a21*b1+a22*b2;
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::operator*;
+ using ::boost::qvm::transform_point;
+ using ::boost::qvm::transform_vector;
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec_mat_operations2.hpp b/boost/qvm/vec_mat_operations2.hpp
index 8d4a9b6014..4f22e3311d 100644
--- a/boost/qvm/vec_mat_operations2.hpp
+++ b/boost/qvm/vec_mat_operations2.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/vec_mat_operations2.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/vec_mat_operations2.hpp>
diff --git a/boost/qvm/vec_mat_operations3.hpp b/boost/qvm/vec_mat_operations3.hpp
index 8265ab293d..81fc908e4a 100644
--- a/boost/qvm/vec_mat_operations3.hpp
+++ b/boost/qvm/vec_mat_operations3.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/vec_mat_operations3.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/vec_mat_operations3.hpp>
diff --git a/boost/qvm/vec_mat_operations4.hpp b/boost/qvm/vec_mat_operations4.hpp
index 194005365e..92b9bd1b07 100644
--- a/boost/qvm/vec_mat_operations4.hpp
+++ b/boost/qvm/vec_mat_operations4.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/vec_mat_operations4.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/vec_mat_operations4.hpp>
diff --git a/boost/qvm/vec_operations.hpp b/boost/qvm/vec_operations.hpp
index 075e03fba9..abdd82483c 100644
--- a/boost/qvm/vec_operations.hpp
+++ b/boost/qvm/vec_operations.hpp
@@ -1,963 +1,963 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_384AFF3AD23A11DFA80B754FE0D72085
-#define UUID_384AFF3AD23A11DFA80B754FE0D72085
-
-#include <boost/qvm/detail/vec_assign.hpp>
-#include <boost/qvm/vec_operations2.hpp>
-#include <boost/qvm/vec_operations3.hpp>
-#include <boost/qvm/vec_operations4.hpp>
-#include <boost/qvm/assert.hpp>
-#include <boost/qvm/scalar_traits.hpp>
-#include <string>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- namespace
- qvm_detail
- {
- BOOST_QVM_INLINE_CRITICAL
- void const *
- get_valid_ptr_vec_operations()
- {
- static int const obj=0;
- return &obj;
- }
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_to_string_detail
- {
- template <class T>
- std::string to_string( T const & x );
- }
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- to_string_v_defined
- {
- static bool const value=false;
- };
-
- template <int I,int DimMinusOne>
- struct
- to_string_vector_elements
- {
- template <class A>
- static
- std::string
- f( A const & a )
- {
- using namespace qvm_to_string_detail;
- return to_string(vec_traits<A>::template read_element<I>(a))+','+to_string_vector_elements<I+1,DimMinusOne>::f(a);
- }
- };
-
- template <int DimMinusOne>
- struct
- to_string_vector_elements<DimMinusOne,DimMinusOne>
- {
- template <class A>
- static
- std::string
- f( A const & a )
- {
- using namespace qvm_to_string_detail;
- return to_string(vec_traits<A>::template read_element<DimMinusOne>(a));
- }
- };
- }
-
- template <class A>
- inline
- typename boost::enable_if_c<
- is_vec<A>::value &&
- !qvm_detail::to_string_v_defined<vec_traits<A>::dim>::value,
- std::string>::type
- to_string( A const & a )
- {
- return '('+qvm_detail::to_string_vector_elements<0,vec_traits<A>::dim-1>::f(a)+')';
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- convert_to_v_defined
- {
- static bool const value=false;
- };
- }
-
- template <class R,class A>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<R>::value && is_vec<A>::value &&
- vec_traits<R>::dim==vec_traits<A>::dim &&
- !qvm_detail::convert_to_v_defined<vec_traits<R>::dim>::value,
- R>::type
- convert_to( A const & a )
- {
- R r; assign(r,a);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
- deduce_vec2<A,B,3> >::type
- cross( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,3>::type R;
- R r;
- vec_traits<R>::template write_element<0>(r)=
- vec_traits<A>::template read_element<1>(a)*vec_traits<B>::template read_element<2>(b)-
- vec_traits<A>::template read_element<2>(a)*vec_traits<B>::template read_element<1>(b);
- vec_traits<R>::template write_element<1>(r)=
- vec_traits<A>::template read_element<2>(a)*vec_traits<B>::template read_element<0>(b)-
- vec_traits<A>::template read_element<0>(a)*vec_traits<B>::template read_element<2>(b);
- vec_traits<R>::template write_element<2>(r)=
- vec_traits<A>::template read_element<0>(a)*vec_traits<B>::template read_element<1>(b)-
- vec_traits<A>::template read_element<1>(a)*vec_traits<B>::template read_element<0>(b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- template <class A,class B,class Cmp>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim,
- bool>::type
- cmp( A const & a, B const & b, Cmp f )
- {
- typedef typename deduce_scalar<
- typename vec_traits<A>::scalar_type,
- typename vec_traits<B>::scalar_type>::type T;
- int const dim=vec_traits<A>::dim;
- T v1[dim]; assign(v1,a);
- T v2[dim]; assign(v2,b);
- for( int i=0; i!=dim; ++i )
- if( !f(v1[i],v2[i]) )
- return false;
- return true;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T,int Dim>
- class
- zero_vec_
- {
- zero_vec_( zero_vec_ const & );
- zero_vec_ & operator=( zero_vec_ const & );
- ~zero_vec_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class V>
- struct vec_traits;
-
- template <class T,int Dim>
- struct
- vec_traits< qvm_detail::zero_vec_<T,Dim> >
- {
- typedef qvm_detail::zero_vec_<T,Dim> this_vector;
- typedef T scalar_type;
- static int const dim=Dim;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<Dim);
- return scalar_traits<scalar_type>::value(0);
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<Dim);
- return scalar_traits<scalar_type>::value(0);
- }
- };
-
- template <class T,int Dim,int D>
- struct
- deduce_vec<qvm_detail::zero_vec_<T,Dim>,D>
- {
- typedef vec<T,D> type;
- };
-
- template <class T,int Dim>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::zero_vec_<T,Dim> const &
- zero_vec()
- {
- return *(qvm_detail::zero_vec_<T,Dim> const *)qvm_detail::get_valid_ptr_vec_operations();
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value,
- void>::type
- set_zero( A & a )
- {
- assign(a,zero_vec<typename vec_traits<A>::scalar_type,vec_traits<A>::dim>());
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class OriginalType,class Scalar>
- class
- vector_scalar_cast_
- {
- vector_scalar_cast_( vector_scalar_cast_ const & );
- vector_scalar_cast_ & operator=( vector_scalar_cast_ const & );
- ~vector_scalar_cast_();
-
- public:
-
- template <class T>
- BOOST_QVM_INLINE_TRIVIAL
- vector_scalar_cast_ &
- operator=( T const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
-
- template <bool> struct scalar_cast_vector_filter { };
- template <> struct scalar_cast_vector_filter<true> { typedef int type; };
- }
-
- template <class OriginalType,class Scalar>
- struct
- vec_traits< qvm_detail::vector_scalar_cast_<OriginalType,Scalar> >
- {
- typedef Scalar scalar_type;
- typedef qvm_detail::vector_scalar_cast_<OriginalType,Scalar> this_vector;
- static int const dim=vec_traits<OriginalType>::dim;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return scalar_type(vec_traits<OriginalType>::template read_element<I>(reinterpret_cast<OriginalType const &>(x)));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return scalar_type(vec_traits<OriginalType>::read_element_idx(i,reinterpret_cast<OriginalType const &>(x)));
- }
- };
-
- template <class OriginalType,class Scalar,int D>
- struct
- deduce_vec<qvm_detail::vector_scalar_cast_<OriginalType,Scalar>,D>
- {
- typedef vec<Scalar,D> type;
- };
-
- template <class Scalar,class T>
- BOOST_QVM_INLINE_TRIVIAL
- qvm_detail::vector_scalar_cast_<T,Scalar> const &
- scalar_cast( T const & x, typename qvm_detail::scalar_cast_vector_filter<is_vec<T>::value>::type=0 )
- {
- return reinterpret_cast<qvm_detail::vector_scalar_cast_<T,Scalar> const &>(x);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- div_eq_vs_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_scalar<B>::value &&
- !qvm_detail::div_eq_vs_defined<vec_traits<A>::dim>::value,
- A &>::type
- operator/=( A & a, B b )
- {
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<A>::write_element_idx(i,a)/=b;
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- div_vs_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_scalar<B>::value &&
- !qvm_detail::div_vs_defined<vec_traits<A>::dim>::value,
- deduce_vec<A> >::type
- operator/( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)/b;
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- dot_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::dot_vv_defined<vec_traits<A>::dim>::value,
- deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
- dot( A const & a, B const & b )
- {
- typedef typename deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type>::type T;
- T m(scalar_traits<T>::value(0));
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- m+=vec_traits<A>::read_element_idx(i,a)*vec_traits<B>::read_element_idx(i,b);
- return m;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- eq_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::eq_vv_defined<vec_traits<A>::dim>::value,
- bool>::type
- operator==( A const & a, B const & b )
- {
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- if( vec_traits<A>::read_element_idx(i,a)!=vec_traits<B>::read_element_idx(i,b) )
- return false;
- return true;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- mag_sqr_v_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value &&
- !qvm_detail::mag_sqr_v_defined<vec_traits<A>::dim>::value,
- typename vec_traits<A>::scalar_type>::type
- mag_sqr( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T m(scalar_traits<T>::value(0));
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- {
- T x=vec_traits<A>::read_element_idx(i,a);
- m+=x*x;
- }
- return m;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- mag_v_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value &&
- !qvm_detail::mag_v_defined<vec_traits<A>::dim>::value,
- typename vec_traits<A>::scalar_type>::type
- mag( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T m(scalar_traits<T>::value(0));
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- {
- T x=vec_traits<A>::read_element_idx(i,a);
- m+=x*x;
- }
- return sqrt<T>(m);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- minus_eq_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::minus_eq_vv_defined<vec_traits<A>::dim>::value,
- A &>::type
- operator-=( A & a, B const & b )
- {
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<A>::write_element_idx(i,a)-=vec_traits<B>::read_element_idx(i,b);
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- minus_v_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value &&
- !qvm_detail::minus_v_defined<vec_traits<A>::dim>::value,
- deduce_vec<A> >::type
- operator-( A const & a )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=-vec_traits<A>::read_element_idx(i,a);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- minus_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::minus_vv_defined<vec_traits<A>::dim>::value,
- deduce_vec2<A,B,vec_traits<A>::dim> >::type
- operator-( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,vec_traits<A>::dim>::type R;
- R r;
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)-vec_traits<B>::read_element_idx(i,b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- mul_eq_vs_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_scalar<B>::value &&
- !qvm_detail::mul_eq_vs_defined<vec_traits<A>::dim>::value,
- A &>::type
- operator*=( A & a, B b )
- {
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<A>::write_element_idx(i,a)*=b;
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- mul_vs_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_scalar<B>::value &&
- !qvm_detail::mul_vs_defined<vec_traits<A>::dim>::value,
- deduce_vec<A> >::type
- operator*( A const & a, B b )
- {
- typedef typename deduce_vec<A>::type R;
- R r;
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)*b;
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- mul_sv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_scalar<A>::value && is_vec<B>::value &&
- !qvm_detail::mul_sv_defined<vec_traits<B>::dim>::value,
- deduce_vec<B> >::type
- operator*( A a, B const & b )
- {
- typedef typename deduce_vec<B>::type R;
- R r;
- for( int i=0; i!=vec_traits<B>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=a*vec_traits<B>::read_element_idx(i,b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- neq_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::neq_vv_defined<vec_traits<A>::dim>::value,
- bool>::type
- operator!=( A const & a, B const & b )
- {
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- if( vec_traits<A>::read_element_idx(i,a)!=vec_traits<B>::read_element_idx(i,b) )
- return true;
- return false;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- normalize_v_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value &&
- !qvm_detail::normalize_v_defined<vec_traits<A>::dim>::value,
- deduce_vec<A> >::type
- normalized( A const & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T m(scalar_traits<T>::value(0));
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- {
- T x=vec_traits<A>::read_element_idx(i,a);
- m+=x*x;
- }
- if( m==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T rm=scalar_traits<T>::value(1)/sqrt<T>(m);
- typedef typename deduce_vec<A>::type R;
- R r;
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)*rm;
- return r;
- }
-
- template <class A>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value &&
- !qvm_detail::normalize_v_defined<vec_traits<A>::dim>::value,
- void>::type
- normalize( A & a )
- {
- typedef typename vec_traits<A>::scalar_type T;
- T m(scalar_traits<T>::value(0));
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- {
- T x=vec_traits<A>::read_element_idx(i,a);
- m+=x*x;
- }
- if( m==scalar_traits<T>::value(0) )
- BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
- T rm=scalar_traits<T>::value(1)/sqrt<T>(m);
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<A>::write_element_idx(i,a)*=rm;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- plus_eq_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::plus_eq_vv_defined<vec_traits<A>::dim>::value,
- A &>::type
- operator+=( A & a, B const & b )
- {
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<A>::write_element_idx(i,a)+=vec_traits<B>::read_element_idx(i,b);
- return a;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <int D>
- struct
- plus_vv_defined
- {
- static bool const value=false;
- };
- }
-
- template <class A,class B>
- BOOST_QVM_INLINE_OPERATIONS
- typename lazy_enable_if_c<
- is_vec<A>::value && is_vec<B>::value &&
- vec_traits<A>::dim==vec_traits<B>::dim &&
- !qvm_detail::plus_vv_defined<vec_traits<A>::dim>::value,
- deduce_vec2<A,B,vec_traits<A>::dim> >::type
- operator+( A const & a, B const & b )
- {
- typedef typename deduce_vec2<A,B,vec_traits<A>::dim>::type R;
- R r;
- for( int i=0; i!=vec_traits<A>::dim; ++i )
- vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)+vec_traits<B>::read_element_idx(i,b);
- return r;
- }
-
- ////////////////////////////////////////////////
-
- namespace
- qvm_detail
- {
- template <class T>
- class
- vref_
- {
- vref_( vref_ const & );
- vref_ & operator=( vref_ const & );
- ~vref_();
-
- public:
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- vref_ &
- operator=( R const & x )
- {
- assign(*this,x);
- return *this;
- }
-
- template <class R>
- BOOST_QVM_INLINE_TRIVIAL
- operator R() const
- {
- R r;
- assign(r,*this);
- return r;
- }
- };
- }
-
- template <class V>
- struct
- vec_traits< qvm_detail::vref_<V> >
- {
- typedef typename vec_traits<V>::scalar_type scalar_type;
- typedef qvm_detail::vref_<V> this_vector;
- static int const dim=vec_traits<V>::dim;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return vec_traits<V>::template read_element<I>(reinterpret_cast<V const &>(x));
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<dim);
- return vec_traits<V>::template write_element<I>(reinterpret_cast<V &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return vec_traits<V>::read_element_idx(i,reinterpret_cast<V const &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<dim);
- return vec_traits<V>::write_element_idx(i,reinterpret_cast<V &>(x));
- }
- };
-
- template <class V,int D>
- struct
- deduce_vec<qvm_detail::vref_<V>,D>
- {
- typedef vec<typename vec_traits<V>::scalar_type,D> type;
- };
-
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value,
- qvm_detail::vref_<V> const &>::type
- vref( V const & a )
- {
- return reinterpret_cast<qvm_detail::vref_<V> const &>(a);
- }
-
- template <class V>
- BOOST_QVM_INLINE_TRIVIAL
- typename enable_if_c<
- is_vec<V>::value,
- qvm_detail::vref_<V> &>::type
- vref( V & a )
- {
- return reinterpret_cast<qvm_detail::vref_<V> &>(a);
- }
-
- ////////////////////////////////////////////////
-
- namespace
- sfinae
- {
- using ::boost::qvm::to_string;
- using ::boost::qvm::assign;
- using ::boost::qvm::convert_to;
- using ::boost::qvm::cross;
- using ::boost::qvm::cmp;
- using ::boost::qvm::set_zero;
- using ::boost::qvm::scalar_cast;
- using ::boost::qvm::operator/=;
- using ::boost::qvm::operator/;
- using ::boost::qvm::dot;
- using ::boost::qvm::operator==;
- using ::boost::qvm::mag_sqr;
- using ::boost::qvm::mag;
- using ::boost::qvm::operator-=;
- using ::boost::qvm::operator-;
- using ::boost::qvm::operator*=;
- using ::boost::qvm::operator*;
- using ::boost::qvm::operator!=;
- using ::boost::qvm::normalized;
- using ::boost::qvm::normalize;
- using ::boost::qvm::operator+=;
- using ::boost::qvm::operator+;
- using ::boost::qvm::vref;
- }
-
- ////////////////////////////////////////////////
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_384AFF3AD23A11DFA80B754FE0D72085
+#define UUID_384AFF3AD23A11DFA80B754FE0D72085
+
+#include <boost/qvm/detail/vec_assign.hpp>
+#include <boost/qvm/vec_operations2.hpp>
+#include <boost/qvm/vec_operations3.hpp>
+#include <boost/qvm/vec_operations4.hpp>
+#include <boost/qvm/assert.hpp>
+#include <boost/qvm/scalar_traits.hpp>
+#include <string>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ namespace
+ qvm_detail
+ {
+ BOOST_QVM_INLINE_CRITICAL
+ void const *
+ get_valid_ptr_vec_operations()
+ {
+ static int const obj=0;
+ return &obj;
+ }
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_to_string_detail
+ {
+ template <class T>
+ std::string to_string( T const & x );
+ }
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ to_string_v_defined
+ {
+ static bool const value=false;
+ };
+
+ template <int I,int DimMinusOne>
+ struct
+ to_string_vector_elements
+ {
+ template <class A>
+ static
+ std::string
+ f( A const & a )
+ {
+ using namespace qvm_to_string_detail;
+ return to_string(vec_traits<A>::template read_element<I>(a))+','+to_string_vector_elements<I+1,DimMinusOne>::f(a);
+ }
+ };
+
+ template <int DimMinusOne>
+ struct
+ to_string_vector_elements<DimMinusOne,DimMinusOne>
+ {
+ template <class A>
+ static
+ std::string
+ f( A const & a )
+ {
+ using namespace qvm_to_string_detail;
+ return to_string(vec_traits<A>::template read_element<DimMinusOne>(a));
+ }
+ };
+ }
+
+ template <class A>
+ inline
+ typename boost::enable_if_c<
+ is_vec<A>::value &&
+ !qvm_detail::to_string_v_defined<vec_traits<A>::dim>::value,
+ std::string>::type
+ to_string( A const & a )
+ {
+ return '('+qvm_detail::to_string_vector_elements<0,vec_traits<A>::dim-1>::f(a)+')';
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ convert_to_v_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class R,class A>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<R>::value && is_vec<A>::value &&
+ vec_traits<R>::dim==vec_traits<A>::dim &&
+ !qvm_detail::convert_to_v_defined<vec_traits<R>::dim>::value,
+ R>::type
+ convert_to( A const & a )
+ {
+ R r; assign(r,a);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==3 && vec_traits<B>::dim==3,
+ deduce_vec2<A,B,3> >::type
+ cross( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,3>::type R;
+ R r;
+ vec_traits<R>::template write_element<0>(r)=
+ vec_traits<A>::template read_element<1>(a)*vec_traits<B>::template read_element<2>(b)-
+ vec_traits<A>::template read_element<2>(a)*vec_traits<B>::template read_element<1>(b);
+ vec_traits<R>::template write_element<1>(r)=
+ vec_traits<A>::template read_element<2>(a)*vec_traits<B>::template read_element<0>(b)-
+ vec_traits<A>::template read_element<0>(a)*vec_traits<B>::template read_element<2>(b);
+ vec_traits<R>::template write_element<2>(r)=
+ vec_traits<A>::template read_element<0>(a)*vec_traits<B>::template read_element<1>(b)-
+ vec_traits<A>::template read_element<1>(a)*vec_traits<B>::template read_element<0>(b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ template <class A,class B,class Cmp>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim,
+ bool>::type
+ cmp( A const & a, B const & b, Cmp f )
+ {
+ typedef typename deduce_scalar<
+ typename vec_traits<A>::scalar_type,
+ typename vec_traits<B>::scalar_type>::type T;
+ int const dim=vec_traits<A>::dim;
+ T v1[dim]; assign(v1,a);
+ T v2[dim]; assign(v2,b);
+ for( int i=0; i!=dim; ++i )
+ if( !f(v1[i],v2[i]) )
+ return false;
+ return true;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T,int Dim>
+ class
+ zero_vec_
+ {
+ zero_vec_( zero_vec_ const & );
+ zero_vec_ & operator=( zero_vec_ const & );
+ ~zero_vec_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class V>
+ struct vec_traits;
+
+ template <class T,int Dim>
+ struct
+ vec_traits< qvm_detail::zero_vec_<T,Dim> >
+ {
+ typedef qvm_detail::zero_vec_<T,Dim> this_vector;
+ typedef T scalar_type;
+ static int const dim=Dim;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<Dim);
+ return scalar_traits<scalar_type>::value(0);
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<Dim);
+ return scalar_traits<scalar_type>::value(0);
+ }
+ };
+
+ template <class T,int Dim,int D>
+ struct
+ deduce_vec<qvm_detail::zero_vec_<T,Dim>,D>
+ {
+ typedef vec<T,D> type;
+ };
+
+ template <class T,int Dim>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::zero_vec_<T,Dim> const &
+ zero_vec()
+ {
+ return *(qvm_detail::zero_vec_<T,Dim> const *)qvm_detail::get_valid_ptr_vec_operations();
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value,
+ void>::type
+ set_zero( A & a )
+ {
+ assign(a,zero_vec<typename vec_traits<A>::scalar_type,vec_traits<A>::dim>());
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class OriginalType,class Scalar>
+ class
+ vector_scalar_cast_
+ {
+ vector_scalar_cast_( vector_scalar_cast_ const & );
+ vector_scalar_cast_ & operator=( vector_scalar_cast_ const & );
+ ~vector_scalar_cast_();
+
+ public:
+
+ template <class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ vector_scalar_cast_ &
+ operator=( T const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+
+ template <bool> struct scalar_cast_vector_filter { };
+ template <> struct scalar_cast_vector_filter<true> { typedef int type; };
+ }
+
+ template <class OriginalType,class Scalar>
+ struct
+ vec_traits< qvm_detail::vector_scalar_cast_<OriginalType,Scalar> >
+ {
+ typedef Scalar scalar_type;
+ typedef qvm_detail::vector_scalar_cast_<OriginalType,Scalar> this_vector;
+ static int const dim=vec_traits<OriginalType>::dim;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return scalar_type(vec_traits<OriginalType>::template read_element<I>(reinterpret_cast<OriginalType const &>(x)));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return scalar_type(vec_traits<OriginalType>::read_element_idx(i,reinterpret_cast<OriginalType const &>(x)));
+ }
+ };
+
+ template <class OriginalType,class Scalar,int D>
+ struct
+ deduce_vec<qvm_detail::vector_scalar_cast_<OriginalType,Scalar>,D>
+ {
+ typedef vec<Scalar,D> type;
+ };
+
+ template <class Scalar,class T>
+ BOOST_QVM_INLINE_TRIVIAL
+ qvm_detail::vector_scalar_cast_<T,Scalar> const &
+ scalar_cast( T const & x, typename qvm_detail::scalar_cast_vector_filter<is_vec<T>::value>::type=0 )
+ {
+ return reinterpret_cast<qvm_detail::vector_scalar_cast_<T,Scalar> const &>(x);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ div_eq_vs_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_scalar<B>::value &&
+ !qvm_detail::div_eq_vs_defined<vec_traits<A>::dim>::value,
+ A &>::type
+ operator/=( A & a, B b )
+ {
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<A>::write_element_idx(i,a)/=b;
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ div_vs_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_scalar<B>::value &&
+ !qvm_detail::div_vs_defined<vec_traits<A>::dim>::value,
+ deduce_vec<A> >::type
+ operator/( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)/b;
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ dot_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::dot_vv_defined<vec_traits<A>::dim>::value,
+ deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type> >::type
+ dot( A const & a, B const & b )
+ {
+ typedef typename deduce_scalar<typename vec_traits<A>::scalar_type,typename vec_traits<B>::scalar_type>::type T;
+ T m(scalar_traits<T>::value(0));
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ m+=vec_traits<A>::read_element_idx(i,a)*vec_traits<B>::read_element_idx(i,b);
+ return m;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ eq_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::eq_vv_defined<vec_traits<A>::dim>::value,
+ bool>::type
+ operator==( A const & a, B const & b )
+ {
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ if( vec_traits<A>::read_element_idx(i,a)!=vec_traits<B>::read_element_idx(i,b) )
+ return false;
+ return true;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ mag_sqr_v_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value &&
+ !qvm_detail::mag_sqr_v_defined<vec_traits<A>::dim>::value,
+ typename vec_traits<A>::scalar_type>::type
+ mag_sqr( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T m(scalar_traits<T>::value(0));
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ {
+ T x=vec_traits<A>::read_element_idx(i,a);
+ m+=x*x;
+ }
+ return m;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ mag_v_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value &&
+ !qvm_detail::mag_v_defined<vec_traits<A>::dim>::value,
+ typename vec_traits<A>::scalar_type>::type
+ mag( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T m(scalar_traits<T>::value(0));
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ {
+ T x=vec_traits<A>::read_element_idx(i,a);
+ m+=x*x;
+ }
+ return sqrt<T>(m);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ minus_eq_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::minus_eq_vv_defined<vec_traits<A>::dim>::value,
+ A &>::type
+ operator-=( A & a, B const & b )
+ {
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<A>::write_element_idx(i,a)-=vec_traits<B>::read_element_idx(i,b);
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ minus_v_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value &&
+ !qvm_detail::minus_v_defined<vec_traits<A>::dim>::value,
+ deduce_vec<A> >::type
+ operator-( A const & a )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=-vec_traits<A>::read_element_idx(i,a);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ minus_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::minus_vv_defined<vec_traits<A>::dim>::value,
+ deduce_vec2<A,B,vec_traits<A>::dim> >::type
+ operator-( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,vec_traits<A>::dim>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)-vec_traits<B>::read_element_idx(i,b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ mul_eq_vs_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_scalar<B>::value &&
+ !qvm_detail::mul_eq_vs_defined<vec_traits<A>::dim>::value,
+ A &>::type
+ operator*=( A & a, B b )
+ {
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<A>::write_element_idx(i,a)*=b;
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ mul_vs_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_scalar<B>::value &&
+ !qvm_detail::mul_vs_defined<vec_traits<A>::dim>::value,
+ deduce_vec<A> >::type
+ operator*( A const & a, B b )
+ {
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)*b;
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ mul_sv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_scalar<A>::value && is_vec<B>::value &&
+ !qvm_detail::mul_sv_defined<vec_traits<B>::dim>::value,
+ deduce_vec<B> >::type
+ operator*( A a, B const & b )
+ {
+ typedef typename deduce_vec<B>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<B>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=a*vec_traits<B>::read_element_idx(i,b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ neq_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::neq_vv_defined<vec_traits<A>::dim>::value,
+ bool>::type
+ operator!=( A const & a, B const & b )
+ {
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ if( vec_traits<A>::read_element_idx(i,a)!=vec_traits<B>::read_element_idx(i,b) )
+ return true;
+ return false;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ normalize_v_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value &&
+ !qvm_detail::normalize_v_defined<vec_traits<A>::dim>::value,
+ deduce_vec<A> >::type
+ normalized( A const & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T m(scalar_traits<T>::value(0));
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ {
+ T x=vec_traits<A>::read_element_idx(i,a);
+ m+=x*x;
+ }
+ if( m==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T rm=scalar_traits<T>::value(1)/sqrt<T>(m);
+ typedef typename deduce_vec<A>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)*rm;
+ return r;
+ }
+
+ template <class A>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value &&
+ !qvm_detail::normalize_v_defined<vec_traits<A>::dim>::value,
+ void>::type
+ normalize( A & a )
+ {
+ typedef typename vec_traits<A>::scalar_type T;
+ T m(scalar_traits<T>::value(0));
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ {
+ T x=vec_traits<A>::read_element_idx(i,a);
+ m+=x*x;
+ }
+ if( m==scalar_traits<T>::value(0) )
+ BOOST_QVM_THROW_EXCEPTION(zero_magnitude_error());
+ T rm=scalar_traits<T>::value(1)/sqrt<T>(m);
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<A>::write_element_idx(i,a)*=rm;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ plus_eq_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::plus_eq_vv_defined<vec_traits<A>::dim>::value,
+ A &>::type
+ operator+=( A & a, B const & b )
+ {
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<A>::write_element_idx(i,a)+=vec_traits<B>::read_element_idx(i,b);
+ return a;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <int D>
+ struct
+ plus_vv_defined
+ {
+ static bool const value=false;
+ };
+ }
+
+ template <class A,class B>
+ BOOST_QVM_INLINE_OPERATIONS
+ typename lazy_enable_if_c<
+ is_vec<A>::value && is_vec<B>::value &&
+ vec_traits<A>::dim==vec_traits<B>::dim &&
+ !qvm_detail::plus_vv_defined<vec_traits<A>::dim>::value,
+ deduce_vec2<A,B,vec_traits<A>::dim> >::type
+ operator+( A const & a, B const & b )
+ {
+ typedef typename deduce_vec2<A,B,vec_traits<A>::dim>::type R;
+ R r;
+ for( int i=0; i!=vec_traits<A>::dim; ++i )
+ vec_traits<R>::write_element_idx(i,r)=vec_traits<A>::read_element_idx(i,a)+vec_traits<B>::read_element_idx(i,b);
+ return r;
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ qvm_detail
+ {
+ template <class T>
+ class
+ vref_
+ {
+ vref_( vref_ const & );
+ vref_ & operator=( vref_ const & );
+ ~vref_();
+
+ public:
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ vref_ &
+ operator=( R const & x )
+ {
+ assign(*this,x);
+ return *this;
+ }
+
+ template <class R>
+ BOOST_QVM_INLINE_TRIVIAL
+ operator R() const
+ {
+ R r;
+ assign(r,*this);
+ return r;
+ }
+ };
+ }
+
+ template <class V>
+ struct
+ vec_traits< qvm_detail::vref_<V> >
+ {
+ typedef typename vec_traits<V>::scalar_type scalar_type;
+ typedef qvm_detail::vref_<V> this_vector;
+ static int const dim=vec_traits<V>::dim;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return vec_traits<V>::template read_element<I>(reinterpret_cast<V const &>(x));
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<dim);
+ return vec_traits<V>::template write_element<I>(reinterpret_cast<V &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return vec_traits<V>::read_element_idx(i,reinterpret_cast<V const &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<dim);
+ return vec_traits<V>::write_element_idx(i,reinterpret_cast<V &>(x));
+ }
+ };
+
+ template <class V,int D>
+ struct
+ deduce_vec<qvm_detail::vref_<V>,D>
+ {
+ typedef vec<typename vec_traits<V>::scalar_type,D> type;
+ };
+
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value,
+ qvm_detail::vref_<V> const &>::type
+ vref( V const & a )
+ {
+ return reinterpret_cast<qvm_detail::vref_<V> const &>(a);
+ }
+
+ template <class V>
+ BOOST_QVM_INLINE_TRIVIAL
+ typename enable_if_c<
+ is_vec<V>::value,
+ qvm_detail::vref_<V> &>::type
+ vref( V & a )
+ {
+ return reinterpret_cast<qvm_detail::vref_<V> &>(a);
+ }
+
+ ////////////////////////////////////////////////
+
+ namespace
+ sfinae
+ {
+ using ::boost::qvm::to_string;
+ using ::boost::qvm::assign;
+ using ::boost::qvm::convert_to;
+ using ::boost::qvm::cross;
+ using ::boost::qvm::cmp;
+ using ::boost::qvm::set_zero;
+ using ::boost::qvm::scalar_cast;
+ using ::boost::qvm::operator/=;
+ using ::boost::qvm::operator/;
+ using ::boost::qvm::dot;
+ using ::boost::qvm::operator==;
+ using ::boost::qvm::mag_sqr;
+ using ::boost::qvm::mag;
+ using ::boost::qvm::operator-=;
+ using ::boost::qvm::operator-;
+ using ::boost::qvm::operator*=;
+ using ::boost::qvm::operator*;
+ using ::boost::qvm::operator!=;
+ using ::boost::qvm::normalized;
+ using ::boost::qvm::normalize;
+ using ::boost::qvm::operator+=;
+ using ::boost::qvm::operator+;
+ using ::boost::qvm::vref;
+ }
+
+ ////////////////////////////////////////////////
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec_operations2.hpp b/boost/qvm/vec_operations2.hpp
index bc1933d299..bf3c67a95d 100644
--- a/boost/qvm/vec_operations2.hpp
+++ b/boost/qvm/vec_operations2.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/vec_operations2.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/vec_operations2.hpp>
diff --git a/boost/qvm/vec_operations3.hpp b/boost/qvm/vec_operations3.hpp
index b979c597d5..01959d88a5 100644
--- a/boost/qvm/vec_operations3.hpp
+++ b/boost/qvm/vec_operations3.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/vec_operations3.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/vec_operations3.hpp>
diff --git a/boost/qvm/vec_operations4.hpp b/boost/qvm/vec_operations4.hpp
index a08be2ad20..dbba29c65a 100644
--- a/boost/qvm/vec_operations4.hpp
+++ b/boost/qvm/vec_operations4.hpp
@@ -1,6 +1,6 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//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)
-
-#include <boost/qvm/gen/vec_operations4.hpp>
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+#include <boost/qvm/gen/vec_operations4.hpp>
diff --git a/boost/qvm/vec_traits.hpp b/boost/qvm/vec_traits.hpp
index 9b4465a92f..4d807b8c1e 100644
--- a/boost/qvm/vec_traits.hpp
+++ b/boost/qvm/vec_traits.hpp
@@ -1,32 +1,32 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_01224884FC4111DF9570F7E4DED72085
-#define UUID_01224884FC4111DF9570F7E4DED72085
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class V>
- struct
- vec_traits
- {
- static int const dim=0;
- typedef void scalar_type;
- };
-
- template <class T>
- struct
- is_vec
- {
- static bool const value=vec_traits<T>::dim>0;
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_01224884FC4111DF9570F7E4DED72085
+#define UUID_01224884FC4111DF9570F7E4DED72085
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class V>
+ struct
+ vec_traits
+ {
+ static int const dim=0;
+ typedef void scalar_type;
+ };
+
+ template <class T>
+ struct
+ is_vec
+ {
+ static bool const value=vec_traits<T>::dim>0;
+ };
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec_traits_array.hpp b/boost/qvm/vec_traits_array.hpp
index 78c1333a67..218d0dba57 100644
--- a/boost/qvm/vec_traits_array.hpp
+++ b/boost/qvm/vec_traits_array.hpp
@@ -1,108 +1,108 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_DEC6035EA1C211DEA5E8ECB856D89593
-#define UUID_DEC6035EA1C211DEA5E8ECB856D89593
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/deduce_vec.hpp>
-#include <boost/qvm/detail/remove_const.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class T,int M,int N>
- struct
- vec_traits<T[M][N]>
- {
- static int const dim=0;
- typedef void scalar_type;
- };
-
- template <class T,int Dim>
- struct
- vec_traits<T[Dim]>
- {
- typedef T this_vector[Dim];
- typedef typename qvm_detail::remove_const<T>::type scalar_type;
- static int const dim=Dim;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( this_vector const & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<Dim);
- return x[I];
- }
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element( this_vector & x )
- {
- BOOST_QVM_STATIC_ASSERT(I>=0);
- BOOST_QVM_STATIC_ASSERT(I<Dim);
- return x[I];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, this_vector const & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<Dim);
- return x[i];
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type &
- write_element_idx( int i, this_vector & x )
- {
- BOOST_QVM_ASSERT(i>=0);
- BOOST_QVM_ASSERT(i<Dim);
- return x[i];
- }
- };
-
- template <class T,int Dim,int D>
- struct
- deduce_vec<T[Dim],D>
- {
- typedef vec<T,D> type;
- };
-
- template <class T,int Dim,int D>
- struct
- deduce_vec<T const[Dim],D>
- {
- typedef vec<T,D> type;
- };
-
- template <class T1,class T2,int Dim,int D>
- struct
- deduce_vec2<T1[Dim],T2[Dim],D>
- {
- typedef vec<typename deduce_scalar<T1,T2>::type,D> type;
- };
-
- template <int Dim,class T>
- T (&ptr_vref( T * ptr ))[Dim]
- {
- return *reinterpret_cast<T (*)[Dim]>(ptr);
- }
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_DEC6035EA1C211DEA5E8ECB856D89593
+#define UUID_DEC6035EA1C211DEA5E8ECB856D89593
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/deduce_vec.hpp>
+#include <boost/qvm/detail/remove_const.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class T,int M,int N>
+ struct
+ vec_traits<T[M][N]>
+ {
+ static int const dim=0;
+ typedef void scalar_type;
+ };
+
+ template <class T,int Dim>
+ struct
+ vec_traits<T[Dim]>
+ {
+ typedef T this_vector[Dim];
+ typedef typename qvm_detail::remove_const<T>::type scalar_type;
+ static int const dim=Dim;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( this_vector const & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<Dim);
+ return x[I];
+ }
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element( this_vector & x )
+ {
+ BOOST_QVM_STATIC_ASSERT(I>=0);
+ BOOST_QVM_STATIC_ASSERT(I<Dim);
+ return x[I];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, this_vector const & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<Dim);
+ return x[i];
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type &
+ write_element_idx( int i, this_vector & x )
+ {
+ BOOST_QVM_ASSERT(i>=0);
+ BOOST_QVM_ASSERT(i<Dim);
+ return x[i];
+ }
+ };
+
+ template <class T,int Dim,int D>
+ struct
+ deduce_vec<T[Dim],D>
+ {
+ typedef vec<T,D> type;
+ };
+
+ template <class T,int Dim,int D>
+ struct
+ deduce_vec<T const[Dim],D>
+ {
+ typedef vec<T,D> type;
+ };
+
+ template <class T1,class T2,int Dim,int D>
+ struct
+ deduce_vec2<T1[Dim],T2[Dim],D>
+ {
+ typedef vec<typename deduce_scalar<T1,T2>::type,D> type;
+ };
+
+ template <int Dim,class T>
+ T (&ptr_vref( T * ptr ))[Dim]
+ {
+ return *reinterpret_cast<T (*)[Dim]>(ptr);
+ }
+ }
+ }
+
+#endif
diff --git a/boost/qvm/vec_traits_defaults.hpp b/boost/qvm/vec_traits_defaults.hpp
index 80b5f858d0..537ede48a0 100644
--- a/boost/qvm/vec_traits_defaults.hpp
+++ b/boost/qvm/vec_traits_defaults.hpp
@@ -1,94 +1,94 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_DFFD61ACC72311E6955FFF1F07624D53
-#define UUID_DFFD61ACC72311E6955FFF1F07624D53
-
-#include <boost/qvm/inline.hpp>
-#include <boost/qvm/assert.hpp>
-
-namespace
-boost
- {
- namespace
- qvm
- {
- template <class>
- struct vec_traits;
-
- namespace
- qvm_detail
- {
- template <int I,int N>
- struct
- vector_w
- {
- template <class A>
- static
- BOOST_QVM_INLINE_CRITICAL
- typename vec_traits<A>::scalar_type &
- write_element_idx( int i, A & a )
- {
- return I==i?
- vec_traits<A>::template write_element<I>(a) :
- vector_w<I+1,N>::write_element_idx(i,a);
- }
- };
-
- template <int N>
- struct
- vector_w<N,N>
- {
- template <class A>
- static
- BOOST_QVM_INLINE_TRIVIAL
- typename vec_traits<A>::scalar_type &
- write_element_idx( int, A & a )
- {
- BOOST_QVM_ASSERT(0);
- return vec_traits<A>::template write_element<0>(a);
- }
- };
- }
-
- template <class VecType,class ScalarType,int Dim>
- struct
- vec_traits_defaults
- {
- typedef VecType vec_type;
- typedef ScalarType scalar_type;
- static int const dim=Dim;
-
- template <int I>
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element( vec_type const & x )
- {
- return vec_traits<vec_type>::template write_element<I>(const_cast<vec_type &>(x));
- }
-
- static
- BOOST_QVM_INLINE_CRITICAL
- scalar_type
- read_element_idx( int i, vec_type const & x )
- {
- return vec_traits<vec_type>::write_element_idx(i,const_cast<vec_type &>(x));
- }
-
- protected:
-
- static
- BOOST_QVM_INLINE_TRIVIAL
- scalar_type &
- write_element_idx( int i, vec_type & m )
- {
- return qvm_detail::vector_w<0,vec_traits<vec_type>::dim>::write_element_idx(i,m);
- }
- };
- }
- }
-
-#endif
+//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+
+//Distributed under the Boost Software License, Version 1.0. (See accompanying
+//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef UUID_DFFD61ACC72311E6955FFF1F07624D53
+#define UUID_DFFD61ACC72311E6955FFF1F07624D53
+
+#include <boost/qvm/inline.hpp>
+#include <boost/qvm/assert.hpp>
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ template <class>
+ struct vec_traits;
+
+ namespace
+ qvm_detail
+ {
+ template <int I,int N>
+ struct
+ vector_w
+ {
+ template <class A>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ typename vec_traits<A>::scalar_type &
+ write_element_idx( int i, A & a )
+ {
+ return I==i?
+ vec_traits<A>::template write_element<I>(a) :
+ vector_w<I+1,N>::write_element_idx(i,a);
+ }
+ };
+
+ template <int N>
+ struct
+ vector_w<N,N>
+ {
+ template <class A>
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ typename vec_traits<A>::scalar_type &
+ write_element_idx( int, A & a )
+ {
+ BOOST_QVM_ASSERT(0);
+ return vec_traits<A>::template write_element<0>(a);
+ }
+ };
+ }
+
+ template <class VecType,class ScalarType,int Dim>
+ struct
+ vec_traits_defaults
+ {
+ typedef VecType vec_type;
+ typedef ScalarType scalar_type;
+ static int const dim=Dim;
+
+ template <int I>
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element( vec_type const & x )
+ {
+ return vec_traits<vec_type>::template write_element<I>(const_cast<vec_type &>(x));
+ }
+
+ static
+ BOOST_QVM_INLINE_CRITICAL
+ scalar_type
+ read_element_idx( int i, vec_type const & x )
+ {
+ return vec_traits<vec_type>::write_element_idx(i,const_cast<vec_type &>(x));
+ }
+
+ protected:
+
+ static
+ BOOST_QVM_INLINE_TRIVIAL
+ scalar_type &
+ write_element_idx( int i, vec_type & m )
+ {
+ return qvm_detail::vector_w<0,vec_traits<vec_type>::dim>::write_element_idx(i,m);
+ }
+ };
+ }
+ }
+
+#endif
diff --git a/boost/range/adaptor/ref_unwrapped.hpp b/boost/range/adaptor/ref_unwrapped.hpp
index 71af4837f0..7ac5115415 100644
--- a/boost/range/adaptor/ref_unwrapped.hpp
+++ b/boost/range/adaptor/ref_unwrapped.hpp
@@ -15,7 +15,7 @@
#include <boost/range/adaptor/transformed.hpp>
#include <boost/range/reference.hpp>
#include <boost/range/concepts.hpp>
-
+#include <boost/type_traits/declval.hpp>
#include <utility>
#if !defined(BOOST_NO_CXX11_DECLTYPE)
@@ -32,7 +32,7 @@ namespace boost
typedef BOOST_DEDUCED_TYPENAME
range_reference<SinglePassRange>::type argument_type;
- using result_type = decltype(std::declval<argument_type>().get() );
+ typedef decltype( boost::declval<argument_type>().get() ) result_type;
result_type operator()( argument_type &&r ) const
{
@@ -46,11 +46,11 @@ namespace boost
: public transformed_range<unwrap_ref<SinglePassRange>,
SinglePassRange>
{
- using base = transformed_range<unwrap_ref<SinglePassRange>,
- SinglePassRange>;
+ typedef transformed_range<unwrap_ref<SinglePassRange>,
+ SinglePassRange> base;
public:
- using transform_fn_type = unwrap_ref<SinglePassRange>;
- using source_range_type = SinglePassRange;
+ typedef unwrap_ref<SinglePassRange> transform_fn_type;
+ typedef SinglePassRange source_range_type;
unwrap_ref_range(transform_fn_type fn, source_range_type &rng)
: base(fn, rng)
diff --git a/boost/range/algorithm/random_shuffle.hpp b/boost/range/algorithm/random_shuffle.hpp
index 2475173399..33e98e04be 100644
--- a/boost/range/algorithm/random_shuffle.hpp
+++ b/boost/range/algorithm/random_shuffle.hpp
@@ -32,12 +32,12 @@ struct wrap_rand
{
typedef unsigned int result_type;
- static result_type (min)()
+ static BOOST_CONSTEXPR result_type (min)()
{
return 0;
}
- static result_type (max)()
+ static BOOST_CONSTEXPR result_type (max)()
{
return RAND_MAX;
}
@@ -64,12 +64,12 @@ struct wrap_generator
wrap_generator(Generator& gen) : g(gen) {}
- static result_type (min)()
+ static BOOST_CONSTEXPR result_type (min)()
{
return 0;
}
- static result_type (max)()
+ static BOOST_CONSTEXPR result_type (max)()
{
return max_arg - 1;
}
diff --git a/boost/range/begin.hpp b/boost/range/begin.hpp
index 0d7d3db1c8..4f53d4688c 100644
--- a/boost/range/begin.hpp
+++ b/boost/range/begin.hpp
@@ -22,6 +22,8 @@
#else
#include <boost/range/iterator.hpp>
+#include <boost/config.hpp>
+#include <boost/config/workaround.hpp>
namespace boost
{
@@ -94,7 +96,10 @@ namespace range_adl_barrier
{
template< class T >
-BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
+#if !BOOST_WORKAROUND(BOOST_GCC, < 40700)
+BOOST_CONSTEXPR
+#endif
+inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
{
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
using namespace range_detail;
@@ -103,7 +108,10 @@ BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T&
}
template< class T >
-BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r )
+#if !BOOST_WORKAROUND(BOOST_GCC, < 40700)
+BOOST_CONSTEXPR
+#endif
+inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r )
{
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
using namespace range_detail;
diff --git a/boost/range/distance.hpp b/boost/range/distance.hpp
index 8dcf05bc68..5b82cf0ced 100644
--- a/boost/range/distance.hpp
+++ b/boost/range/distance.hpp
@@ -23,13 +23,18 @@
namespace boost
{
- template< class T >
- inline BOOST_CXX14_CONSTEXPR BOOST_DEDUCED_TYPENAME range_difference<T>::type
- distance( const T& r )
+ namespace range_distance_adl_barrier
{
- return boost::distance( boost::begin( r ), boost::end( r ) );
+ template< class T >
+ inline BOOST_CXX14_CONSTEXPR BOOST_DEDUCED_TYPENAME range_difference<T>::type
+ distance( const T& r )
+ {
+ return boost::iterators::distance( boost::begin( r ), boost::end( r ) );
+ }
}
+ using namespace range_distance_adl_barrier;
+
} // namespace 'boost'
#endif
diff --git a/boost/range/end.hpp b/boost/range/end.hpp
index 588495cee5..eab4fa9f5b 100644
--- a/boost/range/end.hpp
+++ b/boost/range/end.hpp
@@ -24,6 +24,8 @@
#include <boost/range/detail/implementation_help.hpp>
#include <boost/range/iterator.hpp>
#include <boost/range/const_iterator.hpp>
+#include <boost/config.hpp>
+#include <boost/config/workaround.hpp>
namespace boost
{
@@ -88,7 +90,10 @@ namespace range_adl_barrier
{
template< class T >
-BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
+#if !BOOST_WORKAROUND(BOOST_GCC, < 40700)
+BOOST_CONSTEXPR
+#endif
+inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
{
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
using namespace range_detail;
@@ -97,7 +102,10 @@ BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r
}
template< class T >
-BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
+#if !BOOST_WORKAROUND(BOOST_GCC, < 40700)
+BOOST_CONSTEXPR
+#endif
+inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
{
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
using namespace range_detail;
diff --git a/boost/ratio/config.hpp b/boost/ratio/config.hpp
index 992a256d81..3e4d581298 100644
--- a/boost/ratio/config.hpp
+++ b/boost/ratio/config.hpp
@@ -45,14 +45,18 @@
#ifdef INTMAX_C
#define BOOST_RATIO_INTMAX_C(a) INTMAX_C(a)
-#else
+#elif __cplusplus >= 201103L
#define BOOST_RATIO_INTMAX_C(a) a##LL
+#else
+#define BOOST_RATIO_INTMAX_C(a) a##L
#endif
#ifdef UINTMAX_C
#define BOOST_RATIO_UINTMAX_C(a) UINTMAX_C(a)
-#else
+#elif __cplusplus >= 201103L
#define BOOST_RATIO_UINTMAX_C(a) a##ULL
+#else
+#define BOOST_RATIO_UINTMAX_C(a) a##UL
#endif
#define BOOST_RATIO_INTMAX_T_MAX (0x7FFFFFFFFFFFFFFELL)
diff --git a/boost/rational.hpp b/boost/rational.hpp
index 16e708c577..8cd70b3e22 100644
--- a/boost/rational.hpp
+++ b/boost/rational.hpp
@@ -157,7 +157,7 @@ public:
rational_detail::is_compatible_integer<T, IntType>::value
>::type const* = 0) : num(n), den(1) {}
template <class T, class U>
- rational(const T& n, const U& d, typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR rational(const T& n, const U& d, typename enable_if_c<
rational_detail::is_compatible_integer<T, IntType>::value && rational_detail::is_compatible_integer<U, IntType>::value
>::type const* = 0) : num(n), den(d) {
normalize();
@@ -180,13 +180,13 @@ public:
// Add assignment from IntType
template <class T>
- typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR typename enable_if_c<
rational_detail::is_compatible_integer<T, IntType>::value, rational &
>::type operator=(const T& n) { return assign(static_cast<IntType>(n), static_cast<IntType>(1)); }
// Assign in place
template <class T, class U>
- typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR typename enable_if_c<
rational_detail::is_compatible_integer<T, IntType>::value && rational_detail::is_compatible_integer<U, IntType>::value, rational &
>::type assign(const T& n, const U& d)
{
@@ -201,7 +201,7 @@ public:
// if the conversion results in loss of precision or undefined behaviour.
//
template <class T>
- rational(const T& n, typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR rational(const T& n, typename enable_if_c<
std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
&& !rational_detail::is_compatible_integer<T, IntType>::value
&& (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix)
@@ -211,7 +211,7 @@ public:
assign(n, static_cast<T>(1));
}
template <class T, class U>
- rational(const T& n, const U& d, typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR rational(const T& n, const U& d, typename enable_if_c<
(!rational_detail::is_compatible_integer<T, IntType>::value
|| !rational_detail::is_compatible_integer<U, IntType>::value)
&& std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
@@ -225,7 +225,7 @@ public:
assign(n, d);
}
template <class T>
- typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR typename enable_if_c<
std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
&& !rational_detail::is_compatible_integer<T, IntType>::value
&& (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix)
@@ -234,7 +234,7 @@ public:
>::type operator=(const T& n) { return assign(n, static_cast<T>(1)); }
template <class T, class U>
- typename enable_if_c<
+ BOOST_CXX14_CONSTEXPR typename enable_if_c<
(!rational_detail::is_compatible_integer<T, IntType>::value
|| !rational_detail::is_compatible_integer<U, IntType>::value)
&& std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
@@ -258,25 +258,25 @@ public:
const IntType& denominator() const { return den; }
// Arithmetic assignment operators
- rational& operator+= (const rational& r);
- rational& operator-= (const rational& r);
- rational& operator*= (const rational& r);
- rational& operator/= (const rational& r);
+ BOOST_CXX14_CONSTEXPR rational& operator+= (const rational& r);
+ BOOST_CXX14_CONSTEXPR rational& operator-= (const rational& r);
+ BOOST_CXX14_CONSTEXPR rational& operator*= (const rational& r);
+ BOOST_CXX14_CONSTEXPR rational& operator/= (const rational& r);
template <class T>
- typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator+= (const T& i)
+ BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator+= (const T& i)
{
num += i * den;
return *this;
}
template <class T>
- typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator-= (const T& i)
+ BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator-= (const T& i)
{
num -= i * den;
return *this;
}
template <class T>
- typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator*= (const T& i)
+ BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator*= (const T& i)
{
// Avoid overflow and preserve normalization
IntType gcd = integer::gcd(static_cast<IntType>(i), den);
@@ -285,7 +285,7 @@ public:
return *this;
}
template <class T>
- typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator/= (const T& i)
+ BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator/= (const T& i)
{
// Avoid repeated construction
IntType const zero(0);
@@ -307,16 +307,16 @@ public:
}
// Increment and decrement
- const rational& operator++() { num += den; return *this; }
- const rational& operator--() { num -= den; return *this; }
+ BOOST_CXX14_CONSTEXPR const rational& operator++() { num += den; return *this; }
+ BOOST_CXX14_CONSTEXPR const rational& operator--() { num -= den; return *this; }
- rational operator++(int)
+ BOOST_CXX14_CONSTEXPR rational operator++(int)
{
rational t(*this);
++(*this);
return t;
}
- rational operator--(int)
+ BOOST_CXX14_CONSTEXPR rational operator--(int)
{
rational t(*this);
--(*this);
@@ -344,13 +344,13 @@ public:
#endif
// Comparison operators
- bool operator< (const rational& r) const;
- bool operator> (const rational& r) const { return r < *this; }
+ BOOST_CXX14_CONSTEXPR bool operator< (const rational& r) const;
+ BOOST_CXX14_CONSTEXPR bool operator> (const rational& r) const { return r < *this; }
BOOST_CONSTEXPR
bool operator== (const rational& r) const;
template <class T>
- typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator< (const T& i) const
+ BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator< (const T& i) const
{
// Avoid repeated construction
int_type const zero(0);
@@ -367,7 +367,7 @@ public:
return q < i;
}
template <class T>
- typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator>(const T& i) const
+ BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator>(const T& i) const
{
return operator==(i) ? false : !operator<(i);
}
@@ -397,8 +397,8 @@ private:
// times. normalized form is defined as gcd(num,den) == 1 and den > 0.
// In particular, note that the implementation of abs() below relies
// on den always being positive.
- bool test_invariant() const;
- void normalize();
+ BOOST_CXX14_CONSTEXPR bool test_invariant() const;
+ BOOST_CXX14_CONSTEXPR void normalize();
static BOOST_CONSTEXPR
bool is_normalized( param_type n, param_type d, int_type const &zero =
@@ -480,6 +480,7 @@ inline rational<IntType> operator+ (const rational<IntType>& r)
}
template <typename IntType>
+BOOST_CXX14_CONSTEXPR
inline rational<IntType> operator- (const rational<IntType>& r)
{
return rational<IntType>(static_cast<IntType>(-r.numerator()), r.denominator());
@@ -487,7 +488,7 @@ inline rational<IntType> operator- (const rational<IntType>& r)
// Arithmetic assignment operators
template <typename IntType>
-rational<IntType>& rational<IntType>::operator+= (const rational<IntType>& r)
+BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator+= (const rational<IntType>& r)
{
// This calculation avoids overflow, and minimises the number of expensive
// calculations. Thanks to Nickolay Mladenov for this algorithm.
@@ -522,7 +523,7 @@ rational<IntType>& rational<IntType>::operator+= (const rational<IntType>& r)
}
template <typename IntType>
-rational<IntType>& rational<IntType>::operator-= (const rational<IntType>& r)
+BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator-= (const rational<IntType>& r)
{
// Protect against self-modification
IntType r_num = r.num;
@@ -541,7 +542,7 @@ rational<IntType>& rational<IntType>::operator-= (const rational<IntType>& r)
}
template <typename IntType>
-rational<IntType>& rational<IntType>::operator*= (const rational<IntType>& r)
+BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator*= (const rational<IntType>& r)
{
// Protect against self-modification
IntType r_num = r.num;
@@ -556,7 +557,7 @@ rational<IntType>& rational<IntType>::operator*= (const rational<IntType>& r)
}
template <typename IntType>
-rational<IntType>& rational<IntType>::operator/= (const rational<IntType>& r)
+BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator/= (const rational<IntType>& r)
{
// Protect against self-modification
IntType r_num = r.num;
@@ -601,6 +602,7 @@ rational<IntType>& rational<IntType>::operator/= (const rational<IntType>& r)
// Cases (1) and (2) are folded into the one function.
//
template <class IntType, class Arg>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
operator + (const rational<IntType>& a, const Arg& b)
@@ -609,6 +611,7 @@ inline typename boost::enable_if_c <
return t += b;
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
operator + (const Arg& b, const rational<IntType>& a)
@@ -618,6 +621,7 @@ inline typename boost::enable_if_c <
}
template <class IntType, class Arg>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
operator - (const rational<IntType>& a, const Arg& b)
@@ -626,6 +630,7 @@ inline typename boost::enable_if_c <
return t -= b;
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
operator - (const Arg& b, const rational<IntType>& a)
@@ -635,6 +640,7 @@ inline typename boost::enable_if_c <
}
template <class IntType, class Arg>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
operator * (const rational<IntType>& a, const Arg& b)
@@ -643,6 +649,7 @@ inline typename boost::enable_if_c <
return t *= b;
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
operator * (const Arg& b, const rational<IntType>& a)
@@ -652,6 +659,7 @@ inline typename boost::enable_if_c <
}
template <class IntType, class Arg>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
operator / (const rational<IntType>& a, const Arg& b)
@@ -660,6 +668,7 @@ inline typename boost::enable_if_c <
return t /= b;
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
operator / (const Arg& b, const rational<IntType>& a)
@@ -669,6 +678,7 @@ inline typename boost::enable_if_c <
}
template <class IntType, class Arg>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, bool>::type
operator <= (const rational<IntType>& a, const Arg& b)
@@ -676,6 +686,7 @@ inline typename boost::enable_if_c <
return !(a > b);
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
operator <= (const Arg& b, const rational<IntType>& a)
@@ -684,6 +695,7 @@ inline typename boost::enable_if_c <
}
template <class IntType, class Arg>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, bool>::type
operator >= (const rational<IntType>& a, const Arg& b)
@@ -691,6 +703,7 @@ inline typename boost::enable_if_c <
return !(a < b);
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
operator >= (const Arg& b, const rational<IntType>& a)
@@ -699,6 +712,7 @@ inline typename boost::enable_if_c <
}
template <class IntType, class Arg>
+BOOST_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, bool>::type
operator != (const rational<IntType>& a, const Arg& b)
@@ -706,6 +720,7 @@ inline typename boost::enable_if_c <
return !(a == b);
}
template <class Arg, class IntType>
+BOOST_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
operator != (const Arg& b, const rational<IntType>& a)
@@ -714,6 +729,7 @@ inline typename boost::enable_if_c <
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
operator < (const Arg& b, const rational<IntType>& a)
@@ -721,6 +737,7 @@ inline typename boost::enable_if_c <
return a > b;
}
template <class Arg, class IntType>
+BOOST_CXX14_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
operator > (const Arg& b, const rational<IntType>& a)
@@ -728,6 +745,7 @@ inline typename boost::enable_if_c <
return a < b;
}
template <class Arg, class IntType>
+BOOST_CONSTEXPR
inline typename boost::enable_if_c <
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
operator == (const Arg& b, const rational<IntType>& a)
@@ -737,6 +755,7 @@ inline typename boost::enable_if_c <
// Comparison operators
template <typename IntType>
+BOOST_CXX14_CONSTEXPR
bool rational<IntType>::operator< (const rational<IntType>& r) const
{
// Avoid repeated construction
@@ -829,6 +848,7 @@ inline bool rational<IntType>::operator== (const rational<IntType>& r) const
// Invariant check
template <typename IntType>
+BOOST_CXX14_CONSTEXPR
inline bool rational<IntType>::test_invariant() const
{
return ( this->den > int_type(0) ) && ( integer::gcd(this->num, this->den) ==
@@ -837,7 +857,7 @@ inline bool rational<IntType>::test_invariant() const
// Normalisation
template <typename IntType>
-void rational<IntType>::normalize()
+BOOST_CXX14_CONSTEXPR void rational<IntType>::normalize()
{
// Avoid repeated construction
IntType zero(0);
@@ -957,6 +977,7 @@ inline T rational_cast(const rational<IntType>& src)
// difficulties involved (Koenig lookup required, there may not *be* an abs()
// defined, etc etc).
template <typename IntType>
+BOOST_CXX14_CONSTEXPR
inline rational<IntType> abs(const rational<IntType>& r)
{
return r.numerator() >= IntType(0)? r: -r;
diff --git a/boost/regex/concepts.hpp b/boost/regex/concepts.hpp
index 8cd5d99573..276e63f78c 100644
--- a/boost/regex/concepts.hpp
+++ b/boost/regex/concepts.hpp
@@ -437,7 +437,8 @@ struct BaseRegexConcept
ignore_unused_variable_warning(bi);
sub_diff_type diff = m_sub.length();
ignore_unused_variable_warning(diff);
- // match_results tests:
+ // match_results tests - some typedefs are not used, however these
+ // guarante that they exist (some compilers may warn on non-usage)
typedef typename match_results_type::value_type mr_value_type;
typedef typename match_results_type::const_reference mr_const_reference;
typedef typename match_results_type::reference mr_reference;
@@ -483,7 +484,7 @@ struct BaseRegexConcept
mrci = m_cresults.end();
ignore_unused_variable_warning(mrci);
- mr_allocator_type at2 = m_cresults.get_allocator();
+ (void) m_cresults.get_allocator();
m_results.swap(m_results);
global_regex_namespace::swap(m_results, m_results);
diff --git a/boost/regex/config.hpp b/boost/regex/config.hpp
index eb998110bf..de817dbf1f 100644
--- a/boost/regex/config.hpp
+++ b/boost/regex/config.hpp
@@ -113,6 +113,13 @@
#if defined(__MINGW32__)
# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
#endif
+/*
+ * Clang fails to export template instances with -fvisibility=hidden, see
+ * https://github.com/boostorg/regex/issues/49
+ */
+#ifdef __clang__
+# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
+#endif
/*
* If there isn't good enough wide character support then there will
@@ -201,7 +208,10 @@
# define BOOST_REGEX_HAS_OTHER_WCHAR_T
# ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable : 4251 4231)
+# pragma warning(disable : 4251)
+#if BOOST_MSVC < 1700
+# pragma warning(disable : 4231)
+#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif
diff --git a/boost/regex/icu.hpp b/boost/regex/icu.hpp
index cdae1c8bb7..1bf71cb4e3 100644
--- a/boost/regex/icu.hpp
+++ b/boost/regex/icu.hpp
@@ -26,6 +26,7 @@
#include <boost/regex.hpp>
#include <boost/regex/pending/unicode_iterator.hpp>
#include <boost/mpl/int_fwd.hpp>
+#include <boost/static_assert.hpp>
#include <bitset>
#ifdef BOOST_MSVC
@@ -334,6 +335,34 @@ inline u32regex do_make_u32regex(InputIterator i,
#endif
}
+// BOOST_REGEX_UCHAR_IS_WCHAR_T
+//
+// Source inspection of unicode/umachine.h in ICU version 59 indicates that:
+//
+// On version 59, UChar is always char16_t in C++ mode (and uint16_t in C mode)
+//
+// On earlier versions, the logic is
+//
+// #if U_SIZEOF_WCHAR_T==2
+// typedef wchar_t OldUChar;
+// #elif defined(__CHAR16_TYPE__)
+// typedef __CHAR16_TYPE__ OldUChar;
+// #else
+// typedef uint16_t OldUChar;
+// #endif
+//
+// That is, UChar is wchar_t only on versions below 59, when U_SIZEOF_WCHAR_T==2
+//
+// Hence,
+
+#define BOOST_REGEX_UCHAR_IS_WCHAR_T (U_ICU_VERSION_MAJOR_NUM < 59 && U_SIZEOF_WCHAR_T == 2)
+
+#if BOOST_REGEX_UCHAR_IS_WCHAR_T
+ BOOST_STATIC_ASSERT((boost::is_same<UChar, wchar_t>::value));
+#else
+ BOOST_STATIC_ASSERT(!(boost::is_same<UChar, wchar_t>::value));
+#endif
+
//
// Construction from an iterator pair:
//
@@ -364,7 +393,7 @@ inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_o
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast<boost::mpl::int_<sizeof(wchar_t)> const*>(0));
}
#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
+#if !BOOST_REGEX_UCHAR_IS_WCHAR_T
inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
{
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + u_strlen(p), opt, static_cast<boost::mpl::int_<2> const*>(0));
@@ -481,7 +510,7 @@ inline bool u32regex_match(const UChar* p,
{
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<mpl::int_<2> const*>(0));
}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
+#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
inline bool u32regex_match(const wchar_t* p,
match_results<const wchar_t*>& m,
const u32regex& e,
@@ -545,7 +574,7 @@ inline bool u32regex_match(const UChar* p,
match_results<const UChar*> m;
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<mpl::int_<2> const*>(0));
}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
+#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
inline bool u32regex_match(const wchar_t* p,
const u32regex& e,
match_flag_type flags = match_default)
@@ -666,7 +695,7 @@ inline bool u32regex_search(const UChar* p,
{
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<mpl::int_<2> const*>(0));
}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
+#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
inline bool u32regex_search(const wchar_t* p,
match_results<const wchar_t*>& m,
const u32regex& e,
@@ -727,7 +756,7 @@ inline bool u32regex_search(const UChar* p,
match_results<const UChar*> m;
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<mpl::int_<2> const*>(0));
}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
+#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
inline bool u32regex_search(const wchar_t* p,
const u32regex& e,
match_flag_type flags = match_default)
diff --git a/boost/regex/v4/basic_regex.hpp b/boost/regex/v4/basic_regex.hpp
index ac91af2914..1962372018 100644
--- a/boost/regex/v4/basic_regex.hpp
+++ b/boost/regex/v4/basic_regex.hpp
@@ -36,10 +36,16 @@
namespace boost{
#ifdef BOOST_MSVC
#pragma warning(push)
-#pragma warning(disable : 4251 4231 4800)
+#pragma warning(disable : 4251)
+#if BOOST_MSVC < 1700
+# pragma warning(disable : 4231)
+#endif
#if BOOST_MSVC < 1600
#pragma warning(disable : 4660)
#endif
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
namespace BOOST_REGEX_DETAIL_NS{
diff --git a/boost/regex/v4/basic_regex_creator.hpp b/boost/regex/v4/basic_regex_creator.hpp
index 623e06f162..7c00652739 100644
--- a/boost/regex/v4/basic_regex_creator.hpp
+++ b/boost/regex/v4/basic_regex_creator.hpp
@@ -33,7 +33,9 @@
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable: 4800)
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
namespace boost{
diff --git a/boost/regex/v4/basic_regex_parser.hpp b/boost/regex/v4/basic_regex_parser.hpp
index 7c2852fa51..6c7065f057 100644
--- a/boost/regex/v4/basic_regex_parser.hpp
+++ b/boost/regex/v4/basic_regex_parser.hpp
@@ -35,7 +35,10 @@ namespace BOOST_REGEX_DETAIL_NS{
#ifdef BOOST_MSVC
#pragma warning(push)
-#pragma warning(disable:4244 4800)
+#pragma warning(disable:4244)
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
inline boost::intmax_t umax(mpl::false_ const&)
@@ -183,7 +186,7 @@ void basic_regex_parser<charT, traits>::parse(const charT* p1, const charT* p2,
// have had an unexpected ')' :
if(!result)
{
- fail(regex_constants::error_paren, ::boost::BOOST_REGEX_DETAIL_NS::distance(m_base, m_position), "Found a closing ) with no corresponding openening parenthesis.");
+ fail(regex_constants::error_paren, ::boost::BOOST_REGEX_DETAIL_NS::distance(m_base, m_position), "Found a closing ) with no corresponding opening parenthesis.");
return;
}
// if an error has been set then give up now:
diff --git a/boost/regex/v4/fileiter.hpp b/boost/regex/v4/fileiter.hpp
index 256a7e4606..7c865c6309 100644
--- a/boost/regex/v4/fileiter.hpp
+++ b/boost/regex/v4/fileiter.hpp
@@ -195,9 +195,6 @@ public:
};
class BOOST_REGEX_DECL mapfile_iterator
-#if !defined(BOOST_NO_STD_ITERATOR) || defined(BOOST_MSVC_STD_ITERATOR)
-: public std::iterator<std::random_access_iterator_tag, char>
-#endif
{
typedef mapfile::pointer internal_pointer;
internal_pointer* node;
diff --git a/boost/regex/v4/instances.hpp b/boost/regex/v4/instances.hpp
index 05ac71a686..0e423437c7 100644
--- a/boost/regex/v4/instances.hpp
+++ b/boost/regex/v4/instances.hpp
@@ -84,7 +84,10 @@ template class BOOST_REGEX_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_matcher<BOO
# ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable : 4251 4231)
+# pragma warning(disable : 4251)
+#if BOOST_MSVC < 1700
+# pragma warning(disable : 4231)
+#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif
@@ -119,9 +122,17 @@ template class BOOST_REGEX_TEMPLATE_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_ma
#elif (defined(__GNUC__) && (__GNUC__ >= 3)) || !defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wkeyword-macro"
+#if defined(__clang__)
+# pragma clang diagnostic push
+# if defined(__APPLE_CC__)
+# if (__clang_major__ > 6)
+# pragma clang diagnostic ignored "-Wkeyword-macro"
+# endif
+# else
+# if (__clang_major__ > 3) || ((__clang_major__ == 3) && (__clang_minor__ > 5))
+# pragma clang diagnostic ignored "-Wkeyword-macro"
+# endif
+# endif
#endif
# ifndef BOOST_REGEX_INSTANTIATE
diff --git a/boost/regex/v4/match_flags.hpp b/boost/regex/v4/match_flags.hpp
index 1938b27a44..aa8fd53263 100644
--- a/boost/regex/v4/match_flags.hpp
+++ b/boost/regex/v4/match_flags.hpp
@@ -22,7 +22,6 @@
#ifdef __cplusplus
# include <boost/cstdint.hpp>
#endif
-#include <boost/detail/workaround.hpp>
#ifdef __cplusplus
namespace boost{
@@ -83,7 +82,7 @@ typedef enum _match_flags
} match_flags;
-#if defined(__BORLANDC__) || BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
+#if defined(__BORLANDC__) || (defined(_MSC_VER) && (_MSC_VER <= 1310))
typedef unsigned long match_flag_type;
#else
typedef match_flags match_flag_type;
diff --git a/boost/regex/v4/match_results.hpp b/boost/regex/v4/match_results.hpp
index c8233bdd87..d88a7b16bd 100644
--- a/boost/regex/v4/match_results.hpp
+++ b/boost/regex/v4/match_results.hpp
@@ -33,7 +33,10 @@
namespace boost{
#ifdef BOOST_MSVC
#pragma warning(push)
-#pragma warning(disable : 4251 4231)
+#pragma warning(disable : 4251)
+#if BOOST_MSVC < 1700
+# pragma warning(disable : 4231)
+#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif
@@ -56,7 +59,9 @@ private:
#endif
public:
typedef sub_match<BidiIterator> value_type;
-#if !defined(BOOST_NO_STD_ALLOCATOR) && !(defined(BOOST_MSVC) && defined(_STLPORT_VERSION))
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+ typedef typename std::allocator_traits<Allocator>::value_type const & const_reference;
+#elif !defined(BOOST_NO_STD_ALLOCATOR) && !(defined(BOOST_MSVC) && defined(_STLPORT_VERSION))
typedef typename Allocator::const_reference const_reference;
#else
typedef const value_type& const_reference;
@@ -66,7 +71,11 @@ public:
typedef const_iterator iterator;
typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<
BidiIterator>::difference_type difference_type;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
typedef typename Allocator::size_type size_type;
+#else
+ typedef typename std::allocator_traits<Allocator>::size_type size_type;
+#endif
typedef Allocator allocator_type;
typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<
BidiIterator>::value_type char_type;
@@ -563,7 +572,7 @@ private:
//
static void raise_logic_error()
{
- std::logic_error e("Attempt to access an uninitialzed boost::match_results<> class.");
+ std::logic_error e("Attempt to access an uninitialized boost::match_results<> class.");
boost::throw_exception(e);
}
diff --git a/boost/regex/v4/perl_matcher.hpp b/boost/regex/v4/perl_matcher.hpp
index a696e5d99b..663e6188e2 100644
--- a/boost/regex/v4/perl_matcher.hpp
+++ b/boost/regex/v4/perl_matcher.hpp
@@ -27,7 +27,9 @@
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable: 4800)
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
namespace boost{
@@ -353,7 +355,10 @@ struct recursion_info
#ifdef BOOST_MSVC
#pragma warning(push)
-#pragma warning(disable : 4251 4231)
+#pragma warning(disable : 4251)
+#if BOOST_MSVC < 1700
+# pragma warning(disable : 4231)
+#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif
diff --git a/boost/regex/v4/perl_matcher_common.hpp b/boost/regex/v4/perl_matcher_common.hpp
index a0973da92a..3c654e588e 100644
--- a/boost/regex/v4/perl_matcher_common.hpp
+++ b/boost/regex/v4/perl_matcher_common.hpp
@@ -36,7 +36,9 @@
#endif
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable: 4800)
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
namespace boost{
@@ -476,12 +478,14 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary()
}
else
{
- b = (m_match_flags & match_not_eow) ? true : false;
+ if (m_match_flags & match_not_eow)
+ return false;
+ b = false;
}
if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))
{
if(m_match_flags & match_not_bow)
- b ^= true;
+ return false;
else
b ^= false;
}
diff --git a/boost/regex/v4/perl_matcher_non_recursive.hpp b/boost/regex/v4/perl_matcher_non_recursive.hpp
index 3d89749d02..db883f1e20 100644
--- a/boost/regex/v4/perl_matcher_non_recursive.hpp
+++ b/boost/regex/v4/perl_matcher_non_recursive.hpp
@@ -34,7 +34,10 @@
#endif
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable: 4800 4706)
+# pragma warning(disable: 4706)
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
namespace boost{
@@ -1797,7 +1800,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_pop(bool r)
// Backtracking out of a recursion, we must pop state off the recursion
// stack unconditionally to ensure matched pushes and pops:
saved_state* pmp = static_cast<saved_state*>(m_backup_state);
- if (!r)
+ if (!r && !recursion_stack.empty())
{
*m_presult = recursion_stack.back().results;
position = recursion_stack.back().location_of_start;
@@ -1834,6 +1837,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::unwind_commit(bool b)
// If we stop because we just unwound an assertion, put the
// commit state back on the stack again:
//
+ m_unwound_lookahead = false;
saved_state* pmp = m_backup_state;
--pmp;
if(pmp < m_stack_base)
diff --git a/boost/regex/v4/regex_format.hpp b/boost/regex/v4/regex_format.hpp
index f0a0a11e40..b65ffcc9cc 100644
--- a/boost/regex/v4/regex_format.hpp
+++ b/boost/regex/v4/regex_format.hpp
@@ -800,9 +800,6 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::put(co
template <class S>
class string_out_iterator
-#ifndef BOOST_NO_STD_ITERATOR
- : public std::iterator<std::output_iterator_tag, typename S::value_type>
-#endif
{
S* out;
public:
@@ -816,13 +813,11 @@ public:
return *this;
}
-#ifdef BOOST_NO_STD_ITERATOR
typedef std::ptrdiff_t difference_type;
typedef typename S::value_type value_type;
typedef value_type* pointer;
typedef value_type& reference;
typedef std::output_iterator_tag iterator_category;
-#endif
};
template <class OutputIterator, class Iterator, class Alloc, class ForwardIter, class traits>
diff --git a/boost/regex/v4/regex_iterator.hpp b/boost/regex/v4/regex_iterator.hpp
index 0d10a1b98f..380a9a71a4 100644
--- a/boost/regex/v4/regex_iterator.hpp
+++ b/boost/regex/v4/regex_iterator.hpp
@@ -85,14 +85,6 @@ template <class BidirectionalIterator,
class charT = BOOST_DEDUCED_TYPENAME BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidirectionalIterator>::value_type,
class traits = regex_traits<charT> >
class regex_iterator
-#ifndef BOOST_NO_STD_ITERATOR
- : public std::iterator<
- std::forward_iterator_tag,
- match_results<BidirectionalIterator>,
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidirectionalIterator>::difference_type,
- const match_results<BidirectionalIterator>*,
- const match_results<BidirectionalIterator>& >
-#endif
{
private:
typedef regex_iterator_implementation<BidirectionalIterator, charT, traits> impl;
diff --git a/boost/regex/v4/regex_raw_buffer.hpp b/boost/regex/v4/regex_raw_buffer.hpp
index fcdb856a55..f1f4f50ae5 100644
--- a/boost/regex/v4/regex_raw_buffer.hpp
+++ b/boost/regex/v4/regex_raw_buffer.hpp
@@ -138,12 +138,12 @@ public:
size_type BOOST_REGEX_CALL size()
{
- return end - start;
+ return size_type(end - start);
}
size_type BOOST_REGEX_CALL capacity()
{
- return last - start;
+ return size_type(last - start);
}
void* BOOST_REGEX_CALL data()const
@@ -153,7 +153,7 @@ public:
size_type BOOST_REGEX_CALL index(void* ptr)
{
- return static_cast<pointer>(ptr) - static_cast<pointer>(data());
+ return size_type(static_cast<pointer>(ptr) - static_cast<pointer>(data()));
}
void BOOST_REGEX_CALL clear()
diff --git a/boost/regex/v4/regex_split.hpp b/boost/regex/v4/regex_split.hpp
index 65b2c64abf..afa5659831 100644
--- a/boost/regex/v4/regex_split.hpp
+++ b/boost/regex/v4/regex_split.hpp
@@ -36,7 +36,9 @@ namespace boost{
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable: 4800)
+#if BOOST_MSVC < 1910
+#pragma warning(disable:4800)
+#endif
#endif
namespace BOOST_REGEX_DETAIL_NS{
diff --git a/boost/regex/v4/regex_token_iterator.hpp b/boost/regex/v4/regex_token_iterator.hpp
index 1d75604bf1..fde51d74eb 100644
--- a/boost/regex/v4/regex_token_iterator.hpp
+++ b/boost/regex/v4/regex_token_iterator.hpp
@@ -167,14 +167,6 @@ template <class BidirectionalIterator,
class charT = BOOST_DEDUCED_TYPENAME BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidirectionalIterator>::value_type,
class traits = regex_traits<charT> >
class regex_token_iterator
-#ifndef BOOST_NO_STD_ITERATOR
- : public std::iterator<
- std::forward_iterator_tag,
- sub_match<BidirectionalIterator>,
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidirectionalIterator>::difference_type,
- const sub_match<BidirectionalIterator>*,
- const sub_match<BidirectionalIterator>& >
-#endif
{
private:
typedef regex_token_iterator_implementation<BidirectionalIterator, charT, traits> impl;
diff --git a/boost/regex/v4/regex_traits_defaults.hpp b/boost/regex/v4/regex_traits_defaults.hpp
index df9922dfd4..e58d6bae23 100644
--- a/boost/regex/v4/regex_traits_defaults.hpp
+++ b/boost/regex/v4/regex_traits_defaults.hpp
@@ -39,6 +39,7 @@
#include <boost/regex/v4/error_type.hpp>
#endif
#include <boost/type_traits/make_unsigned.hpp>
+#include <boost/utility/enable_if.hpp>
#ifdef BOOST_NO_STDC_NAMESPACE
namespace std{
@@ -240,7 +241,7 @@ inline std::ptrdiff_t global_length<char>(const char* p)
template<>
inline std::ptrdiff_t global_length<wchar_t>(const wchar_t* p)
{
- return (std::wcslen)(p);
+ return (std::ptrdiff_t)(std::wcslen)(p);
}
#endif
template <class charT>
@@ -327,17 +328,17 @@ boost::intmax_t global_toi(const charT*& p1, const charT* p2, int radix, const t
}
template <class charT>
-inline const charT* get_escape_R_string()
+inline typename boost::enable_if_c<(sizeof(charT) > 1), const charT*>::type get_escape_R_string()
{
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable:4309 4245)
#endif
- static const charT e1[] = { '(', '?', '>', '\\', 'x', '0', 'D', '\\', 'x', '0', 'A', '?',
- '|', '[', '\\', 'x', '0', 'A', '\\', 'x', '0', 'B', '\\', 'x', '0', 'C', static_cast<unsigned char>('\x85'), '\\', 'x', '{', '2', '0', '2', '8', '}',
- '\\', 'x', '{', '2', '0', '2', '9', '}', ']', ')', '\0' };
- static const charT e2[] = { '(', '?', '>', '\\', 'x', '0', 'D', '\\', 'x', '0', 'A', '?',
- '|', '[', '\\', 'x', '0', 'A', '\\', 'x', '0', 'B', '\\', 'x', '0', 'C', static_cast<unsigned char>('\x85'), ']', ')', '\0' };
+ static const charT e1[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?',
+ '|', '[', '\x0A', '\x0B', '\x0C', static_cast<charT>(0x85), static_cast<charT>(0x2028),
+ static_cast<charT>(0x2029), ']', ')', ')', '\0' };
+ static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?',
+ '|', '[', '\x0A', '\x0B', '\x0C', static_cast<charT>(0x85), ']', ')', ')', '\0' };
charT c = static_cast<charT>(0x2029u);
bool b = (static_cast<unsigned>(c) == 0x2029u);
@@ -348,15 +349,15 @@ inline const charT* get_escape_R_string()
#endif
}
-template <>
-inline const char* get_escape_R_string<char>()
+template <class charT>
+inline typename boost::disable_if_c<(sizeof(charT) > 1), const charT*>::type get_escape_R_string()
{
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable:4309)
#endif
- static const char e2[] = { '(', '?', '>', '\\', 'x', '0', 'D', '\\', 'x', '0', 'A', '?',
- '|', '[', '\\', 'x', '0', 'A', '\\', 'x', '0', 'B', '\\', 'x', '0', 'C', '\\', 'x', '8', '5', ']', ')', '\0' };
+ static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?',
+ '|', '[', '\x0A', '\x0B', '\x0C', '\x85', ']', ')', ')', '\0' };
return e2;
#ifdef BOOST_MSVC
# pragma warning(pop)
diff --git a/boost/regex/v4/regex_workaround.hpp b/boost/regex/v4/regex_workaround.hpp
index f245f90d4e..35eafc253a 100644
--- a/boost/regex/v4/regex_workaround.hpp
+++ b/boost/regex/v4/regex_workaround.hpp
@@ -198,9 +198,10 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{
const char *strSource
)
{
- if(std::strlen(strSource)+1 > sizeInBytes)
+ std::size_t lenSourceWithNull = std::strlen(strSource) + 1;
+ if (lenSourceWithNull > sizeInBytes)
return 1;
- std::strcpy(strDestination, strSource);
+ std::memcpy(strDestination, strSource, lenSourceWithNull);
return 0;
}
inline std::size_t strcat_s(
@@ -209,9 +210,11 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{
const char *strSource
)
{
- if(std::strlen(strSource) + std::strlen(strDestination) + 1 > sizeInBytes)
+ std::size_t lenSourceWithNull = std::strlen(strSource) + 1;
+ std::size_t lenDestination = std::strlen(strDestination);
+ if (lenSourceWithNull + lenDestination > sizeInBytes)
return 1;
- std::strcat(strDestination, strSource);
+ std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull);
return 0;
}
diff --git a/boost/regex/v4/u32regex_iterator.hpp b/boost/regex/v4/u32regex_iterator.hpp
index 701ef3d80e..f8763a8d6a 100644
--- a/boost/regex/v4/u32regex_iterator.hpp
+++ b/boost/regex/v4/u32regex_iterator.hpp
@@ -72,14 +72,6 @@ private:
template <class BidirectionalIterator>
class u32regex_iterator
-#ifndef BOOST_NO_STD_ITERATOR
- : public std::iterator<
- std::forward_iterator_tag,
- match_results<BidirectionalIterator>,
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidirectionalIterator>::difference_type,
- const match_results<BidirectionalIterator>*,
- const match_results<BidirectionalIterator>& >
-#endif
{
private:
typedef u32regex_iterator_implementation<BidirectionalIterator> impl;
@@ -166,7 +158,7 @@ inline u32regex_iterator<const wchar_t*> make_u32regex_iterator(const wchar_t* p
return u32regex_iterator<const wchar_t*>(p, p+std::wcslen(p), e, m);
}
#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
+#if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T)
inline u32regex_iterator<const UChar*> make_u32regex_iterator(const UChar* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)
{
return u32regex_iterator<const UChar*>(p, p+u_strlen(p), e, m);
diff --git a/boost/regex/v4/u32regex_token_iterator.hpp b/boost/regex/v4/u32regex_token_iterator.hpp
index 9eabbe48a1..952f7c4135 100644
--- a/boost/regex/v4/u32regex_token_iterator.hpp
+++ b/boost/regex/v4/u32regex_token_iterator.hpp
@@ -155,14 +155,6 @@ private:
template <class BidirectionalIterator>
class u32regex_token_iterator
-#ifndef BOOST_NO_STD_ITERATOR
- : public std::iterator<
- std::forward_iterator_tag,
- sub_match<BidirectionalIterator>,
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidirectionalIterator>::difference_type,
- const sub_match<BidirectionalIterator>*,
- const sub_match<BidirectionalIterator>& >
-#endif
{
private:
typedef u32regex_token_iterator_implementation<BidirectionalIterator> impl;
@@ -275,7 +267,7 @@ inline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(cons
return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);
}
#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
+#if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T)
inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
{
return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);
@@ -305,7 +297,7 @@ inline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(cons
return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);
}
#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
+#if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T)
template <std::size_t N>
inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
{
diff --git a/boost/regex/v4/w32_regex_traits.hpp b/boost/regex/v4/w32_regex_traits.hpp
index bf996d6119..378ee8565e 100644
--- a/boost/regex/v4/w32_regex_traits.hpp
+++ b/boost/regex/v4/w32_regex_traits.hpp
@@ -51,8 +51,10 @@
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable:4786)
+#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
+#endif
namespace boost{
diff --git a/boost/safe_numerics/CMakeLists.txt b/boost/safe_numerics/CMakeLists.txt
new file mode 100644
index 0000000000..cd94725f5d
--- /dev/null
+++ b/boost/safe_numerics/CMakeLists.txt
@@ -0,0 +1,13 @@
+####################
+# add include headers to IDE
+
+file(GLOB include_files
+ RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
+ "*.hpp"
+)
+add_custom_target(safe_numerics SOURCES ${include_files})
+
+add_subdirectory("concept")
+
+# end headers in IDE
+####################
diff --git a/boost/safe_numerics/automatic.hpp b/boost/safe_numerics/automatic.hpp
new file mode 100644
index 0000000000..ee19c97e0a
--- /dev/null
+++ b/boost/safe_numerics/automatic.hpp
@@ -0,0 +1,455 @@
+#ifndef BOOST_NUMERIC_AUTOMATIC_HPP
+#define BOOST_NUMERIC_AUTOMATIC_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// policy which creates expanded results types designed
+// to avoid overflows.
+
+#include <limits>
+#include <cstdint> // (u)intmax_t,
+#include <type_traits> // conditional
+#include <boost/integer.hpp>
+
+#include "safe_common.hpp"
+#include "checked_result.hpp"
+#include "checked_default.hpp"
+#include "checked_integer.hpp"
+#include "checked_result_operations.hpp"
+#include "interval.hpp"
+#include "utility.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+struct automatic {
+private:
+ // the following returns the "true" type. After calculating the new max and min
+ // these return the minimum size type which can hold the expected result.
+ struct defer_stored_signed_lazily {
+ template<std::intmax_t Min, std::intmax_t Max>
+ using type = utility::signed_stored_type<Min, Max>;
+ };
+
+ struct defer_stored_unsigned_lazily {
+ template<std::uintmax_t Min, std::uintmax_t Max>
+ using type = utility::unsigned_stored_type<Min, Max>;
+ };
+
+ template<typename T, T Min, T Max>
+ struct result_type {
+ using type = typename std::conditional<
+ std::numeric_limits<T>::is_signed,
+ defer_stored_signed_lazily,
+ defer_stored_unsigned_lazily
+ >::type::template type<Min, Max>;
+ };
+
+public:
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct addition_result {
+ using temp_base_type = typename std::conditional<
+ // if both arguments are unsigned
+ ! std::numeric_limits<T>::is_signed
+ && ! std::numeric_limits<U>::is_signed,
+ // result is unsigned
+ std::uintmax_t,
+ // otherwise result is signed
+ std::intmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type r_interval = t_interval + u_interval;
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct subtraction_result {
+ // result of subtraction are always signed.
+ using temp_base_type = intmax_t;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type r_interval = t_interval - u_interval;
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct multiplication_result {
+ using temp_base_type = typename std::conditional<
+ // if both arguments are unsigned
+ ! std::numeric_limits<T>::is_signed
+ && ! std::numeric_limits<U>::is_signed,
+ // result is unsigned
+ std::uintmax_t,
+ // otherwise result is signed
+ std::intmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type r_interval = t_interval * u_interval;
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct division_result {
+ using temp_base_type = typename std::conditional<
+ // if both arguments are unsigned
+ ! std::numeric_limits<T>::is_signed
+ && ! std::numeric_limits<U>::is_signed,
+ // result is unsigned
+ std::uintmax_t,
+ // otherwise result is signed
+ std::intmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type rx(){
+ if(u_interval.u < r_type(0)
+ || u_interval.l > r_type(0))
+ return t_interval / u_interval;
+ return utility::minmax(
+ std::initializer_list<r_type> {
+ t_interval.l / u_interval.l,
+ t_interval.l / r_type(-1),
+ t_interval.l / r_type(1),
+ t_interval.l / u_interval.u,
+ t_interval.u / u_interval.l,
+ t_interval.u / r_type(-1),
+ t_interval.u / r_type(1),
+ t_interval.u / u_interval.u,
+ }
+ );
+ }
+
+ constexpr static const r_interval_type r_interval = rx();
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct modulus_result {
+ using temp_base_type = typename std::conditional<
+ // if both arguments are unsigned
+ ! std::numeric_limits<T>::is_signed
+ && ! std::numeric_limits<U>::is_signed,
+ // result is unsigned
+ std::uintmax_t,
+ // otherwise result is signed
+ std::intmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type rx(){
+ if(u_interval.u < r_type(0)
+ || u_interval.l > r_type(0))
+ return t_interval / u_interval;
+ return utility::minmax(
+ std::initializer_list<r_type> {
+ t_interval.l % u_interval.l,
+ t_interval.l % r_type(-1),
+ t_interval.l % r_type(1),
+ t_interval.l % u_interval.u,
+ t_interval.u % u_interval.l,
+ t_interval.u % r_type(-1),
+ t_interval.u % r_type(1),
+ t_interval.u % u_interval.u,
+ }
+ );
+ }
+
+ constexpr static const r_interval_type r_interval = rx();
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ // note: comparison_result (<, >, ...) is special.
+ // The return value is always a bool. The type returned here is
+ // the intermediate type applied to make the values comparable.
+ template<typename T, typename U>
+ struct comparison_result {
+ using temp_base_type = typename std::conditional<
+ // if both arguments are unsigned
+ ! std::numeric_limits<T>::is_signed
+ && ! std::numeric_limits<U>::is_signed,
+ // result is unsigned
+ std::uintmax_t,
+ // otherwise result is signed
+ std::intmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static r_type min(const r_type & t, const r_type & u){
+ // assert(! u.exception());
+ // assert(! t.exception());
+ return static_cast<bool>(t < u) ? t : u;
+ }
+
+ constexpr static r_type max(const r_type & t, const r_type & u){
+ // assert(! u.exception());
+ // assert(! t.exception());
+ return static_cast<bool>(t < u) ? u : t;
+ }
+
+ // union of two intervals
+ // note: we can't use t_interval | u_interval because it
+ // depends on max and min which in turn depend on < which in turn
+ // depends on implicit conversion of tribool to bool
+ constexpr static r_interval_type union_interval(
+ const r_interval_type & t,
+ const r_interval_type & u
+ ){
+ const r_type & rl = min(t.l, u.l);
+ const r_type & ru = max(t.u, u.u);
+ return r_interval_type(rl, ru);
+ }
+
+ constexpr static const r_interval_type r_interval =
+ union_interval(t_interval, u_interval);
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ // shift operations
+ template<typename T, typename U>
+ struct left_shift_result {
+ using temp_base_type = typename std::conditional<
+ std::numeric_limits<T>::is_signed,
+ std::intmax_t,
+ std::uintmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_interval_type u_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type r_interval =
+ t_interval << u_interval;
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct right_shift_result {
+ using temp_base_type = typename std::conditional<
+ std::numeric_limits<T>::is_signed,
+ std::intmax_t,
+ std::uintmax_t
+ >::type;
+
+ using r_type = checked_result<temp_base_type>;
+ using r_interval_type = interval<r_type>;
+
+ constexpr static const r_interval_type t_interval{
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr static const r_type u_min
+ = checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::min()));
+
+ constexpr static const r_interval_type u_interval{
+ u_min.exception()
+ ? r_type(0)
+ : u_min,
+ checked::cast<temp_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ constexpr static const r_interval_type r_interval = t_interval >> u_interval;
+
+ using type = typename result_type<
+ temp_base_type,
+ r_interval.l.exception()
+ ? std::numeric_limits<temp_base_type>::min()
+ : static_cast<temp_base_type>(r_interval.l),
+ r_interval.u.exception()
+ ? std::numeric_limits<temp_base_type>::max()
+ : static_cast<temp_base_type>(r_interval.u)
+ >::type;
+
+ };
+
+ ///////////////////////////////////////////////////////////////////////
+ template<typename T, typename U>
+ struct bitwise_and_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ & typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct bitwise_or_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ | typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct bitwise_xor_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ ^ typename base_type<U>::type()
+ );
+ };
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_AUTOMATIC_HPP
diff --git a/boost/safe_numerics/checked_default.hpp b/boost/safe_numerics/checked_default.hpp
new file mode 100644
index 0000000000..5a5bb44d24
--- /dev/null
+++ b/boost/safe_numerics/checked_default.hpp
@@ -0,0 +1,203 @@
+#ifndef BOOST_NUMERIC_CHECKED_DEFAULT_HPP
+#define BOOST_NUMERIC_CHECKED_DEFAULT_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2017 Robert Ramey
+//
+// 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)
+
+// contains operation implementation of arithmetic operators
+// on built-in types. The default implementation is to just
+// invoke the operation with no checking. These are overloaded
+// for specific types such as integer, etc.
+
+// implement the equivant of template partial specialization for functions
+
+// what we need is
+// a) a default implementation of add, subtract, etc which just
+// implements the standard operations and returns the result
+// b) specific implementations to be called from safe implementation
+// such as safe<int> ... and someday maybe money<T, D> ...
+//
+// What we need is partial function specialization - but this doesn't
+// exist in C++ (yet?). But particial specialization of structures DOES
+// exist. So put our functions into a class which can then be
+// partially specialized. Finally. add a function interface to so that
+// data types can be deduced from the function call. We now have
+// the equivalent of partial function template specialization.
+
+// usage example: checked<int>::add(t, u) ...
+
+#include <boost/logic/tribool.hpp>
+#include "checked_result.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+// main function object which contains functions which handle
+// primitives which haven't been overriden. For now, these
+// implement the default operation. But I see this as an indicator
+// that there is more work to be done. For example float * int should
+// never be called because promotions on operands should occur before
+// the operation is invoked. So rather than returning the default operation
+// it should trap with a static_assert. This occurs at compile time while
+// calculating result interval. This needs more investigation.
+
+template<typename R, typename T = void, class Default = void>
+struct checked_operation{
+ constexpr static checked_result<R>
+ cast(const T & t) /* noexcept */ {
+ return static_cast<R>(t);
+ }
+ constexpr static checked_result<T>
+ minus(const T & t) noexcept {
+ return - t;
+ }
+ constexpr static checked_result<R>
+ add(const R & t, const R & u) noexcept {
+ return t + u;
+ }
+ constexpr static checked_result<R>
+ subtract(const R & t, const R & u) noexcept {
+ return t - u;
+ }
+ constexpr static checked_result<R>
+ multiply(const R & t, const R & u) noexcept {
+ return t * u;
+ }
+ constexpr static checked_result<R>
+ divide(const R & t, const R & u) noexcept {
+ return t / u;
+ }
+ constexpr static checked_result<R>
+ modulus(const R & t, const R & u) noexcept {
+ return t % u;
+ }
+ constexpr static boost::logic::tribool
+ less_than(const R & t, const R & u) noexcept {
+ return t < u;
+ }
+ constexpr static boost::logic::tribool
+ greater_than(const R & t, const R & u) noexcept {
+ return t > u;
+ }
+ constexpr static boost::logic::tribool
+ equal(const R & t, const R & u) noexcept {
+ return t < u;
+ }
+ constexpr static checked_result<R>
+ left_shift(const R & t, const R & u) noexcept {
+ return t << u;
+ }
+ constexpr static checked_result<R>
+ right_shift(const R & t, const R & u) noexcept {
+ return t >> u;
+ }
+ constexpr static checked_result<R>
+ bitwise_or(const R & t, const R & u) noexcept {
+ return t | u;
+ }
+ constexpr static checked_result<R>
+ bitwise_xor(const R & t, const R & u) noexcept {
+ return t ^ u;
+ }
+ constexpr static checked_result<R>
+ bitwise_and(const R & t, const R & u) noexcept {
+ return t & u;
+ }
+ constexpr static checked_result<R>
+ bitwise_not(const R & t) noexcept {
+ return ~t;
+ }
+};
+
+namespace checked {
+
+// implement function call interface so that types other than
+// the result type R can be deduced from the function parameters.
+
+template<typename R, typename T>
+constexpr checked_result<R> cast(const T & t) /* noexcept */ {
+ return checked_operation<R, T>::cast(t);
+}
+template<typename R>
+constexpr checked_result<R> minus(const R & t) noexcept {
+ return checked_operation<R>::minus(t);
+}
+template<typename R>
+constexpr checked_result<R> add(const R & t, const R & u) noexcept {
+ return checked_operation<R>::add(t, u);
+}
+template<typename R>
+constexpr checked_result<R> subtract(const R & t, const R & u) noexcept {
+ return checked_operation<R>::subtract(t, u);
+}
+template<typename R>
+constexpr checked_result<R> multiply(const R & t, const R & u) noexcept {
+ return checked_operation<R>::multiply(t, u);
+}
+template<typename R>
+constexpr checked_result<R> divide(const R & t, const R & u) noexcept {
+ return checked_operation<R>::divide(t, u);
+}
+template<typename R>
+constexpr checked_result<R> modulus(const R & t, const R & u) noexcept {
+ return checked_operation<R>::modulus(t, u);
+}
+template<typename R>
+constexpr checked_result<bool> less_than(const R & t, const R & u) noexcept {
+ return checked_operation<R>::less_than(t, u);
+}
+template<typename R>
+constexpr checked_result<bool> greater_than_equal(const R & t, const R & u) noexcept {
+ return ! checked_operation<R>::less_than(t, u);
+}
+template<typename R>
+constexpr checked_result<bool> greater_than(const R & t, const R & u) noexcept {
+ return checked_operation<R>::greater_than(t, u);
+}
+template<typename R>
+constexpr checked_result<bool> less_than_equal(const R & t, const R & u) noexcept {
+ return ! checked_operation<R>::greater_than(t, u);
+}
+template<typename R>
+constexpr checked_result<bool> equal(const R & t, const R & u) noexcept {
+ return checked_operation<R>::equal(t, u);
+}
+template<typename R>
+constexpr checked_result<R> left_shift(const R & t, const R & u) noexcept {
+ return checked_operation<R>::left_shift(t, u);
+}
+template<typename R>
+constexpr checked_result<R> right_shift(const R & t, const R & u) noexcept {
+ return checked_operation<R>::right_shift(t, u);
+}
+template<typename R>
+constexpr checked_result<R> bitwise_or(const R & t, const R & u) noexcept {
+ return checked_operation<R>::bitwise_or(t, u);
+}
+template<typename R>
+constexpr checked_result<R> bitwise_xor(const R & t, const R & u) noexcept {
+ return checked_operation<R>::bitwise_or(t, u);
+}
+template<typename R>
+constexpr checked_result<R> bitwise_and(const R & t, const R & u) noexcept {
+ return checked_operation<R>::bitwise_and(t, u);
+}
+template<typename R>
+constexpr checked_result<R> bitwise_not(const R & t) noexcept {
+ return checked_operation<R>::bitwise_not(t);
+}
+
+} // checked
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CHECKED_DEFAULT_HPP
+
diff --git a/boost/safe_numerics/checked_float.hpp b/boost/safe_numerics/checked_float.hpp
new file mode 100644
index 0000000000..a382e9889e
--- /dev/null
+++ b/boost/safe_numerics/checked_float.hpp
@@ -0,0 +1,175 @@
+#ifndef BOOST_NUMERIC_CHECKED_FLOAT_HPP
+#define BOOST_NUMERIC_CHECKED_FLOAT_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2017 Robert Ramey
+//
+// 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)
+
+// contains operation implementation of arithmetic operators
+// on built-in floating point types. The default implementation is to just
+// invoke the operation with no checking. These are overloaded
+// for specific types such as integer, etc.
+
+#include <type_traits> // std::is_floating_point, make_unsigned
+
+namespace boost {
+namespace safe_numerics {
+namespace checked {
+
+////////////////////////////////////////////////////
+// layer 0 - implement safe operations for floating
+
+template<typename R, typename T>
+struct checked_unary_operation<R, T,
+ typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ >::type
+>{
+ constexpr static checked_result<R>
+ cast(const T & t) noexcept {
+ return t;
+ };
+}; // checked_unary_operation
+
+template<typename R, typename T, typename U>
+struct checked_binary_operation<R, T, U,
+ typename std::enable_if<
+ std::is_floating_point<R>::value
+ >::type
+>{
+ constexpr static checked_result<R> add(const T & t, const U & u) noexcept {
+ return t + u;
+ }
+
+ constexpr static checked_result<R> subtract(
+ const T & t,
+ const U & u
+ ) noexcept {
+ return t - u;
+ }
+
+ constexpr static checked_result<R> multiply(
+ const T & t,
+ const U & u
+ ) noexcept {
+ return t * u;
+ }
+
+ constexpr static checked_result<R> divide(
+ const T & t,
+ const U & u
+ ) noexcept {
+ return t / u;
+ }
+
+ constexpr static checked_result<R> modulus(
+ const T & t,
+ const U & u
+ ) noexcept {
+ return t % u;
+ }
+
+ constexpr static bool less_than(const T & t, const U & u) noexcept {
+ return t < u;
+ }
+
+ constexpr static bool greater_than(const T & t, const U & u) noexcept {
+ return t > u;
+ }
+
+ constexpr static bool equal(const T & t, const U & u) noexcept {
+ return t < u;
+ }
+
+}; // checked_binary_operation
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr bool less_than(const T & t, const U & u) noexcept {
+ return t < u;
+}
+
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr bool equal(const T & t, const U & u) noexcept {
+ return t < u;
+}
+
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr checked_result<R> left_shift(const T & t, const U & u) noexcept {
+ return t << u;
+}
+
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr checked_result<R> right_shift(const T & t, const U & u) noexcept {
+ return t >> u;
+}
+
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr checked_result<R> bitwise_or(const T & t, const U & u) noexcept {
+ return t | u;
+}
+
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr checked_result<R> bitwise_xor(const T & t, const U & u) noexcept {
+ return t ^ u;
+}
+
+template<class R, class T, class U>
+typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_floating_point<T>::value
+ && std::is_floating_point<U>::value,
+ checked_result<R>
+>::type
+constexpr checked_result<R> bitwise_and(const T & t, const U & u) noexcept {
+ return t & u;
+}
+
+} // checked
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CHECKED_DEFAULT_HPP
+
diff --git a/boost/safe_numerics/checked_integer.hpp b/boost/safe_numerics/checked_integer.hpp
new file mode 100644
index 0000000000..e86b3994dd
--- /dev/null
+++ b/boost/safe_numerics/checked_integer.hpp
@@ -0,0 +1,822 @@
+#ifndef BOOST_NUMERIC_CHECKED_INTEGER_HPP
+#define BOOST_NUMERIC_CHECKED_INTEGER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// contains operations for doing checked aritmetic on NATIVE
+// C++ types.
+
+#include <limits>
+#include <type_traits> // is_integral, make_unsigned, enable_if
+#include <algorithm> // std::max
+
+#include "checked_result.hpp"
+#include "checked_default.hpp"
+#include "safe_compare.hpp"
+#include "utility.hpp"
+#include "exception.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+// utility
+
+template<bool tf>
+using bool_type = typename std::conditional<tf, std::true_type, std::false_type>::type;
+
+////////////////////////////////////////////////////
+// layer 0 - implement safe operations for intrinsic integers
+// Note presumption of twos complement integer arithmetic
+
+// convert an integral value to some other integral type
+template<typename R, typename T>
+struct checked_operation<R, T,
+ typename std::enable_if<
+ std::is_integral<R>::value
+ && std::is_integral<T>::value
+ >::type
+>{
+ ////////////////////////////////////////////////////
+ // safe casting on primitive types
+
+ struct cast_impl_detail {
+ constexpr static checked_result<R>
+ cast_impl(
+ const T & t,
+ std::true_type, // R is signed
+ std::true_type // T is signed
+ ) noexcept {
+ // INT32-C Ensure that operations on signed
+ // integers do not overflow
+ return
+ boost::safe_numerics::safe_compare::greater_than(
+ t,
+ std::numeric_limits<R>::max()
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "converted signed value too large"
+ )
+ :
+ boost::safe_numerics::safe_compare::less_than(
+ t,
+ std::numeric_limits<R>::min()
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "converted signed value too small"
+ )
+ :
+ checked_result<R>(static_cast<R>(t))
+ ;
+ }
+ constexpr static checked_result<R>
+ cast_impl(
+ const T & t,
+ std::true_type, // R is signed
+ std::false_type // T is unsigned
+ ) noexcept {
+ // INT30-C Ensure that unsigned integer operations
+ // do not wrap
+ return
+ boost::safe_numerics::safe_compare::greater_than(
+ t,
+ std::numeric_limits<R>::max()
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "converted unsigned value too large"
+ )
+ :
+ checked_result<R>(static_cast<R>(t))
+ ;
+ }
+ constexpr static checked_result<R>
+ cast_impl(
+ const T & t,
+ std::false_type, // R is unsigned
+ std::false_type // T is unsigned
+ ) noexcept {
+ // INT32-C Ensure that operations on unsigned
+ // integers do not overflow
+ return
+ boost::safe_numerics::safe_compare::greater_than(
+ t,
+ std::numeric_limits<R>::max()
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "converted unsigned value too large"
+ )
+ :
+ checked_result<R>(static_cast<R>(t))
+ ;
+ }
+ constexpr static checked_result<R>
+ cast_impl(
+ const T & t,
+ std::false_type, // R is unsigned
+ std::true_type // T is signed
+ ) noexcept {
+ return
+ boost::safe_numerics::safe_compare::less_than(t, 0) ?
+ checked_result<R>(
+ safe_numerics_error::domain_error,
+ "converted negative value to unsigned"
+ )
+ :
+ boost::safe_numerics::safe_compare::greater_than(
+ t,
+ std::numeric_limits<R>::max()
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "converted signed value too large"
+ )
+ :
+ checked_result<R>(static_cast<R>(t))
+ ;
+ }
+ }; // cast_impl_detail
+
+ constexpr static checked_result<R>
+ cast(const T & t) noexcept {
+ return
+ cast_impl_detail::cast_impl(
+ t,
+ std::is_signed<R>(),
+ std::is_signed<T>()
+ );
+ }
+};
+
+// converting floating point value to integral type
+template<typename R, typename T>
+struct checked_operation<R, T,
+ typename std::enable_if<
+ std::is_integral<R>::value
+ && std::is_floating_point<T>::value
+ >::type
+>{
+ constexpr static checked_result<R>
+ cast(const T & t) noexcept {
+ return static_cast<R>(t);
+ }
+};
+
+// converting integral value to floating point type
+
+// INT35-C. Use correct integer precisions
+template<typename R, typename T>
+struct checked_operation<R, T,
+ typename std::enable_if<
+ std::is_floating_point<R>::value
+ && std::is_integral<T>::value
+ >::type
+ >{
+ constexpr static checked_result<R>
+ cast(const T & t) noexcept {
+ if(std::numeric_limits<R>::digits < std::numeric_limits<T>::digits){
+ if(utility::significant_bits(t) > std::numeric_limits<R>::digits){
+ return {
+ safe_numerics_error::precision_overflow_error,
+ "keep precision"
+ };
+ }
+ }
+ return t;
+ }
+};
+
+template<typename R>
+struct checked_operation<R,
+ typename std::enable_if<
+ std::is_integral<R>::value
+ >::type
+>{
+ ////////////////////////////////////////////////////
+ // safe addition on primitive types
+
+ struct add_impl_detail {
+ // result unsigned
+ constexpr static checked_result<R> add(
+ const R t,
+ const R u,
+ std::false_type // R unsigned
+ ) noexcept {
+ return
+ // INT30-C. Ensure that unsigned integer operations do not wrap
+ std::numeric_limits<R>::max() - u < t ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "addition result too large"
+ )
+ :
+ checked_result<R>(t + u)
+ ;
+ }
+
+ // result signed
+ constexpr static checked_result<R> add(
+ const R t,
+ const R u,
+ std::true_type // R signed
+ ) noexcept {
+ return
+ // INT32-C. Ensure that operations on signed integers do not result in overflow
+ ((u > 0) && (t > (std::numeric_limits<R>::max() - u))) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "addition result too large"
+ )
+ :
+ ((u < 0) && (t < (std::numeric_limits<R>::min() - u))) ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "addition result too low"
+ )
+ :
+ checked_result<R>(t + u)
+ ;
+ }
+ }; // add_impl_detail
+
+ constexpr static checked_result<R>
+ add(const R & t, const R & u) noexcept {
+ return add_impl_detail::add(t, u, std::is_signed<R>());
+ }
+
+ ////////////////////////////////////////////////////
+ // safe subtraction on primitive types
+ struct subtract_impl_detail {
+
+ // result unsigned
+ constexpr static checked_result<R> subtract(
+ const R t,
+ const R u,
+ std::false_type // R is unsigned
+ ) noexcept {
+ // INT30-C. Ensure that unsigned integer operations do not wrap
+ return
+ t < u ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "subtraction result cannot be negative"
+ )
+ :
+ checked_result<R>(t - u)
+ ;
+ }
+
+ // result signed
+ constexpr static checked_result<R> subtract(
+ const R t,
+ const R u,
+ std::true_type // R is signed
+ ) noexcept { // INT32-C
+ return
+ // INT32-C. Ensure that operations on signed integers do not result in overflow
+ ((u > 0) && (t < (std::numeric_limits<R>::min() + u))) ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "subtraction result overflows result type"
+ )
+ :
+ ((u < 0) && (t > (std::numeric_limits<R>::max() + u))) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "subtraction result overflows result type"
+ )
+ :
+ checked_result<R>(t - u)
+ ;
+ }
+
+ }; // subtract_impl_detail
+
+ constexpr static checked_result<R> subtract(const R & t, const R & u) noexcept {
+ return subtract_impl_detail::subtract(t, u, std::is_signed<R>());
+ }
+
+ ////////////////////////////////////////////////////
+ // safe minus on primitive types
+ struct minus_impl_detail {
+
+ // result unsigned
+ constexpr static checked_result<R> minus(
+ const R t,
+ std::false_type // R is unsigned
+ ) noexcept {
+ return t > 0 ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "minus unsigned would be negative"
+ )
+ :
+ // t == 0
+ checked_result<R>(0)
+ ;
+ }
+
+ // result signed
+ constexpr static checked_result<R> minus(
+ const R t,
+ std::true_type // R is signed
+ ) noexcept { // INT32-C
+ return t == std::numeric_limits<R>::min() ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "subtraction result overflows result type"
+ )
+ :
+ checked_result<R>(-t)
+ ;
+ }
+
+ }; // minus_impl_detail
+
+ constexpr static checked_result<R> minus(const R & t) noexcept {
+ return minus_impl_detail::minus(t, std::is_signed<R>());
+ }
+
+ ////////////////////////////////////////////////////
+ // safe multiplication on primitive types
+
+ struct multiply_impl_detail {
+
+ // result unsigned
+ constexpr static checked_result<R> multiply(
+ const R t,
+ const R u,
+ std::false_type, // R is unsigned
+ std::false_type // !(sizeof(R) > sizeof(std::uintmax_t) / 2)
+
+ ) noexcept {
+ // INT30-C
+ // fast method using intermediate result guaranteed not to overflow
+ // todo - replace std::uintmax_t with a size double the size of R
+ using i_type = std::uintmax_t;
+ return
+ static_cast<i_type>(t) * static_cast<i_type>(u)
+ > std::numeric_limits<R>::max() ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ ;
+ }
+ constexpr static checked_result<R> multiply(
+ const R t,
+ const R u,
+ std::false_type, // R is unsigned
+ std::true_type // (sizeof(R) > sizeof(std::uintmax_t) / 2)
+
+ ) noexcept {
+ // INT30-C
+ return
+ u > 0 && t > std::numeric_limits<R>::max() / u ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ ;
+ }
+
+ // result signed
+ constexpr static checked_result<R> multiply(
+ const R t,
+ const R u,
+ std::true_type, // R is signed
+ std::false_type // ! (sizeof(R) > (sizeof(std::intmax_t) / 2))
+
+ ) noexcept {
+ // INT30-C
+ // fast method using intermediate result guaranteed not to overflow
+ // todo - replace std::intmax_t with a size double the size of R
+ using i_type = std::intmax_t;
+ return
+ (
+ static_cast<i_type>(t) * static_cast<i_type>(u)
+ > static_cast<i_type>(std::numeric_limits<R>::max())
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ (
+ static_cast<i_type>(t) * static_cast<i_type>(u)
+ < static_cast<i_type>(std::numeric_limits<R>::min())
+ ) ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ ;
+ }
+ constexpr static checked_result<R> multiply(
+ const R t,
+ const R u,
+ std::true_type, // R is signed
+ std::true_type // (sizeof(R) > (sizeof(std::intmax_t) / 2))
+ ) noexcept { // INT32-C
+ return t > 0 ?
+ u > 0 ?
+ t > std::numeric_limits<R>::max() / u ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ : // u <= 0
+ u < std::numeric_limits<R>::min() / t ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ : // t <= 0
+ u > 0 ?
+ t < std::numeric_limits<R>::min() / u ?
+ checked_result<R>(
+ safe_numerics_error::negative_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ : // u <= 0
+ t != 0 && u < std::numeric_limits<R>::max() / t ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "multiplication overflow"
+ )
+ :
+ checked_result<R>(t * u)
+ ;
+ }
+ }; // multiply_impl_detail
+
+ constexpr static checked_result<R> multiply(const R & t, const R & u) noexcept {
+ return multiply_impl_detail::multiply(
+ t,
+ u,
+ std::is_signed<R>(),
+ std::integral_constant<
+ bool,
+ (sizeof(R) > sizeof(std::uintmax_t) / 2)
+ >()
+ );
+ }
+
+ ////////////////////////////////
+ // safe division on unsafe types
+
+ struct divide_impl_detail {
+ constexpr static checked_result<R> divide(
+ const R & t,
+ const R & u,
+ std::false_type // R is unsigned
+ ) noexcept {
+ return t / u;
+ }
+
+ constexpr static checked_result<R> divide(
+ const R & t,
+ const R & u,
+ std::true_type // R is signed
+ ) noexcept {
+ return
+ (u == -1 && t == std::numeric_limits<R>::min()) ?
+ checked_result<R>(
+ safe_numerics_error::positive_overflow_error,
+ "result cannot be represented"
+ )
+ :
+ checked_result<R>(t / u)
+ ;
+ }
+ }; // divide_impl_detail
+
+ // note that we presume that the size of R >= size of T
+ constexpr static checked_result<R> divide(const R & t, const R & u) noexcept {
+ if(u == 0){
+ return checked_result<R>(
+ safe_numerics_error::domain_error,
+ "divide by zero"
+ );
+ }
+ return divide_impl_detail::divide(t, u, std::is_signed<R>());
+ }
+
+ ////////////////////////////////
+ // safe modulus on unsafe types
+
+ struct modulus_impl_detail {
+ constexpr static checked_result<R> modulus(
+ const R & t,
+ const R & u,
+ std::false_type // R is unsigned
+ ) noexcept {
+ return t % u;
+ }
+
+ constexpr static checked_result<R> modulus(
+ const R & t,
+ const R & u,
+ std::true_type // R is signed
+ ) noexcept {
+ if(u >= 0)
+ return t % u;
+ checked_result<R> ux = checked::minus(u);
+ if(ux.exception())
+ return t;
+ return t % static_cast<R>(ux);
+ }
+ }; // modulus_impl_detail
+
+ constexpr static checked_result<R> modulus(const R & t, const R & u) noexcept {
+ if(0 == u)
+ return checked_result<R>(
+ safe_numerics_error::domain_error,
+ "denominator is zero"
+ );
+
+ // why to we need abs here? the sign of the modulus is the sign of the
+ // dividend. Consider -128 % -1 The result of this operation should be -1
+ // but if I use t % u the x86 hardware uses the divide instruction
+ // capturing the modulus as a side effect. When it does this, it
+ // invokes the operation -128 / -1 -> 128 which overflows a signed type
+ // and provokes a hardware exception. We can fix this using abs()
+ // since -128 % -1 = -128 % 1 = 0
+ return modulus_impl_detail::modulus(t, u, typename std::is_signed<R>::type());
+ }
+
+ ///////////////////////////////////
+ // shift operations
+
+ struct left_shift_integer_detail {
+
+ #if 0
+ // todo - optimize for gcc to exploit builtin
+ /* for gcc compilers
+ int __builtin_clz (unsigned int x)
+ Returns the number of leading 0-bits in x, starting at the
+ most significant bit position. If x is 0, the result is undefined.
+ */
+
+ #ifndef __has_feature // Optional of course.
+ #define __has_feature(x) 0 // Compatibility with non-clang compilers.
+ #endif
+
+ template<typename T>
+ constexpr unsigned int leading_zeros(const T & t){
+ if(0 == t)
+ return 0;
+ #if __has_feature(builtin_clz)
+ return __builtin_clz(t);
+ #else
+ #endif
+ }
+ #endif
+
+ // INT34-C C++
+
+ // standard paragraph 5.8 / 2
+ // The value of E1 << E2 is E1 left-shifted E2 bit positions;
+ // vacated bits are zero-filled.
+ constexpr static checked_result<R> left_shift(
+ const R & t,
+ const R & u,
+ std::false_type // R is unsigned
+ ) noexcept {
+ // the value of the result is E1 x 2^E2, reduced modulo one more than
+ // the maximum value representable in the result type.
+
+ // see 5.8 & 1
+ // if right operand is
+ // greater than or equal to the length in bits of the promoted left operand.
+ if(
+ safe_compare::greater_than(
+ u,
+ std::numeric_limits<R>::digits - utility::significant_bits(t)
+ )
+ ){
+ // behavior is undefined
+ return checked_result<R>(
+ safe_numerics_error::shift_too_large,
+ "shifting left more bits than available is undefined behavior"
+ );
+ }
+ return t << u;
+ }
+
+ constexpr static checked_result<R> left_shift(
+ const R & t,
+ const R & u,
+ std::true_type // R is signed
+ ) noexcept {
+ // and [E1] has a non-negative value
+ if(t >= 0){
+ // and E1 x 2^E2 is representable in the corresponding
+ // unsigned type of the result type,
+
+ // see 5.8 & 1
+ // if right operand is
+ // greater than or equal to the length in bits of the promoted left operand.
+ if(
+ safe_compare::greater_than(
+ u,
+ std::numeric_limits<R>::digits - utility::significant_bits(t)
+ )
+ ){
+ // behavior is undefined
+ return checked_result<R>(
+ safe_numerics_error::shift_too_large,
+ "shifting left more bits than available"
+ );
+ }
+ else{
+ return t << u;
+ }
+ }
+ // otherwise, the behavior is undefined.
+ return checked_result<R>(
+ safe_numerics_error::negative_shift,
+ "shifting a negative value"
+ );
+ }
+
+ }; // left_shift_integer_detail
+
+ constexpr static checked_result<R> left_shift(
+ const R & t,
+ const R & u
+ ) noexcept {
+ // INT34-C - Do not shift an expression by a negative number of bits
+
+ // standard paragraph 5.8 & 1
+ // if the right operand is negative
+ if(u == 0){
+ return t;
+ }
+ if(u < 0){
+ return checked_result<R>(
+ safe_numerics_error::negative_shift,
+ "shifting negative amount"
+ );
+ }
+ if(u > std::numeric_limits<R>::digits){
+ // behavior is undefined
+ return checked_result<R>(
+ safe_numerics_error::shift_too_large,
+ "shifting more bits than available"
+ );
+ }
+ return left_shift_integer_detail::left_shift(t, u, std::is_signed<R>());
+ }
+
+// right shift
+
+ struct right_shift_integer_detail {
+
+ // INT34-C C++
+
+ // standard paragraph 5.8 / 3
+ // The value of E1 << E2 is E1 left-shifted E2 bit positions;
+ // vacated bits are zero-filled.
+ constexpr static checked_result<R> right_shift(
+ const R & t,
+ const R & u,
+ std::false_type // T is unsigned
+ ) noexcept {
+ // the value of the result is the integral part of the
+ // quotient of E1/2E2
+ return t >> u;
+ }
+
+ constexpr static checked_result<R> right_shift(
+ const R & t,
+ const R & u,
+ std::true_type // T is signed;
+ ) noexcept {
+ if(t < 0){
+ // note that the C++ standard considers this case is "implemenation
+ // defined" rather than "undefined".
+ return checked_result<R>(
+ safe_numerics_error::negative_value_shift,
+ "shifting a negative value"
+ );
+ }
+
+ // the value is the integral part of E1 / 2^E2,
+ return t >> u;
+ }
+ }; // right_shift_integer_detail
+
+constexpr static checked_result<R> right_shift(
+ const R & t,
+ const R & u
+) noexcept {
+ // INT34-C - Do not shift an expression by a negative number of bits
+
+ // standard paragraph 5.8 & 1
+ // if the right operand is negative
+ if(u < 0){
+ return checked_result<R>(
+ safe_numerics_error::negative_shift,
+ "shifting negative amount"
+ );
+ }
+ if(u > std::numeric_limits<R>::digits){
+ // behavior is undefined
+ return checked_result<R>(
+ safe_numerics_error::shift_too_large,
+ "shifting more bits than available"
+ );
+ }
+ return right_shift_integer_detail::right_shift(t, u ,std::is_signed<R>());
+}
+
+///////////////////////////////////
+// bitwise operations
+
+// INT13-C Note: We don't enforce recommendation as acually written
+// as it would break too many programs. Specifically, we permit signed
+// integer operands.
+
+constexpr static checked_result<R> bitwise_or(const R & t, const R & u) noexcept {
+ using namespace boost::safe_numerics::utility;
+ const unsigned int result_size
+ = std::max(significant_bits(t), significant_bits(u));
+
+ if(result_size > bits_type<R>::value){
+ return checked_result<R>{
+ safe_numerics_error::positive_overflow_error,
+ "result type too small to hold bitwise or"
+ };
+ }
+ return t | u;
+}
+
+constexpr static checked_result<R> bitwise_xor(const R & t, const R & u) noexcept {
+ using namespace boost::safe_numerics::utility;
+ const unsigned int result_size
+ = std::max(significant_bits(t), significant_bits(u));
+
+ if(result_size > bits_type<R>::value){
+ return checked_result<R>{
+ safe_numerics_error::positive_overflow_error,
+ "result type too small to hold bitwise or"
+ };
+ }
+ return t ^ u;
+}
+
+constexpr static checked_result<R> bitwise_and(const R & t, const R & u) noexcept {
+ using namespace boost::safe_numerics::utility;
+ const unsigned int result_size
+ = std::min(significant_bits(t), significant_bits(u));
+
+ if(result_size > bits_type<R>::value){
+ return checked_result<R>{
+ safe_numerics_error::positive_overflow_error,
+ "result type too small to hold bitwise and"
+ };
+ }
+ return t & u;
+}
+
+constexpr static checked_result<R> bitwise_not(const R & t) noexcept {
+ using namespace boost::safe_numerics::utility;
+
+ if(significant_bits(t) > bits_type<R>::value){
+ return checked_result<R>{
+ safe_numerics_error::positive_overflow_error,
+ "result type too small to hold bitwise inverse"
+ };
+ }
+ return ~t;
+}
+
+}; // checked_operation
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CHECKED_INTEGER_HPP
diff --git a/boost/safe_numerics/checked_result.hpp b/boost/safe_numerics/checked_result.hpp
new file mode 100644
index 0000000000..55efca082a
--- /dev/null
+++ b/boost/safe_numerics/checked_result.hpp
@@ -0,0 +1,97 @@
+#ifndef BOOST_NUMERIC_CHECKED_RESULT
+#define BOOST_NUMERIC_CHECKED_RESULT
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// contains operations for doing checked aritmetic on NATIVE
+// C++ types.
+#include <cassert>
+#include <type_traits> // is_convertible
+#include "exception.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+template<typename R>
+struct checked_result {
+ const safe_numerics_error m_e;
+ const union {
+ R m_r;
+ char const * m_msg;
+ };
+
+ // don't permit construction without initial value;
+ checked_result() = delete;
+
+ constexpr /*explicit*/ checked_result(const R & r) :
+ m_e(safe_numerics_error::success),
+ m_r(r)
+ {}
+ #if 0
+ template<typename T>
+ constexpr /*explicit*/ checked_result(const T & t) :
+ m_e(safe_numerics_error::success),
+ m_r(t)
+ {}
+ #endif
+ constexpr /*explicit*/ checked_result(
+ safe_numerics_error e,
+ const char * msg = ""
+ ) :
+ m_e(e),
+ m_msg(msg)
+ {
+ assert(m_e != safe_numerics_error::success);
+ }
+ // permit construct from another checked result type
+ template<typename T>
+ constexpr /*explicit*/ checked_result(const checked_result<T> & t) :
+ m_e(t.m_e)
+ {
+ static_assert(
+ std::is_convertible<T, R>::value,
+ "T must be convertible to R"
+ );
+ if(safe_numerics_error::success == t.m_e)
+ m_r = t.m_r;
+ else
+ m_msg = t.m_msg;
+ }
+ constexpr bool exception() const {
+ return m_e != safe_numerics_error::success;
+ }
+
+ // accesors
+ constexpr operator R() const {
+ // don't assert here. Let the library catch these errors
+ assert(! exception());
+ return m_r;
+ }
+
+ constexpr operator safe_numerics_error () const {
+ // note that this is a legitimate operation even when
+ // the operation was successful - it will return success
+ return m_e;
+ }
+ constexpr operator const char *() const {
+ assert(exception());
+ return m_msg;
+ }
+
+ // disallow assignment
+ checked_result & operator=(const checked_result &) = delete;
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CHECKED_RESULT
diff --git a/boost/safe_numerics/checked_result_operations.hpp b/boost/safe_numerics/checked_result_operations.hpp
new file mode 100644
index 0000000000..c1af3167e5
--- /dev/null
+++ b/boost/safe_numerics/checked_result_operations.hpp
@@ -0,0 +1,1174 @@
+ #ifndef BOOST_NUMERIC_CHECKED_RESULT_OPERATIONS
+#define BOOST_NUMERIC_CHECKED_RESULT_OPERATIONS
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// Implemenation of arithmetic on "extended" integers.
+// extended integers are
+// a) an interger range
+// b) extra elements +inf, -inf, indeterminate
+//
+// arithmetic operations are closed on the set of extended integers
+// but operations are not associative when they result in the
+// extensions +inf, -inf, and indeterminate
+//
+// in this code, the type "checked_result<T>" where T is some
+// integer type is an "extended" integer.
+
+#include <cassert>
+
+#include <boost/logic/tribool.hpp>
+
+#include "checked_result.hpp"
+#include "checked_integer.hpp"
+
+//////////////////////////////////////////////////////////////////////////
+// the following idea of "value_type" is used by several of the operations
+// defined by checked_result arithmetic.
+
+namespace boost {
+namespace safe_numerics {
+
+//////////////////////////////////////////////////////////////////////////
+// implement C++ operators for check_result<T>
+
+struct sum_value_type {
+ // characterization of various values
+ const enum flag {
+ known_value = 0,
+ less_than_min,
+ greater_than_max,
+ indeterminate,
+ count
+ } m_flag;
+ template<class T>
+ constexpr flag to_flag(const checked_result<T> & t) const {
+ switch(static_cast<safe_numerics_error>(t)){
+ case safe_numerics_error::success:
+ return known_value;
+ case safe_numerics_error::negative_overflow_error:
+ // result is below representational minimum
+ return less_than_min;
+ case safe_numerics_error::positive_overflow_error:
+ // result is above representational maximum
+ return greater_than_max;
+ default:
+ return indeterminate;
+ }
+ }
+ template<class T>
+ constexpr sum_value_type(const checked_result<T> & t) :
+ m_flag(to_flag(t))
+ {}
+ constexpr operator std::uint8_t () const {
+ return static_cast<std::uint8_t>(m_flag);
+ }
+};
+
+// integers addition
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator+(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = sum_value_type;
+ constexpr const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ // note major pain. Clang constexpr multi-dimensional array is fine.
+ // but gcc doesn't permit a multi-dimensional array to be be constexpr.
+ // so we need to some ugly gymnastics to make our system work for all
+ // all systems.
+ constexpr const enum safe_numerics_error result[order * order] = {
+ // t == known_value
+ //{
+ // u == ...
+ safe_numerics_error::success, // known_value,
+ safe_numerics_error::negative_overflow_error, // less_than_min,
+ safe_numerics_error::positive_overflow_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == less_than_min,
+ //{
+ // u == ...
+ safe_numerics_error::negative_overflow_error, // known_value,
+ safe_numerics_error::negative_overflow_error, // less_than_min,
+ safe_numerics_error::range_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == greater_than_max,
+ //{
+ // u == ...
+ safe_numerics_error::positive_overflow_error, // known_value,
+ safe_numerics_error::range_error, // less_than_min,
+ safe_numerics_error::positive_overflow_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == indeterminate,
+ //{
+ // u == ...
+ safe_numerics_error::range_error, // known_value,
+ safe_numerics_error::range_error, // less_than_min,
+ safe_numerics_error::range_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ const safe_numerics_error e = result[tx * order + ux];
+ if(safe_numerics_error::success == e)
+ return checked::add<T>(t, u);
+ return checked_result<T>(e, "addition result");
+}
+
+// integers subtraction
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator-(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = sum_value_type;
+ constexpr const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ constexpr const enum safe_numerics_error result[order * order] = {
+ // t == known_value
+ //{
+ // u == ...
+ safe_numerics_error::success, // known_value,
+ safe_numerics_error::positive_overflow_error, // less_than_min,
+ safe_numerics_error::negative_overflow_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == less_than_min,
+ //{
+ // u == ...
+ safe_numerics_error::negative_overflow_error, // known_value,
+ safe_numerics_error::range_error, // less_than_min,
+ safe_numerics_error::negative_overflow_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == greater_than_max,
+ //{
+ // u == ...
+ safe_numerics_error::positive_overflow_error, // known_value,
+ safe_numerics_error::positive_overflow_error, // less_than_min,
+ safe_numerics_error::range_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == indeterminate,
+ //{
+ // u == ...
+ safe_numerics_error::range_error, // known_value,
+ safe_numerics_error::range_error, // less_than_min,
+ safe_numerics_error::range_error, // greater_than_max,
+ safe_numerics_error::range_error, // indeterminate,
+ //},
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ const safe_numerics_error e = result[tx * order + ux];
+ if(safe_numerics_error::success == e)
+ return checked::subtract<T>(t, u);
+ return checked_result<T>(e, "subtraction result");
+}
+
+struct product_value_type {
+ // characterization of various values
+ const enum flag {
+ less_than_min = 0,
+ less_than_zero,
+ zero,
+ greater_than_zero,
+ greater_than_max,
+ indeterminate,
+ count,
+ t_value
+ } m_flag;
+ template<class T>
+ constexpr flag to_flag(const checked_result<T> & t) const {
+ switch(static_cast<safe_numerics_error>(t)){
+ case safe_numerics_error::success:
+ return (t < checked_result<T>(0))
+ ? less_than_zero
+ : (t > checked_result<T>(0))
+ ? greater_than_zero
+ : zero;
+ case safe_numerics_error::negative_overflow_error:
+ // result is below representational minimum
+ return less_than_min;
+ case safe_numerics_error::positive_overflow_error:
+ // result is above representational maximum
+ return greater_than_max;
+ default:
+ return indeterminate;
+ }
+ }
+ template<class T>
+ constexpr product_value_type(const checked_result<T> & t) :
+ m_flag(to_flag(t))
+ {}
+ constexpr operator std::uint8_t () const {
+ return static_cast<std::uint8_t>(m_flag);
+ }
+};
+
+// integers multiplication
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator*(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = product_value_type;
+ const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ constexpr const enum value_type::flag result[order * order] = {
+ // t == less_than_min
+ //{
+ // u == ...
+ value_type::greater_than_max, // less_than_min,
+ value_type::greater_than_max, // less_than_zero,
+ value_type::zero, // zero,
+ value_type::less_than_min, // greater_than_zero,
+ value_type::less_than_min, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == less_than_zero,
+ //{
+ // u == ...
+ value_type::greater_than_max, // less_than_min,
+ value_type::greater_than_zero, // less_than_zero,
+ value_type::zero, // zero,
+ value_type::less_than_zero, // greater_than_zero,
+ value_type::less_than_min, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == zero,
+ //{
+ // u == ...
+ value_type::zero, // less_than_min,
+ value_type::zero, // less_than_zero,
+ value_type::zero, // zero,
+ value_type::zero, // greater_than_zero,
+ value_type::zero, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_zero,
+ //{
+ // u == ...
+ value_type::less_than_min, // less_than_min,
+ value_type::less_than_zero, // less_than_zero,
+ value_type::zero, // zero,
+ value_type::greater_than_zero, // greater_than_zero,
+ value_type::greater_than_max, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ value_type::less_than_min, // less_than_min,
+ value_type::less_than_min, // less_than_zero,
+ value_type::zero, // zero,
+ value_type::greater_than_max, // greater_than_zero,
+ value_type::greater_than_max, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ value_type::indeterminate, // less_than_min,
+ value_type::indeterminate, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::indeterminate, // greater_than_zero,
+ value_type::indeterminate, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //}
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ switch(result[tx * order + ux]){
+ case value_type::less_than_min:
+ return safe_numerics_error::negative_overflow_error;
+ case value_type::zero:
+ return T(0);
+ case value_type::greater_than_max:
+ return safe_numerics_error::positive_overflow_error;
+ case value_type::less_than_zero:
+ case value_type::greater_than_zero:
+ return checked::multiply<T>(t, u);
+ case value_type::indeterminate:
+ return safe_numerics_error::range_error;
+ default:
+ assert(false);
+ }
+ return checked_result<T>(0); // to suppress msvc warning
+}
+
+// integers division
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator/(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = product_value_type;
+ const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ constexpr const enum value_type::flag result[order * order] = {
+ // t == less_than_min
+ //{
+ // u == ...
+ value_type::indeterminate, // less_than_min,
+ value_type::greater_than_max, // less_than_zero,
+ value_type::less_than_min, // zero,
+ value_type::less_than_min, // greater_than_zero,
+ value_type::less_than_min, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == less_than_zero,
+ //{
+ // u == ...
+ value_type::zero, // less_than_min,
+ value_type::greater_than_zero, // less_than_zero,
+ value_type::less_than_min, // zero,
+ value_type::less_than_zero, // greater_than_zero,
+ value_type::zero, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == zero,
+ //{
+ // u == ...
+ value_type::zero, // less_than_min,
+ value_type::zero, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::zero, // greater_than_zero,
+ value_type::zero, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_zero,
+ //{
+ // u == ...
+ value_type::zero, // less_than_min,
+ value_type::less_than_zero, // less_than_zero,
+ value_type::greater_than_max, // zero,
+ value_type::greater_than_zero, // greater_than_zero,
+ value_type::zero, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ value_type::less_than_min, // less_than_min,
+ value_type::less_than_min, // less_than_zero,
+ value_type::greater_than_max, // zero,
+ value_type::greater_than_max, // greater_than_zero,
+ value_type::indeterminate, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ value_type::indeterminate, // less_than_min,
+ value_type::indeterminate, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::indeterminate, // greater_than_zero,
+ value_type::indeterminate, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //}
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ switch(result[tx * order + ux]){
+ case value_type::less_than_min:
+ return safe_numerics_error::negative_overflow_error;
+ case value_type::zero:
+ return 0;
+ case value_type::greater_than_max:
+ return safe_numerics_error::positive_overflow_error;
+ case value_type::less_than_zero:
+ case value_type::greater_than_zero:
+ return checked::divide<T>(t, u);
+ case value_type::indeterminate:
+ return safe_numerics_error::range_error;
+ default:
+ assert(false);
+ }
+ return checked_result<T>(0); // to suppress msvc warning
+}
+
+// integers modulus
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator%(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = product_value_type;
+ const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ constexpr const enum value_type::flag result[order * order] = {
+ // t == less_than_min
+ //{
+ // u == ...
+ value_type::indeterminate, // less_than_min,
+ value_type::indeterminate, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::indeterminate, // greater_than_zero,
+ value_type::indeterminate, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == less_than_zero,
+ //{
+ // u == ...
+ value_type::t_value, // less_than_min,
+ value_type::greater_than_zero, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::less_than_zero, // greater_than_zero,
+ value_type::t_value, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == zero,
+ //{
+ // u == ...
+ value_type::zero, // less_than_min,
+ value_type::zero, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::zero, // greater_than_zero,
+ value_type::zero, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_zero,
+ //{
+ // u == ...
+ value_type::t_value, // less_than_min,
+ value_type::less_than_zero, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::greater_than_zero, // greater_than_zero,
+ value_type::t_value, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ value_type::indeterminate, // less_than_min,
+ value_type::indeterminate, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::indeterminate, // greater_than_zero,
+ value_type::indeterminate, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ value_type::indeterminate, // less_than_min,
+ value_type::indeterminate, // less_than_zero,
+ value_type::indeterminate, // zero,
+ value_type::indeterminate, // greater_than_zero,
+ value_type::indeterminate, // greater than max,
+ value_type::indeterminate, // indeterminate,
+ //}
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ switch(result[tx * order + ux]){
+ case value_type::zero:
+ return 0;
+ case value_type::less_than_zero:
+ case value_type::greater_than_zero:
+ return checked::modulus<T>(t, u);
+ case value_type::indeterminate:
+ return safe_numerics_error::range_error;
+ case value_type::t_value:
+ return t;
+ case value_type::greater_than_max:
+ case value_type::less_than_min:
+ default:
+ assert(false);
+ }
+ // suppress msvc warning
+ return checked_result<T>(0);
+}
+
+// comparison operators
+
+template<class T>
+constexpr boost::logic::tribool operator<(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = sum_value_type;
+ constexpr const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ // the question arises about how to order values of type greater_than_min.
+ // that is: what should greater_than_min < greater_than_min return.
+ //
+ // a) return indeterminate because we're talking about the "true" values for
+ // which greater_than_min is a placholder.
+ //
+ // b) return false because the two values are "equal"
+ //
+ // for our purposes, b) is the better interpretation as it better
+ // models our view that the < operation referes to the place holders
+ // rather than some underlying value.
+ enum class result_type : std::uint8_t {
+ runtime,
+ false_value,
+ true_value,
+ indeterminate,
+ };
+ constexpr const result_type resultx[order * order]{
+ // t == known_value
+ //{
+ // u == ...
+ result_type::runtime, // known_value,
+ result_type::false_value, // less_than_min,
+ result_type::true_value, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ // t == less_than_min
+ //{
+ // u == ...
+ result_type::true_value, // known_value,
+ result_type::false_value, // less_than_min, see above argument
+ result_type::true_value, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ // u == ...
+ result_type::false_value, // known_value,
+ result_type::false_value, // less_than_min,
+ result_type::false_value, // greater_than_max, see above argument
+ result_type::indeterminate, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ // u == ...
+ result_type::indeterminate, // known_value,
+ result_type::indeterminate, // less_than_min,
+ result_type::indeterminate, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ switch(resultx[tx * order + ux]){
+ case result_type::runtime:
+ return static_cast<const T &>(t) < static_cast<const T &>(u);
+ case result_type::false_value:
+ return false;
+ case result_type::true_value:
+ return true;
+ case result_type::indeterminate:
+ return boost::logic::indeterminate;
+ default:
+ assert(false);
+ }
+ return true;
+}
+
+template<class T>
+constexpr boost::logic::tribool
+operator>=(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return !(t < u);
+}
+
+template<class T>
+constexpr boost::logic::tribool
+operator>(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return u < t;
+}
+
+template<class T>
+constexpr boost::logic::tribool
+operator<=(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return !(u < t);
+}
+
+template<class T>
+constexpr boost::logic::tribool
+operator==(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = sum_value_type;
+ constexpr const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ enum class result_type : std::uint8_t {
+ runtime,
+ false_value,
+ true_value,
+ indeterminate,
+ };
+
+ constexpr const result_type result[order * order]{
+ // t == known_value
+ //{
+ // u == ...
+ result_type::runtime, // known_value,
+ result_type::false_value, // less_than_min,
+ result_type::false_value, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ // t == less_than_min
+ //{
+ // u == ...
+ result_type::false_value, // known_value,
+ result_type::indeterminate, // less_than_min,
+ result_type::false_value, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ // u == ...
+ result_type::false_value, // known_value,
+ result_type::false_value, // less_than_min,
+ result_type::indeterminate, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ // u == ...
+ result_type::indeterminate, // known_value,
+ result_type::indeterminate, // less_than_min,
+ result_type::indeterminate, // greater_than_max,
+ result_type::indeterminate, // indeterminate,
+ //},
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+
+ switch(result[tx * order + ux]){
+ case result_type::runtime:
+ return static_cast<const T &>(t) == static_cast<const T &>(u);
+ case result_type::false_value:
+ return false;
+ case result_type::true_value:
+ return true;
+ case result_type::indeterminate:
+ return boost::logic::indeterminate;
+ default:
+ assert(false);
+ }
+ // suppress msvc warning - not all control paths return a value
+ return false;
+}
+
+template<class T>
+constexpr boost::logic::tribool
+operator!=(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return ! (t == u);
+}
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator>>(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+);
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator-(
+ const checked_result<T> & t
+){
+// assert(false);
+ return checked_result<T>(0) - t;
+}
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator~(
+ const checked_result<T> & t
+){
+// assert(false);
+ return ~t.m_r;
+}
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator<<(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = product_value_type;
+ const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ const std::uint8_t result[order * order] = {
+ // t == less_than_min
+ //{
+ // u == ...
+ 1, // -1, // less_than_min,
+ 2, // safe_numerics_error::negative_overflow_error, // less_than_zero,
+ 2, // safe_numerics_error::negative_overflow_error, // zero,
+ 2, // safe_numerics_error::negative_overflow_error, // greater_than_zero,
+ 2, // safe_numerics_error::negative_overflow_error, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == less_than_zero,
+ //{
+ // u == ...
+ 3, // -1, // less_than_min,
+ 4, // - (-t >> -u), // less_than_zero,
+ 5, // safe_numerics_error::negative_overflow_error, // zero,
+ 6, // - (-t << u), // greater_than_zero,
+ 2, // safe_numerics_error::negative_overflow_error, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == zero,
+ //{
+ // u == ...
+ 3, // 0 // less_than_min,
+ 3, // 0 // less_than_zero,
+ 3, // 0, // zero,
+ 3, // 0, // greater_than_zero,
+ 3, // 0, // greater than max,
+ 3, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == greater_than_zero,
+ //{
+ // u == ...
+ 3, // 0, // less_than_min,
+ 7, // t << -u, // less_than_zero,
+ 5, // t, // zero,
+ 8, // t << u // greater_than_zero,
+ 9, // safe_numerics_error::positive_overflow_error, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ // u == ...
+ 1, // safe_numerics_error::range_error, // less_than_min,
+ 9, // safe_numerics_error::positive_overflow_error), // less_than_zero,
+ 9, // safe_numerics_error::positive_overflow_error, // zero,
+ 9, // safe_numerics_error::positive_overflow_error), // greater_than_zero,
+ 9, // safe_numerics_error::positive_overflow_error, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //}
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+ assert(tx * order + ux < order * order);
+
+ // I had a switch(i) statment here - but it results in an ICE
+ // on multiple versions of gcc. So make the equivalent in
+ // nested if statments - should be the same (more or less)
+ // performancewise.
+ const unsigned int i = result[tx * order + ux];
+ assert(i <= 9);
+ if(1 == i){
+ return safe_numerics_error::range_error;
+ }
+ else
+ if(2 == i){
+ return safe_numerics_error::negative_overflow_error;
+ }
+ else
+ if(3 == i){
+ return checked_result<T>(0);
+ // the following gymnastics are to handle the case where
+ // a value is changed from a negative to a positive number.
+ // For example, and 8 bit number t == -128. Then -t also
+ // equals -128 since 128 cannot be held in an 8 bit signed
+ // integer.
+ }
+ else
+ if(4 == i){ // - (-t >> -u)
+ assert(static_cast<bool>(t < checked_result<T>(0)));
+ assert(static_cast<bool>(u < checked_result<T>(0)));
+ return t >> -u;
+ }
+ else
+ if(5 == i){
+ return t;
+ }
+ else
+ if(6 == i){ // - (-t << u)
+ assert(static_cast<bool>(t < checked_result<T>(0)));
+ assert(static_cast<bool>(u > checked_result<T>(0)));
+ const checked_result<T> temp_t = t * checked_result<T>(2);
+ const checked_result<T> temp_u = u - checked_result<T>(1);
+ return - (-temp_t << temp_u);
+ }
+ else
+ if(7 == i){ // t >> -u
+ assert(static_cast<bool>(t > checked_result<T>(0)));
+ assert(static_cast<bool>(u < checked_result<T>(0)));
+ return t >> -u;
+ }
+ else
+ if(8 == i){ // t << u
+ assert(static_cast<bool>(t > checked_result<T>(0)));
+ assert(static_cast<bool>(u > checked_result<T>(0)));
+ checked_result<T> r = checked::left_shift<T>(t, u);
+ return (r.m_e == safe_numerics_error::shift_too_large)
+ ? checked_result<T>(safe_numerics_error::positive_overflow_error)
+ : r;
+ }
+ else
+ if(9 == i){
+ return safe_numerics_error::positive_overflow_error;
+ }
+ else{
+ assert(false);
+ };
+ return checked_result<T>(0); // to suppress msvc warning
+}
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator>>(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ using value_type = product_value_type;
+ const std::uint8_t order = static_cast<std::uint8_t>(value_type::count);
+
+ const std::uint8_t result[order * order] = {
+ // t == less_than_min
+ //{
+ // u == ...
+ 2, // safe_numerics_error::negative_overflow_error, // less_than_min,
+ 2, // safe_numerics_error::negative_overflow_error, // less_than_zero,
+ 2, // safe_numerics_error::negative_overflow_error, // zero,
+ 2, // safe_numerics_error::negative_overflow_error, // greater_than_zero,
+ 1, // safe_numerics_error::range_error, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == less_than_zero,
+ //{
+ // u == ...
+ 2, // safe_numerics_error::negative_overflow_error // less_than_min,
+ 4, // - (-t << -u), // less_than_zero,
+ 5, // safe_numerics_error::negative_overflow_error. // zero,
+ 6, // - (-t >> u), // greater_than_zero,
+ 3, // 0, ? or -1 // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == zero,
+ //{
+ // u == ...
+ 3, // 0 // less_than_min,
+ 3, // 0 // less_than_zero,
+ 3, // 0, // zero,
+ 3, // 0, // greater_than_zero,
+ 3, // 0, // greater than max,
+ 3, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == greater_than_zero,
+ //{
+ // u == ...
+ 9, // safe_numerics_error::positive_overflow_error // less_than_min,
+ 7, // t << -u, // less_than_zero,
+ 5, // t, // zero,
+ 8, // t >> u // greater_than_zero,
+ 3, // 0, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == greater_than_max
+ //{
+ // u == ...
+ 9, // safe_numerics_error::positive_overflow_error, // less_than_min,
+ 9, // safe_numerics_error::positive_overflow_error, // less_than_zero,
+ 9, // safe_numerics_error::positive_overflow_error, // zero,
+ 9, // safe_numerics_error::positive_overflow_error, // greater_than_zero,
+ 1, // safe_numerics_error::range_error, // greater than max,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //},
+ // t == indeterminate
+ //{
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ 1, // safe_numerics_error::range_error, // indeterminate,
+ //}
+ };
+
+ const value_type tx(t);
+ const value_type ux(u);
+ assert(tx * order + ux < order * order);
+
+ // I had a switch(i) statment here - but it results in an ICE
+ // on multiple versions of gcc. So make the equivalent in
+ // nested if statments - should be the same (more or less)
+ // performancewise.
+ const unsigned int i = result[tx * order + ux];
+ assert(i <= 9);
+ if(1 == i){
+ return safe_numerics_error::range_error;
+ }
+ else
+ if(2 == i){
+ return safe_numerics_error::negative_overflow_error;
+ }
+ else
+ if(3 == i){
+ return checked_result<T>(0);
+ }
+ else
+ if(4 == i){ // - (-t << -u)
+ assert(static_cast<bool>(t < checked_result<T>(0)));
+ assert(static_cast<bool>(u < checked_result<T>(0)));
+ return t << -u;
+ }
+ else
+ if(5 == i){
+ return t;
+ }
+ else
+ if(6 == i){ // - (-t >> u)
+ assert(static_cast<bool>(t < checked_result<T>(0)));
+ assert(static_cast<bool>(u > checked_result<T>(0)));
+ const checked_result<T> temp_t = t / checked_result<T>(2);
+ const checked_result<T> temp_u = u - checked_result<T>(1);
+ return - (-temp_t >> temp_u);
+ }
+ else
+ if(7 == i){ // t << -u,
+ assert(static_cast<bool>(t > checked_result<T>(0)));
+ assert(static_cast<bool>(u < checked_result<T>(0)));
+ return t << -u;
+ }
+ else
+ if(8 == i){ // t >> u
+ assert(static_cast<bool>(t > checked_result<T>(0)));
+ assert(static_cast<bool>(u > checked_result<T>(0)));
+ checked_result<T> r = checked::right_shift<T>(t, u);
+ return (r.m_e == safe_numerics_error::shift_too_large)
+ ? checked_result<T>(0)
+ : r;
+ }
+ else
+ if(9 == i){
+ return safe_numerics_error::positive_overflow_error;
+ }
+ else{
+ assert(false);
+ };
+ return checked_result<T>(0); // to suppress msvc warning
+}
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator|(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return
+ t.exception() || u.exception()
+ ? checked_result<T>(safe_numerics_error::range_error)
+ : checked::bitwise_or<T>(
+ static_cast<T>(t),
+ static_cast<T>(u)
+ );
+}
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator^(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return
+ t.exception() || u.exception()
+ ? checked_result<T>(safe_numerics_error::range_error)
+ : checked::bitwise_xor<T>(
+ static_cast<T>(t),
+ static_cast<T>(u)
+ );
+}
+
+template<class T>
+typename std::enable_if<
+ std::is_integral<T>::value,
+ checked_result<T>
+>::type
+constexpr inline operator&(
+ const checked_result<T> & t,
+ const checked_result<T> & u
+){
+ return
+ t.exception() || u.exception()
+ ? checked_result<T>(safe_numerics_error::range_error)
+ : checked::bitwise_and<T>(
+ static_cast<T>(t),
+ static_cast<T>(u)
+ );
+}
+
+} // safe_numerics
+} // boost
+
+#include <iosfwd>
+
+namespace std {
+
+template<typename CharT, typename Traits, typename R>
+inline std::basic_ostream<CharT, Traits> & operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const boost::safe_numerics::checked_result<R> & r
+){
+ if(!r.exception())
+ os << static_cast<R>(r);
+ else
+ os << std::error_code(r.m_e).message() << ':' << r.m_msg;
+ return os;
+}
+
+template<typename CharT, typename Traits>
+inline std::basic_ostream<CharT, Traits> & operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const boost::safe_numerics::checked_result<signed char> & r
+){
+ if(! r.exception())
+ os << static_cast<std::int16_t>(r);
+ else
+ os << std::error_code(r.m_e).message() << ':' << r.m_msg;
+ return os;
+}
+
+template<typename CharT, typename Traits>
+inline std::basic_ostream<CharT, Traits> & operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const boost::safe_numerics::checked_result<unsigned char> & r
+){
+ if(! r.exception())
+ os << static_cast<std::uint16_t>(r);
+ else
+ os << std::error_code(r.m_e).message() << ':' << r.m_msg;
+ return os;
+}
+
+template<typename CharT, typename Traits, typename R>
+inline std::basic_istream<CharT, Traits> & operator>>(
+ std::basic_istream<CharT, Traits> & is,
+ boost::safe_numerics::checked_result<R> & r
+){
+ is >> r.m_r;
+ return is;
+}
+
+template<typename CharT, typename Traits, typename R>
+inline std::basic_istream<CharT, Traits> & operator>>(
+ std::basic_istream<CharT, Traits> & is,
+ boost::safe_numerics::checked_result<signed char> & r
+){
+ std::int16_t i;
+ is >> i;
+ r.m_r = i;
+ return is;
+}
+
+template<typename CharT, typename Traits, typename R>
+inline std::basic_istream<CharT, Traits> & operator>>(
+ std::basic_istream<CharT, Traits> & is,
+ boost::safe_numerics::checked_result<unsigned char> & r
+){
+ std::uint16_t i;
+ is >> i;
+ r.m_r = i;
+ return is;
+}
+
+} // std
+
+/////////////////////////////////////////////////////////////////
+// numeric limits for checked<R>
+
+#include <limits>
+
+namespace std {
+
+template<class R>
+class numeric_limits<boost::safe_numerics::checked_result<R> >
+ : public std::numeric_limits<R>
+{
+ using this_type = boost::safe_numerics::checked_result<R>;
+public:
+ constexpr static this_type min() noexcept {
+ return this_type(std::numeric_limits<R>::min());
+ }
+ constexpr static this_type max() noexcept {
+ return this_type(std::numeric_limits<R>::max());
+ }
+};
+
+} // std
+
+#endif // BOOST_NUMERIC_CHECKED_RESULT_OPERATIONS
diff --git a/boost/safe_numerics/concept/CMakeLists.txt b/boost/safe_numerics/concept/CMakeLists.txt
new file mode 100644
index 0000000000..dd2832baec
--- /dev/null
+++ b/boost/safe_numerics/concept/CMakeLists.txt
@@ -0,0 +1,14 @@
+####################
+# add include headers to IDE
+
+set(USE_FOLDERS TRUE)
+
+file(GLOB include_files
+ RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp"
+)
+add_custom_target(concepts SOURCES ${include_files})
+set_target_properties(concepts PROPERTIES FOLDER "safe_numerics")
+
+# end headers in IDE
+####################
diff --git a/boost/safe_numerics/concept/exception_policy.hpp b/boost/safe_numerics/concept/exception_policy.hpp
new file mode 100644
index 0000000000..f0b98fcea9
--- /dev/null
+++ b/boost/safe_numerics/concept/exception_policy.hpp
@@ -0,0 +1,34 @@
+#ifndef BOOST_NUMERIC_CONCEPT_EXCEPTION_POLICY_HPP
+#define BOOST_NUMERIC_CONCEPT_EXCEPTION_POLICY_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2015 Robert Ramey
+//
+// 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)
+
+namespace boost {
+namespace safe_numerics {
+
+template<class EP>
+struct ExceptionPolicy {
+ const char * message;
+ /*
+ BOOST_CONCEPT_USAGE(ExceptionPolicy){
+ EP::on_arithmetic_error(e, message);
+ EP::on_undefined_behavior(e, message)
+ EP::on_implementation_defined_behavior(e, message)
+ EP::on_uninitialized_value(e, message)
+ }
+ */
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CONCEPT_EXCEPTION_POLICY_HPP
diff --git a/boost/safe_numerics/concept/integer.hpp b/boost/safe_numerics/concept/integer.hpp
new file mode 100644
index 0000000000..80defa4575
--- /dev/null
+++ b/boost/safe_numerics/concept/integer.hpp
@@ -0,0 +1,32 @@
+#ifndef BOOST_NUMERIC_CONCEPT_INTEGER_HPP
+#define BOOST_NUMERIC_CONCEPT_INTEGER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include "numeric.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+template <class T>
+class Integer : public Numeric<T> {
+ // integer types must have the corresponding numeric trait.
+ static_assert(
+ std::numeric_limits<T>::is_integer,
+ "Fails to fulfill requirements for an integer type"
+ );
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CONCEPT_INTEGER_HPP
diff --git a/boost/safe_numerics/concept/numeric.hpp b/boost/safe_numerics/concept/numeric.hpp
new file mode 100644
index 0000000000..0885a5511f
--- /dev/null
+++ b/boost/safe_numerics/concept/numeric.hpp
@@ -0,0 +1,34 @@
+#ifndef BOOST_NUMERIC_CONCEPT_NUMERIC_HPP
+#define BOOST_NUMERIC_CONCEPT_NUMERIC_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <limits>
+
+namespace boost {
+namespace safe_numerics {
+
+template<class T>
+struct Numeric {
+ // if your program traps here, you need to create a
+ // std::numeric_limits class for your type T. see
+ // see C++ standard 18.3.2.2
+ static_assert(
+ std::numeric_limits<T>::is_specialized,
+ "std::numeric_limits<T> has not been specialized for this type"
+ );
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CONCEPT_NUMERIC_HPP
diff --git a/boost/safe_numerics/concept/promotion_policy.hpp b/boost/safe_numerics/concept/promotion_policy.hpp
new file mode 100644
index 0000000000..b71ed91192
--- /dev/null
+++ b/boost/safe_numerics/concept/promotion_policy.hpp
@@ -0,0 +1,38 @@
+#ifndef BOOST_NUMERIC_CONCEPT_PROMOTION_POLICY_HPP
+#define BOOST_NUMERIC_CONCEPT_PROMOTION_POLICY_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2015 Robert Ramey
+//
+// 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)
+
+namespace boost {
+namespace safe_numerics {
+
+template<class PP>
+struct PromotionPolicy {
+ using T = int;
+ using U = int;
+ using a_type = typename PP::template addition_result<T, U>;
+ using s_type = typename PP::template subtraction_result<T, U>;
+ using m_type = typename PP::template multiplication_result<T, U>;
+ using d_type = typename PP::template division_result<T, U>;
+ using mod_type = typename PP::template modulus_result<T, U>;
+ using ls_type = typename PP::template left_shift_result<T, U>;
+ using rs_type = typename PP::template right_shift_result<T, U>;
+ using cc_type = typename PP::template comparison_result<T, U>;
+ using baw_type = typename PP::template bitwise_and_result<T, U>;
+ using bow_type = typename PP::template bitwise_or_result<T, U>;
+ using bxw_type = typename PP::template bitwise_xor_result<T, U>;
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CONCEPT_EXCEPTION_POLICY_HPP
diff --git a/boost/safe_numerics/concept/safe_numeric.hpp b/boost/safe_numerics/concept/safe_numeric.hpp
new file mode 100644
index 0000000000..00481a02c6
--- /dev/null
+++ b/boost/safe_numerics/concept/safe_numeric.hpp
@@ -0,0 +1,39 @@
+#ifndef BOOST_NUMERIC_CONCEPT_SAFE_NUMERIC_HPP
+#define BOOST_NUMERIC_CONCEPT_SAFE_NUMERIC_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2015 Robert Ramey
+//
+// 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)
+
+#include <limits>
+#include <typetraits>
+#include <boost/concept/usage.hpp>
+#include "concept/numeric.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+template<class T>
+struct SafeNumeric : public Numeric<T> {
+ static_assert(
+ is_safe<T>::value,
+ "std::numeric_limits<T> has not been specialized for this type"
+ );
+ BOOST_CONCEPT_USAGE(SafeNumeric){
+ using t1 = get_exception_policy<T>;
+ using t2 = get_promotion_policy<T>;
+ using t3 = base_type<T>;
+ }
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CONCEPT_SAFE_NUMERIC_HPP
diff --git a/boost/safe_numerics/cpp.hpp b/boost/safe_numerics/cpp.hpp
new file mode 100755
index 0000000000..9d42c2f981
--- /dev/null
+++ b/boost/safe_numerics/cpp.hpp
@@ -0,0 +1,202 @@
+#ifndef BOOST_NUMERIC_CPP_HPP
+#define BOOST_NUMERIC_CPP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// policy which creates results types equal to that of C++ promotions.
+// Using the policy will permit the program to build and run in release
+// mode which is identical to that in debug mode except for the fact
+// that errors aren't trapped.
+
+#include <type_traits> // integral constant, remove_cv, conditional
+#include <limits>
+#include <boost/integer.hpp> // integer type selection
+
+#include "safe_common.hpp"
+#include "checked_result.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+// in C++ the following rules govern integer arithmetic
+
+// This policy is use to emulate another compiler/machine architecture
+// For example, a Z80 has 8 bit char, 16 bit short, 16 bit int, 32 bit long. So one
+// would use cpp<8, 16, 16, 32, 32> to test programs destined to run on a Z80
+
+// Follow section 5 of the standard.
+template<
+ int CharBits,
+ int ShortBits,
+ int IntBits,
+ int LongBits,
+ int LongLongBits
+>
+struct cpp {
+public:
+ using local_char_type = typename boost::int_t<CharBits>::exact;
+ using local_short_type = typename boost::int_t<ShortBits>::exact;
+ using local_int_type = typename boost::int_t<IntBits>::exact;
+ using local_long_type = typename boost::int_t<LongBits>::exact;
+ using local_long_long_type = typename boost::int_t<LongLongBits>::exact;
+
+ template<class T>
+ using rank =
+ typename std::conditional<
+ std::is_same<local_char_type, typename std::make_signed<T>::type>::value,
+ std::integral_constant<int, 1>,
+ typename std::conditional<
+ std::is_same<local_short_type, typename std::make_signed<T>::type>::value,
+ std::integral_constant<int, 2>,
+ typename std::conditional<
+ std::is_same<local_int_type, typename std::make_signed<T>::type>::value,
+ std::integral_constant<int, 3>,
+ typename std::conditional<
+ std::is_same<local_long_type, typename std::make_signed<T>::type>::value,
+ std::integral_constant<int, 4>,
+ typename std::conditional<
+ std::is_same<local_long_long_type, typename std::make_signed<T>::type>::value,
+ std::integral_constant<int, 5>,
+ std::integral_constant<int, 6> // catch all - never promote integral
+ >::type >::type >::type >::type >::type;
+
+ // section 4.5 integral promotions
+
+ // convert smaller of two types to the size of the larger
+ template<class T, class U>
+ using higher_ranked_type = typename std::conditional<
+ (rank<T>::value < rank<U>::value),
+ U,
+ T
+ >::type;
+
+ template<class T, class U>
+ using copy_sign = typename std::conditional<
+ std::is_signed<U>::value,
+ typename std::make_signed<T>::type,
+ typename std::make_unsigned<T>::type
+ >::type;
+
+ template<class T>
+ using integral_promotion = copy_sign<
+ higher_ranked_type<local_int_type, T>,
+ T
+ >;
+
+ // note presumption that T & U don't have he same sign
+ // if that's not true, these won't work
+ template<class T, class U>
+ using select_signed = typename std::conditional<
+ std::numeric_limits<T>::is_signed,
+ T,
+ U
+ >::type;
+
+ template<class T, class U>
+ using select_unsigned = typename std::conditional<
+ std::numeric_limits<T>::is_signed,
+ U,
+ T
+ >::type;
+
+ // section 5 clause 11 - usual arithmetic conversions
+ template<typename T, typename U>
+ using usual_arithmetic_conversions =
+ // clause 0 - if both operands have the same type
+ typename std::conditional<
+ std::is_same<T, U>::value,
+ // no further conversion is needed
+ T,
+ // clause 1 - otherwise if both operands have the same sign
+ typename std::conditional<
+ std::numeric_limits<T>::is_signed
+ == std::numeric_limits<U>::is_signed,
+ // convert to the higher ranked type
+ higher_ranked_type<T, U>,
+ // clause 2 - otherwise if the rank of he unsigned type exceeds
+ // the rank of the of the signed type
+ typename std::conditional<
+ rank<select_unsigned<T, U>>::value
+ >= rank< select_signed<T, U>>::value,
+ // use unsigned type
+ select_unsigned<T, U>,
+ // clause 3 - otherwise if the type of the signed integer type can
+ // represent all the values of the unsigned type
+ typename std::conditional<
+ std::numeric_limits< select_signed<T, U>>::digits >=
+ std::numeric_limits< select_unsigned<T, U>>::digits,
+ // use signed type
+ select_signed<T, U>,
+ // clause 4 - otherwise use unsigned version of the signed type
+ std::make_signed< select_signed<T, U>>
+ >::type >::type >::type
+ >;
+
+ template<typename T, typename U>
+ using result_type = typename usual_arithmetic_conversions<
+ integral_promotion<typename base_type<T>::type>,
+ integral_promotion<typename base_type<U>::type>
+ >::type;
+public:
+ template<typename T, typename U>
+ struct addition_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct subtraction_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct multiplication_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct division_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct modulus_result {
+ using type = result_type<T, U>;
+ };
+ // note: comparison_result (<, >, ...) is special.
+ // The return value is always a bool. The type returned here is
+ // the intermediate type applied to make the values comparable.
+ template<typename T, typename U>
+ struct comparison_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct left_shift_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct right_shift_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct bitwise_and_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct bitwise_or_result {
+ using type = result_type<T, U>;
+ };
+ template<typename T, typename U>
+ struct bitwise_xor_result {
+ using type = result_type<T, U>;
+ };
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_cpp_HPP
diff --git a/boost/safe_numerics/exception.hpp b/boost/safe_numerics/exception.hpp
new file mode 100644
index 0000000000..b67f74fb97
--- /dev/null
+++ b/boost/safe_numerics/exception.hpp
@@ -0,0 +1,187 @@
+#ifndef BOOST_NUMERIC_EXCEPTION
+#define BOOST_NUMERIC_EXCEPTION
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// contains error indicators for results of doing checked
+// arithmetic on native C++ types
+
+#include <algorithm>
+#include <system_error> // error_code, system_error
+#include <string>
+#include <cassert>
+#include <cstdint> // std::uint8_t
+
+// Using the system_error code facility. This facility is more complex
+// than meets the eye. To fully understand what out intent here is,
+// review http://blog.think-async.com/2010/04/system-error-support-in-c0x-part-5.html
+// "Giving context-specific meaning to generic error codes"
+
+namespace boost {
+namespace safe_numerics {
+
+// errors codes for safe numerics
+
+// in spite of the similarity, this list is distinct from the exceptions
+// listed in documentation for std::exception.
+
+// note: Don't reorder these. Code in the file checked_result_operations.hpp
+// depends upon this order !!!
+enum class safe_numerics_error : std::uint8_t {
+ success = 0,
+ positive_overflow_error, // result is above representational maximum
+ negative_overflow_error, // result is below representational minimum
+ domain_error, // one operand is out of valid range
+ range_error, // result cannot be produced for this operation
+ precision_overflow_error, // result lost precision
+ underflow_error, // result is too small to be represented
+ negative_value_shift, // negative value in shift operator
+ negative_shift, // shift a negative value
+ shift_too_large, // l/r shift exceeds variable size
+ uninitialized_value // l/r shift exceeds variable size
+};
+
+const std::uint8_t safe_numerics_casting_error_count =
+ static_cast<std::uint8_t>(safe_numerics_error::domain_error) + 1;
+
+const std::uint8_t safe_numerics_error_count =
+ static_cast<std::uint8_t>(safe_numerics_error::uninitialized_value) + 1;
+
+} // safe_numerics
+} // boost
+
+namespace std {
+ template <>
+ struct is_error_code_enum<boost::safe_numerics::safe_numerics_error>
+ : public true_type {};
+};
+
+namespace boost {
+namespace safe_numerics {
+
+const class : public std::error_category {
+public:
+ virtual const char* name() const noexcept{
+ return "safe numerics error";
+ }
+ virtual std::string message(int ev) const {
+ switch(static_cast<safe_numerics_error>(ev)){
+ case safe_numerics_error::success:
+ return "success";
+ case safe_numerics_error::positive_overflow_error:
+ return "positive overflow error";
+ case safe_numerics_error::negative_overflow_error:
+ return "negative overflow error";
+ case safe_numerics_error::underflow_error:
+ return "underflow error";
+ case safe_numerics_error::range_error:
+ return "range error";
+ case safe_numerics_error::domain_error:
+ return "domain error";
+ case safe_numerics_error::negative_shift:
+ return "negative shift";
+ case safe_numerics_error::negative_value_shift:
+ return "negative value shift";
+ case safe_numerics_error::shift_too_large:
+ return "shift too large";
+ case safe_numerics_error::uninitialized_value:
+ return "uninitialized value";
+ default:
+ assert(false);
+ }
+ return ""; // suppress bogus warning
+ }
+} safe_numerics_error_category ;
+
+// constexpr - damn, can't use constexpr due to std::error_code
+std::error_code make_error_code(safe_numerics_error e){
+ return std::error_code(static_cast<int>(e), safe_numerics_error_category);
+}
+
+// actions for error_codes for safe numerics. I've leveraged on
+// error_condition in order to do this. I'm not sure this is a good
+// idea or not.
+
+enum class safe_numerics_actions {
+ no_action = 0,
+ uninitialized_value,
+ arithmetic_error,
+ implementation_defined_behavior,
+ undefined_behavior
+};
+
+} // safe_numerics
+} // boost
+
+namespace std {
+ template <>
+ struct is_error_condition_enum<boost::safe_numerics::safe_numerics_actions>
+ : public true_type {};
+};
+
+namespace boost {
+namespace safe_numerics {
+
+const class : public std::error_category {
+public:
+ virtual const char* name() const noexcept {
+ return "safe numerics error group";
+ }
+ virtual std::string message(int) const {
+ return "safe numerics error group";
+ }
+ // return true if a given error code corresponds to a
+ // given safe numeric action
+ virtual bool equivalent(
+ const std::error_code & code,
+ int condition
+ ) const noexcept {
+ if(code.category() != safe_numerics_error_category)
+ return false;
+ switch (static_cast<safe_numerics_actions>(condition)){
+ case safe_numerics_actions::no_action:
+ return code == safe_numerics_error::success;
+ case safe_numerics_actions::uninitialized_value:
+ return code == safe_numerics_error::uninitialized_value;
+ case safe_numerics_actions::arithmetic_error:
+ return code == safe_numerics_error::positive_overflow_error
+ || code == safe_numerics_error::negative_overflow_error
+ || code == safe_numerics_error::underflow_error
+ || code == safe_numerics_error::range_error
+ || code == safe_numerics_error::domain_error;
+ case safe_numerics_actions::implementation_defined_behavior:
+ return code == safe_numerics_error::negative_value_shift
+ || code == safe_numerics_error::negative_shift
+ || code == safe_numerics_error::shift_too_large;
+ case safe_numerics_actions::undefined_behavior:
+ return false;
+ default:
+ ;
+ }
+ // should never arrive here
+ assert(false);
+ // suppress bogus warning
+ return false;
+ }
+} safe_numerics_actions_category ;
+
+std::error_condition make_error_condition(safe_numerics_error e) {
+ return std::error_condition(
+ static_cast<int>(e),
+ safe_numerics_error_category
+ );
+}
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_CHECKED_RESULT
diff --git a/boost/safe_numerics/exception_policies.hpp b/boost/safe_numerics/exception_policies.hpp
new file mode 100644
index 0000000000..efa4cbe055
--- /dev/null
+++ b/boost/safe_numerics/exception_policies.hpp
@@ -0,0 +1,195 @@
+#ifndef BOOST_NUMERIC_EXCEPTION_POLICIES_HPP
+#define BOOST_NUMERIC_EXCEPTION_POLICIES_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2015 Robert Ramey
+//
+// 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)
+
+#include <type_traits> // is_convertible
+
+#include "exception.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+template<
+ typename AE,
+ typename IDB,
+ typename UB,
+ typename UV
+>
+struct exception_policy {
+ static constexpr void on_arithmetic_error(
+ const safe_numerics_error & e,
+ const char * msg
+ ){
+ AE(e, msg);
+ }
+ static constexpr void on_implementation_defined_behavior(
+ const safe_numerics_error & e,
+ const char * msg
+ ){
+ IDB(e, msg);
+ }
+ static constexpr void on_undefined_behavior(
+ const safe_numerics_error & e,
+ const char * msg
+ ){
+ UB(e, msg);
+ }
+ static constexpr void on_uninitialized_value(
+ const safe_numerics_error & e,
+ const char * msg
+ ){
+ UV(e, msg);
+ }
+};
+
+////////////////////////////////////////////////////////////////////////////////
+// pre-made error action handers
+
+// ignore any error and just return.
+struct ignore_exception {
+ constexpr ignore_exception(const safe_numerics_error &, const char *){}
+};
+
+// If an exceptional condition is detected at runtime throw the exception.
+struct throw_exception {
+ throw_exception(const safe_numerics_error & e, const char * message){
+ throw std::system_error(std::error_code(e), message);
+ }
+};
+
+// emit compile time error if this is invoked.
+struct trap_exception {};
+
+// given an error code - return the action code which it corresponds to.
+constexpr safe_numerics_actions
+make_safe_numerics_action(const safe_numerics_error & e){
+ // we can't use standard algorithms since we want this to be constexpr
+ // this brute force solution is simple and pretty fast anyway
+ switch(e){
+ case safe_numerics_error::negative_overflow_error:
+ case safe_numerics_error::underflow_error:
+ case safe_numerics_error::range_error:
+ case safe_numerics_error::domain_error:
+ case safe_numerics_error::positive_overflow_error:
+ case safe_numerics_error::precision_overflow_error:
+ return safe_numerics_actions::arithmetic_error;
+
+ case safe_numerics_error::negative_value_shift:
+ case safe_numerics_error::negative_shift:
+ case safe_numerics_error::shift_too_large:
+ return safe_numerics_actions::implementation_defined_behavior;
+
+// case safe_numerics_error::uninitialized_value:
+// return safe_numerics_actions::uninitialized_value;
+
+ case safe_numerics_error::success:
+ return safe_numerics_actions::no_action;
+ default:
+ assert(false);
+ }
+ // should never arrive here
+ //include to suppress bogus warning
+ return safe_numerics_actions::no_action;
+}
+
+template<class EP>
+constexpr void
+dispatch(const safe_numerics_error & e, char const * const & msg){
+ const safe_numerics_actions a = make_safe_numerics_action(e);
+ switch(a){
+ case safe_numerics_actions::uninitialized_value:
+ EP::on_uninitialized_value(e, msg);
+ break;
+ case safe_numerics_actions::arithmetic_error:
+ EP::on_arithmetic_error(e, msg);
+ break;
+ case safe_numerics_actions::implementation_defined_behavior:
+ EP::on_implementation_defined_behavior(e, msg);
+ break;
+ case safe_numerics_actions::undefined_behavior:
+ EP::on_undefined_behavior(e, msg);
+ break;
+ default:
+ assert(false);
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// pre-made error policy classes
+
+// loose policy
+// - throw on arithmetic errors
+// - ignore other errors.
+// Some applications ignore these issues and still work and we don't
+// want to update them.
+using loose_exception_policy = exception_policy<
+ throw_exception, // arithmetic error
+ ignore_exception, // implementation defined behavior
+ ignore_exception, // undefined behavior
+ ignore_exception // uninitialized value
+>;
+
+// loose trap
+// same as above in that it doesn't check for various undefined behaviors
+// but traps at compile time for hard arithmetic errors. This policy
+// would be suitable for older embedded systems which depend on
+// bit manipulation operations to work.
+using loose_trap_policy = exception_policy<
+ trap_exception, // arithmetic error
+ ignore_exception, // implementation defined behavior
+ ignore_exception, // undefined behavior
+ ignore_exception // uninitialized value
+>;
+
+#if 0
+template<>
+constexpr void
+dispatch<loose_trap_policy>(const safe_numerics_error &, char const * const &){// strict exception policy
+ static_assert(false, "trap");
+}
+#endif
+
+// - permit just about anything
+// - throw at runtime on any kind of error
+// recommended for new code. Check everything at compile time
+// if possible and runtime if necessary. Trap or Throw as
+// appropriate. Should guarantee code to be portable across
+// architectures.
+using strict_exception_policy = exception_policy<
+ throw_exception,
+ throw_exception,
+ throw_exception,
+ throw_exception
+>;
+
+// strict trap
+// Same as above but requires code to be written in such a way as to
+// make it impossible for errors to occur. This naturally will require
+// extra coding effort but might be justified for embedded and/or
+// safety critical systems.
+using strict_trap_policy = exception_policy<
+ trap_exception,
+ trap_exception,
+ trap_exception,
+ trap_exception
+>;
+
+// default policy
+// One would use this first. After experimentation, one might
+// replace some actions with ignore_exception
+using default_exception_policy = strict_exception_policy;
+
+} // namespace safe_numerics
+} // namespace boost
+
+#endif // BOOST_NUMERIC_EXCEPTION_POLICIES_HPP
diff --git a/boost/safe_numerics/interval.hpp b/boost/safe_numerics/interval.hpp
new file mode 100644
index 0000000000..9292d7f4ac
--- /dev/null
+++ b/boost/safe_numerics/interval.hpp
@@ -0,0 +1,315 @@
+#ifndef BOOST_NUMERIC_INTERVAL_HPP
+#define BOOST_NUMERIC_INTERVAL_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <limits>
+#include <cassert>
+#include <type_traits>
+#include <initializer_list>
+#include <algorithm> // minmax, min, max
+
+#include <boost/logic/tribool.hpp>
+
+#include "utility.hpp" // log
+
+// from stack overflow
+// http://stackoverflow.com/questions/23815138/implementing-variadic-min-max-functions
+
+namespace boost {
+namespace safe_numerics {
+
+template<typename R>
+struct interval {
+ const R l;
+ const R u;
+
+ template<typename T>
+ constexpr interval(const T & lower, const T & upper) :
+ l(lower),
+ u(upper)
+ {
+ // assert(static_cast<bool>(l <= u));
+ }
+ template<typename T>
+ constexpr interval(const std::pair<T, T> & p) :
+ l(p.first),
+ u(p.second)
+ {}
+ template<class T>
+ constexpr interval(const interval<T> & rhs) :
+ l(rhs.l),
+ u(rhs.u)
+ {}
+
+ constexpr interval();
+
+ // return true if this interval contains the given point
+ constexpr tribool includes(const R & t) const {
+ return l <= t && t <= u;
+ }
+ // if this interval contains every point found in some other inteval t
+ // return true
+ // otherwise
+ // return false or indeterminate
+ constexpr tribool includes(const interval<R> & t) const {
+ return u >= t.u && l <= t.l;
+ }
+
+ // return true if this interval contains the given point
+ constexpr tribool excludes(const R & t) const {
+ return t < l || t > u;
+ }
+ // if this interval contains every point found in some other inteval t
+ // return true
+ // otherwise
+ // return false or indeterminate
+ constexpr tribool excludes(const interval<R> & t) const {
+ return t.u < l || u < t.l;
+ }
+
+};
+
+template<class R>
+constexpr interval<R> make_interval(){
+ return interval<R>();
+}
+template<class R>
+constexpr interval<R> make_interval(const R & r){
+ return interval<R>(r, r);
+}
+template<class R>
+constexpr interval<R>::interval() :
+ l(std::numeric_limits<R>::lowest()),
+ u(std::numeric_limits<R>::max())
+{}
+// account for the fact that for floats and doubles
+// the most negative value is called "lowest" rather
+// than min
+template<>
+constexpr interval<float>::interval() :
+ l(std::numeric_limits<float>::lowest()),
+ u(std::numeric_limits<float>::max())
+{}
+template<>
+constexpr interval<double>::interval() :
+ l(std::numeric_limits<double>::lowest()),
+ u(std::numeric_limits<double>::max())
+{}
+
+template<typename T>
+constexpr interval<T> operator+(const interval<T> & t, const interval<T> & u){
+ // adapted from https://en.wikipedia.org/wiki/Interval_arithmetic
+ return {t.l + u.l, t.u + u.u};
+}
+
+template<typename T>
+constexpr interval<T> operator-(const interval<T> & t, const interval<T> & u){
+ // adapted from https://en.wikipedia.org/wiki/Interval_arithmetic
+ return {t.l - u.u, t.u - u.l};
+}
+
+template<typename T>
+constexpr interval<T> operator*(const interval<T> & t, const interval<T> & u){
+ // adapted from https://en.wikipedia.org/wiki/Interval_arithmetic
+ return utility::minmax<T>(
+ std::initializer_list<T> {
+ t.l * u.l,
+ t.l * u.u,
+ t.u * u.l,
+ t.u * u.u
+ }
+ );
+}
+
+// interval division
+// note: presumes 0 is not included in the range of the denominator
+template<typename T>
+constexpr interval<T> operator/(const interval<T> & t, const interval<T> & u){
+ assert(static_cast<bool>(u.excludes(T(0))));
+ return utility::minmax<T>(
+ std::initializer_list<T> {
+ t.l / u.l,
+ t.l / u.u,
+ t.u / u.l,
+ t.u / u.u
+ }
+ );
+}
+
+// modulus of two intervals. This will give a new range of for the modulus.
+// note: presumes 0 is not included in the range of the denominator
+template<typename T>
+constexpr interval<T> operator%(const interval<T> & t, const interval<T> & u){
+ assert(static_cast<bool>(u.excludes(T(0))));
+ return utility::minmax<T>(
+ std::initializer_list<T> {
+ t.l % u.l,
+ t.l % u.u,
+ t.u % u.l,
+ t.u % u.u
+ }
+ );
+}
+
+template<typename T>
+constexpr interval<T> operator<<(const interval<T> & t, const interval<T> & u){
+// static_assert(std::is_integral<T>::value, "left shift only defined for integral type");
+ //return interval<T>{t.l << u.l, t.u << u.u};
+ return utility::minmax<T>(
+ std::initializer_list<T> {
+ t.l << u.l,
+ t.l << u.u,
+ t.u << u.l,
+ t.u << u.u
+ }
+ );
+}
+
+template<typename T>
+constexpr interval<T> operator>>(const interval<T> & t, const interval<T> & u){
+// static_assert(std::is_integral<T>::value, "right shift only defined for integral type");
+ //return interval<T>{t.l >> u.u, t.u >> u.l};
+ return utility::minmax<T>(
+ std::initializer_list<T> {
+ t.l >> u.l,
+ t.l >> u.u,
+ t.u >> u.l,
+ t.u >> u.u
+ }
+ );
+}
+
+// union of two intervals
+template<typename T>
+constexpr interval<T> operator|(const interval<T> & t, const interval<T> & u){
+ const T & rl = std::min(t.l, u.l);
+ const T & ru = std::max(t.u, u.u);
+ return interval<T>(rl, ru);
+}
+
+// intersection of two intervals
+template<typename T>
+constexpr interval<T> operator&(const interval<T> & t, const interval<T> & u){
+ const T & rl = std::max(t.l, u.l);
+ const T & ru = std::min(t.u, u.u);
+ return interval<T>(rl, ru);
+}
+
+// determine whether two intervals intersect
+template<typename T>
+constexpr boost::logic::tribool intersect(const interval<T> & t, const interval<T> & u){
+ return t.u >= u.l || t.l <= u.u;
+}
+
+template<typename T>
+constexpr boost::logic::tribool operator<(
+ const interval<T> & t,
+ const interval<T> & u
+){
+ return
+ // if every element in t is less than every element in u
+ t.u < u.l ? boost::logic::tribool(true):
+ // if every element in t is greater than every element in u
+ t.l > u.u ? boost::logic::tribool(false):
+ // otherwise some element(s) in t are greater than some element in u
+ boost::logic::indeterminate
+ ;
+}
+
+template<typename T>
+constexpr boost::logic::tribool operator>(
+ const interval<T> & t,
+ const interval<T> & u
+){
+ return
+ // if every element in t is greater than every element in u
+ t.l > u.u ? boost::logic::tribool(true) :
+ // if every element in t is less than every element in u
+ t.u < u.l ? boost::logic::tribool(false) :
+ // otherwise some element(s) in t are greater than some element in u
+ boost::logic::indeterminate
+ ;
+}
+
+template<typename T>
+constexpr bool operator==(
+ const interval<T> & t,
+ const interval<T> & u
+){
+ // intervals have the same limits
+ return t.l == u.l && t.u == u.u;
+}
+
+template<typename T>
+constexpr bool operator!=(
+ const interval<T> & t,
+ const interval<T> & u
+){
+ return ! (t == u);
+}
+
+template<typename T>
+constexpr boost::logic::tribool operator<=(
+ const interval<T> & t,
+ const interval<T> & u
+){
+ return ! (t > u);
+}
+
+template<typename T>
+constexpr boost::logic::tribool operator>=(
+ const interval<T> & t,
+ const interval<T> & u
+){
+ return ! (t < u);
+}
+
+} // safe_numerics
+} // boost
+
+#include <iosfwd>
+
+namespace std {
+
+template<typename CharT, typename Traits, typename T>
+inline std::basic_ostream<CharT, Traits> &
+operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const boost::safe_numerics::interval<T> & i
+){
+ return os << '[' << i.l << ',' << i.u << ']';
+}
+template<typename CharT, typename Traits>
+inline std::basic_ostream<CharT, Traits> &
+operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const boost::safe_numerics::interval<unsigned char> & i
+){
+ os << "[" << (unsigned)i.l << "," << (unsigned)i.u << "]";
+ return os;
+}
+
+template<typename CharT, typename Traits>
+inline std::basic_ostream<CharT, Traits> &
+operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const boost::safe_numerics::interval<signed char> & i
+){
+ os << "[" << (int)i.l << "," << (int)i.u << "]";
+ return os;
+}
+
+} // std
+
+
+#endif // BOOST_NUMERIC_INTERVAL_HPP
diff --git a/boost/safe_numerics/native.hpp b/boost/safe_numerics/native.hpp
new file mode 100644
index 0000000000..f948badd1a
--- /dev/null
+++ b/boost/safe_numerics/native.hpp
@@ -0,0 +1,115 @@
+#ifndef BOOST_NUMERIC_NATIVE_HPP
+#define BOOST_NUMERIC_NATIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <type_traits>
+#include <limits>
+
+// policy which creates results types and values equal to that of C++ promotions.
+// When used in conjunction with a desired exception policy, traps errors but
+// does not otherwise alter the results produced by the program using it.
+namespace boost {
+namespace safe_numerics {
+
+struct native {
+public:
+ // arithmetic operators
+ template<typename T, typename U>
+ struct addition_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ + typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct subtraction_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ - typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct multiplication_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ * typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct division_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ / typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct modulus_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ % typename base_type<U>::type()
+ );
+ };
+ // note: comparison_result (<, >, ...) is special.
+ // The return value is always a bool. The type returned here is
+ // the intermediate type applied to make the values comparable.
+ template<typename T, typename U>
+ struct comparison_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ + typename base_type<U>::type()
+ );
+ };
+
+ // shift operators
+ template<typename T, typename U>
+ struct left_shift_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ << typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct right_shift_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ >> typename base_type<U>::type()
+ );
+ };
+ // bitwise operators
+ template<typename T, typename U>
+ struct bitwise_or_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ | typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct bitwise_and_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ & typename base_type<U>::type()
+ );
+ };
+ template<typename T, typename U>
+ struct bitwise_xor_result {
+ using type = decltype(
+ typename base_type<T>::type()
+ ^ typename base_type<U>::type()
+ );
+ };
+};
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_NATIVE_HPP
diff --git a/boost/safe_numerics/range_value.hpp b/boost/safe_numerics/range_value.hpp
new file mode 100644
index 0000000000..a441809d13
--- /dev/null
+++ b/boost/safe_numerics/range_value.hpp
@@ -0,0 +1,76 @@
+#ifndef BOOST_RANGE_VALUE_HPP
+#define BOOST_RANGE_VALUE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2015 Robert Ramey
+//
+// 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)
+
+#include <iosfwd>
+
+// print range and value to a standard stream
+// make a simple wrapper
+template<typename T>
+struct range_value {
+ // type requirement - a numeric type
+ const T & m_t;
+
+ constexpr range_value(const T & t)
+ : m_t(t)
+ {}
+
+};
+
+template<typename T>
+constexpr range_value<T> make_range_value(const T & t){
+ return range_value<T>(t);
+}
+
+#include "interval.hpp"
+
+template<
+ class CharT,
+ class Traits,
+ class T
+>
+std::basic_ostream<CharT, Traits> & operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const range_value<T> & t
+){
+ return os
+ << boost::safe_numerics::make_interval(t.m_t)
+ << t.m_t;
+};
+
+template<typename T>
+struct result_display {
+ const T & m_t;
+ result_display(const T & t) :
+ m_t(t)
+ {}
+};
+
+template<typename T>
+result_display<T> make_result_display(const T & t){
+ return result_display<T>(t);
+}
+
+template<typename CharT, typename Traits, typename T>
+inline std::basic_ostream<CharT, Traits> &
+operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const result_display<T> & r
+){
+ return os
+ << std::hex
+ << make_range_value(r.m_t)
+ << "(" << std::dec << r.m_t << ")";
+}
+
+#endif // BOOST_RANGE_VALUE_HPP
diff --git a/boost/safe_numerics/safe_base.hpp b/boost/safe_numerics/safe_base.hpp
new file mode 100644
index 0000000000..7d56b8421f
--- /dev/null
+++ b/boost/safe_numerics/safe_base.hpp
@@ -0,0 +1,362 @@
+#ifndef BOOST_NUMERIC_SAFE_BASE_HPP
+#define BOOST_NUMERIC_SAFE_BASE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <limits>
+#include <type_traits> // is_integral, enable_if, conditional
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+
+#include "concept/exception_policy.hpp"
+#include "concept/promotion_policy.hpp"
+
+#include "safe_common.hpp"
+#include "exception_policies.hpp"
+
+#include "boost/concept/assert.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+/////////////////////////////////////////////////////////////////
+// forward declarations to support friend function declarations
+// in safe_base
+
+template<
+ class Stored,
+ Stored Min,
+ Stored Max,
+ class P, // promotion polic
+ class E // exception policy
+>
+class safe_base;
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P,
+ class E
+>
+struct is_safe<safe_base<T, Min, Max, P, E> > : public std::true_type
+{};
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P,
+ class E
+>
+struct get_promotion_policy<safe_base<T, Min, Max, P, E> > {
+ using type = P;
+};
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P,
+ class E
+>
+struct get_exception_policy<safe_base<T, Min, Max, P, E> > {
+ using type = E;
+};
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P,
+ class E
+>
+struct base_type<safe_base<T, Min, Max, P, E> > {
+ using type = T;
+};
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P,
+ class E
+>
+constexpr T base_value(
+ const safe_base<T, Min, Max, P, E> & st
+) {
+ return static_cast<T>(st);
+}
+
+template<
+ typename T,
+ T N,
+ class P, // promotion policy
+ class E // exception policy
+>
+class safe_literal_impl;
+
+/////////////////////////////////////////////////////////////////
+// Main implementation
+
+template<
+ class Stored,
+ Stored Min,
+ Stored Max,
+ class P, // promotion polic
+ class E // exception policy
+>
+class safe_base {
+private:
+ BOOST_CONCEPT_ASSERT((PromotionPolicy<P>));
+ BOOST_CONCEPT_ASSERT((ExceptionPolicy<E>));
+ Stored m_t;
+
+ template<
+ class StoredX,
+ StoredX MinX,
+ StoredX MaxX,
+ class PX, // promotion polic
+ class EX // exception policy
+ >
+ friend class safe_base;
+
+ friend class std::numeric_limits<safe_base>;
+
+ template<class T>
+ constexpr Stored validated_cast(const T & t) const;
+
+ template<typename T, T N, class P1, class E1>
+ constexpr Stored validated_cast(
+ const safe_literal_impl<T, N, P1, E1> & t
+ ) const;
+
+ // stream support
+
+ template<class CharT, class Traits>
+ void output(std::basic_ostream<CharT, Traits> & os) const;
+
+ // note usage of friend declaration to mark function as
+ // a global function rather than a member function. If
+ // this is not done, the compiler will confuse this with
+ // a member operator overload on the << operator. Weird
+ // I know. But it's documented here
+ // http://en.cppreference.com/w/cpp/language/friend
+ // under the heading "Template friend operators"
+ template<class CharT, class Traits>
+ friend std::basic_ostream<CharT, Traits> &
+ operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const safe_base & t
+ ){
+ t.output(os);
+ return os;
+ }
+
+ template<class CharT, class Traits>
+ void input(std::basic_istream<CharT, Traits> & is);
+
+ // see above
+ template<class CharT, class Traits>
+ friend inline std::basic_istream<CharT, Traits> &
+ operator>>(
+ std::basic_istream<CharT, Traits> & is,
+ safe_base & t
+ ){
+ t.input(is);
+ return is;
+ }
+
+public:
+ ////////////////////////////////////////////////////////////
+ // constructors
+
+ struct skip_validation{};
+
+ constexpr explicit safe_base(const Stored & rhs, skip_validation) :
+ m_t(rhs)
+ {}
+
+ // default constructor
+ /*
+ constexpr explicit safe_base() {
+ // this permits creating of invalid instances. This is inline
+ // with C++ built-in but violates the premises of the whole library
+ // choice are:
+ // do nothing - violates premise of he library that all safe objects
+ // are valid
+ // initialize to valid value - violates C++ behavior of types.
+ // add "initialized" flag. Preserves fixes the above, but doubles
+ // "overhead"
+ // still pending on this.
+ }
+ */
+ constexpr safe_base() = default;
+
+ // note: Rule of Five. Supply all or none of the following
+ // a) user-defined destructor
+ ~safe_base() = default;
+ // b) copy-constructor
+ constexpr safe_base(const safe_base &) = default;
+ // c) copy-assignment
+ constexpr safe_base & operator=(const safe_base &) = default;
+ // d) move constructor
+ constexpr safe_base(safe_base &&) = default;
+ // e) move assignment operator
+ constexpr safe_base & operator=(safe_base &&) = default;
+
+ // construct an instance of a safe type
+ // from an instance of a convertible underlying type.
+
+ template<class T>
+ constexpr /*explicit*/ safe_base(
+ const T & t,
+ typename std::enable_if<
+ is_safe<T>::value,
+ bool
+ >::type = true
+ ) :
+ m_t(validated_cast(t))
+ {}
+
+ template<class T>
+ constexpr /*explicit*/ safe_base(
+ const T & t,
+ typename std::enable_if<
+ std::is_integral<T>::value,
+ bool
+ >::type = true
+ ) :
+ m_t(validated_cast(t))
+ {}
+
+ /////////////////////////////////////////////////////////////////
+ // casting operators for intrinsic integers
+ // convert to any type which is not safe. safe types need to be
+ // excluded to prevent ambiguous function selection which
+ // would otherwise occur. validity of safe types is checked in
+ // the constructor of safe types
+ template<
+ class R,
+ typename std::enable_if<
+ ! boost::safe_numerics::is_safe<R>::value,
+ int
+ >::type = 0
+ >
+ constexpr /*explicit*/ operator R () const;
+
+ constexpr /*explicit*/ operator Stored () const;
+
+ /////////////////////////////////////////////////////////////////
+ // modification binary operators
+ template<class T>
+ constexpr safe_base &
+ operator=(const T & rhs){
+ m_t = validated_cast(rhs);
+ return *this;
+ }
+
+ // required to passify VS2017
+ constexpr safe_base &
+ operator=(const Stored & rhs){
+ m_t = validated_cast(rhs);
+ return *this;
+ }
+
+ // mutating unary operators
+ safe_base & operator++(){ // pre increment
+ return *this = *this + 1;
+ }
+ safe_base & operator--(){ // pre decrement
+ return *this = *this - 1;
+ }
+ safe_base operator++(int){ // post increment
+ safe_base old_t = *this;
+ ++(*this);
+ return old_t;
+ }
+ safe_base operator--(int){ // post decrement
+ safe_base old_t = *this;
+ --(*this);
+ return old_t;
+ }
+ // non mutating unary operators
+ constexpr auto operator+() const { // unary plus
+ return *this;
+ }
+ // after much consideration, I've permited the resulting value of a unary
+ // - to change the type. The C++ standard does invoke integral promotions
+ // so it's changing the type as well.
+
+ /* section 5.3.1 &8 of the C++ standard
+ The operand of the unary - operator shall have arithmetic or unscoped
+ enumeration type and the result is the negation of its operand. Integral
+ promotion is performed on integral or enumeration operands. The negative
+ of an unsigned quantity is computed by subtracting its value from 2n,
+ where n is the number of bits in the promoted operand. The type of the
+ result is the type of the promoted operand.
+ */
+ constexpr auto operator-() const { // unary minus
+ // if this is a unsigned type and the promotion policy is native
+ // the result will be unsigned. But then the operation will fail
+ // according to the requirements of arithmetic correctness.
+ // if this is an unsigned type and the promotion policy is automatic.
+ // the result will be signed.
+ return 0 - *this;
+ }
+ /* section 5.3.1 &10 of the C++ standard
+ The operand of ~ shall have integral or unscoped enumeration type;
+ the result is the ones’ complement of its operand. Integral promotions
+ are performed. The type of the result is the type of the promoted operand.
+ */
+ constexpr auto operator~() const { // complement
+ return ~Stored(0u) ^ *this;
+ }
+};
+
+} // safe_numerics
+} // boost
+
+/////////////////////////////////////////////////////////////////
+// numeric limits for safe<int> etc.
+
+#include <limits>
+
+namespace std {
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P,
+ class E
+>
+class numeric_limits<boost::safe_numerics::safe_base<T, Min, Max, P, E> >
+ : public std::numeric_limits<T>
+{
+ using SB = boost::safe_numerics::safe_base<T, Min, Max, P, E>;
+public:
+ constexpr static SB lowest() noexcept {
+ return SB(Min, typename SB::skip_validation());
+ }
+ constexpr static SB min() noexcept {
+ return SB(Min, typename SB::skip_validation());
+ }
+ constexpr static SB max() noexcept {
+ return SB(Max, typename SB::skip_validation());
+ }
+};
+
+} // std
+
+#endif // BOOST_NUMERIC_SAFE_BASE_HPP
diff --git a/boost/safe_numerics/safe_base_operations.hpp b/boost/safe_numerics/safe_base_operations.hpp
new file mode 100644
index 0000000000..ea69c95f76
--- /dev/null
+++ b/boost/safe_numerics/safe_base_operations.hpp
@@ -0,0 +1,1665 @@
+#ifndef BOOST_NUMERIC_SAFE_BASE_OPERATIONS_HPP
+#define BOOST_NUMERIC_SAFE_BASE_OPERATIONS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <limits>
+#include <type_traits> // is_base_of, is_same, is_floating_point, conditional
+#include <algorithm> // max
+#include <cassert>
+
+#include <boost/config.hpp>
+#include <boost/mpl/eval_if.hpp>
+
+#include <boost/core/enable_if.hpp> // lazy_enable_if
+#include <boost/integer.hpp>
+#include <boost/logic/tribool.hpp>
+
+#include "checked_integer.hpp"
+#include "checked_result.hpp"
+#include "checked_result_operations.hpp"
+#include "safe_base.hpp"
+
+#include "interval.hpp"
+#include "utility.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+// invoke error handling
+template<class EP, typename R>
+constexpr void
+dispatch(const checked_result<R> & cr){
+ // if the result contains an error condition
+ if(cr.exception())
+ // dispatch to the appropriate function
+ dispatch<EP>(cr.m_e, cr.m_msg);
+ // otherwise just do a simple return
+}
+
+/////////////////////////////////////////////////////////////////
+// validation
+
+template<typename R, R Min, R Max, typename T, typename E>
+struct validate_detail {
+ using r_type = checked_result<R>;
+
+ struct exception_possible {
+ constexpr static R return_value(
+ const T & t
+ ){
+ // INT08-C
+ const r_type r = checked::cast<R>(t);
+ if(r.exception()){
+ dispatch<E>(r);
+ }
+ return base_value(r);
+ }
+ };
+ struct exception_not_possible {
+ constexpr static R return_value(
+ const T & t
+ ){
+ return static_cast<R>(base_value(t));
+ }
+ };
+
+ constexpr static R return_value(const T & t){
+ constexpr const interval<r_type> t_interval{
+ checked::cast<R>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<R>(base_value(std::numeric_limits<T>::max()))
+ };
+ constexpr const interval<r_type> r_interval{r_type(Min), r_type(Max)};
+
+ /*
+ static_assert(
+ true != r_interval.excludes(t_interval),
+ "ranges don't overlap: can't cast"
+ );
+ */
+
+ return std::conditional<
+ static_cast<bool>(r_interval.includes(t_interval)),
+ exception_not_possible,
+ exception_possible
+ >::type::return_value(t);
+ }
+};
+
+template<class Stored, Stored Min, Stored Max, class P, class E>
+template<class T>
+constexpr Stored safe_base<Stored, Min, Max, P, E>::
+validated_cast(const T & t) const {
+ return validate_detail<Stored,Min,Max,T,E>::return_value(t);
+}
+
+template<class Stored, Stored Min, Stored Max, class P, class E>
+template<typename T, T N, class P1, class E1>
+constexpr Stored safe_base<Stored, Min, Max, P, E>::
+validated_cast(const safe_literal_impl<T, N, P1, E1> &) const {
+ constexpr const interval<Stored> this_interval{};
+ // if static values don't overlap, the program can never function
+ static_assert(
+ this_interval.includes(N),
+ "safe type cannot be constructed from this value"
+ );
+ return static_cast<Stored>(N);
+}
+
+/////////////////////////////////////////////////////////////////
+// casting operators
+
+// cast to a builtin type from a safe type
+template< class Stored, Stored Min, Stored Max, class P, class E>
+template<
+ class R,
+ typename std::enable_if<
+ ! boost::safe_numerics::is_safe<R>::value,
+ int
+ >::type
+>
+constexpr safe_base<Stored, Min, Max, P, E>::
+operator R () const {
+
+ // if static values don't overlap, the program can never function
+ #if 0
+ constexpr const interval<R> r_interval;
+ constexpr const interval<Stored> this_interval(Min, Max);
+ static_assert(
+ ! r_interval.excludes(this_interval),
+ "safe type cannot be constructed with this type"
+ );
+ #endif
+
+ return validate_detail<
+ R,
+ std::numeric_limits<R>::min(),
+ std::numeric_limits<R>::max(),
+ Stored,
+ E
+ >::return_value(m_t);
+
+}
+
+// cast to the underlying builtin type from a safe type
+template< class Stored, Stored Min, Stored Max, class P, class E>
+constexpr safe_base<Stored, Min, Max, P, E>::
+operator Stored () const {
+ return m_t;
+}
+
+/////////////////////////////////////////////////////////////////
+// binary operators
+
+template<class T, class U>
+struct common_exception_policy {
+ static_assert(is_safe<T>::value || is_safe<U>::value,
+ "at least one type must be a safe type"
+ );
+
+ using t_exception_policy = typename get_exception_policy<T>::type;
+ using u_exception_policy = typename get_exception_policy<U>::type;
+
+ static_assert(
+ std::is_same<t_exception_policy, u_exception_policy>::value
+ || std::is_same<t_exception_policy, void>::value
+ || std::is_same<void, u_exception_policy>::value,
+ "if the exception policies are different, one must be void!"
+ );
+
+ static_assert(
+ ! (std::is_same<t_exception_policy, void>::value
+ && std::is_same<void, u_exception_policy>::value),
+ "at least one exception policy must not be void"
+ );
+
+ using type =
+ typename std::conditional<
+ !std::is_same<void, u_exception_policy>::value,
+ u_exception_policy,
+ typename std::conditional<
+ !std::is_same<void, t_exception_policy>::value,
+ t_exception_policy,
+ //
+ void
+ >::type >::type;
+
+ static_assert(
+ !std::is_same<void, type>::value,
+ "exception_policy is void"
+ );
+};
+
+template<class T, class U>
+struct common_promotion_policy {
+ static_assert(is_safe<T>::value || is_safe<U>::value,
+ "at least one type must be a safe type"
+ );
+ using t_promotion_policy = typename get_promotion_policy<T>::type;
+ using u_promotion_policy = typename get_promotion_policy<U>::type;
+ static_assert(
+ std::is_same<t_promotion_policy, u_promotion_policy>::value
+ ||std::is_same<t_promotion_policy, void>::value
+ ||std::is_same<void, u_promotion_policy>::value,
+ "if the promotion policies are different, one must be void!"
+ );
+ static_assert(
+ ! (std::is_same<t_promotion_policy, void>::value
+ && std::is_same<void, u_promotion_policy>::value),
+ "at least one promotion policy must not be void"
+ );
+
+ using type =
+ typename std::conditional<
+ ! std::is_same<void, u_promotion_policy>::value,
+ u_promotion_policy,
+ typename std::conditional<
+ ! std::is_same<void, t_promotion_policy>::value,
+ t_promotion_policy,
+ //
+ void
+ >::type >::type;
+
+ static_assert(
+ ! std::is_same<void, type>::value,
+ "promotion_policy is void"
+ );
+
+};
+
+// give the resultant base type, figure out what the final result
+// type will be. Note we currently need this because we support
+// return of only safe integer types. Someday ..., we'll support
+// all other safe types including float and user defined ones.
+//
+
+// Note: the following global operators will be found via
+// argument dependent lookup.
+
+/////////////////////////////////////////////////////////////////
+// addition
+
+template<class T, class U>
+struct addition_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template addition_result<T,U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ + static_cast<result_base_type>(base_value(u));
+ }
+
+ // if exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ // the following will use checked arithmetic
+ const r_type r = (tx + ux);
+ if(!r.exception()){
+ return static_cast<result_base_type>(r);
+ }
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return
+ static_cast<result_base_type>(tx)
+ + static_cast<result_base_type>(ux);
+ }
+
+ using r_type = checked_result<result_base_type>;
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static r_type_interval_t get_r_type_interval(){
+ constexpr const r_type_interval_t t_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+ constexpr const r_type_interval_t u_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+ return t_interval + u_interval;
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ if(r_type_interval.l.exception())
+ return true;
+ if(r_type_interval.u.exception())
+ return true;
+ if(! return_interval.includes(r_type_interval))
+ return true;
+ return false;
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ addition_result<T, U>
+>::type
+constexpr operator+(const T & t, const U & u){
+ return addition_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator+=(T & t, const U & u){
+ t = static_cast<T>(t + u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// subtraction
+
+template<class T, class U>
+struct subtraction_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template subtraction_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ - static_cast<result_base_type>(base_value(u));
+ }
+
+ // if exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ using r_type = checked_result<result_base_type>;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ // the following will use checked arithmetic
+ r_type r = (tx - ux);
+ if(!r.exception())
+ return static_cast<result_base_type>(r);
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return
+ static_cast<result_base_type>(tx)
+ - static_cast<result_base_type>(ux);
+ }
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static r_type_interval_t get_r_type_interval(){
+ constexpr const r_type_interval_t t_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr const r_type_interval_t u_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ return t_interval - u_interval;
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ if(r_type_interval.l.exception())
+ return true;
+ if(r_type_interval.u.exception())
+ return true;
+ if(! return_interval.includes(r_type_interval))
+ return true;
+ return false;
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ subtraction_result<T, U>
+>::type
+constexpr operator-(const T & t, const U & u){
+ return subtraction_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator-=(T & t, const U & u){
+ t = static_cast<T>(t - u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// multiplication
+
+template<class T, class U>
+struct multiplication_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template multiplication_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ * static_cast<result_base_type>(base_value(u));
+ }
+
+ // if exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ using r_type = checked_result<result_base_type>;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ r_type r = (tx * ux);
+ if(!r.exception())
+ return static_cast<result_base_type>(r);
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return
+ static_cast<result_base_type>(tx)
+ * static_cast<result_base_type>(ux);
+ }
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static r_type_interval_t get_r_type_interval(){
+ constexpr const r_type_interval_t t_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr const r_type_interval_t u_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ return t_interval * u_interval;
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ if(r_type_interval.l.exception())
+ return true;
+ if(r_type_interval.u.exception())
+ return true;
+ if(! return_interval.includes(r_type_interval))
+ return true;
+ return false;
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ multiplication_result<T, U>
+>::type
+constexpr operator*(const T & t, const U & u){
+ // argument dependent lookup should guarentee that we only get here
+ return multiplication_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator*=(T & t, const U & u){
+ t = static_cast<T>(t * u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// division
+
+// key idea here - result will never be larger than T
+template<class T, class U>
+struct division_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template division_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ / static_cast<result_base_type>(base_value(u));
+ }
+
+ // if exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ constexpr static int bits = std::min(
+ std::numeric_limits<std::uintmax_t>::digits,
+ std::max(std::initializer_list<int>{
+ std::numeric_limits<result_base_type>::digits,
+ std::numeric_limits<typename base_type<T>::type>::digits,
+ std::numeric_limits<typename base_type<U>::type>::digits
+ }) + (std::numeric_limits<result_base_type>::is_signed ? 1 : 0)
+ );
+
+ using r_type = checked_result<result_base_type>;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ using temp_base = typename std::conditional<
+ std::numeric_limits<result_base_type>::is_signed,
+ typename boost::int_t<bits>::least,
+ typename boost::uint_t<bits>::least
+ >::type;
+ using t_type = checked_result<temp_base>;
+
+ const t_type tx = checked::cast<temp_base>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const t_type ux = checked::cast<temp_base>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ const t_type r = (tx / ux);
+
+ if(!r.exception())
+ return static_cast<result_base_type>(r);
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return
+ static_cast<result_base_type>(tx)
+ / static_cast<result_base_type>(ux);
+ }
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static r_type_interval_t t_interval(){
+ return r_type_interval_t{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+ };
+
+ constexpr static r_type_interval_t u_interval(){
+ return r_type_interval_t{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+ };
+
+ constexpr static r_type_interval_t get_r_type_interval(){
+ constexpr const r_type_interval_t t = t_interval();
+ constexpr const r_type_interval_t u = u_interval();
+
+ if(u.u < r_type(0) || u.l > r_type(0))
+ return t / u;
+ return utility::minmax(
+ std::initializer_list<r_type> {
+ t.l / u.l,
+ t.l / r_type(-1),
+ t.l / r_type(1),
+ t.l / u.u,
+ t.u / u.l,
+ t.u / r_type(-1),
+ t.u / r_type(1),
+ t.u / u.u,
+ }
+ );
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ constexpr const r_type_interval_t ri = get_r_type_interval();
+ constexpr const r_type_interval_t ui = u_interval();
+
+ return
+ static_cast<bool>(ui.includes(r_type(0)))
+ || ri.l.exception()
+ || ri.u.exception();
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ division_result<T, U>
+>::type
+constexpr operator/(const T & t, const U & u){
+ return division_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator/=(T & t, const U & u){
+ t = static_cast<T>(t / u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// modulus
+
+template<class T, class U>
+struct modulus_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type = typename promotion_policy::template modulus_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ % static_cast<result_base_type>(base_value(u));
+ }
+
+ // if exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ constexpr static int bits = std::min(
+ std::numeric_limits<std::uintmax_t>::digits,
+ std::max(std::initializer_list<int>{
+ std::numeric_limits<result_base_type>::digits,
+ std::numeric_limits<typename base_type<T>::type>::digits,
+ std::numeric_limits<typename base_type<U>::type>::digits
+ }) + (std::numeric_limits<result_base_type>::is_signed ? 1 : 0)
+ );
+
+ using r_type = checked_result<result_base_type>;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ using temp_base = typename std::conditional<
+ std::numeric_limits<result_base_type>::is_signed,
+ typename boost::int_t<bits>::least,
+ typename boost::uint_t<bits>::least
+ >::type;
+ using t_type = checked_result<temp_base>;
+
+ const t_type tx = checked::cast<temp_base>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const t_type ux = checked::cast<temp_base>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ t_type r = (tx % ux);
+
+ if(!r.exception())
+ return static_cast<result_base_type>(r);
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return
+ static_cast<result_base_type>(tx)
+ % static_cast<result_base_type>(ux);
+ }
+
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static const r_type_interval_t t_interval(){
+ return r_type_interval_t{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+ };
+
+ constexpr static const r_type_interval_t u_interval(){
+ return r_type_interval_t{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+ };
+
+ constexpr static const r_type_interval_t get_r_type_interval(){
+ constexpr const r_type_interval_t t = t_interval();
+ constexpr const r_type_interval_t u = u_interval();
+
+ if(u.u < r_type(0)
+ || u.l > r_type(0))
+ return t % u;
+ return utility::minmax(
+ std::initializer_list<r_type> {
+ t.l % u.l,
+ t.l % r_type(-1),
+ t.l % r_type(1),
+ t.l % u.u,
+ t.u % u.l,
+ t.u % r_type(-1),
+ t.u % r_type(1),
+ t.u % u.u,
+ }
+ );
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ constexpr const r_type_interval_t ri = get_r_type_interval();
+ constexpr const r_type_interval_t ui = u_interval();
+
+ return
+ static_cast<bool>(ui.includes(r_type(0)))
+ || ri.l.exception()
+ || ri.u.exception();
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ modulus_result<T, U>
+>::type
+constexpr operator%(const T & t, const U & u){
+ // see https://en.wikipedia.org/wiki/Modulo_operation
+ return modulus_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator%=(T & t, const U & u){
+ t = static_cast<T>(t % u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// comparison
+
+// less than
+
+template<class T, class U>
+struct less_than_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+
+ using result_base_type =
+ typename promotion_policy::template comparison_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static bool
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ < static_cast<result_base_type>(base_value(u));
+ }
+
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ using r_type = checked_result<result_base_type>;
+
+ // if exception possible
+ constexpr static bool
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ const boost::logic::tribool r = (tx < ux);
+ if(r || !r) // answer is not indeterminate
+ return static_cast<bool>(r);
+ dispatch<exception_policy>(
+ checked_result<bool>(safe_numerics_error::domain_error)
+ );
+ return safe_compare::less_than(base_value(t), base_value(u));
+ }
+
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static bool interval_open(const r_type_interval_t & t){
+ return t.l.exception() || t.u.exception();
+ }
+
+public:
+ constexpr static bool
+ return_value(const T & t, const U & u){
+ constexpr const r_type_interval_t t_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+ constexpr const r_type_interval_t u_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ if(t_interval < u_interval)
+ return true;
+ if(t_interval > u_interval)
+ return false;
+
+ constexpr bool exception_possible
+ = interval_open(t_interval) || interval_open(u_interval);
+
+ return return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible>()
+ );
+ }
+};
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ bool
+>::type
+constexpr operator<(const T & lhs, const U & rhs) {
+ return less_than_result<T, U>::return_value(lhs, rhs);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ bool
+>::type
+constexpr operator>(const T & lhs, const U & rhs) {
+ return rhs < lhs;
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ bool
+>::type
+constexpr operator>=(const T & lhs, const U & rhs) {
+ return ! ( lhs < rhs );
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ bool
+>::type
+constexpr operator<=(const T & lhs, const U & rhs) {
+ return ! ( lhs > rhs );
+}
+
+// equal
+
+template<class T, class U>
+struct equal_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+
+ using result_base_type =
+ typename promotion_policy::template comparison_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static bool
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ == static_cast<result_base_type>(base_value(u));
+ }
+
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ using r_type = checked_result<result_base_type>;
+
+ // exception possible
+ constexpr static bool
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ const boost::logic::tribool r = (tx == ux);
+ if(! boost::logic::indeterminate(r))
+ return static_cast<bool>(r);
+ dispatch<exception_policy>(
+ checked_result<bool>(safe_numerics_error::domain_error)
+ );
+ return safe_compare::equal(base_value(t), base_value(u));
+ }
+
+ using r_type_interval = interval<r_type>;
+
+ constexpr static bool interval_open(const r_type_interval & t){
+ return t.l.exception() || t.u.exception();
+ }
+
+public:
+ constexpr static bool
+ return_value(const T & t, const U & u){
+ constexpr const r_type_interval t_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr const r_type_interval u_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+
+ if(! intersect(t_interval, u_interval))
+ return false;
+
+ constexpr bool exception_possible
+ = interval_open(t_interval) || interval_open(u_interval);
+
+ return return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible>()
+ );
+ }
+};
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ bool
+>::type
+constexpr operator==(const T & lhs, const U & rhs) {
+ return equal_result<T, U>::return_value(lhs, rhs);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ bool
+>::type
+constexpr operator!=(const T & lhs, const U & rhs) {
+ return ! (lhs == rhs);
+}
+
+/////////////////////////////////////////////////////////////////
+// shift operators
+
+// left shift
+template<class T, class U>
+struct left_shift_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template left_shift_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ << static_cast<result_base_type>(base_value(u));
+ }
+
+ // exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ using r_type = checked_result<result_base_type>;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ const r_type r = checked::left_shift(tx.m_r, ux.m_r);
+ if(!r.exception())
+ return static_cast<result_base_type>(r);
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return t << u;
+ }
+
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static r_type_interval_t get_r_type_interval(){
+ constexpr const r_type_interval_t t_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ };
+
+ constexpr const r_type_interval_t u_interval{
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ };
+ return (t_interval << u_interval);
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ if(r_type_interval.l.exception())
+ return true;
+ if(r_type_interval.u.exception())
+ return true;
+ if(! return_interval.includes(r_type_interval))
+ return true;
+ return false;
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ // handle safe<T> << int, int << safe<U>, safe<T> << safe<U>
+ // exclude std::ostream << ...
+ (! std::is_base_of<std::ios_base, T>::value)
+ && (is_safe<T>::value || is_safe<U>::value),
+ left_shift_result<T, U>
+>::type
+constexpr operator<<(const T & t, const U & u){
+ // INT13-CPP
+ // C++ standards document N4618 & 5.8.2
+ static_assert(
+ std::numeric_limits<T>::is_integer, "shifted value must be an integer"
+ );
+ static_assert(
+ std::numeric_limits<U>::is_integer, "shift amount must be an integer"
+ );
+ return left_shift_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator<<=(T & t, const U & u){
+ t = static_cast<T>(t << u);
+ return t;
+}
+
+// right shift
+template<class T, class U>
+struct right_shift_result {
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template right_shift_result<T, U>::type;
+
+ // if exception not possible
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::false_type){
+ return
+ static_cast<result_base_type>(base_value(t))
+ >> static_cast<result_base_type>(base_value(u));
+ }
+
+ // exception possible
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+ using r_type = checked_result<result_base_type>;
+
+ constexpr static result_base_type
+ return_value(const T & t, const U & u, std::true_type){
+ const r_type tx = checked::cast<result_base_type>(base_value(t));
+ if(tx.exception())
+ dispatch<exception_policy>(tx);
+ const r_type ux = checked::cast<result_base_type>(base_value(u));
+ if(ux.exception())
+ dispatch<exception_policy>(ux);
+ const r_type r = checked::right_shift(tx.m_r, ux.m_r);
+ if(!r.exception())
+ return static_cast<result_base_type>(r);
+ // handle error condition
+ dispatch<exception_policy>(r);
+ // if we get here, the error has been ignored
+ // just get the result the old fashioned way
+ return t >> u;
+ }
+
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static r_type_interval_t t_interval(){
+ return r_type_interval_t(
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<T>::max()))
+ );
+ };
+
+ constexpr static r_type_interval_t u_interval(){
+ return r_type_interval_t(
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::min())),
+ checked::cast<result_base_type>(base_value(std::numeric_limits<U>::max()))
+ );
+ }
+ constexpr static r_type_interval_t get_r_type_interval(){;
+ return (t_interval() >> u_interval());
+ }
+
+ static constexpr const r_type_interval_t r_type_interval = get_r_type_interval();
+
+ using return_interval_t = interval<result_base_type>;
+
+ constexpr static return_interval_t return_interval{
+ r_type_interval.l.exception()
+ ? std::numeric_limits<result_base_type>::min()
+ : static_cast<result_base_type>(r_type_interval.l),
+ r_type_interval.u.exception()
+ ? std::numeric_limits<result_base_type>::max()
+ : static_cast<result_base_type>(r_type_interval.u)
+ };
+
+ constexpr static bool exception_possible(){
+ constexpr const r_type_interval_t ri = r_type_interval;
+ constexpr const r_type_interval_t ti = t_interval();
+ constexpr const r_type_interval_t ui = u_interval();
+ return static_cast<bool>(
+ // note undesirable coupling with checked::shift right here !
+ ui.u > checked_result<result_base_type>(
+ std::numeric_limits<result_base_type>::digits
+ )
+ || ti.l < checked_result<result_base_type>(0)
+ || ui.l < checked_result<result_base_type>(0)
+ || ri.l.exception()
+ || ri.u.exception()
+ );
+ }
+
+public:
+ using type =
+ safe_base<
+ result_base_type,
+ return_interval.l,
+ return_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ return_value(
+ t,
+ u,
+ std::integral_constant<bool, exception_possible()>()
+ ),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ (! std::is_base_of<std::ios_base, T>::value)
+ && (is_safe<T>::value || is_safe<U>::value),
+ right_shift_result<T, U>
+>::type
+constexpr operator>>(const T & t, const U & u){
+ // INT13-CPP
+ static_assert(
+ std::numeric_limits<T>::is_integer, "shifted value must be an integer"
+ );
+ static_assert(
+ std::numeric_limits<U>::is_integer, "shift amount must be an integer"
+ );
+ return right_shift_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator>>=(T & t, const U & u){
+ t = static_cast<T>(t >> u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// bitwise operators
+
+// operator |
+template<class T, class U>
+struct bitwise_or_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template bitwise_or_result<T, U>::type;
+
+ // according to the C++ standard, the bitwise operators are executed as if
+ // the operands are consider a logical array of bits. That is, there is no
+ // sense that these are signed numbers.
+
+ using r_type = typename std::make_unsigned<result_base_type>::type;
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static const r_type_interval_t r_interval{
+ r_type(0),
+ utility::round_out(
+ std::max(
+ static_cast<r_type>(base_value(std::numeric_limits<T>::max())),
+ static_cast<r_type>(base_value(std::numeric_limits<U>::max()))
+ )
+ )
+ };
+
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+public:
+ // lazy_enable_if_c depends on this
+ using type = safe_base<
+ result_base_type,
+ r_interval.l,
+ r_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ static_cast<result_base_type>(base_value(t))
+ | static_cast<result_base_type>(base_value(u)),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ bitwise_or_result<T, U>
+>::type
+constexpr operator|(const T & t, const U & u){
+ return bitwise_or_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator|=(T & t, const U & u){
+ t = static_cast<T>(t | u);
+ return t;
+}
+
+// operator &
+template<class T, class U>
+struct bitwise_and_result {
+private:
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template bitwise_and_result<T, U>::type;
+
+ // according to the C++ standard, the bitwise operators are executed as if
+ // the operands are consider a logical array of bits. That is, there is no
+ // sense that these are signed numbers.
+
+ using r_type = typename std::make_unsigned<result_base_type>::type;
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static const r_type_interval_t r_interval{
+ r_type(0),
+ utility::round_out(
+ std::min(
+ static_cast<r_type>(base_value(std::numeric_limits<T>::max())),
+ static_cast<r_type>(base_value(std::numeric_limits<U>::max()))
+ )
+ )
+ };
+
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+public:
+ // lazy_enable_if_c depends on this
+ using type = safe_base<
+ result_base_type,
+ r_interval.l,
+ r_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ static_cast<result_base_type>(base_value(t))
+ & static_cast<result_base_type>(base_value(u)),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ bitwise_and_result<T, U>
+>::type
+constexpr operator&(const T & t, const U & u){
+ return bitwise_and_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator&=(T & t, const U & u){
+ t = static_cast<T>(t & u);
+ return t;
+}
+
+// operator ^
+template<class T, class U>
+struct bitwise_xor_result {
+ using promotion_policy = typename common_promotion_policy<T, U>::type;
+ using result_base_type =
+ typename promotion_policy::template bitwise_xor_result<T, U>::type;
+
+ // according to the C++ standard, the bitwise operators are executed as if
+ // the operands are consider a logical array of bits. That is, there is no
+ // sense that these are signed numbers.
+
+ using r_type = typename std::make_unsigned<result_base_type>::type;
+ using r_type_interval_t = interval<r_type>;
+
+ constexpr static const r_type_interval_t r_interval{
+ r_type(0),
+ utility::round_out(
+ std::max(
+ static_cast<r_type>(base_value(std::numeric_limits<T>::max())),
+ static_cast<r_type>(base_value(std::numeric_limits<U>::max()))
+ )
+ )
+ };
+
+ using exception_policy = typename common_exception_policy<T, U>::type;
+
+public:
+ // lazy_enable_if_c depends on this
+ using type = safe_base<
+ result_base_type,
+ r_interval.l,
+ r_interval.u,
+ promotion_policy,
+ exception_policy
+ >;
+
+ constexpr static type return_value(const T & t, const U & u){
+ return type(
+ static_cast<result_base_type>(base_value(t))
+ ^ static_cast<result_base_type>(base_value(u)),
+ typename type::skip_validation()
+ );
+ }
+};
+
+template<class T, class U>
+typename boost::lazy_enable_if_c<
+ is_safe<T>::value || is_safe<U>::value,
+ bitwise_xor_result<T, U>
+>::type
+constexpr operator^(const T & t, const U & u){
+ return bitwise_xor_result<T, U>::return_value(t, u);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ is_safe<T>::value || is_safe<U>::value,
+ T
+>::type
+constexpr operator^=(T & t, const U & u){
+ t = static_cast<T>(t ^ u);
+ return t;
+}
+
+/////////////////////////////////////////////////////////////////
+// stream helpers
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P, // promotion polic
+ class E // exception policy
+>
+template<
+ class CharT,
+ class Traits
+>
+void safe_base<T, Min, Max, P, E>::output(
+ std::basic_ostream<CharT, Traits> & os
+) const {
+ os << (
+ (std::is_same<T, signed char>::value
+ || std::is_same<T, unsigned char>::value
+ || std::is_same<T, wchar_t>::value
+ ) ?
+ static_cast<int>(m_t)
+ :
+ m_t
+ );
+}
+
+template<
+ class T,
+ T Min,
+ T Max,
+ class P, // promotion polic
+ class E // exception policy
+>
+template<
+ class CharT,
+ class Traits
+>
+void safe_base<T, Min, Max, P, E>::input(
+ std::basic_istream<CharT, Traits> & is
+){
+ if(std::is_same<T, signed char>::value
+ || std::is_same<T, unsigned char>::value
+ || std::is_same<T, wchar_t>::value
+ ){
+ int x;
+ is >> x;
+ m_t = validated_cast(x);
+ }
+ else{
+ is >> m_t;
+ validated_cast(m_t);
+ }
+ if(is.fail()){
+ boost::safe_numerics::dispatch<E>(
+ boost::safe_numerics::safe_numerics_error::domain_error,
+ "error in file input"
+ );
+ }
+}
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_SAFE_BASE_OPERATIONS_HPP
diff --git a/boost/safe_numerics/safe_common.hpp b/boost/safe_numerics/safe_common.hpp
new file mode 100644
index 0000000000..3e53e36e16
--- /dev/null
+++ b/boost/safe_numerics/safe_common.hpp
@@ -0,0 +1,49 @@
+#ifndef BOOST_NUMERIC_SAFE_COMMON_HPP
+#define BOOST_NUMERIC_SAFE_COMMON_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <type_traits>
+
+namespace boost {
+namespace safe_numerics {
+
+// default implementations for required meta-functions
+template<typename T>
+struct is_safe : public std::false_type
+{};
+
+template<typename T>
+struct base_type {
+ using type = T;
+};
+
+template<class T>
+constexpr const typename base_type<T>::type & base_value(const T & t) {
+ return static_cast<const typename base_type<T>::type & >(t);
+}
+
+template<typename T>
+struct get_promotion_policy {
+ using type = void;
+};
+
+template<typename T>
+struct get_exception_policy {
+ using type = void;
+};
+
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_SAFE_COMMON_HPP
diff --git a/boost/safe_numerics/safe_compare.hpp b/boost/safe_numerics/safe_compare.hpp
new file mode 100644
index 0000000000..0c53c82245
--- /dev/null
+++ b/boost/safe_numerics/safe_compare.hpp
@@ -0,0 +1,185 @@
+#ifndef BOOST_NUMERIC_SAFE_COMPARE_HPP
+#define BOOST_NUMERIC_SAFE_COMPARE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <type_traits>
+#include <limits>
+
+namespace boost {
+namespace safe_numerics {
+namespace safe_compare {
+
+////////////////////////////////////////////////////
+// safe comparison on primitive integral types
+namespace safe_compare_detail {
+ template<typename T>
+ using make_unsigned = typename std::conditional<
+ std::is_signed<T>::value,
+ std::make_unsigned<T>,
+ T
+ >::type;
+
+ // both arguments unsigned or signed
+ template<bool TS, bool US>
+ struct less_than {
+ template<class T, class U>
+ constexpr static bool invoke(const T & t, const U & u){
+ return t < u;
+ }
+ };
+
+ // T unsigned, U signed
+ template<>
+ struct less_than<false, true> {
+ template<class T, class U>
+ constexpr static bool invoke(const T & t, const U & u){
+ return
+ (u < 0) ?
+ false
+ :
+ less_than<false, false>::invoke(
+ t,
+ static_cast<const typename make_unsigned<U>::type &>(u)
+ )
+ ;
+ }
+ };
+ // T signed, U unsigned
+ template<>
+ struct less_than<true, false> {
+ template<class T, class U>
+ constexpr static bool invoke(const T & t, const U & u){
+ return
+ (t < 0) ?
+ true
+ :
+ less_than<false, false>::invoke(
+ static_cast<const typename make_unsigned<T>::type &>(t),
+ u
+ )
+ ;
+ }
+ };
+} // safe_compare_detail
+
+template<class T, class U>
+typename std::enable_if<
+ std::is_integral<T>::value && std::is_integral<U>::value,
+ bool
+>::type
+constexpr less_than(const T & lhs, const U & rhs) {
+ return safe_compare_detail::less_than<
+ std::is_signed<T>::value,
+ std::is_signed<U>::value
+ >::template invoke(lhs, rhs);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ std::is_floating_point<T>::value && std::is_floating_point<U>::value,
+ bool
+>::type
+constexpr less_than(const T & lhs, const U & rhs) {
+ return lhs < rhs;
+}
+
+template<class T, class U>
+constexpr bool greater_than(const T & lhs, const U & rhs) {
+ return less_than(rhs, lhs);
+}
+
+template<class T, class U>
+constexpr bool less_than_equal(const T & lhs, const U & rhs) {
+ return ! greater_than(lhs, rhs);
+}
+
+template<class T, class U>
+constexpr bool greater_than_equal(const T & lhs, const U & rhs) {
+ return ! less_than(lhs, rhs);
+}
+
+namespace safe_compare_detail {
+ // both arguments unsigned or signed
+ template<bool TS, bool US>
+ struct equal {
+ template<class T, class U>
+ constexpr static bool invoke(const T & t, const U & u){
+ return t == u;
+ }
+ };
+
+ // T unsigned, U signed
+ template<>
+ struct equal<false, true> {
+ template<class T, class U>
+ constexpr static bool invoke(const T & t, const U & u){
+ return
+ (u < 0) ?
+ false
+ :
+ equal<false, false>::invoke(
+ t,
+ static_cast<const typename make_unsigned<U>::type &>(u)
+ )
+ ;
+ }
+ };
+ // T signed, U unsigned
+ template<>
+ struct equal<true, false> {
+ template<class T, class U>
+ constexpr static bool invoke(const T & t, const U & u){
+ return
+ (t < 0) ?
+ false
+ :
+ equal<false, false>::invoke(
+ static_cast<const typename make_unsigned<T>::type &>(t),
+ u
+ )
+ ;
+ }
+ };
+} // safe_compare_detail
+
+template<class T, class U>
+typename std::enable_if<
+ std::is_integral<T>::value && std::is_integral<U>::value,
+ bool
+>::type
+constexpr equal(const T & lhs, const U & rhs) {
+ return safe_compare_detail::equal<
+ std::numeric_limits<T>::is_signed,
+ std::numeric_limits<U>::is_signed
+ >::template invoke(lhs, rhs);
+}
+
+template<class T, class U>
+typename std::enable_if<
+ std::is_floating_point<T>::value && std::is_floating_point<U>::value,
+ bool
+>::type
+constexpr equal(const T & lhs, const U & rhs) {
+ return lhs == rhs;
+}
+
+template<class T, class U>
+constexpr bool not_equal(const T & lhs, const U & rhs) {
+ return ! equal(lhs, rhs);
+}
+
+} // safe_compare
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_SAFE_COMPARE_HPP
diff --git a/boost/safe_numerics/safe_integer.hpp b/boost/safe_numerics/safe_integer.hpp
new file mode 100644
index 0000000000..0daa84d154
--- /dev/null
+++ b/boost/safe_numerics/safe_integer.hpp
@@ -0,0 +1,46 @@
+#ifndef BOOST_NUMERIC_SAFE_INTEGER_HPP
+#define BOOST_NUMERIC_SAFE_INTEGER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+// not actually used here - but needed for integer arithmetic
+// so this is a good place to include it
+#include "checked_integer.hpp"
+
+#include "safe_base.hpp"
+#include "safe_base_operations.hpp"
+
+#include "native.hpp"
+#include "exception_policies.hpp"
+
+// specialization for meta functions with safe<T> argument
+namespace boost {
+namespace safe_numerics {
+
+template <
+ class T,
+ class P = native,
+ class E = default_exception_policy
+>
+using safe = safe_base<
+ T,
+ ::std::numeric_limits<T>::min(),
+ ::std::numeric_limits<T>::max(),
+ P,
+ E
+>;
+
+} // safe_numerics
+} // boost
+
+
+#endif // BOOST_NUMERIC_SAFE_INTEGER_HPP
diff --git a/boost/safe_numerics/safe_integer_literal.hpp b/boost/safe_numerics/safe_integer_literal.hpp
new file mode 100644
index 0000000000..2e6c1099e4
--- /dev/null
+++ b/boost/safe_numerics/safe_integer_literal.hpp
@@ -0,0 +1,251 @@
+#ifndef BOOST_NUMERIC_SAFE_INTEGER_LITERAL_HPP
+#define BOOST_NUMERIC_SAFE_INTEGER_LITERAL_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <cstdint> // for intmax_t/uintmax_t
+#include <iosfwd>
+#include <type_traits> // conditional, enable_if
+#include <boost/mp11/utility.hpp>
+
+#include "utility.hpp"
+#include "safe_integer.hpp"
+#include "checked_integer.hpp"
+
+namespace boost {
+namespace safe_numerics {
+
+template<typename T, T N, class P, class E>
+class safe_literal_impl;
+
+template<typename T, T N, class P, class E>
+struct is_safe<safe_literal_impl<T, N, P, E> > : public std::true_type
+{};
+
+template<typename T, T N, class P, class E>
+struct get_promotion_policy<safe_literal_impl<T, N, P, E> > {
+ using type = P;
+};
+
+template<typename T, T N, class P, class E>
+struct get_exception_policy<safe_literal_impl<T, N, P, E> > {
+ using type = E;
+};
+template<typename T, T N, class P, class E>
+struct base_type<safe_literal_impl<T, N, P, E> > {
+ using type = T;
+};
+
+template<typename T, T N, class P, class E>
+constexpr T base_value(
+ const safe_literal_impl<T, N, P, E> &
+) {
+ return N;
+}
+
+template<typename CharT, typename Traits, typename T, T N, class P, class E>
+inline std::basic_ostream<CharT, Traits> & operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const safe_literal_impl<T, N, P, E> &
+){
+ return os << (
+ (std::is_same<T, signed char>::value
+ || std::is_same<T, unsigned char>::value
+ ) ?
+ static_cast<int>(N)
+ :
+ N
+ );
+}
+
+template<typename T, T N, class P, class E>
+class safe_literal_impl {
+
+ template<
+ class CharT,
+ class Traits
+ >
+ friend std::basic_ostream<CharT, Traits> & operator<<(
+ std::basic_ostream<CharT, Traits> & os,
+ const safe_literal_impl &
+ ){
+ return os << (
+ (::std::is_same<T, signed char>::value
+ || ::std::is_same<T, unsigned char>::value
+ || ::std::is_same<T, wchar_t>::value
+ ) ?
+ static_cast<int>(N)
+ :
+ N
+ );
+ };
+
+public:
+
+ ////////////////////////////////////////////////////////////
+ // constructors
+ // default constructor
+ constexpr safe_literal_impl(){}
+
+ /////////////////////////////////////////////////////////////////
+ // casting operators for intrinsic integers
+ // convert to any type which is not safe. safe types need to be
+ // excluded to prevent ambiguous function selection which
+ // would otherwise occur
+ template<
+ class R,
+ typename std::enable_if<
+ ! boost::safe_numerics::is_safe<R>::value,
+ int
+ >::type = 0
+ >
+ constexpr operator R () const {
+ return N;
+ }
+
+ // non mutating unary operators
+ constexpr safe_literal_impl<T, N, P, E> operator+() const { // unary plus
+ return safe_literal_impl<T, N, P, E>();
+ }
+ // after much consideration, I've permitted the resulting value of a unary
+ // - to change the type in accordance with the promotion policy.
+ // The C++ standard does invoke integral promotions so it's changing the type as well.
+
+ /* section 5.3.1 &8 of the C++ standard
+ The operand of the unary - operator shall have arithmetic or unscoped
+ enumeration type and the result is the negation of its operand. Integral
+ promotion is performed on integral or enumeration operands. The negative
+ of an unsigned quantity is computed by subtracting its value from 2n,
+ where n is the number of bits in the promoted operand. The type of the
+ result is the type of the promoted operand.
+ */
+ template<
+ typename Tx, Tx Nx, typename = std::enable_if_t<! checked::minus(Nx).exception()>
+ >
+ constexpr auto minus_helper() const {
+ return safe_literal_impl<Tx, -N, P, E>();
+ }
+
+ constexpr auto operator-() const { // unary minus
+ return minus_helper<T, N>();
+ }
+
+ /* section 5.3.1 &10 of the C++ standard
+ The operand of ~ shall have integral or unscoped enumeration type;
+ the result is the ones’ complement of its operand. Integral promotions
+ are performed. The type of the result is the type of the promoted operand.
+ constexpr safe_literal_impl<T, checked::bitwise_not(N), P, E> operator~() const { // invert bits
+ return safe_literal_impl<T, checked::bitwise_not(N), P, E>();
+ }
+ */
+ template<
+ typename Tx, Tx Nx, typename = std::enable_if_t<! checked::bitwise_not(Nx).exception()>
+ >
+ constexpr auto not_helper() const {
+ return safe_literal_impl<Tx, ~N, P, E>();
+ }
+
+ constexpr auto operator~() const { // unary minus
+ return not_helper<T, N>();
+ }
+};
+
+template<
+ std::intmax_t N,
+ class P = void,
+ class E = void
+>
+using safe_signed_literal = safe_literal_impl<
+ typename utility::signed_stored_type<N, N>,
+ N,
+ P,
+ E
+>;
+
+template<
+ std::uintmax_t N,
+ class P = void,
+ class E = void
+>
+using safe_unsigned_literal = safe_literal_impl<
+ typename utility::unsigned_stored_type<N, N>,
+ N,
+ P,
+ E
+>;
+
+template<
+ class T,
+ T N,
+ class P = void,
+ class E = void,
+ typename std::enable_if<
+ std::is_signed<T>::value,
+ int
+ >::type = 0
+>
+constexpr auto make_safe_literal_impl() {
+ return boost::safe_numerics::safe_signed_literal<N, P, E>();
+}
+
+template<
+ class T,
+ T N,
+ class P = void,
+ class E = void,
+ typename std::enable_if<
+ ! std::is_signed<T>::value,
+ int
+ >::type = 0
+>
+constexpr auto make_safe_literal_impl() {
+ return boost::safe_numerics::safe_unsigned_literal<N, P, E>();
+}
+
+} // safe_numerics
+} // boost
+
+#define make_safe_literal(n, P, E) \
+ boost::safe_numerics::make_safe_literal_impl<decltype(n), n, P, E>()
+
+/////////////////////////////////////////////////////////////////
+// numeric limits for safe_literal etc.
+
+#include <limits>
+
+namespace std {
+
+template<
+ typename T,
+ T N,
+ class P,
+ class E
+>
+class numeric_limits<boost::safe_numerics::safe_literal_impl<T, N, P, E> >
+ : public std::numeric_limits<T>
+{
+ using SL = boost::safe_numerics::safe_literal_impl<T, N, P, E>;
+public:
+ constexpr static SL lowest() noexcept {
+ return SL();
+ }
+ constexpr static SL min() noexcept {
+ return SL();
+ }
+ constexpr static SL max() noexcept {
+ return SL();
+ }
+};
+
+} // std
+
+#endif // BOOST_NUMERIC_SAFE_INTEGER_LITERAL_HPP
diff --git a/boost/safe_numerics/safe_integer_range.hpp b/boost/safe_numerics/safe_integer_range.hpp
new file mode 100644
index 0000000000..7c059cbfbc
--- /dev/null
+++ b/boost/safe_numerics/safe_integer_range.hpp
@@ -0,0 +1,65 @@
+#ifndef BOOST_NUMERIC_SAFE_INTEGER_RANGE_HPP
+#define BOOST_NUMERIC_SAFE_INTEGER_RANGE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2012 Robert Ramey
+//
+// 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)
+
+#include <cstdint> // intmax_t, uintmax_t
+
+#include "utility.hpp"
+#include "safe_integer.hpp"
+#include "native.hpp"
+#include "exception_policies.hpp"
+
+/////////////////////////////////////////////////////////////////
+// higher level types implemented in terms of safe_base
+
+namespace boost {
+namespace safe_numerics {
+
+/////////////////////////////////////////////////////////////////
+// safe_signed_range
+
+template <
+ std::intmax_t Min,
+ std::intmax_t Max,
+ class P = native,
+ class E = default_exception_policy
+>
+using safe_signed_range = safe_base<
+ typename utility::signed_stored_type<Min, Max>,
+ static_cast<typename utility::signed_stored_type<Min, Max> >(Min),
+ static_cast<typename utility::signed_stored_type<Min, Max> >(Max),
+ P,
+ E
+>;
+
+/////////////////////////////////////////////////////////////////
+// safe_unsigned_range
+
+template <
+ std::uintmax_t Min,
+ std::uintmax_t Max,
+ class P = native,
+ class E = default_exception_policy
+>
+using safe_unsigned_range = safe_base<
+ typename utility::unsigned_stored_type<Min, Max>,
+ static_cast<typename utility::unsigned_stored_type<Min, Max> >(Min),
+ static_cast<typename utility::unsigned_stored_type<Min, Max> >(Max),
+ P,
+ E
+>;
+
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_SAFE_RANGE_HPP
diff --git a/boost/safe_numerics/utility.hpp b/boost/safe_numerics/utility.hpp
new file mode 100644
index 0000000000..02dfdf99c2
--- /dev/null
+++ b/boost/safe_numerics/utility.hpp
@@ -0,0 +1,259 @@
+#ifndef BOOST_NUMERIC_UTILITY_HPP
+#define BOOST_NUMERIC_UTILITY_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright (c) 2015 Robert Ramey
+//
+// 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)
+
+#include <cstdint> // intmax_t, uintmax_t, uint8_t, ...
+#include <algorithm>
+#include <type_traits> // conditional
+#include <limits>
+#include <cassert>
+#include <utility> // pair
+
+#include <boost/integer.hpp> // (u)int_t<>::least, exact
+
+namespace boost {
+namespace safe_numerics {
+namespace utility {
+
+///////////////////////////////////////////////////////////////////////////////
+// used for debugging
+
+// usage - print_type<T>;
+// provokes error message with name of type T
+
+template<typename Tx>
+using print_type = typename Tx::error_message;
+
+template<int N>
+struct print_value
+{
+ enum test : char {
+ value = N < 0 ? N - 256 : N + 256
+ };
+};
+
+/*
+// can be called by constexpr to produce a compile time
+// trap of parameter passed is false.
+// usage constexpr_assert(bool)
+constexpr int constexpr_assert(const bool tf){
+ return 1 / tf;
+}
+*/
+
+///////////////////////////////////////////////////////////////////////////////
+// return an integral constant equal to the the number of bits
+// held by some integer type (including the sign bit)
+
+template<typename T>
+using bits_type = std::integral_constant<
+ int,
+ std::numeric_limits<T>::digits
+ + (std::numeric_limits<T>::is_signed ? 1 : 0)
+>;
+
+/*
+From http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious
+Find the log base 2 of an integer with a lookup table
+
+ static const char LogTable256[256] =
+ {
+ #define LT(n) n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n
+ -1, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
+ LT(4), LT(5), LT(5), LT(6), LT(6), LT(6), LT(6),
+ LT(7), LT(7), LT(7), LT(7), LT(7), LT(7), LT(7), LT(7)
+ };
+
+ unsigned int v; // 32-bit word to find the log of
+ unsigned r; // r will be lg(v)
+ register unsigned int t, tt; // temporaries
+
+ if (tt = v >> 16)
+ {
+ r = (t = tt >> 8) ? 24 + LogTable256[t] : 16 + LogTable256[tt];
+ }
+ else
+ {
+ r = (t = v >> 8) ? 8 + LogTable256[t] : LogTable256[v];
+ }
+
+The lookup table method takes only about 7 operations to find the log of a 32-bit value.
+If extended for 64-bit quantities, it would take roughly 9 operations. Another operation
+can be trimmed off by using four tables, with the possible additions incorporated into each.
+Using int table elements may be faster, depending on your architecture.
+*/
+
+namespace ilog2_detail {
+
+ // I've "improved" the above and recast as C++ code which depends upon
+ // the optimizer to minimize the operations. This should result in
+ // nine operations to calculate the position of the highest order
+ // bit in a 64 bit number. RR
+
+ constexpr static unsigned int ilog2(const boost::uint_t<8>::exact & t){
+ #define LT(n) n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n
+ const char LogTable256[256] = {
+ -1, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
+ LT(4), LT(5), LT(5), LT(6), LT(6), LT(6), LT(6),
+ LT(7), LT(7), LT(7), LT(7), LT(7), LT(7), LT(7), LT(7)
+ };
+ return LogTable256[t];
+ }
+ constexpr static unsigned int ilog2(const boost::uint_t<16>::exact & t){
+ const boost::uint_t<8>::exact upper_half = (t >> 8);
+ return upper_half == 0
+ ? ilog2(static_cast<boost::uint_t<8>::exact>(t))
+ : 8 + ilog2(upper_half);
+ }
+ constexpr static unsigned int ilog2(const boost::uint_t<32>::exact & t){
+ const boost::uint_t<16>::exact upper_half = (t >> 16);
+ return upper_half == 0
+ ? ilog2(static_cast<boost::uint_t<16>::exact>(t))
+ : 16 + ilog2(upper_half);
+ }
+ constexpr static unsigned int ilog2(const boost::uint_t<64>::exact & t){
+ const boost::uint_t<32>::exact upper_half = (t >> 32);
+ return upper_half == 0
+ ? ilog2(static_cast<boost::uint_t<32>::exact>(t))
+ : 32 + ilog2(upper_half);
+ }
+
+}; // ilog2_detail
+
+template<typename T>
+constexpr unsigned int ilog2(const T & t){
+// log not defined for negative numbers
+// assert(t > 0);
+ if(t == 0)
+ return 0;
+ return ilog2_detail::ilog2(
+ static_cast<
+ typename boost::uint_t<
+ bits_type<T>::value
+ >::least
+ >(t)
+ );
+}
+
+// the number of bits required to render the value in x
+// including sign bit
+template<typename T>
+constexpr unsigned int significant_bits(const T & t){
+ return 1 + ((t < 0) ? ilog2(~t) : ilog2(t));
+}
+
+/*
+// give the value t, return the number which corresponds
+// to all 1's which is higher than that number
+template<typename T>
+constexpr unsigned int bits_value(const T & t){
+ const unsigned int sb = significant_bits(t);
+ const unsigned int sb_max = significant_bits(std::numeric_limits<T>::max());
+ return sb < sb_max ? ((sb << 1) - 1) : std::numeric_limits<T>::max();
+}
+*/
+
+///////////////////////////////////////////////////////////////////////////////
+// meta functions returning types
+
+// If we use std::max in here we get internal compiler errors
+// with MSVC (tested VC2017) ...
+
+// Notes from https://en.cppreference.com/w/cpp/algorithm/max
+// Capturing the result of std::max by reference if one of the parameters
+// is rvalue produces a dangling reference if that parameter is returned.
+
+template <class T>
+// turns out this problem crashes all versions of gcc compilers. So
+// make sure we return by value
+//constexpr const T & max(
+constexpr T max(
+ const T & lhs,
+ const T & rhs
+){
+ return lhs > rhs ? lhs : rhs;
+}
+
+// given a signed range, return type required to hold all the values
+// in the range
+template<
+ std::intmax_t Min,
+ std::intmax_t Max
+>
+using signed_stored_type = typename boost::int_t<
+ max(
+ significant_bits(Min),
+ significant_bits(Max)
+ ) + 1
+>::least ;
+
+// given an unsigned range, return type required to hold all the values
+// in the range
+template<
+ std::uintmax_t Min,
+ std::uintmax_t Max
+>
+// unsigned range
+using unsigned_stored_type = typename boost::uint_t<
+ significant_bits(Max)
+>::least;
+
+///////////////////////////////////////////////////////////////////////////////
+// constexpr functions
+
+// need our own version because official version
+// a) is not constexpr
+// b) is not guarenteed to handle non-assignable types
+template<typename T>
+constexpr std::pair<T, T>
+minmax(const std::initializer_list<T> l){
+ assert(l.size() > 0);
+ const T * minimum = l.begin();
+ const T * maximum = l.begin();
+ for(const T * i = l.begin(); i != l.end(); ++i){
+ if(*i < * minimum)
+ minimum = i;
+ else
+ if(* maximum < *i)
+ maximum = i;
+ }
+ return std::pair<T, T>{* minimum, * maximum};
+}
+
+// for any given t
+// a) figure number of significant bits
+// b) return a value with all significant bits set
+// so for example:
+// 3 == round_out(2) because
+// 2 == 10 and 3 == 11
+template<typename T>
+constexpr T round_out(const T & t){
+ if(t >= 0){
+ const std::uint8_t sb = utility::significant_bits(t);
+ return (sb < sizeof(T) * 8)
+ ? (1ul << sb) - 1
+ : std::numeric_limits<T>::max();
+ }
+ else{
+ const std::uint8_t sb = utility::significant_bits(~t);
+ return (sb < sizeof(T) * 8)
+ ? ~((1ul << sb) - 1)
+ : std::numeric_limits<T>::min();
+ }
+}
+
+} // utility
+} // safe_numerics
+} // boost
+
+#endif // BOOST_NUMERIC_UTILITY_HPP
diff --git a/boost/scope_exit.hpp b/boost/scope_exit.hpp
index 11340dd7a5..8658322597 100644
--- a/boost/scope_exit.hpp
+++ b/boost/scope_exit.hpp
@@ -6,15 +6,14 @@
// http://www.boost.org/LICENSE_1_0.txt)
// Home at http://www.boost.org/libs/scope_exit
-#ifndef FILE_boost_scope_exit_hpp_INCLUDED
-#define FILE_boost_scope_exit_hpp_INCLUDED
+#ifndef BOOST_SCOPE_EXIT_HPP
+#define BOOST_SCOPE_EXIT_HPP
#ifndef DOXYGEN
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/config/workaround.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/enable_if.hpp>
#include <boost/function.hpp>
#include <boost/typeof/typeof.hpp>
#include <boost/config.hpp>
@@ -337,9 +336,9 @@ extern boost::scope_exit::detail::undeclared BOOST_SCOPE_EXIT_AUX_ARGS;
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
-#include <boost/mpl/int.hpp>
+#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_function.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/enable_if.hpp>
#if defined(BOOST_MSVC)
# include <typeinfo>
@@ -448,7 +447,7 @@ struct msvc_register_type : msvc_extract_type<ID> {
template<int Id>
struct msvc_typeid_wrapper {
- typedef typename msvc_extract_type<boost::mpl::int_<Id>
+ typedef typename msvc_extract_type<boost::integral_constant<int, Id>
>::id2type id2type;
typedef typename id2type::type type;
};
@@ -462,7 +461,7 @@ template<typename T>
struct encode_type {
BOOST_STATIC_CONSTANT(unsigned, value = encode_counter<T>::count);
typedef typename msvc_register_type<T,
- boost::mpl::int_<value> >::id2type type;
+ boost::integral_constant<int, value> >::id2type type;
BOOST_STATIC_CONSTANT(unsigned, next = value + 1);
};
@@ -472,14 +471,14 @@ struct sizer {
};
template<typename T>
-typename boost::disable_if<
- typename boost::is_function<T>::type
+typename boost::enable_if_<
+ !boost::is_function<T>::value
, typename sizer<T>::type
>::type encode_start(T const&);
template<typename T>
-typename boost::enable_if<
- typename boost::is_function<T>::type
+typename boost::enable_if_<
+ boost::is_function<T>::value
, typename sizer<T>::type
>::type encode_start(T&);
@@ -1411,5 +1410,5 @@ compilers that support C++11 lambda functions.
#endif // DOXYGEN
-#endif // #ifndef FILE_boost_scope_exit_hpp_INCLUDED
+#endif // BOOST_SCOPE_EXIT_HPP
diff --git a/boost/serialization/export.hpp b/boost/serialization/export.hpp
index 9eef440df4..00e85b18a7 100644
--- a/boost/serialization/export.hpp
+++ b/boost/serialization/export.hpp
@@ -42,8 +42,6 @@
#include <boost/archive/detail/register_archive.hpp>
-#include <iostream>
-
namespace boost {
namespace archive {
namespace detail {
diff --git a/boost/serialization/singleton.hpp b/boost/serialization/singleton.hpp
index 3437f3883b..a668100da2 100644
--- a/boost/serialization/singleton.hpp
+++ b/boost/serialization/singleton.hpp
@@ -9,6 +9,8 @@
// Copyright Robert Ramey 2007. Changes made to permit
// application throughout the serialization library.
//
+// Copyright Alexander Grund 2018. Corrections to singleton lifetime
+//
// 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)
@@ -32,15 +34,15 @@
// MS compatible compilers support #pragma once
#if defined(_MSC_VER)
# pragma once
-#endif
+#endif
#include <boost/assert.hpp>
#include <boost/config.hpp>
#include <boost/noncopyable.hpp>
#include <boost/serialization/force_include.hpp>
+#include <boost/serialization/config.hpp>
#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/serialization/config.hpp>
#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
#ifdef BOOST_MSVC
@@ -48,8 +50,8 @@
# pragma warning(disable : 4511 4512)
#endif
-namespace boost {
-namespace serialization {
+namespace boost {
+namespace serialization {
//////////////////////////////////////////////////////////////////////
// Provides a dynamically-initialized (singleton) instance of T in a
@@ -58,7 +60,7 @@ namespace serialization {
// details.
//
-// singletons created by this code are guarenteed to be unique
+// Singletons created by this code are guaranteed to be unique
// within the executable or shared library which creates them.
// This is sufficient and in fact ideal for the serialization library.
// The singleton is created when the module is loaded and destroyed
@@ -74,14 +76,22 @@ namespace serialization {
// Second, it provides a mechanism to detect when a non-const function
// is called after initialization.
-// make a singleton to lock/unlock all singletons for alteration.
+// Make a singleton to lock/unlock all singletons for alteration.
// The intent is that all singletons created/used by this code
// are to be initialized before main is called. A test program
-// can lock all the singletons when main is entereed. This any
-// attempt to retieve a mutable instances while locked will
-// generate a assertion if compiled for debug.
-
-// note usage of BOOST_DLLEXPORT. These functions are in danger of
+// can lock all the singletons when main is entered. Thus any
+// attempt to retrieve a mutable instance while locked will
+// generate an assertion if compiled for debug.
+
+// The singleton template can be used in 2 ways:
+// 1 (Recommended): Publicly inherit your type T from singleton<T>,
+// make its ctor protected and access it via T::get_const_instance()
+// 2: Simply access singleton<T> without changing T. Note that this only
+// provides a global instance accesible by singleton<T>::get_const_instance()
+// or singleton<T>::get_mutable_instance() to prevent using multiple instances
+// of T make its ctor protected
+
+// Note on usage of BOOST_DLLEXPORT: These functions are in danger of
// being eliminated by the optimizer when building an application in
// release mode. Usage of the macro is meant to signal the compiler/linker
// to avoid dropping these functions which seem to be unreferenced.
@@ -91,75 +101,110 @@ class BOOST_SYMBOL_VISIBLE singleton_module :
public boost::noncopyable
{
private:
- BOOST_DLLEXPORT static bool & get_lock() BOOST_USED {
+ BOOST_DLLEXPORT bool & get_lock() BOOST_USED {
static bool lock = false;
return lock;
}
public:
- BOOST_DLLEXPORT static void lock(){
+ BOOST_DLLEXPORT void lock(){
get_lock() = true;
}
- BOOST_DLLEXPORT static void unlock(){
+ BOOST_DLLEXPORT void unlock(){
get_lock() = false;
}
- BOOST_DLLEXPORT static bool is_locked(){
+ BOOST_DLLEXPORT bool is_locked(){
return get_lock();
}
};
-template <class T>
-class singleton : public singleton_module
+static inline singleton_module & get_singleton_module(){
+ static singleton_module m;
+ return m;
+}
+
+namespace detail {
+
+// This is the class actually instantiated and hence the real singleton.
+// So there will only be one instance of this class. This does not hold
+// for singleton<T> as a class derived from singleton<T> could be
+// instantiated multiple times.
+// It also provides a flag `is_destroyed` which returns true, when the
+// class was destructed. It is static and hence accesible even after
+// destruction. This can be used to check, if the singleton is still
+// accesible e.g. in destructors of other singletons.
+template<class T>
+class singleton_wrapper : public T
{
+ static bool & get_is_destroyed(){
+ // Prefer a static function member to avoid LNK1179.
+ // Note: As this is for a singleton (1 instance only) it must be set
+ // never be reset (to false)!
+ static bool is_destroyed_flag = false;
+ return is_destroyed_flag;
+ }
+public:
+ singleton_wrapper(){
+ BOOST_ASSERT(! is_destroyed());
+ }
+ ~singleton_wrapper(){
+ get_is_destroyed() = true;
+ }
+ static bool is_destroyed(){
+ return get_is_destroyed();
+ }
+};
+
+} // detail
+
+template <class T>
+class singleton {
private:
- static T & m_instance;
+ static T * m_instance;
// include this to provoke instantiation at pre-execution time
- static void use(T const *) {}
+ static void use(T const &) {}
static T & get_instance() {
- // use a wrapper so that types T with protected constructors
- // can be used
- class singleton_wrapper : public T {};
- static singleton_wrapper t;
-
- // refer to instance, causing it to be instantiated (and
- // initialized at startup on working compilers)
BOOST_ASSERT(! is_destroyed());
+ // use a wrapper so that types T with protected constructors can be used
+ // Using a static function member avoids LNK1179
+ static detail::singleton_wrapper< T > t;
+
// note that the following is absolutely essential.
// commenting out this statement will cause compilers to fail to
// construct the instance at pre-execution time. This would prevent
// our usage/implementation of "locking" and introduce uncertainty into
- // the sequence of object initializaition.
- use(& m_instance);
+ // the sequence of object initialization.
+ // Unfortunately, this triggers detectors of undefine behavior
+ // and reports an error. But I've been unable to find a different
+ // of guarenteeing that the the singleton is created at pre-main time.
+ use(* m_instance);
return static_cast<T &>(t);
}
- static bool & get_is_destroyed(){
- static bool is_destroyed;
- return is_destroyed;
- }
+protected:
+ // Do not allow instantiation of a singleton<T>. But we want to allow
+ // `class T: public singleton<T>` so we can't delete this ctor
+ BOOST_DLLEXPORT singleton(){}
public:
BOOST_DLLEXPORT static T & get_mutable_instance(){
- BOOST_ASSERT(! is_locked());
+ BOOST_ASSERT(! get_singleton_module().is_locked());
return get_instance();
}
BOOST_DLLEXPORT static const T & get_const_instance(){
return get_instance();
}
BOOST_DLLEXPORT static bool is_destroyed(){
- return get_is_destroyed();
- }
- BOOST_DLLEXPORT singleton(){
- get_is_destroyed() = false;
- }
- BOOST_DLLEXPORT ~singleton() {
- get_is_destroyed() = true;
+ return detail::singleton_wrapper< T >::is_destroyed();
}
};
+// Assigning the instance reference to a static member forces initialization
+// at startup time as described in
+// https://groups.google.com/forum/#!topic/microsoft.public.vc.language/kDVNLnIsfZk
template<class T>
-T & singleton< T >::m_instance = singleton< T >::get_instance();
+T * singleton< T >::m_instance = & singleton< T >::get_instance();
} // namespace serialization
} // namespace boost
diff --git a/boost/signal.hpp b/boost/signal.hpp
deleted file mode 100644
index 7b31f36480..0000000000
--- a/boost/signal.hpp
+++ /dev/null
@@ -1,366 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2006. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/signals
-
-#ifndef BOOST_SIGNAL_HPP
-#define BOOST_SIGNAL_HPP
-
-#ifndef BOOST_SIGNALS_NO_DEPRECATION_WARNING
-# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-# pragma message ("Warning: Boost.Signals is no longer being maintained and is now deprecated. Please switch to Boost.Signals2. To disable this warning message, define BOOST_SIGNALS_NO_DEPRECATION_WARNING.")
-# elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
-# warning "Boost.Signals is no longer being maintained and is now deprecated. Please switch to Boost.Signals2. To disable this warning message, define BOOST_SIGNALS_NO_DEPRECATION_WARNING."
-# endif
-#endif
-
-#ifndef BOOST_SIGNALS_MAX_ARGS
-# define BOOST_SIGNALS_MAX_ARGS 10
-#endif
-
-#include <boost/config.hpp>
-#include <boost/type_traits/function_traits.hpp>
-#include <boost/signals/signal0.hpp>
-#include <boost/signals/signal1.hpp>
-#include <boost/signals/signal2.hpp>
-#include <boost/signals/signal3.hpp>
-#include <boost/signals/signal4.hpp>
-#include <boost/signals/signal5.hpp>
-#include <boost/signals/signal6.hpp>
-#include <boost/signals/signal7.hpp>
-#include <boost/signals/signal8.hpp>
-#include <boost/signals/signal9.hpp>
-#include <boost/signals/signal10.hpp>
-#include <boost/function.hpp>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
-#ifndef BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
- namespace BOOST_SIGNALS_NAMESPACE {
- namespace detail {
- template<int Arity,
- typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl;
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<0, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal0<typename traits::result_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<1, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal1<typename traits::result_type,
- typename traits::arg1_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<2, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal2<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<3, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal3<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<4, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal4<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<5, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal5<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- typename traits::arg5_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<6, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal6<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- typename traits::arg5_type,
- typename traits::arg6_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<7, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal7<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- typename traits::arg5_type,
- typename traits::arg6_type,
- typename traits::arg7_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<8, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal8<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- typename traits::arg5_type,
- typename traits::arg6_type,
- typename traits::arg7_type,
- typename traits::arg8_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<9, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal9<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- typename traits::arg5_type,
- typename traits::arg6_type,
- typename traits::arg7_type,
- typename traits::arg8_type,
- typename traits::arg9_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- class real_get_signal_impl<10, Signature, Combiner, Group, GroupCompare,
- SlotFunction>
- {
- typedef function_traits<Signature> traits;
-
- public:
- typedef signal10<typename traits::result_type,
- typename traits::arg1_type,
- typename traits::arg2_type,
- typename traits::arg3_type,
- typename traits::arg4_type,
- typename traits::arg5_type,
- typename traits::arg6_type,
- typename traits::arg7_type,
- typename traits::arg8_type,
- typename traits::arg9_type,
- typename traits::arg10_type,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction> type;
- };
-
- template<typename Signature,
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction>
- struct get_signal_impl :
- public real_get_signal_impl<(function_traits<Signature>::arity),
- Signature,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction>
- {
- };
-
- } // end namespace detail
- } // end namespace BOOST_SIGNALS_NAMESPACE
-
- // Very lightweight wrapper around the signalN classes that allows signals to
- // be created where the number of arguments does not need to be part of the
- // class name.
- template<
- typename Signature, // function type R (T1, T2, ..., TN)
- typename Combiner = last_value<typename function_traits<Signature>::result_type>,
- typename Group = int,
- typename GroupCompare = std::less<Group>,
- typename SlotFunction = function<Signature>
- >
- class signal :
- public BOOST_SIGNALS_NAMESPACE::detail::get_signal_impl<Signature,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction>::type
- {
- typedef typename BOOST_SIGNALS_NAMESPACE::detail::get_signal_impl<
- Signature,
- Combiner,
- Group,
- GroupCompare,
- SlotFunction>::type base_type;
-
- public:
- explicit signal(const Combiner& combiner = Combiner(),
- const GroupCompare& group_compare = GroupCompare()) :
- base_type(combiner, group_compare)
- {
- }
- };
-#endif // ndef BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
-
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNAL_HPP
diff --git a/boost/signals.hpp b/boost/signals.hpp
deleted file mode 100644
index 7e83ed55d8..0000000000
--- a/boost/signals.hpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2003-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/signals
-#include <boost/signal.hpp>
-
diff --git a/boost/signals/connection.hpp b/boost/signals/connection.hpp
deleted file mode 100644
index 1ede6be7a1..0000000000
--- a/boost/signals/connection.hpp
+++ /dev/null
@@ -1,213 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_CONNECTION_HPP
-#define BOOST_SIGNALS_CONNECTION_HPP
-
-#include <boost/signals/detail/signals_common.hpp>
-#include <boost/smart_ptr.hpp>
-#include <boost/operators.hpp>
-#include <boost/any.hpp>
-#include <list>
-#include <cassert>
-#include <utility>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
- namespace BOOST_SIGNALS_NAMESPACE {
- class trackable;
-
- namespace detail {
- // Represents an object that has been bound as part of a slot, and how
- // to notify that object of a disconnect
- struct bound_object {
- void* obj;
- void* data;
- void (*disconnect)(void*, void*);
-
- bool operator==(const bound_object& other) const
- { return obj == other.obj && data == other.data; }
- bool operator<(const bound_object& other) const
- { return obj < other.obj; }
-
- // To support intel 80 compiler, 2004/03/18 (Mark Rodgers)
- bool operator!=(const bound_object& other) const
- { return !(*this==other); }
- bool operator>(const bound_object& other) const
- { return !(*this < other); }
- };
-
- // Describes the connection between a signal and the objects that are
- // bound for a specific slot. Enables notification of the signal and the
- // slots when a disconnect is requested.
- struct basic_connection {
- void* signal;
- void* signal_data;
- void (*signal_disconnect)(void*, void*);
- bool blocked_;
-
- std::list<bound_object> bound_objects;
- };
- } // end namespace detail
-
- // The user may freely pass around the "connection" object and terminate
- // the connection at any time using disconnect().
- class BOOST_SIGNALS_DECL connection :
- private less_than_comparable1<connection>,
- private equality_comparable1<connection>
- {
- public:
- connection() : con(), controlling_connection(false) {}
- connection(const connection&);
- ~connection();
-
- // Block he connection: if the connection is still active, there
- // will be no notification
- void block(bool should_block = true) { con->blocked_ = should_block; }
- void unblock() { con->blocked_ = false; }
- bool blocked() const { return !connected() || con->blocked_; }
-
- // Disconnect the signal and slot, if they are connected
- void disconnect() const;
-
- // Returns true if the signal and slot are connected
- bool connected() const { return con.get() && con->signal_disconnect; }
-
- // Comparison of connections
- bool operator==(const connection& other) const;
- bool operator<(const connection& other) const;
-
- // Connection assignment
- connection& operator=(const connection& other) ;
-
- // Swap connections
- void swap(connection& other);
-
- public: // TBD: CHANGE THIS
- // Set whether this connection object is controlling or not
- void set_controlling(bool control = true)
- { controlling_connection = control; }
-
- shared_ptr<BOOST_SIGNALS_NAMESPACE::detail::basic_connection>
- get_connection() const
- { return con; }
-
- private:
- friend class detail::signal_base_impl;
- friend class detail::slot_base;
- friend class trackable;
-
- // Reset this connection to refer to a different actual connection
- void reset(BOOST_SIGNALS_NAMESPACE::detail::basic_connection*);
-
- // Add a bound object to this connection (not for users)
- void add_bound_object(const BOOST_SIGNALS_NAMESPACE::detail::bound_object& b);
-
- friend class BOOST_SIGNALS_NAMESPACE::detail::bound_objects_visitor;
-
- // Pointer to the actual contents of the connection
- shared_ptr<BOOST_SIGNALS_NAMESPACE::detail::basic_connection> con;
-
- // True if the destruction of this connection object should disconnect
- bool controlling_connection;
- };
-
- // Similar to connection, but will disconnect the connection when it is
- // destroyed unless release() has been called.
- class BOOST_SIGNALS_DECL scoped_connection : public connection {
- public:
- scoped_connection() : connection(), released(false) {}
- scoped_connection(const connection&);
- scoped_connection(const scoped_connection&);
- ~scoped_connection();
-
- connection release();
-
- void swap(scoped_connection&);
-
- scoped_connection& operator=(const connection&);
- scoped_connection& operator=(const scoped_connection&);
-
- private:
- bool released;
- };
-
- namespace detail {
- struct connection_slot_pair {
- connection first;
- any second;
-
- connection_slot_pair() {}
-
- connection_slot_pair(const connection& c, const any& a)
- : first(c), second(a)
- {
- }
-
- // Dummys to allow explicit instantiation to work
- bool operator==(const connection_slot_pair&) const { return false; }
- bool operator<(const connection_slot_pair&) const { return false;}
- };
-
- // Determines if the underlying connection is disconnected
- struct is_disconnected {
- typedef connection_slot_pair argument_type;
- typedef bool result_type;
-
- inline bool operator()(const argument_type& c) const
- {
- return !c.first.connected();
- }
- };
-
- // Determines if the underlying connection is callable, ie if
- // it is connected and not blocked
- struct is_callable {
- typedef connection_slot_pair argument_type;
- typedef bool result_type;
-
- inline bool operator()(const argument_type& c) const
- {
- return c.first.connected() && !c.first.blocked() ;
- }
- };
-
- // Autodisconnects the bound object when it is destroyed unless the
- // release method is invoked.
- class auto_disconnect_bound_object {
- public:
- auto_disconnect_bound_object(const bound_object& b) :
- binding(b), auto_disconnect(true)
- {
- }
-
- ~auto_disconnect_bound_object()
- {
- if (auto_disconnect)
- binding.disconnect(binding.obj, binding.data);
- }
-
- void release() { auto_disconnect = false; }
-
- private:
- bound_object binding;
- bool auto_disconnect;
- };
- } // end namespace detail
- } // end namespace BOOST_SIGNALS_NAMESPACE
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNALS_CONNECTION_HPP
diff --git a/boost/signals/detail/config.hpp b/boost/signals/detail/config.hpp
deleted file mode 100644
index bdd6d20ed4..0000000000
--- a/boost/signals/detail/config.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Copyright (c) 2003-2004
- * Douglas Gregor
- *
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
-#ifndef BOOST_SIGNALS_CONFIG_HPP
-#define BOOST_SIGNALS_CONFIG_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_DECLSPEC
-# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SIGNALS_DYN_LINK)
-# ifdef BOOST_SIGNALS_SOURCE
-# define BOOST_SIGNALS_DECL __declspec(dllexport)
-# else
-# define BOOST_SIGNALS_DECL __declspec(dllimport)
-# endif // BOOST_SIGNALS_SOURCE
-# endif // DYN_LINK
-#endif // BOOST_HAS_DECLSPEC
-
-#ifndef BOOST_SIGNALS_DECL
-# define BOOST_SIGNALS_DECL
-#endif
-
-// Setup autolinking
-#if !defined(BOOST_SIGNALS_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SIGNALS_NO_LIB)
-# define BOOST_LIB_NAME boost_signals
-
-# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SIGNALS_DYN_LINK)
-# define BOOST_DYN_LINK
-# endif
-
-# include <boost/config/auto_link.hpp>
-#endif // autolinking on
-
-#endif // BOOST_SIGNALS_CONFIG_HPP
-
-
-
-
-
-
-
-
-
diff --git a/boost/signals/detail/gen_signal_N.pl b/boost/signals/detail/gen_signal_N.pl
deleted file mode 100644
index 77f8e533de..0000000000
--- a/boost/signals/detail/gen_signal_N.pl
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Boost.Signals library
-
-# Copyright Douglas Gregor 2001-2003. Use, modification and
-# distribution is subject to the Boost Software License, Version
-# 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# For more information, see http://www.boost.org
-use English;
-
-if ($#ARGV < 0) {
- print "Usage: perl gen_signal_N <number of arguments>\n";
- exit;
-}
-
-
-$totalNumArgs = $ARGV[0];
-for ($numArgs = 0; $numArgs <= $totalNumArgs; ++$numArgs) {
- open OUT, ">signal$numArgs.hpp";
- print OUT "// Boost.Signals library\n";
- print OUT "//\n";
- print OUT "// Copyright (C) 2001 Doug Gregor (gregod\@cs.rpi.edu)\n";
- print OUT "//\n";
- print OUT "// Permission to copy, use, sell and distribute this software is granted\n";
- print OUT "// provided this copyright notice appears in all copies.\n";
- print OUT "// Permission to modify the code and to distribute modified code is granted\n";
- print OUT "// provided this copyright notice appears in all copies, and a notice\n";
- print OUT "// that the code was modified is included with the copyright notice.\n";
- print OUT "//\n";
- print OUT "// This software is provided \"as is\" without express or implied warranty,\n";
- print OUT "// and with no claim as to its suitability for any purpose.\n";
- print OUT " \n";
- print OUT "// For more information, see http://www.boost.org\n";
- print OUT "\n";
- print OUT "#ifndef BOOST_SIGNALS_SIGNAL" . $numArgs . "_HEADER\n";
- print OUT "#define BOOST_SIGNALS_SIGNAL" , $numArgs . "_HEADER\n";
- print OUT "\n";
- print OUT "#define BOOST_SIGNALS_NUM_ARGS $numArgs\n";
-
- $templateParms = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- if ($i > 1) {
- $templateParms .= ", ";
- }
- $templateParms .= "typename T$i";
- }
- print OUT "#define BOOST_SIGNALS_TEMPLATE_PARMS $templateParms\n";
-
- $_ = $templateParms;
- s/typename //g;
- $templateArgs = $_;
- print OUT "#define BOOST_SIGNALS_TEMPLATE_ARGS $templateArgs\n";
-
- $parms = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- if ($i > 1) {
- $parms .= ", ";
- }
- $parms .= "T$i a$i";
- }
- print OUT "#define BOOST_SIGNALS_PARMS $parms\n";
-
- $args = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- if ($i > 1) {
- $args .= ", ";
- }
- $args .= "a$i";
- }
- print OUT "#define BOOST_SIGNALS_ARGS $args\n";
-
- $boundArgs = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- if ($i > 1) {
- $boundArgs .= ", ";
- }
- $boundArgs .= "args->a$i";
- }
- print OUT "#define BOOST_SIGNALS_BOUND_ARGS $boundArgs\n";
-
- $argsAsMembers = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- $argsAsMembers .= "T$i a$i;";
- }
- print OUT "#define BOOST_SIGNALS_ARGS_AS_MEMBERS $argsAsMembers\n";
-
- $copyParms = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- if ($i > 1) {
- $copyParms .= ", ";
- }
- $copyParms .= "T$i ia$i";
- }
- print OUT "#define BOOST_SIGNALS_COPY_PARMS $copyParms\n";
-
- $initArgs = "";
- if ($numArgs > 0) {
- $initArgs = ":";
- }
- for ($i = 1; $i <= $numArgs; ++$i) {
- if ($i > 1) {
- $initArgs .= ", ";
- }
- $initArgs .= "a$i(ia$i)";
- }
- print OUT "#define BOOST_SIGNALS_INIT_ARGS $initArgs\n";
-
- $argTypes = "";
- for ($i = 1; $i <= $numArgs; ++$i) {
- $argTypes .= "typedef T$i arg". ($i+1) . "_type; ";
- }
-
- print OUT "#define BOOST_SIGNALS_ARG_TYPES $argTypes\n";
- print OUT "\n";
- print OUT "#include <boost/signals/signal_template.hpp>\n";
- print OUT "\n";
- print OUT "#undef BOOST_SIGNALS_ARG_TYPES\n";
- print OUT "#undef BOOST_SIGNALS_INIT_ARGS\n";
- print OUT "#undef BOOST_SIGNALS_COPY_PARMS\n";
- print OUT "#undef BOOST_SIGNALS_ARGS_AS_MEMBERS\n";
- print OUT "#undef BOOST_SIGNALS_BOUND_ARGS\n";
- print OUT "#undef BOOST_SIGNALS_ARGS\n";
- print OUT "#undef BOOST_SIGNALS_PARMS\n";
- print OUT "#undef BOOST_SIGNALS_TEMPLATE_ARGS\n";
- print OUT "#undef BOOST_SIGNALS_TEMPLATE_PARMS\n";
- print OUT "#undef BOOST_SIGNALS_NUM_ARGS\n";
- print OUT "\n";
- print OUT "#endif // BOOST_SIGNALS_SIGNAL" . $numArgs . "_HEADER\n";
- close OUT;
-}
diff --git a/boost/signals/detail/named_slot_map.hpp b/boost/signals/detail/named_slot_map.hpp
deleted file mode 100644
index 5851543ecb..0000000000
--- a/boost/signals/detail/named_slot_map.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_NAMED_SLOT_MAP_HPP
-#define BOOST_SIGNALS_NAMED_SLOT_MAP_HPP
-
-#include <boost/signals/detail/config.hpp>
-#include <boost/signals/detail/signals_common.hpp>
-#include <boost/signals/connection.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/function/function2.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <map>
-#include <memory>
-#include <utility>
-
-namespace boost { namespace BOOST_SIGNALS_NAMESPACE {
-
-enum connect_position { at_back, at_front };
-
-namespace detail {
-
-class stored_group
-{
- public:
- enum storage_kind { sk_empty, sk_front, sk_back, sk_group };
-
- stored_group(storage_kind p_kind = sk_empty) : kind(p_kind), group() { }
-
- template<typename T>
- stored_group(const T& p_group) : kind(sk_group), group(new T(p_group)) { }
-
- bool is_front() const { return kind == sk_front; }
- bool is_back() const { return kind == sk_back; }
- bool empty() const { return kind == sk_empty; }
-
- void* get() const { return group.get(); }
-
- private:
- storage_kind kind;
- shared_ptr<void> group;
-};
-
-typedef function2<bool, stored_group, stored_group> compare_type;
-
-// This function object bridges from a pair of any objects that hold
-// values of type Key to the underlying function object that compares
-// values of type Key.
-template<typename Compare, typename Key>
-class group_bridge_compare {
-public:
- typedef bool result_type;
- typedef const stored_group& first_argument_type;
- typedef const stored_group& second_argument_type;
-
- group_bridge_compare(const Compare& c) : comp(c)
- { }
-
- bool operator()(const stored_group& k1, const stored_group& k2) const
- {
- if (k1.is_front()) return !k2.is_front();
- if (k1.is_back()) return false;
- if (k2.is_front()) return false;
- if (k2.is_back()) return true;
-
- // Neither is empty, so compare their values to order them
- return comp(*static_cast<Key*>(k1.get()), *static_cast<Key*>(k2.get()));
- }
-
-private:
- Compare comp;
-};
-
-class BOOST_SIGNALS_DECL named_slot_map_iterator :
- public iterator_facade<named_slot_map_iterator,
- connection_slot_pair,
- forward_traversal_tag>
-{
- typedef std::list<connection_slot_pair> group_list;
- typedef group_list::iterator slot_pair_iterator;
- typedef std::map<stored_group, group_list, compare_type> slot_container_type;
- typedef slot_container_type::iterator group_iterator;
- typedef slot_container_type::const_iterator const_group_iterator;
-
- typedef iterator_facade<named_slot_map_iterator,
- connection_slot_pair,
- forward_traversal_tag> inherited;
-public:
- named_slot_map_iterator() : slot_assigned(false)
- { }
- named_slot_map_iterator(const named_slot_map_iterator& other)
- : group(other.group), last_group(other.last_group),
- slot_assigned(other.slot_assigned)
- {
- if (slot_assigned) slot_ = other.slot_;
- }
- named_slot_map_iterator& operator=(const named_slot_map_iterator& other)
- {
- slot_assigned = other.slot_assigned;
- group = other.group;
- last_group = other.last_group;
- if (slot_assigned) slot_ = other.slot_;
- return *this;
- }
- connection_slot_pair& dereference() const
- {
- return *slot_;
- }
- void increment()
- {
- ++slot_;
- if (slot_ == group->second.end()) {
- ++group;
- init_next_group();
- }
- }
- bool equal(const named_slot_map_iterator& other) const {
- return (group == other.group
- && (group == last_group
- || slot_ == other.slot_));
- }
-
-#if BOOST_WORKAROUND(_MSC_VER, <= 1900)
- void decrement();
- void advance(difference_type);
-#endif
-
-private:
- named_slot_map_iterator(group_iterator giter, group_iterator last) :
- group(giter), last_group(last), slot_assigned(false)
- { init_next_group(); }
- named_slot_map_iterator(group_iterator giter, group_iterator last,
- slot_pair_iterator slot) :
- group(giter), last_group(last), slot_(slot), slot_assigned(true)
- { }
-
- void init_next_group()
- {
- while (group != last_group && group->second.empty()) ++group;
- if (group != last_group) {
- slot_ = group->second.begin();
- slot_assigned = true;
- }
- }
-
- group_iterator group;
- group_iterator last_group;
- slot_pair_iterator slot_;
- bool slot_assigned;
-
- friend class named_slot_map;
-};
-
-class BOOST_SIGNALS_DECL named_slot_map
-{
-public:
- typedef named_slot_map_iterator iterator;
-
- named_slot_map(const compare_type& compare);
-
- void clear();
- iterator begin();
- iterator end();
- iterator insert(const stored_group& name, const connection& con,
- const any& slot, connect_position at);
- void disconnect(const stored_group& name);
- void erase(iterator pos);
- void remove_disconnected_slots();
-
-private:
- typedef std::list<connection_slot_pair> group_list;
- typedef std::map<stored_group, group_list, compare_type> slot_container_type;
- typedef slot_container_type::iterator group_iterator;
- typedef slot_container_type::const_iterator const_group_iterator;
-
- bool empty(const_group_iterator group) const
- {
- return (group->second.empty() && group != groups.begin() && group != back);
- }
- slot_container_type groups;
- group_iterator back;
-};
-
-} } }
-
-#endif // BOOST_SIGNALS_NAMED_SLOT_MAP_HPP
diff --git a/boost/signals/detail/signal_base.hpp b/boost/signals/detail/signal_base.hpp
deleted file mode 100644
index 991e9fcaa4..0000000000
--- a/boost/signals/detail/signal_base.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL_BASE_HEADER
-#define BOOST_SIGNALS_SIGNAL_BASE_HEADER
-
-#include <boost/signals/detail/config.hpp>
-#include <boost/signals/detail/signals_common.hpp>
-#include <boost/signals/detail/named_slot_map.hpp>
-#include <boost/signals/connection.hpp>
-#include <boost/signals/trackable.hpp>
-#include <boost/signals/slot.hpp>
-#include <boost/smart_ptr.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/function/function2.hpp>
-#include <utility>
-#include <vector>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
- namespace BOOST_SIGNALS_NAMESPACE {
- namespace detail {
- // Must be constructed before calling the slots, because it safely
- // manages call depth
- class BOOST_SIGNALS_DECL call_notification {
- public:
- call_notification(const shared_ptr<signal_base_impl>&);
- ~call_notification();
-
- shared_ptr<signal_base_impl> impl;
- };
-
- // Implementation of base class for all signals. It handles the
- // management of the underlying slot lists.
- class BOOST_SIGNALS_DECL signal_base_impl {
- public:
- friend class call_notification;
-
- typedef function2<bool, stored_group, stored_group> compare_type;
-
- // Make sure that an exception does not cause the "clearing" flag to
- // remain set
- class temporarily_set_clearing {
- public:
- temporarily_set_clearing(signal_base_impl* b) : base(b)
- {
- base->flags.clearing = true;
- }
-
- ~temporarily_set_clearing()
- {
- base->flags.clearing = false;
- }
-
- private:
- signal_base_impl* base;
- };
-
- friend class temporarily_set_clearing;
-
- signal_base_impl(const compare_type&, const any&);
- ~signal_base_impl();
-
- // Disconnect all slots connected to this signal
- void disconnect_all_slots();
-
- // Are there any connected slots?
- bool empty() const;
-
- // The number of connected slots
- std::size_t num_slots() const;
-
- // Disconnect all slots in the given group
- void disconnect(const stored_group&);
-
- // We're being notified that a slot has disconnected
- static void slot_disconnected(void* obj, void* data);
-
- connection connect_slot(const any& slot,
- const stored_group& name,
- shared_ptr<slot_base::data_t> data,
- connect_position at);
-
- private:
- // Remove all of the slots that have been marked "disconnected"
- void remove_disconnected_slots() const;
-
- public:
- // Our call depth when invoking slots (> 1 when we have a loop)
- mutable int call_depth;
-
- struct {
- // True if some slots have disconnected, but we were not able to
- // remove them from the list of slots because there are valid
- // iterators into the slot list
- mutable bool delayed_disconnect:1;
-
- // True if we are disconnecting all disconnected slots
- bool clearing:1;
- } flags;
-
- // Slots
- mutable named_slot_map slots_;
- any combiner_;
-
- // Types
- typedef named_slot_map::iterator iterator;
- };
-
- class BOOST_SIGNALS_DECL signal_base : public noncopyable {
- public:
- typedef signal_base_impl::compare_type compare_type;
-
- friend class call_notification;
-
- signal_base(const compare_type& comp, const any& combiner);
- ~signal_base();
-
- public:
- // Disconnect all slots connected to this signal
- void disconnect_all_slots() { impl->disconnect_all_slots(); }
-
- // Are there any connected slots?
- bool empty() const { return impl->empty(); }
-
- // How many slots are connected?
- std::size_t num_slots() const { return impl->num_slots(); }
-
- protected:
- connection connect_slot(const any& slot,
- const stored_group& name,
- shared_ptr<slot_base::data_t> data,
- connect_position at)
- {
- return impl->connect_slot(slot, name, data, at);
- }
-
- typedef named_slot_map::iterator iterator;
-
- shared_ptr<signal_base_impl> impl;
- };
- } // end namespace detail
- } // end namespace BOOST_SIGNALS_NAMESPACE
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNALS_SIGNAL_BASE_HEADER
diff --git a/boost/signals/detail/signals_common.hpp b/boost/signals/detail/signals_common.hpp
deleted file mode 100644
index 9cf078d70f..0000000000
--- a/boost/signals/detail/signals_common.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_COMMON_HEADER
-#define BOOST_SIGNALS_COMMON_HEADER
-
-#ifndef BOOST_SIGNALS_NAMESPACE
-# define BOOST_SIGNALS_NAMESPACE signals
-#endif
-
-#include <boost/type_traits/conversion_traits.hpp>
-#include <boost/ref.hpp>
-#include <boost/signals/detail/config.hpp>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
- namespace BOOST_SIGNALS_NAMESPACE {
- namespace detail {
- // The unusable class is a placeholder for unused function arguments
- // It is also completely unusable except that it constructable from
- // anything. This helps compilers without partial specialization
- // handle slots returning void.
- struct unusable {
- unusable() {}
- };
-
- // Determine the result type of a slot call
- template<typename R>
- struct slot_result_type {
- typedef R type;
- };
-
- template<>
- struct slot_result_type<void> {
- typedef unusable type;
- };
-
- // Determine if the given type T is a signal
- class signal_base;
-
- template<typename T>
- struct is_signal {
- BOOST_STATIC_CONSTANT(bool,
- value = (is_convertible<T*, signal_base*>::value));
- };
-
- /*
- * The IF implementation is temporary code. When a Boost metaprogramming
- * library is introduced, Boost.Signals will use it instead.
- */
- namespace intimate {
- struct SelectThen
- {
- template<typename Then, typename Else>
- struct Result
- {
- typedef Then type;
- };
- };
-
- struct SelectElse
- {
- template<typename Then, typename Else>
- struct Result
- {
- typedef Else type;
- };
- };
-
- template<bool Condition>
- struct Selector
- {
- typedef SelectThen type;
- };
-
- template<>
- struct Selector<false>
- {
- typedef SelectElse type;
- };
- } // end namespace intimate
-
- template<bool Condition, typename Then, typename Else>
- struct IF
- {
- typedef typename intimate::Selector<Condition>::type select;
- typedef typename select::template Result<Then,Else>::type type;
- };
-
- // Determine if the incoming argument is a reference_wrapper
- template<typename T>
- struct is_ref
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-
- template<typename T>
- struct is_ref<reference_wrapper<T> >
- {
- BOOST_STATIC_CONSTANT(bool, value = true);
- };
-
- // A slot can be a signal, a reference to a function object, or a
- // function object.
- struct signal_tag {};
- struct reference_tag {};
- struct value_tag {};
-
- // Classify the given slot as a signal, a reference-to-slot, or a
- // standard slot
- template<typename S>
- class get_slot_tag {
- typedef typename IF<(is_signal<S>::value),
- signal_tag,
- value_tag>::type signal_or_value;
-
- public:
- typedef typename IF<(is_ref<S>::value),
- reference_tag,
- signal_or_value>::type type;
- };
-
- // Forward declaration needed in lots of places
- class signal_base_impl;
- class bound_objects_visitor;
- class slot_base;
- } // end namespace detail
- } // end namespace BOOST_SIGNALS_NAMESPACE
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNALS_COMMON_HEADER
diff --git a/boost/signals/detail/slot_call_iterator.hpp b/boost/signals/detail/slot_call_iterator.hpp
deleted file mode 100644
index 0d6afd91d1..0000000000
--- a/boost/signals/detail/slot_call_iterator.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SLOT_CALL_ITERATOR
-#define BOOST_SIGNALS_SLOT_CALL_ITERATOR
-
-#include <memory>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/smart_ptr.hpp>
-#include <boost/signals/detail/config.hpp>
-#include <boost/signals/connection.hpp>
-#include <boost/optional.hpp>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
- namespace BOOST_SIGNALS_NAMESPACE {
- namespace detail {
-
- // Generates a slot call iterator. Essentially, this is an iterator that:
- // - skips over disconnected slots in the underlying list
- // - calls the connected slots when dereferenced
- // - caches the result of calling the slots
- template<typename Function, typename Iterator>
- class slot_call_iterator
- : public iterator_facade<slot_call_iterator<Function, Iterator>,
- typename Function::result_type,
- single_pass_traversal_tag,
- typename Function::result_type const&>
- {
- typedef iterator_facade<slot_call_iterator<Function, Iterator>,
- typename Function::result_type,
- single_pass_traversal_tag,
- typename Function::result_type const&>
- inherited;
-
- typedef typename Function::result_type result_type;
-
- friend class iterator_core_access;
-
- public:
- slot_call_iterator(Iterator iter_in, Iterator end_in, Function func,
- optional<result_type> &c)
- : iter(iter_in), end(end_in), f(func), cache(&c)
- {
- iter = std::find_if(iter, end, is_callable());
- }
-
- typename inherited::reference
- dereference() const
- {
- if (!cache->is_initialized()) {
- cache->reset(f(*iter));
- }
-
- return cache->get();
- }
-
- void increment()
- {
- iter = std::find_if(++iter, end, is_callable());
- cache->reset();
- }
-
- bool equal(const slot_call_iterator& other) const
- {
- iter = std::find_if(iter, end, is_callable());
- other.iter = std::find_if(other.iter, other.end,
- is_callable());
- return iter == other.iter;
- }
-
- private:
- mutable Iterator iter;
- Iterator end;
- Function f;
- optional<result_type>* cache;
- };
- } // end namespace detail
- } // end namespace BOOST_SIGNALS_NAMESPACE
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNALS_SLOT_CALL_ITERATOR
diff --git a/boost/signals/signal0.hpp b/boost/signals/signal0.hpp
deleted file mode 100644
index 6a6166c4cf..0000000000
--- a/boost/signals/signal0.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL0_HEADER
-#define BOOST_SIGNALS_SIGNAL0_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 0
-#define BOOST_SIGNALS_TEMPLATE_PARMS
-#define BOOST_SIGNALS_TEMPLATE_ARGS
-#define BOOST_SIGNALS_PARMS
-#define BOOST_SIGNALS_ARGS
-#define BOOST_SIGNALS_BOUND_ARGS
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS
-#define BOOST_SIGNALS_COPY_PARMS
-#define BOOST_SIGNALS_INIT_ARGS
-#define BOOST_SIGNALS_ARG_TYPES
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL0_HEADER
diff --git a/boost/signals/signal1.hpp b/boost/signals/signal1.hpp
deleted file mode 100644
index 645f7ab234..0000000000
--- a/boost/signals/signal1.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL1_HEADER
-#define BOOST_SIGNALS_SIGNAL1_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 1
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1
-#define BOOST_SIGNALS_PARMS T1 a1
-#define BOOST_SIGNALS_ARGS a1
-#define BOOST_SIGNALS_BOUND_ARGS args->a1
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL1_HEADER
diff --git a/boost/signals/signal10.hpp b/boost/signals/signal10.hpp
deleted file mode 100644
index e043563151..0000000000
--- a/boost/signals/signal10.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL10_HEADER
-#define BOOST_SIGNALS_SIGNAL10_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 10
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5, a6, a7, a8, a9, a10
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5, args->a6, args->a7, args->a8, args->a9, args->a10
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;T6 a6;T7 a7;T8 a8;T9 a9;T10 a10;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5, T6 ia6, T7 ia7, T8 ia8, T9 ia9, T10 ia10
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5), a6(ia6), a7(ia7), a8(ia8), a9(ia9), a10(ia10)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type; typedef T9 arg9_type; typedef T10 arg10_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL10_HEADER
diff --git a/boost/signals/signal2.hpp b/boost/signals/signal2.hpp
deleted file mode 100644
index e75f5e7d79..0000000000
--- a/boost/signals/signal2.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL2_HEADER
-#define BOOST_SIGNALS_SIGNAL2_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 2
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2
-#define BOOST_SIGNALS_ARGS a1, a2
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL2_HEADER
diff --git a/boost/signals/signal3.hpp b/boost/signals/signal3.hpp
deleted file mode 100644
index 0a695c5b84..0000000000
--- a/boost/signals/signal3.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL3_HEADER
-#define BOOST_SIGNALS_SIGNAL3_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 3
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3
-#define BOOST_SIGNALS_ARGS a1, a2, a3
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL3_HEADER
diff --git a/boost/signals/signal4.hpp b/boost/signals/signal4.hpp
deleted file mode 100644
index 56ba360719..0000000000
--- a/boost/signals/signal4.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL4_HEADER
-#define BOOST_SIGNALS_SIGNAL4_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 4
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL4_HEADER
diff --git a/boost/signals/signal5.hpp b/boost/signals/signal5.hpp
deleted file mode 100644
index 027cda9aa2..0000000000
--- a/boost/signals/signal5.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL5_HEADER
-#define BOOST_SIGNALS_SIGNAL5_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 5
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL5_HEADER
diff --git a/boost/signals/signal6.hpp b/boost/signals/signal6.hpp
deleted file mode 100644
index 39553189ac..0000000000
--- a/boost/signals/signal6.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL6_HEADER
-#define BOOST_SIGNALS_SIGNAL6_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 6
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5, typename T6
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5, T6
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5, a6
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5, args->a6
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;T6 a6;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5, T6 ia6
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5), a6(ia6)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL6_HEADER
diff --git a/boost/signals/signal7.hpp b/boost/signals/signal7.hpp
deleted file mode 100644
index d4530eca6d..0000000000
--- a/boost/signals/signal7.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL7_HEADER
-#define BOOST_SIGNALS_SIGNAL7_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 7
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5, T6, T7
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5, a6, a7
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5, args->a6, args->a7
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;T6 a6;T7 a7;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5, T6 ia6, T7 ia7
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5), a6(ia6), a7(ia7)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL7_HEADER
diff --git a/boost/signals/signal8.hpp b/boost/signals/signal8.hpp
deleted file mode 100644
index 094cd9776c..0000000000
--- a/boost/signals/signal8.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL8_HEADER
-#define BOOST_SIGNALS_SIGNAL8_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 8
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5, T6, T7, T8
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5, a6, a7, a8
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5, args->a6, args->a7, args->a8
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;T6 a6;T7 a7;T8 a8;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5, T6 ia6, T7 ia7, T8 ia8
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5), a6(ia6), a7(ia7), a8(ia8)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL8_HEADER
diff --git a/boost/signals/signal9.hpp b/boost/signals/signal9.hpp
deleted file mode 100644
index a551c16bed..0000000000
--- a/boost/signals/signal9.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SIGNAL9_HEADER
-#define BOOST_SIGNALS_SIGNAL9_HEADER
-
-#define BOOST_SIGNALS_NUM_ARGS 9
-#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9
-#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5, T6, T7, T8, T9
-#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9
-#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5, a6, a7, a8, a9
-#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5, args->a6, args->a7, args->a8, args->a9
-#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;T6 a6;T7 a7;T8 a8;T9 a9;
-#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5, T6 ia6, T7 ia7, T8 ia8, T9 ia9
-#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5), a6(ia6), a7(ia7), a8(ia8), a9(ia9)
-#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type; typedef T9 arg9_type;
-
-#include <boost/signals/signal_template.hpp>
-
-#undef BOOST_SIGNALS_ARG_TYPES
-#undef BOOST_SIGNALS_INIT_ARGS
-#undef BOOST_SIGNALS_COPY_PARMS
-#undef BOOST_SIGNALS_ARGS_AS_MEMBERS
-#undef BOOST_SIGNALS_BOUND_ARGS
-#undef BOOST_SIGNALS_ARGS
-#undef BOOST_SIGNALS_PARMS
-#undef BOOST_SIGNALS_TEMPLATE_ARGS
-#undef BOOST_SIGNALS_TEMPLATE_PARMS
-#undef BOOST_SIGNALS_NUM_ARGS
-
-#endif // BOOST_SIGNALS_SIGNAL9_HEADER
diff --git a/boost/signals/signal_template.hpp b/boost/signals/signal_template.hpp
deleted file mode 100644
index 94e1d1aad3..0000000000
--- a/boost/signals/signal_template.hpp
+++ /dev/null
@@ -1,401 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-// This file intentionally does not have include guards, because it is meant
-// to be included multiple times (one for each signalN class). The
-// BOOST_SIGNALS_SIGNAL_TEMPLATE_HEADER_INCLUDED macro merely serves to
-// suppress reinclusion of the files that this header depends on.
-
-#ifndef BOOST_SIGNALS_SIGNAL_TEMPLATE_HEADER_INCLUDED
-#define BOOST_SIGNALS_SIGNAL_TEMPLATE_HEADER_INCLUDED
-# include <boost/config.hpp>
-# include <boost/signals/connection.hpp>
-# include <boost/ref.hpp>
-# include <boost/signals/slot.hpp>
-# include <boost/last_value.hpp>
-# include <boost/signals/detail/signal_base.hpp>
-# include <boost/signals/detail/slot_call_iterator.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/type_traits/is_convertible.hpp>
-# include <cassert>
-# include <functional>
-# include <memory>
-#endif // !BOOST_SIGNALS_SIGNAL_TEMPLATE_HEADER_INCLUDED
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-// Include the appropriate functionN header
-#define BOOST_SIGNAL_FUNCTION_N_HEADER BOOST_JOIN(<boost/function/function,BOOST_SIGNALS_NUM_ARGS.hpp>)
-#include BOOST_SIGNAL_FUNCTION_N_HEADER
-
-// Determine if a comma should follow a listing of the arguments/parameters
-#if BOOST_SIGNALS_NUM_ARGS == 0
-# define BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
-#else
-# define BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS ,
-#endif // BOOST_SIGNALS_NUM_ARGS > 0
-
-// Define class names used
-#define BOOST_SIGNALS_SIGNAL BOOST_JOIN(signal,BOOST_SIGNALS_NUM_ARGS)
-#define BOOST_SIGNALS_FUNCTION BOOST_JOIN(function,BOOST_SIGNALS_NUM_ARGS)
-#define BOOST_SIGNALS_ARGS_STRUCT BOOST_JOIN(args,BOOST_SIGNALS_NUM_ARGS)
-#define BOOST_SIGNALS_CALL_BOUND BOOST_JOIN(call_bound,BOOST_SIGNALS_NUM_ARGS)
-
-// Define commonly-used instantiations
-#define BOOST_SIGNALS_ARGS_STRUCT_INST \
- BOOST_SIGNALS_NAMESPACE::detail::BOOST_SIGNALS_ARGS_STRUCT<BOOST_SIGNALS_TEMPLATE_ARGS>
-
-namespace boost {
- namespace BOOST_SIGNALS_NAMESPACE {
- namespace detail {
- // Holds the arguments for a bound slot call in a single place
- template<BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename Dummy = int>
- struct BOOST_SIGNALS_ARGS_STRUCT {
- BOOST_SIGNALS_ARGS_STRUCT(BOOST_SIGNALS_COPY_PARMS)
- BOOST_SIGNALS_INIT_ARGS
- {
- }
-
- BOOST_SIGNALS_ARGS_AS_MEMBERS
- };
-
- // Function object that calls the function object given to it, passing
- // the bound arguments along to that underlying function object
- template<typename R>
- struct BOOST_SIGNALS_CALL_BOUND {
- template<BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename F>
- struct caller {
- typedef BOOST_SIGNALS_ARGS_STRUCT<BOOST_SIGNALS_TEMPLATE_ARGS>*
- args_type;
-
- args_type args;
-
- typedef R result_type;
-
- caller() {}
- caller(args_type a) : args(a) {}
-
- template<typename Pair>
- R operator()(const Pair& slot) const
- {
- F* target = const_cast<F*>(unsafe_any_cast<F>(&slot.second));
- return (*target)(BOOST_SIGNALS_BOUND_ARGS);
- }
- };
- };
-
- template<>
- struct BOOST_SIGNALS_CALL_BOUND<void> {
- template<BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename F>
- struct caller {
- typedef BOOST_SIGNALS_ARGS_STRUCT<BOOST_SIGNALS_TEMPLATE_ARGS>*
- args_type;
-
- args_type args;
-
- typedef unusable result_type;
-
- caller(args_type a) : args(a) {}
-
- template<typename Pair>
- unusable operator()(const Pair& slot) const
- {
- F* target = const_cast<F*>(unsafe_any_cast<F>(&slot.second));
- (*target)(BOOST_SIGNALS_BOUND_ARGS);
- return unusable();
- }
- };
- };
- } // namespace detail
- } // namespace BOOST_SIGNALS_NAMESPACE
-
- // The actual signalN class
- template<
- typename R,
- BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename Combiner = last_value<R>,
- typename Group = int,
- typename GroupCompare = std::less<Group>,
- typename SlotFunction = BOOST_SIGNALS_FUNCTION<
- R BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- BOOST_SIGNALS_TEMPLATE_ARGS>
- >
- class BOOST_SIGNALS_SIGNAL :
- public BOOST_SIGNALS_NAMESPACE::detail::signal_base, // management of slot list
- public BOOST_SIGNALS_NAMESPACE::trackable // signals are trackable
- {
- public:
- // The slot function type
- typedef SlotFunction slot_function_type;
-
- // Result type of a slot
- typedef typename BOOST_SIGNALS_NAMESPACE::detail::slot_result_type<R>::type
- slot_result_type;
-
- // Argument types
- BOOST_SIGNALS_ARG_TYPES
-
-#if BOOST_SIGNALS_NUM_ARGS == 1
- typedef T1 argument_type;
-#elif BOOST_SIGNALS_NUM_ARGS == 2
- typedef T1 first_argument_type;
- typedef T2 second_argument_type;
-#endif
-
- private:
- // The real slot name comparison object type
- typedef BOOST_SIGNALS_NAMESPACE::detail::group_bridge_compare<GroupCompare, Group>
- real_group_compare_type;
-
- // The function object passed to the slot call iterator that will call
- // the underlying slot function with its arguments bound
- typedef BOOST_SIGNALS_NAMESPACE::detail::BOOST_SIGNALS_CALL_BOUND<R>
- outer_bound_slot_caller;
- typedef typename outer_bound_slot_caller::template
- caller<BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- slot_function_type>
- call_bound_slot;
-
- public:
- // Combiner's result type
- typedef typename Combiner::result_type result_type;
-
- // Combiner type
- typedef Combiner combiner_type;
-
- // Slot type
- typedef slot<slot_function_type> slot_type;
-
- // Slot name type and comparison
- typedef Group group_type;
- typedef GroupCompare group_compare_type;
-
- typedef BOOST_SIGNALS_NAMESPACE::detail::slot_call_iterator<
- call_bound_slot, iterator> slot_call_iterator;
-
- explicit
- BOOST_SIGNALS_SIGNAL(const Combiner& c = Combiner(),
- const GroupCompare& comp = GroupCompare()) :
- BOOST_SIGNALS_NAMESPACE::detail::signal_base(real_group_compare_type(comp),
- c)
- {
- }
-
- // Connect a slot to this signal
- BOOST_SIGNALS_NAMESPACE::connection
- connect(const slot_type&,
- BOOST_SIGNALS_NAMESPACE::connect_position at
- = BOOST_SIGNALS_NAMESPACE::at_back);
-
-
- BOOST_SIGNALS_NAMESPACE::connection
- connect(const group_type&, const slot_type&,
- BOOST_SIGNALS_NAMESPACE::connect_position at
- = BOOST_SIGNALS_NAMESPACE::at_back);
-
- template<typename T>
- void disconnect(const T& t)
- {
- typedef mpl::bool_<(is_convertible<T, group_type>::value)> is_group;
- this->do_disconnect(t, is_group());
- }
-
- private:
- // Disconnect a named slot
- void do_disconnect(const group_type& group, mpl::bool_<true>)
- {
- impl->disconnect(group);
- }
-
- template<typename Function>
- void do_disconnect(const Function& f, mpl::bool_<false>)
- {
- // Notify the slot handling code that we are iterating through the slots
- BOOST_SIGNALS_NAMESPACE::detail::call_notification notification(this->impl);
-
- for (iterator i = impl->slots_.begin(); i != impl->slots_.end(); ++i) {
- slot_function_type& s = *unsafe_any_cast<slot_function_type>(&i->second);
- if (s == f) i->first.disconnect();
- }
- }
-
- public:
-
- // Emit the signal
- result_type operator()(BOOST_SIGNALS_PARMS);
- result_type operator()(BOOST_SIGNALS_PARMS) const;
-
- Combiner& combiner()
- { return *unsafe_any_cast<Combiner>(&impl->combiner_); }
-
- const Combiner& combiner() const
- { return *unsafe_any_cast<const Combiner>(&impl->combiner_); }
- };
-
- template<
- typename R,
- BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction
- >
- BOOST_SIGNALS_NAMESPACE::connection
- BOOST_SIGNALS_SIGNAL<
- R, BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- Combiner, Group, GroupCompare, SlotFunction
- >::connect(const slot_type& in_slot,
- BOOST_SIGNALS_NAMESPACE::connect_position at)
- {
- using boost::BOOST_SIGNALS_NAMESPACE::detail::stored_group;
-
- // If the slot has been disconnected, just return a disconnected
- // connection
- if (!in_slot.is_active()) {
- return BOOST_SIGNALS_NAMESPACE::connection();
- }
-
- return impl->connect_slot(in_slot.get_slot_function(), stored_group(),
- in_slot.get_data(), at);
- }
-
- template<
- typename R,
- BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction
- >
- BOOST_SIGNALS_NAMESPACE::connection
- BOOST_SIGNALS_SIGNAL<
- R, BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- Combiner, Group, GroupCompare, SlotFunction
- >::connect(const group_type& group,
- const slot_type& in_slot,
- BOOST_SIGNALS_NAMESPACE::connect_position at)
- {
- // If the slot has been disconnected, just return a disconnected
- // connection
- if (!in_slot.is_active()) {
- return BOOST_SIGNALS_NAMESPACE::connection();
- }
-
- return impl->connect_slot(in_slot.get_slot_function(), group,
- in_slot.get_data(), at);
- }
-
- template<
- typename R,
- BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction
- >
- typename BOOST_SIGNALS_SIGNAL<
- R, BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- Combiner, Group, GroupCompare, SlotFunction>::result_type
- BOOST_SIGNALS_SIGNAL<
- R, BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- Combiner, Group, GroupCompare, SlotFunction
- >::operator()(BOOST_SIGNALS_PARMS)
- {
- // Notify the slot handling code that we are making a call
- BOOST_SIGNALS_NAMESPACE::detail::call_notification notification(this->impl);
-
- // Construct a function object that will call the underlying slots
- // with the given arguments.
-#if BOOST_SIGNALS_NUM_ARGS == 0
- BOOST_SIGNALS_ARGS_STRUCT_INST args;
-#else
- BOOST_SIGNALS_ARGS_STRUCT_INST args(BOOST_SIGNALS_ARGS);
-#endif // BOOST_SIGNALS_NUM_ARGS > 0
- call_bound_slot f(&args);
-
- typedef typename call_bound_slot::result_type call_result_type;
- optional<call_result_type> cache;
- // Let the combiner call the slots via a pair of input iterators
- return combiner()(slot_call_iterator(notification.impl->slots_.begin(),
- impl->slots_.end(), f, cache),
- slot_call_iterator(notification.impl->slots_.end(),
- impl->slots_.end(), f, cache));
- }
-
- template<
- typename R,
- BOOST_SIGNALS_TEMPLATE_PARMS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- typename Combiner,
- typename Group,
- typename GroupCompare,
- typename SlotFunction
- >
- typename BOOST_SIGNALS_SIGNAL<
- R, BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- Combiner, Group, GroupCompare, SlotFunction>::result_type
- BOOST_SIGNALS_SIGNAL<
- R, BOOST_SIGNALS_TEMPLATE_ARGS
- BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
- Combiner, Group, GroupCompare, SlotFunction
- >::operator()(BOOST_SIGNALS_PARMS) const
- {
- // Notify the slot handling code that we are making a call
- BOOST_SIGNALS_NAMESPACE::detail::call_notification notification(this->impl);
-
- // Construct a function object that will call the underlying slots
- // with the given arguments.
-#if BOOST_SIGNALS_NUM_ARGS == 0
- BOOST_SIGNALS_ARGS_STRUCT_INST args;
-#else
- BOOST_SIGNALS_ARGS_STRUCT_INST args(BOOST_SIGNALS_ARGS);
-#endif // BOOST_SIGNALS_NUM_ARGS > 0
-
- call_bound_slot f(&args);
-
- typedef typename call_bound_slot::result_type call_result_type;
- optional<call_result_type> cache;
-
- // Let the combiner call the slots via a pair of input iterators
- return combiner()(slot_call_iterator(notification.impl->slots_.begin(),
- impl->slots_.end(), f, cache),
- slot_call_iterator(notification.impl->slots_.end(),
- impl->slots_.end(), f, cache));
- }
-} // namespace boost
-
-#undef BOOST_SIGNAL_FUNCTION_N_HEADER
-#undef BOOST_SIGNALS_ARGS_STRUCT_INST
-#undef BOOST_SIGNALS_CALL_BOUND
-#undef BOOST_SIGNALS_ARGS_STRUCT
-#undef BOOST_SIGNALS_FUNCTION
-#undef BOOST_SIGNALS_SIGNAL
-#undef BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
diff --git a/boost/signals/slot.hpp b/boost/signals/slot.hpp
deleted file mode 100644
index bbf1848010..0000000000
--- a/boost/signals/slot.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_SLOT_HEADER
-#define BOOST_SIGNALS_SLOT_HEADER
-
-#include <boost/signals/detail/signals_common.hpp>
-#include <boost/signals/connection.hpp>
-#include <boost/signals/trackable.hpp>
-#include <boost/visit_each.hpp>
-#include <boost/shared_ptr.hpp>
-#include <cassert>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
- namespace BOOST_SIGNALS_NAMESPACE {
- namespace detail {
- class BOOST_SIGNALS_DECL slot_base {
- // We would have to enumerate all of the signalN classes here as
- // friends to make this private (as it otherwise should be). We can't
- // name all of them because we don't know how many there are.
- public:
- struct data_t {
- std::vector<const trackable*> bound_objects;
- connection watch_bound_objects;
- };
- shared_ptr<data_t> get_data() const { return data; }
-
- // Get the set of bound objects
- std::vector<const trackable*>& get_bound_objects() const
- { return data->bound_objects; }
-
- // Determine if this slot is still "active", i.e., all of the bound
- // objects still exist
- bool is_active() const
- { return data->watch_bound_objects.connected(); }
-
- protected:
- // Create a connection for this slot
- void create_connection();
-
- shared_ptr<data_t> data;
-
- private:
- static void bound_object_destructed(void*, void*) {}
- };
- } // end namespace detail
-
- // Get the slot so that it can be copied
- template<typename F>
- reference_wrapper<const F>
- get_invocable_slot(const F& f, BOOST_SIGNALS_NAMESPACE::detail::signal_tag)
- { return reference_wrapper<const F>(f); }
-
- template<typename F>
- const F&
- get_invocable_slot(const F& f, BOOST_SIGNALS_NAMESPACE::detail::reference_tag)
- { return f; }
-
- template<typename F>
- const F&
- get_invocable_slot(const F& f, BOOST_SIGNALS_NAMESPACE::detail::value_tag)
- { return f; }
-
- // Get the slot so that it can be inspected for trackable objects
- template<typename F>
- const F&
- get_inspectable_slot(const F& f, BOOST_SIGNALS_NAMESPACE::detail::signal_tag)
- { return f; }
-
- template<typename F>
- const F&
- get_inspectable_slot(const reference_wrapper<F>& f, BOOST_SIGNALS_NAMESPACE::detail::reference_tag)
- { return f.get(); }
-
- template<typename F>
- const F&
- get_inspectable_slot(const F& f, BOOST_SIGNALS_NAMESPACE::detail::value_tag)
- { return f; }
-
- // Determines the type of the slot - is it a signal, a reference to a
- // slot or just a normal slot.
- template<typename F>
- typename BOOST_SIGNALS_NAMESPACE::detail::get_slot_tag<F>::type
- tag_type(const F&)
- {
- typedef typename BOOST_SIGNALS_NAMESPACE::detail::get_slot_tag<F>::type
- the_tag_type;
- the_tag_type tag = the_tag_type();
- return tag;
- }
-
- } // end namespace BOOST_SIGNALS_NAMESPACE
-
- template<typename SlotFunction>
- class slot : public BOOST_SIGNALS_NAMESPACE::detail::slot_base {
- typedef BOOST_SIGNALS_NAMESPACE::detail::slot_base inherited;
- typedef typename inherited::data_t data_t;
-
- public:
- template<typename F>
- slot(const F& f) : slot_function(BOOST_SIGNALS_NAMESPACE::get_invocable_slot(f, BOOST_SIGNALS_NAMESPACE::tag_type(f)))
- {
- this->data.reset(new data_t);
-
- // Visit each of the bound objects and store them for later use
- // An exception thrown here will allow the basic_connection to be
- // destroyed when this goes out of scope, and no other connections
- // have been made.
- BOOST_SIGNALS_NAMESPACE::detail::bound_objects_visitor
- do_bind(this->data->bound_objects);
- visit_each(do_bind,
- BOOST_SIGNALS_NAMESPACE::get_inspectable_slot
- (f, BOOST_SIGNALS_NAMESPACE::tag_type(f)));
- create_connection();
- }
-
-#ifdef __BORLANDC__
- template<typename F>
- slot(F* f) : slot_function(f)
- {
- this->data.reset(new data_t);
- create_connection();
- }
-#endif // __BORLANDC__
-
- // We would have to enumerate all of the signalN classes here as friends
- // to make this private (as it otherwise should be). We can't name all of
- // them because we don't know how many there are.
- public:
- // Get the slot function to call the actual slot
- const SlotFunction& get_slot_function() const { return slot_function; }
-
- void release() const { data->watch_bound_objects.set_controlling(false); }
-
- private:
- slot(); // no default constructor
- slot& operator=(const slot&); // no assignment operator
-
- SlotFunction slot_function;
- };
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNALS_SLOT_HEADER
diff --git a/boost/signals/trackable.hpp b/boost/signals/trackable.hpp
deleted file mode 100644
index 047236c21c..0000000000
--- a/boost/signals/trackable.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2004. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_SIGNALS_TRACKABLE_HPP
-#define BOOST_SIGNALS_TRACKABLE_HPP
-
-#include <boost/type_traits.hpp>
-#include <boost/signals/connection.hpp>
-#include <boost/ref.hpp>
-#include <boost/utility/addressof.hpp>
-#include <list>
-#include <vector>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
-
-namespace BOOST_SIGNALS_NAMESPACE {
- // Base class for "trackable" objects that can be tracked when they are
- // bound in slot target functions. When a trackable object is destroyed,
- // the signal/slot connections are disconnected automatically.
- class BOOST_SIGNALS_DECL trackable {
- private:
- static void signal_disconnected(void* obj, void* data);
-
- friend class detail::signal_base_impl;
- friend class detail::slot_base;
- void signal_connected(connection, BOOST_SIGNALS_NAMESPACE::detail::bound_object&) const;
-
- protected:
- trackable() : connected_signals(), dying(false) {}
- trackable(const trackable&) : connected_signals(), dying(false) {}
- ~trackable();
-
- trackable& operator=(const trackable&)
- {
- dying = true;
- connected_signals.clear();
- dying = false;
- return *this;
- }
-
- private:
- typedef std::list<connection> connection_list;
- typedef connection_list::iterator connection_iterator;
-
- // List of connections that this object is part of
- mutable connection_list connected_signals;
-
- // True when the object is being destroyed
- mutable bool dying;
- };
-
- namespace detail {
- template<bool Cond> struct truth {};
-
- // A visitor that adds each trackable object to a vector
- class bound_objects_visitor {
- public:
- bound_objects_visitor(std::vector<const trackable*>& v) :
- bound_objects(v)
- {
- }
-
- template<typename T>
- void operator()(const T& t) const
- {
- decode(t, 0);
- }
-
- private:
- // decode() decides between a reference wrapper and anything else
- template<typename T>
- void decode(const reference_wrapper<T>& t, int) const
- {
- add_if_trackable(t.get_pointer());
- }
-
- template<typename T>
- void decode(const T& t, long) const
- {
- typedef truth<(is_pointer<T>::value)> is_a_pointer;
- maybe_get_pointer(t, is_a_pointer());
- }
-
- // maybe_get_pointer() decides between a pointer and a non-pointer
- template<typename T>
- void maybe_get_pointer(const T& t, truth<true>) const
- {
- add_if_trackable(t);
- }
-
- template<typename T>
- void maybe_get_pointer(const T& t, truth<false>) const
- {
- // Take the address of this object, because the object itself may be
- // trackable
- add_if_trackable(boost::addressof(t));
- }
-
- // add_if_trackable() adds trackable objects to the list of bound objects
- inline void add_if_trackable(const trackable* b) const
- {
- if (b) {
- bound_objects.push_back(b);
- }
- }
-
- inline void add_if_trackable(const void*) const { }
-
- template<typename R>
- inline void add_if_trackable(R (*)()) const { }
-
- template<typename R, typename T1>
- inline void add_if_trackable(R (*)(T1)) const { }
-
- template<typename R, typename T1, typename T2>
- inline void add_if_trackable(R (*)(T1, T2)) const { }
-
- template<typename R, typename T1, typename T2, typename T3>
- inline void add_if_trackable(R (*)(T1, T2, T3)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4>
- inline void add_if_trackable(R (*)(T1, T2, T3, T4)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5>
- inline void add_if_trackable(R (*)(T1, T2, T3, T4, T5)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6>
- inline void add_if_trackable(R (*)(T1, T2, T3, T4, T5, T6)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7>
- inline void add_if_trackable(R (*)(T1, T2, T3, T4, T5, T6, T7)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8>
- inline void
- add_if_trackable(R (*)(T1, T2, T3, T4, T5, T6, T7, T8)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8, typename T9>
- inline void
- add_if_trackable(R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)) const { }
-
- template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8, typename T9,
- typename T10>
- inline void
- add_if_trackable(R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)) const { }
-
- std::vector<const trackable*>& bound_objects;
- };
- } // end namespace detail
-} // end namespace BOOST_SIGNALS_NAMESPACE
-
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNALS_TRACKABLE_HPP
diff --git a/boost/smart_ptr/allocate_local_shared_array.hpp b/boost/smart_ptr/allocate_local_shared_array.hpp
index f46f11049b..7591ba655e 100644
--- a/boost/smart_ptr/allocate_local_shared_array.hpp
+++ b/boost/smart_ptr/allocate_local_shared_array.hpp
@@ -30,7 +30,7 @@ struct lsp_if_size_array<T[N]> {
typedef boost::local_shared_ptr<T[N]> type;
};
-class lsp_array_base
+class BOOST_SYMBOL_VISIBLE lsp_array_base
: public local_counted_base {
public:
void set(sp_counted_base* base) BOOST_SP_NOEXCEPT {
diff --git a/boost/smart_ptr/allocate_shared_array.hpp b/boost/smart_ptr/allocate_shared_array.hpp
index 340688146c..c7d2df41cf 100644
--- a/boost/smart_ptr/allocate_shared_array.hpp
+++ b/boost/smart_ptr/allocate_shared_array.hpp
@@ -1,5 +1,5 @@
/*
-Copyright 2012-2017 Glen Joseph Fernandes
+Copyright 2012-2018 Glen Joseph Fernandes
(glenjofe@gmail.com)
Distributed under the Boost Software License, Version 1.0.
@@ -154,33 +154,58 @@ sp_array_destroy(A&, T*, std::size_t) BOOST_SP_NOEXCEPT { }
template<bool E, class A, class T>
inline typename sp_enable<!E &&
!boost::has_trivial_destructor<T>::value>::type
-sp_array_destroy(A&, T* start, std::size_t size)
+sp_array_destroy(A&, T* ptr, std::size_t size)
{
while (size > 0) {
- start[--size].~T();
+ ptr[--size].~T();
}
}
#if !defined(BOOST_NO_CXX11_ALLOCATOR)
template<bool E, class A, class T>
inline typename sp_enable<E>::type
-sp_array_destroy(A& allocator, T* start, std::size_t size)
+sp_array_destroy(A& allocator, T* ptr, std::size_t size)
{
while (size > 0) {
- std::allocator_traits<A>::destroy(allocator, start + --size);
+ std::allocator_traits<A>::destroy(allocator, ptr + --size);
}
}
#endif
template<bool E, class A, class T>
+class sp_destroyer {
+public:
+ sp_destroyer(A& allocator, T* ptr) BOOST_SP_NOEXCEPT
+ : allocator_(allocator),
+ ptr_(ptr),
+ size_(0) { }
+
+ ~sp_destroyer() {
+ sp_array_destroy<E>(allocator_, ptr_, size_);
+ }
+
+ std::size_t& size() BOOST_SP_NOEXCEPT {
+ return size_;
+ }
+
+private:
+ sp_destroyer(const sp_destroyer&);
+ sp_destroyer& operator=(const sp_destroyer&);
+
+ A& allocator_;
+ T* ptr_;
+ std::size_t size_;
+};
+
+template<bool E, class A, class T>
inline typename sp_enable<!E &&
boost::has_trivial_constructor<T>::value &&
boost::has_trivial_assign<T>::value &&
boost::has_trivial_destructor<T>::value>::type
-sp_array_construct(A&, T* start, std::size_t size)
+sp_array_construct(A&, T* ptr, std::size_t size)
{
for (std::size_t i = 0; i < size; ++i) {
- start[i] = T();
+ ptr[i] = T();
}
}
@@ -189,30 +214,11 @@ inline typename sp_enable<!E &&
boost::has_trivial_constructor<T>::value &&
boost::has_trivial_assign<T>::value &&
boost::has_trivial_destructor<T>::value>::type
-sp_array_construct(A&, T* start, std::size_t size, const T* list,
+sp_array_construct(A&, T* ptr, std::size_t size, const T* list,
std::size_t count)
{
for (std::size_t i = 0; i < size; ++i) {
- start[i] = list[i % count];
- }
-}
-
-#if !defined(BOOST_NO_EXCEPTIONS)
-template<bool E, class A, class T>
-inline typename sp_enable<!E &&
- !(boost::has_trivial_constructor<T>::value &&
- boost::has_trivial_assign<T>::value &&
- boost::has_trivial_destructor<T>::value)>::type
-sp_array_construct(A& none, T* start, std::size_t size)
-{
- std::size_t i = 0;
- try {
- for (; i < size; ++i) {
- ::new(static_cast<void*>(start + i)) T();
- }
- } catch (...) {
- sp_array_destroy<E>(none, start, i);
- throw;
+ ptr[i] = list[i % count];
}
}
@@ -221,30 +227,13 @@ inline typename sp_enable<!E &&
!(boost::has_trivial_constructor<T>::value &&
boost::has_trivial_assign<T>::value &&
boost::has_trivial_destructor<T>::value)>::type
-sp_array_construct(A& none, T* start, std::size_t size, const T* list,
- std::size_t count)
-{
- std::size_t i = 0;
- try {
- for (; i < size; ++i) {
- ::new(static_cast<void*>(start + i)) T(list[i % count]);
- }
- } catch (...) {
- sp_array_destroy<E>(none, start, i);
- throw;
- }
-}
-#else
-template<bool E, class A, class T>
-inline typename sp_enable<!E &&
- !(boost::has_trivial_constructor<T>::value &&
- boost::has_trivial_assign<T>::value &&
- boost::has_trivial_destructor<T>::value)>::type
-sp_array_construct(A&, T* start, std::size_t size)
+sp_array_construct(A& none, T* ptr, std::size_t size)
{
- for (std::size_t i = 0; i < size; ++i) {
- ::new(static_cast<void*>(start + i)) T();
+ sp_destroyer<E, A, T> hold(none, ptr);
+ for (std::size_t& i = hold.size(); i < size; ++i) {
+ ::new(static_cast<void*>(ptr + i)) T();
}
+ hold.size() = 0;
}
template<bool E, class A, class T>
@@ -252,100 +241,56 @@ inline typename sp_enable<!E &&
!(boost::has_trivial_constructor<T>::value &&
boost::has_trivial_assign<T>::value &&
boost::has_trivial_destructor<T>::value)>::type
-sp_array_construct(A&, T* start, std::size_t size, const T* list,
+sp_array_construct(A& none, T* ptr, std::size_t size, const T* list,
std::size_t count)
{
- for (std::size_t i = 0; i < size; ++i) {
- ::new(static_cast<void*>(start + i)) T(list[i % count]);
+ sp_destroyer<E, A, T> hold(none, ptr);
+ for (std::size_t& i = hold.size(); i < size; ++i) {
+ ::new(static_cast<void*>(ptr + i)) T(list[i % count]);
}
+ hold.size() = 0;
}
-#endif
#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-#if !defined(BOOST_NO_EXCEPTIONS)
-template<bool E, class A, class T>
-inline typename sp_enable<E>::type
-sp_array_construct(A& allocator, T* start, std::size_t size)
-{
- std::size_t i = 0;
- try {
- for (i = 0; i < size; ++i) {
- std::allocator_traits<A>::construct(allocator, start + i);
- }
- } catch (...) {
- sp_array_destroy<E>(allocator, start, i);
- throw;
- }
-}
-
-template<bool E, class A, class T>
-inline typename sp_enable<E>::type
-sp_array_construct(A& allocator, T* start, std::size_t size, const T* list,
- std::size_t count)
-{
- std::size_t i = 0;
- try {
- for (i = 0; i < size; ++i) {
- std::allocator_traits<A>::construct(allocator, start + i,
- list[i % count]);
- }
- } catch (...) {
- sp_array_destroy<E>(allocator, start, i);
- throw;
- }
-}
-#else
template<bool E, class A, class T>
inline typename sp_enable<E>::type
-sp_array_construct(A& allocator, T* start, std::size_t size)
+sp_array_construct(A& allocator, T* ptr, std::size_t size)
{
- for (std::size_t i = 0; i < size; ++i) {
- std::allocator_traits<A>::construct(allocator, start + i);
+ sp_destroyer<E, A, T> hold(allocator, ptr);
+ for (std::size_t& i = hold.size(); i < size; ++i) {
+ std::allocator_traits<A>::construct(allocator, ptr + i);
}
+ hold.size() = 0;
}
template<bool E, class A, class T>
inline typename sp_enable<E>::type
-sp_array_construct(A& allocator, T* start, std::size_t size, const T* list,
+sp_array_construct(A& allocator, T* ptr, std::size_t size, const T* list,
std::size_t count)
{
- for (std::size_t i = 0; i < size; ++i) {
- std::allocator_traits<A>::construct(allocator, start + i,
+ sp_destroyer<E, A, T> hold(allocator, ptr);
+ for (std::size_t& i = hold.size(); i < size; ++i) {
+ std::allocator_traits<A>::construct(allocator, ptr + i,
list[i % count]);
}
+ hold.size() = 0;
}
#endif
-#endif
template<class A, class T>
inline typename sp_enable<boost::has_trivial_constructor<T>::value>::type
sp_array_default(A&, T*, std::size_t) BOOST_SP_NOEXCEPT { }
-#if !defined(BOOST_NO_EXCEPTIONS)
template<class A, class T>
inline typename sp_enable<!boost::has_trivial_constructor<T>::value>::type
-sp_array_default(A& none, T* start, std::size_t size)
-{
- std::size_t i = 0;
- try {
- for (; i < size; ++i) {
- ::new(static_cast<void*>(start + i)) T;
- }
- } catch (...) {
- sp_array_destroy<false>(none, start, i);
- throw;
- }
-}
-#else
-template<bool E, class A, class T>
-inline typename sp_enable<!boost::has_trivial_constructor<T>::value>::type
-sp_array_default(A&, T* start, std::size_t size)
+sp_array_default(A& none, T* ptr, std::size_t size)
{
- for (std::size_t i = 0; i < size; ++i) {
- ::new(static_cast<void*>(start + i)) T;
+ sp_destroyer<false, A, T> hold(none, ptr);
+ for (std::size_t& i = hold.size(); i < size; ++i) {
+ ::new(static_cast<void*>(ptr + i)) T;
}
+ hold.size() = 0;
}
-#endif
template<class A>
class sp_array_state {
@@ -479,7 +424,7 @@ private:
struct sp_default { };
template<class T, bool E = sp_use_construct<T>::value>
-class sp_array_base
+class BOOST_SYMBOL_VISIBLE sp_array_base
: public sp_counted_base {
typedef typename T::type allocator;
diff --git a/boost/smart_ptr/detail/local_counted_base.hpp b/boost/smart_ptr/detail/local_counted_base.hpp
index fdfe2c65cd..bda5f70d44 100644
--- a/boost/smart_ptr/detail/local_counted_base.hpp
+++ b/boost/smart_ptr/detail/local_counted_base.hpp
@@ -27,7 +27,7 @@ namespace boost
namespace detail
{
-class local_counted_base
+class BOOST_SYMBOL_VISIBLE local_counted_base
{
private:
@@ -89,7 +89,7 @@ public:
}
};
-class local_counted_impl: public local_counted_base
+class BOOST_SYMBOL_VISIBLE local_counted_impl: public local_counted_base
{
private:
@@ -124,7 +124,7 @@ public:
}
};
-class local_counted_impl_em: public local_counted_base
+class BOOST_SYMBOL_VISIBLE local_counted_impl_em: public local_counted_base
{
public:
diff --git a/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
index ec6f6ee184..aa7ea9a20a 100644
--- a/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
@@ -16,6 +16,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <machine/sys/inline.h>
namespace boost
@@ -71,7 +72,7 @@ inline int atomic_conditional_increment( int * pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_aix.hpp b/boost/smart_ptr/detail/sp_counted_base_aix.hpp
index ce8ee686ba..cbb642687e 100644
--- a/boost/smart_ptr/detail/sp_counted_base_aix.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_aix.hpp
@@ -21,6 +21,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <builtins.h>
#include <sys/atomic_op.h>
@@ -63,7 +64,7 @@ inline int32_t atomic_conditional_increment( int32_t * pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_clang.hpp b/boost/smart_ptr/detail/sp_counted_base_clang.hpp
index 5d6e073d95..c2c20d3ab9 100644
--- a/boost/smart_ptr/detail/sp_counted_base_clang.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_clang.hpp
@@ -16,6 +16,7 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <boost/cstdint.hpp>
namespace boost
@@ -63,7 +64,7 @@ inline boost::int_least32_t atomic_conditional_increment( atomic_int_least32_t *
# pragma clang diagnostic ignored "-Wweak-vtables"
#endif
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
index 065f7c3d14..c43297e0e4 100644
--- a/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
@@ -25,6 +25,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -91,7 +92,7 @@ store:
return a;
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp b/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
index 3a3d4d4119..ce34b4cbc4 100644
--- a/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
@@ -26,6 +26,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -79,7 +80,7 @@ inline int atomic_conditional_increment( int * pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
index 6c3cce8d44..32642df778 100644
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
@@ -17,6 +17,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -78,7 +79,7 @@ inline int atomic_conditional_increment( int * pw )
return rv;
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
index c3175cf8ed..c4ce0537c9 100644
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
@@ -21,6 +21,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -108,7 +109,7 @@ inline int atomic_conditional_increment( int * pw )
return rv;
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
index 0fb807488a..5cf5b3fa66 100644
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
@@ -25,6 +25,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -102,7 +103,7 @@ inline int atomic_conditional_increment( int * pw )
return rv;
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
index b8bb707f1b..2f27b96e1e 100644
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
@@ -20,6 +20,7 @@
// Thanks to Michael van der Westhuizen
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <inttypes.h> // int32_t
namespace boost
@@ -87,7 +88,7 @@ inline int32_t atomic_conditional_increment( int32_t * pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
index 3d2dd61ed6..ec44c7066f 100644
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
@@ -25,6 +25,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -94,7 +95,7 @@ inline int atomic_conditional_increment( int * pw )
return rv;
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/boost/smart_ptr/detail/sp_counted_base_nt.hpp
index dea905c905..e61bd88362 100644
--- a/boost/smart_ptr/detail/sp_counted_base_nt.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_nt.hpp
@@ -19,6 +19,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -26,7 +27,7 @@ namespace boost
namespace detail
{
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/boost/smart_ptr/detail/sp_counted_base_pt.hpp
index 85f2563d5d..3110f2380f 100644
--- a/boost/smart_ptr/detail/sp_counted_base_pt.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_pt.hpp
@@ -20,6 +20,7 @@
#include <boost/detail/sp_typeinfo.hpp>
#include <boost/assert.hpp>
+#include <boost/config.hpp>
#include <pthread.h>
namespace boost
@@ -28,7 +29,7 @@ namespace boost
namespace detail
{
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
index 7b5f9178a6..1b9979bfb5 100644
--- a/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
@@ -20,6 +20,7 @@
// Thanks to Michael van der Westhuizen
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <inttypes.h> // uint32_t
namespace boost
@@ -82,7 +83,7 @@ inline uint32_t atomic_conditional_increment( uint32_t * pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_solaris.hpp b/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
index 0db9c6cbd5..c0d69dcdcb 100644
--- a/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
@@ -21,6 +21,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <atomic.h>
namespace boost
@@ -29,7 +30,7 @@ namespace boost
namespace detail
{
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/boost/smart_ptr/detail/sp_counted_base_spin.hpp
index faf503ad57..b9966260cb 100644
--- a/boost/smart_ptr/detail/sp_counted_base_spin.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_spin.hpp
@@ -20,6 +20,7 @@
#include <boost/detail/sp_typeinfo.hpp>
#include <boost/smart_ptr/detail/spinlock_pool.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -51,7 +52,7 @@ inline int atomic_conditional_increment( int * pw )
return rv;
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp b/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
index 9f562b9b4a..8cd18c9541 100644
--- a/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
@@ -16,6 +16,7 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <atomic>
#include <cstdint>
@@ -57,7 +58,7 @@ inline std::int_least32_t atomic_conditional_increment( std::atomic_int_least32_
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/boost/smart_ptr/detail/sp_counted_base_sync.hpp
index d2138e7c26..17128cc97e 100644
--- a/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_sync.hpp
@@ -16,6 +16,7 @@
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
#include <limits.h>
#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
@@ -76,7 +77,7 @@ inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
index f2de3b02d8..088ed63972 100644
--- a/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
@@ -22,6 +22,7 @@
//
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
extern "builtin" void __lwsync(void);
extern "builtin" void __isync(void);
@@ -70,7 +71,7 @@ inline int atomic_conditional_increment( int *pw )
}
}
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/boost/smart_ptr/detail/sp_counted_base_w32.hpp
index 960e42e128..46bd4d15a9 100644
--- a/boost/smart_ptr/detail/sp_counted_base_w32.hpp
+++ b/boost/smart_ptr/detail/sp_counted_base_w32.hpp
@@ -27,6 +27,7 @@
#include <boost/smart_ptr/detail/sp_interlocked.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/detail/sp_typeinfo.hpp>
+#include <boost/config.hpp>
namespace boost
{
@@ -34,7 +35,7 @@ namespace boost
namespace detail
{
-class sp_counted_base
+class BOOST_SYMBOL_VISIBLE sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_counted_impl.hpp b/boost/smart_ptr/detail/sp_counted_impl.hpp
index fa2f75eb1a..3c0502a4ec 100644
--- a/boost/smart_ptr/detail/sp_counted_impl.hpp
+++ b/boost/smart_ptr/detail/sp_counted_impl.hpp
@@ -64,7 +64,7 @@ template<class D> D * get_local_deleter( local_sp_deleter<D> * p );
//
-template<class X> class sp_counted_impl_p: public sp_counted_base
+template<class X> class BOOST_SYMBOL_VISIBLE sp_counted_impl_p: public sp_counted_base
{
private:
@@ -143,7 +143,7 @@ public:
# pragma option push -Vx-
#endif
-template<class P, class D> class sp_counted_impl_pd: public sp_counted_base
+template<class P, class D> class BOOST_SYMBOL_VISIBLE sp_counted_impl_pd: public sp_counted_base
{
private:
@@ -216,7 +216,7 @@ public:
#endif
};
-template<class P, class D, class A> class sp_counted_impl_pda: public sp_counted_base
+template<class P, class D, class A> class BOOST_SYMBOL_VISIBLE sp_counted_impl_pda: public sp_counted_base
{
private:
diff --git a/boost/smart_ptr/detail/sp_interlocked.hpp b/boost/smart_ptr/detail/sp_interlocked.hpp
index 68ce292fcc..e181b8eeae 100644
--- a/boost/smart_ptr/detail/sp_interlocked.hpp
+++ b/boost/smart_ptr/detail/sp_interlocked.hpp
@@ -42,6 +42,11 @@
# define BOOST_SP_HAS_INTRIN_H
+// clang-cl on Windows on VC10+ stdlib
+#elif defined( __clang__ ) && defined( _MSC_VER ) && defined( _CPPLIB_VER ) && _CPPLIB_VER >= 520
+
+# define BOOST_SP_HAS_INTRIN_H
+
#endif
#if defined( BOOST_USE_WINDOWS_H )
diff --git a/boost/sort/block_indirect_sort/blk_detail/parallel_sort.hpp b/boost/sort/block_indirect_sort/blk_detail/parallel_sort.hpp
index 98c0e48a5c..b11993dd07 100644
--- a/boost/sort/block_indirect_sort/blk_detail/parallel_sort.hpp
+++ b/boost/sort/block_indirect_sort/blk_detail/parallel_sort.hpp
@@ -208,7 +208,7 @@ void parallel_sort<Block_size, Iter_t, Compare>
while (bk.cmp(*c_first, val)) ++c_first;
while (bk.cmp(val, *c_last)) --c_last;
- while (not (c_first > c_last))
+ while (c_first < c_last)
{
std::swap(*(c_first++), *(c_last--));
while (bk.cmp(*c_first, val))
diff --git a/boost/sort/block_indirect_sort/block_indirect_sort.hpp b/boost/sort/block_indirect_sort/block_indirect_sort.hpp
index 62abde29a5..31ce3fe6e2 100644
--- a/boost/sort/block_indirect_sort/block_indirect_sort.hpp
+++ b/boost/sort/block_indirect_sort/block_indirect_sort.hpp
@@ -427,7 +427,7 @@ namespace bscu = boost::sort::common::util;
//
//-----------------------------------------------------------------------------
// function : block_indirect_sort
-/// @brief parallel sample sort algorithm (stable sort)
+/// @brief invocation of block_indirtect_sort with 2 parameters
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
@@ -443,7 +443,8 @@ void block_indirect_sort(Iter_t first, Iter_t last)
//
//-----------------------------------------------------------------------------
// function : block_indirect_sort
-/// @brief parallel sample sort algorithm (stable sort)
+/// @brief invocation of block_indirtect_sort with 3 parameters. The third is
+/// the number of threads
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
@@ -459,7 +460,8 @@ void block_indirect_sort(Iter_t first, Iter_t last, uint32_t nthread)
//
//-----------------------------------------------------------------------------
// function : block_indirect_sort
-/// @brief parallel sample sort algorithm (stable sort)
+/// @brief invocation of block_indirtect_sort with 3 parameters. The third is
+/// the comparison object
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
@@ -477,7 +479,7 @@ void block_indirect_sort(Iter_t first, Iter_t last, Compare comp)
//
//-----------------------------------------------------------------------------
// function : block_indirect_sort
-/// @brief parallel sample sort algorithm (stable sort)
+/// @brief invocation of block_indirtect_sort with 4 parameters.
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
diff --git a/boost/sort/common/pivot.hpp b/boost/sort/common/pivot.hpp
index 5182fbd273..3fa924ba6b 100644..100755
--- a/boost/sort/common/pivot.hpp
+++ b/boost/sort/common/pivot.hpp
@@ -42,11 +42,12 @@ namespace common
template < typename Iter_t, typename Compare >
inline Iter_t mid3 (Iter_t iter_1, Iter_t iter_2, Iter_t iter_3, Compare comp)
{
- return comp (*iter_1, *iter_2)
- ? (comp (*iter_2, *iter_3)?
- iter_2 : (comp (*iter_1, *iter_3) ? iter_3 : iter_1))
- : (comp (*iter_3, *iter_2)?
- iter_2 : (comp (*iter_3, *iter_1) ? iter_3 : iter_1));
+ if (comp (*iter_2, *iter_1)) std::swap ( *iter_2, *iter_1);
+ if (comp (*iter_3, *iter_2))
+ { std::swap ( *iter_3, *iter_2);
+ if (comp (*iter_2, *iter_1)) std::swap ( *iter_2, *iter_1);
+ };
+ return iter_2;
};
//
//-----------------------------------------------------------------------------
@@ -115,8 +116,8 @@ inline void pivot9 (Iter_t first, Iter_t last, Compare comp)
std::swap (*first, *itaux);
};
//****************************************************************************
-}; // End namespace common
-}; // End namespace sort
-}; // End namespace boost
+};// End namespace common
+};// End namespace sort
+};// End namespace boost
//****************************************************************************
#endif
diff --git a/boost/sort/parallel_stable_sort/parallel_stable_sort.hpp b/boost/sort/parallel_stable_sort/parallel_stable_sort.hpp
index 9df7dffd2a..3dc92f21dd 100644
--- a/boost/sort/parallel_stable_sort/parallel_stable_sort.hpp
+++ b/boost/sort/parallel_stable_sort/parallel_stable_sort.hpp
@@ -218,7 +218,7 @@ using bsc::merge_half;
//
//-----------------------------------------------------------------------------
// function : parallel_stable_sort
-/// @brief : parallel stable sort algorithm.
+/// @brief : parallel stable sort with 2 parameters
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
@@ -232,7 +232,8 @@ void parallel_stable_sort(Iter_t first, Iter_t last)
//
//-----------------------------------------------------------------------------
// function : parallel_stable_sort
-/// @brief parallel stable sort.
+/// @brief parallel stable sort with 3 parameters. The third is the number
+/// of threads
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
@@ -248,7 +249,8 @@ void parallel_stable_sort(Iter_t first, Iter_t last, uint32_t nthread)
//
//-----------------------------------------------------------------------------
// function : parallel_stable_sort
-/// @brief : parallel stable sort.
+/// @brief : parallel stable sort with 3 parameters. The thisrd is the
+/// comparison object
///
/// @param first : iterator to the first element of the range to sort
/// @param last : iterator after the last element to the range to sort
@@ -261,6 +263,26 @@ void parallel_stable_sort(Iter_t first, Iter_t last, Compare comp)
{
stable_detail::parallel_stable_sort<Iter_t, Compare>(first, last, comp);
};
+
+//
+//-----------------------------------------------------------------------------
+// function : parallel_stable_sort
+/// @brief : parallel stable sort with 3 parameters.
+///
+/// @param first : iterator to the first element of the range to sort
+/// @param last : iterator after the last element to the range to sort
+/// @param comp : object for to compare two elements pointed by Iter_t
+/// iterators
+/// @param nthread : Number of threads to use in the process. When this value
+/// is lower than 2, the sorting is done with 1 thread
+//-----------------------------------------------------------------------------
+template<class Iter_t, class Compare>
+void parallel_stable_sort (Iter_t first, Iter_t last, Compare comp,
+ uint32_t nthread)
+{
+ stable_detail::parallel_stable_sort<Iter_t, Compare>
+ (first, last, comp, nthread);
+}
//
//****************************************************************************
};// End namespace sort
diff --git a/boost/sort/spreadsort/detail/constants.hpp b/boost/sort/spreadsort/detail/constants.hpp
index 9eebc43c69..a7286e345c 100644
--- a/boost/sort/spreadsort/detail/constants.hpp
+++ b/boost/sort/spreadsort/detail/constants.hpp
@@ -27,7 +27,7 @@ int_log_mean_bin_size = 2,
//Minimum value 1
int_log_min_split_count = 9,
//This is the minimum split count to use spreadsort when it will finish in one
-//iteration. Make this larger the faster std::sort is relative to integer_sort.
+//iteration. Make this larger the faster boost::sort::pdqsort is relative to integer_sort.
int_log_finishing_count = 31,
//Sets the minimum number of items per bin for floating point.
float_log_mean_bin_size = 2,
@@ -35,7 +35,7 @@ float_log_mean_bin_size = 2,
//Minimum value 1
float_log_min_split_count = 8,
//This is the minimum split count to use spreadsort when it will finish in one
-//iteration. Make this larger the faster std::sort is relative to float_sort.
+//iteration. Make this larger the faster boost::sort::pdqsort is relative to float_sort.
float_log_finishing_count = 4,
//There is a minimum size below which it is not worth using spreadsort
min_sort_size = 1000 };
diff --git a/boost/sort/spreadsort/detail/float_sort.hpp b/boost/sort/spreadsort/detail/float_sort.hpp
index 93aaa2f69e..daf5e0b7de 100644
--- a/boost/sort/spreadsort/detail/float_sort.hpp
+++ b/boost/sort/spreadsort/detail/float_sort.hpp
@@ -212,7 +212,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[u]);
+ boost::sort::pdqsort(lastPos, bin_cache[u]);
else
positive_float_sort_rec<RandomAccessIter, Div_type, Size_type>
(lastPos, bin_cache[u], bin_cache, cache_end, bin_sizes);
@@ -273,7 +273,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[ii]);
+ boost::sort::pdqsort(lastPos, bin_cache[ii]);
else
negative_float_sort_rec<RandomAccessIter, Div_type, Size_type>
(lastPos, bin_cache[ii], bin_cache, cache_end, bin_sizes);
@@ -332,7 +332,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[ii]);
+ boost::sort::pdqsort(lastPos, bin_cache[ii]);
else
negative_float_sort_rec<RandomAccessIter, Div_type, Right_shift,
Size_type>
@@ -390,7 +390,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[ii], comp);
+ boost::sort::pdqsort(lastPos, bin_cache[ii], comp);
else
negative_float_sort_rec<RandomAccessIter, Div_type, Right_shift,
Compare, Size_type>(lastPos, bin_cache[ii],
@@ -475,7 +475,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[ii]);
+ boost::sort::pdqsort(lastPos, bin_cache[ii]);
//sort negative values using reversed-bin spreadsort
else
negative_float_sort_rec<RandomAccessIter, Div_type, Size_type>
@@ -488,7 +488,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[u]);
+ boost::sort::pdqsort(lastPos, bin_cache[u]);
//sort positive values using normal spreadsort
else
positive_float_sort_rec<RandomAccessIter, Div_type, Size_type>
@@ -571,7 +571,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[ii]);
+ boost::sort::pdqsort(lastPos, bin_cache[ii]);
//sort negative values using reversed-bin spreadsort
else
negative_float_sort_rec<RandomAccessIter, Div_type,
@@ -585,7 +585,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[u]);
+ boost::sort::pdqsort(lastPos, bin_cache[u]);
//sort positive values using normal spreadsort
else
spreadsort_rec<RandomAccessIter, Div_type, Right_shift, Size_type,
@@ -670,7 +670,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[ii], comp);
+ boost::sort::pdqsort(lastPos, bin_cache[ii], comp);
//sort negative values using reversed-bin spreadsort
else
negative_float_sort_rec<RandomAccessIter, Div_type, Right_shift,
@@ -685,7 +685,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[u], comp);
+ boost::sort::pdqsort(lastPos, bin_cache[u], comp);
//sort positive values using normal spreadsort
else
spreadsort_rec<RandomAccessIter, Div_type, Right_shift, Compare,
@@ -741,7 +741,7 @@ namespace spreadsort {
sizeof(typename std::iterator_traits<RandomAccessIter>::value_type))
|| !std::numeric_limits<typename
std::iterator_traits<RandomAccessIter>::value_type>::is_iec559);
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
}
//These approaches require the user to do the typecast
@@ -771,7 +771,7 @@ namespace spreadsort {
(first, last, bin_cache, 0, bin_sizes, rshift);
}
- //sizeof(Div_type) doesn't match, so use std::sort
+ //sizeof(Div_type) doesn't match, so use boost::sort::pdqsort
template <class RandomAccessIter, class Div_type, class Right_shift>
inline typename boost::disable_if_c< sizeof(boost::uintmax_t) >=
sizeof(Div_type), void >::type
@@ -779,7 +779,7 @@ namespace spreadsort {
Right_shift rshift)
{
BOOST_STATIC_WARNING(sizeof(boost::uintmax_t) >= sizeof(Div_type));
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
}
//specialized comparison
@@ -812,7 +812,7 @@ namespace spreadsort {
(first, last, bin_cache, 0, bin_sizes, rshift, comp);
}
- //sizeof(Div_type) doesn't match, so use std::sort
+ //sizeof(Div_type) doesn't match, so use boost::sort::pdqsort
template <class RandomAccessIter, class Div_type, class Right_shift,
class Compare>
inline typename boost::disable_if_c< sizeof(boost::uintmax_t) >=
@@ -821,7 +821,7 @@ namespace spreadsort {
Right_shift rshift, Compare comp)
{
BOOST_STATIC_WARNING(sizeof(boost::uintmax_t) >= sizeof(Div_type));
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
}
}
}
diff --git a/boost/sort/spreadsort/detail/integer_sort.hpp b/boost/sort/spreadsort/detail/integer_sort.hpp
index 6d6886cfd9..8aa90a72d0 100644
--- a/boost/sort/spreadsort/detail/integer_sort.hpp
+++ b/boost/sort/spreadsort/detail/integer_sort.hpp
@@ -186,9 +186,9 @@ namespace spreadsort {
//don't sort unless there are at least two items to Compare
if (count < 2)
continue;
- //using std::sort if its worst-case is better
+ //using boost::sort::pdqsort if its worst-case is better
if (count < max_count)
- std::sort(lastPos, bin_cache[u]);
+ boost::sort::pdqsort(lastPos, bin_cache[u]);
else
spreadsort_rec<RandomAccessIter, Div_type, Size_type>(lastPos,
bin_cache[u],
@@ -294,7 +294,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[u], comp);
+ boost::sort::pdqsort(lastPos, bin_cache[u], comp);
else
spreadsort_rec<RandomAccessIter, Div_type, Right_shift, Compare,
Size_type, log_mean_bin_size, log_min_split_count, log_finishing_count>
@@ -351,7 +351,7 @@ namespace spreadsort {
if (count < 2)
continue;
if (count < max_count)
- std::sort(lastPos, bin_cache[u]);
+ boost::sort::pdqsort(lastPos, bin_cache[u]);
else
spreadsort_rec<RandomAccessIter, Div_type, Right_shift, Size_type,
log_mean_bin_size, log_min_split_count, log_finishing_count>(lastPos,
@@ -388,12 +388,12 @@ namespace spreadsort {
template <class RandomAccessIter, class Div_type>
inline typename boost::disable_if_c< sizeof(Div_type) <= sizeof(size_t)
|| sizeof(Div_type) <= sizeof(boost::uintmax_t), void >::type
- //defaulting to std::sort when integer_sort won't work
+ //defaulting to boost::sort::pdqsort when integer_sort won't work
integer_sort(RandomAccessIter first, RandomAccessIter last, Div_type)
{
- //Warning that we're using std::sort, even though integer_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though integer_sort was called
BOOST_STATIC_WARNING( sizeof(Div_type) <= sizeof(size_t) );
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
}
@@ -434,13 +434,13 @@ namespace spreadsort {
class Compare>
inline typename boost::disable_if_c< sizeof(Div_type) <= sizeof(size_t)
|| sizeof(Div_type) <= sizeof(boost::uintmax_t), void >::type
- //defaulting to std::sort when integer_sort won't work
+ //defaulting to boost::sort::pdqsort when integer_sort won't work
integer_sort(RandomAccessIter first, RandomAccessIter last, Div_type,
Right_shift shift, Compare comp)
{
- //Warning that we're using std::sort, even though integer_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though integer_sort was called
BOOST_STATIC_WARNING( sizeof(Div_type) <= sizeof(size_t) );
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
}
@@ -478,13 +478,13 @@ namespace spreadsort {
template <class RandomAccessIter, class Div_type, class Right_shift>
inline typename boost::disable_if_c< sizeof(Div_type) <= sizeof(size_t)
|| sizeof(Div_type) <= sizeof(boost::uintmax_t), void >::type
- //defaulting to std::sort when integer_sort won't work
+ //defaulting to boost::sort::pdqsort when integer_sort won't work
integer_sort(RandomAccessIter first, RandomAccessIter last, Div_type,
Right_shift shift)
{
- //Warning that we're using std::sort, even though integer_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though integer_sort was called
BOOST_STATIC_WARNING( sizeof(Div_type) <= sizeof(size_t) );
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
}
}
}
diff --git a/boost/sort/spreadsort/detail/spreadsort_common.hpp b/boost/sort/spreadsort/detail/spreadsort_common.hpp
index 5729c186f4..d495e13772 100644
--- a/boost/sort/spreadsort/detail/spreadsort_common.hpp
+++ b/boost/sort/spreadsort/detail/spreadsort_common.hpp
@@ -22,6 +22,7 @@ Phil Endecott and Frank Gennari
#include <functional>
#include <boost/static_assert.hpp>
#include <boost/serialization/static_warning.hpp>
+#include <boost/sort/pdqsort/pdqsort.hpp>
#include <boost/sort/spreadsort/detail/constants.hpp>
#include <boost/cstdint.hpp>
diff --git a/boost/sort/spreadsort/detail/string_sort.hpp b/boost/sort/spreadsort/detail/string_sort.hpp
index a548ebefa5..b7ca5e54d0 100644
--- a/boost/sort/spreadsort/detail/string_sort.hpp
+++ b/boost/sort/spreadsort/detail/string_sort.hpp
@@ -251,9 +251,9 @@ namespace spreadsort {
//don't sort unless there are at least two items to Compare
if (count < 2)
continue;
- //using std::sort if its worst-case is better
+ //using boost::sort::pdqsort if its worst-case is better
if (count < max_size)
- std::sort(lastPos, bin_cache[u],
+ boost::sort::pdqsort(lastPos, bin_cache[u],
offset_less_than<Data_type, Unsigned_char_type>(char_offset + 1));
else
string_sort_rec<RandomAccessIter, Unsigned_char_type>(lastPos,
@@ -362,9 +362,9 @@ namespace spreadsort {
//don't sort unless there are at least two items to Compare
if (count < 2)
continue;
- //using std::sort if its worst-case is better
+ //using boost::sort::pdqsort if its worst-case is better
if (count < max_size)
- std::sort(lastPos, bin_cache[u], offset_greater_than<Data_type,
+ boost::sort::pdqsort(lastPos, bin_cache[u], offset_greater_than<Data_type,
Unsigned_char_type>(char_offset + 1));
else
reverse_string_sort_rec<RandomAccessIter, Unsigned_char_type>
@@ -464,9 +464,9 @@ namespace spreadsort {
//don't sort unless there are at least two items to Compare
if (count < 2)
continue;
- //using std::sort if its worst-case is better
+ //using boost::sort::pdqsort if its worst-case is better
if (count < max_size)
- std::sort(lastPos, bin_cache[u], offset_char_less_than<Data_type,
+ boost::sort::pdqsort(lastPos, bin_cache[u], offset_char_less_than<Data_type,
Get_char, Get_length>(char_offset + 1));
else
string_sort_rec<RandomAccessIter, Unsigned_char_type, Get_char,
@@ -565,9 +565,9 @@ namespace spreadsort {
//don't sort unless there are at least two items to Compare
if (count < 2)
continue;
- //using std::sort if its worst-case is better
+ //using boost::sort::pdqsort if its worst-case is better
if (count < max_size)
- std::sort(lastPos, bin_cache[u], comp);
+ boost::sort::pdqsort(lastPos, bin_cache[u], comp);
else
string_sort_rec<RandomAccessIter, Unsigned_char_type, Get_char,
Get_length, Compare>
@@ -670,9 +670,9 @@ namespace spreadsort {
//don't sort unless there are at least two items to Compare
if (count < 2)
continue;
- //using std::sort if its worst-case is better
+ //using boost::sort::pdqsort if its worst-case is better
if (count < max_size)
- std::sort(lastPos, bin_cache[u], comp);
+ boost::sort::pdqsort(lastPos, bin_cache[u], comp);
else
reverse_string_sort_rec<RandomAccessIter, Unsigned_char_type,
Get_char, Get_length, Compare>
@@ -700,9 +700,9 @@ namespace spreadsort {
string_sort(RandomAccessIter first, RandomAccessIter last,
Unsigned_char_type)
{
- //Warning that we're using std::sort, even though string_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though string_sort was called
BOOST_STATIC_WARNING( sizeof(Unsigned_char_type) <= 2 );
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
}
//Holds the bin vector and makes the initial recursive call
@@ -726,9 +726,9 @@ namespace spreadsort {
{
typedef typename std::iterator_traits<RandomAccessIter>::value_type
Data_type;
- //Warning that we're using std::sort, even though string_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though string_sort was called
BOOST_STATIC_WARNING( sizeof(Unsigned_char_type) <= 2 );
- std::sort(first, last, std::greater<Data_type>());
+ boost::sort::pdqsort(first, last, std::greater<Data_type>());
}
//Holds the bin vector and makes the initial recursive call
@@ -752,9 +752,9 @@ namespace spreadsort {
string_sort(RandomAccessIter first, RandomAccessIter last,
Get_char get_character, Get_length length, Unsigned_char_type)
{
- //Warning that we're using std::sort, even though string_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though string_sort was called
BOOST_STATIC_WARNING( sizeof(Unsigned_char_type) <= 2 );
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
}
//Holds the bin vector and makes the initial recursive call
@@ -780,9 +780,9 @@ namespace spreadsort {
string_sort(RandomAccessIter first, RandomAccessIter last,
Get_char get_character, Get_length length, Compare comp, Unsigned_char_type)
{
- //Warning that we're using std::sort, even though string_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though string_sort was called
BOOST_STATIC_WARNING( sizeof(Unsigned_char_type) <= 2 );
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
}
//Holds the bin vector and makes the initial recursive call
@@ -807,9 +807,9 @@ namespace spreadsort {
reverse_string_sort(RandomAccessIter first, RandomAccessIter last,
Get_char get_character, Get_length length, Compare comp, Unsigned_char_type)
{
- //Warning that we're using std::sort, even though string_sort was called
+ //Warning that we're using boost::sort::pdqsort, even though string_sort was called
BOOST_STATIC_WARNING( sizeof(Unsigned_char_type) <= 2 );
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
}
}
}
diff --git a/boost/sort/spreadsort/float_sort.hpp b/boost/sort/spreadsort/float_sort.hpp
index d5310d19ce..c48a5da949 100644
--- a/boost/sort/spreadsort/float_sort.hpp
+++ b/boost/sort/spreadsort/float_sort.hpp
@@ -87,7 +87,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
inline void float_sort(RandomAccessIter first, RandomAccessIter last)
{
if (last - first < detail::min_sort_size)
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
else
detail::float_sort(first, last);
}
@@ -117,7 +117,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
Right_shift rshift)
{
if (last - first < detail::min_sort_size)
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
else
detail::float_sort(first, last, rshift(*first, 0), rshift);
}
@@ -150,7 +150,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
Right_shift rshift, Compare comp)
{
if (last - first < detail::min_sort_size)
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
else
detail::float_sort(first, last, rshift(*first, 0), rshift, comp);
}
diff --git a/boost/sort/spreadsort/integer_sort.hpp b/boost/sort/spreadsort/integer_sort.hpp
index 6bf3f683e1..a98cb37cc8 100644
--- a/boost/sort/spreadsort/integer_sort.hpp
+++ b/boost/sort/spreadsort/integer_sort.hpp
@@ -34,7 +34,7 @@ namespace spreadsort {
/*! \brief Integer sort algorithm using random access iterators.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c integer_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -77,13 +77,13 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
{
// Don't sort if it's too small to optimize.
if (last - first < detail::min_sort_size)
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
else
detail::integer_sort(first, last, *first >> 0);
}
/*! \brief Integer sort algorithm using range.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c integer_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -123,7 +123,7 @@ inline void integer_sort(Range& range)
}
/*! \brief Integer sort algorithm using random access iterators with both right-shift and user-defined comparison operator.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c integer_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -166,13 +166,13 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
inline void integer_sort(RandomAccessIter first, RandomAccessIter last,
Right_shift shift, Compare comp) {
if (last - first < detail::min_sort_size)
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
else
detail::integer_sort(first, last, shift(*first, 0), shift, comp);
}
/*! \brief Integer sort algorithm using range with both right-shift and user-defined comparison operator.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c integer_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -216,7 +216,7 @@ inline void integer_sort(Range& range, Right_shift shift, Compare comp)
}
/*! \brief Integer sort algorithm using random access iterators with just right-shift functor.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c integer_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -259,14 +259,14 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
inline void integer_sort(RandomAccessIter first, RandomAccessIter last,
Right_shift shift) {
if (last - first < detail::min_sort_size)
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
else
detail::integer_sort(first, last, shift(*first, 0), shift);
}
/*! \brief Integer sort algorithm using range with just right-shift functor.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c integer_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
diff --git a/boost/sort/spreadsort/string_sort.hpp b/boost/sort/spreadsort/string_sort.hpp
index daaa054b6c..67118716a4 100644
--- a/boost/sort/spreadsort/string_sort.hpp
+++ b/boost/sort/spreadsort/string_sort.hpp
@@ -29,7 +29,7 @@ namespace sort {
namespace spreadsort {
/*! \brief String sort algorithm using random access iterators, allowing character-type overloads.\n
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -76,13 +76,13 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
{
//Don't sort if it's too small to optimize
if (last - first < detail::min_sort_size)
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
else
detail::string_sort(first, last, unused);
}
/*! \brief String sort algorithm using range, allowing character-type overloads.\n
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -124,7 +124,7 @@ inline void string_sort(Range& range, Unsigned_char_type unused)
}
/*! \brief String sort algorithm using random access iterators, wraps using default of unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -169,7 +169,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
}
/*! \brief String sort algorithm using range, wraps using default of unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -209,7 +209,7 @@ inline void string_sort(Range& range)
/*! \brief String sort algorithm using random access iterators, allowing character-type overloads.
- (All variants fall back to @c std::sort if the data size is too small, < detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -260,14 +260,14 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
{
//Don't sort if it's too small to optimize.
if (last - first < detail::min_sort_size)
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
else
detail::reverse_string_sort(first, last, unused);
}
/*! \brief String sort algorithm using range, allowing character-type overloads.
- (All variants fall back to @c std::sort if the data size is too small, < detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -314,7 +314,7 @@ inline void reverse_string_sort(Range& range, Compare comp, Unsigned_char_type u
/*! \brief String sort algorithm using random access iterators, wraps using default of @c unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -363,7 +363,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
/*! \brief String sort algorithm using range, wraps using default of @c unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -405,7 +405,7 @@ inline void reverse_string_sort(Range& range, Compare comp)
/*! \brief String sort algorithm using random access iterators, wraps using default of @c unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -452,7 +452,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
{
//Don't sort if it's too small to optimize
if (last - first < detail::min_sort_size)
- std::sort(first, last);
+ boost::sort::pdqsort(first, last);
else {
//skipping past empties, which allows us to get the character type
//.empty() is not used so as not to require a user declaration of it
@@ -466,7 +466,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
/*! \brief String sort algorithm using range, wraps using default of @c unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -511,7 +511,7 @@ inline void string_sort(Range& range, Get_char get_character, Get_length length)
/*! \brief String sort algorithm using random access iterators, wraps using default of @c unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -560,7 +560,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
{
//Don't sort if it's too small to optimize
if (last - first < detail::min_sort_size)
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
else {
//skipping past empties, which allows us to get the character type
//.empty() is not used so as not to require a user declaration of it
@@ -575,7 +575,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
/*! \brief String sort algorithm using range, wraps using default of @c unsigned char.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -623,7 +623,7 @@ inline void string_sort(Range& range,
/*! \brief Reverse String sort algorithm using random access iterators.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
@@ -672,7 +672,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
{
//Don't sort if it's too small to optimize
if (last - first < detail::min_sort_size)
- std::sort(first, last, comp);
+ boost::sort::pdqsort(first, last, comp);
else {
//skipping past empties, which allows us to get the character type
//.empty() is not used so as not to require a user declaration of it
@@ -689,7 +689,7 @@ Some performance plots of runtime vs. n and log(range) are provided:\n
/*! \brief Reverse String sort algorithm using range.
- (All variants fall back to @c std::sort if the data size is too small, < @c detail::min_sort_size).
+ (All variants fall back to @c boost::sort::pdqsort if the data size is too small, < @c detail::min_sort_size).
\details @c string_sort is a fast templated in-place hybrid radix/comparison algorithm,
which in testing tends to be roughly 50% to 2X faster than @c std::sort for large tests (>=100kB).\n
diff --git a/boost/spirit/home/classic/error_handling/exceptions.hpp b/boost/spirit/home/classic/error_handling/exceptions.hpp
index 0fb036a205..224ac468ca 100644
--- a/boost/spirit/home/classic/error_handling/exceptions.hpp
+++ b/boost/spirit/home/classic/error_handling/exceptions.hpp
@@ -34,7 +34,7 @@ BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
// to allow a single catch handler to catch all exceptions.
//
///////////////////////////////////////////////////////////////////////////
- class parser_error_base : public std::exception
+ class BOOST_SYMBOL_VISIBLE parser_error_base : public std::exception
{
protected:
diff --git a/boost/spirit/home/classic/iterator/multi_pass.hpp b/boost/spirit/home/classic/iterator/multi_pass.hpp
index 260d2933e5..a4ab6c202e 100644
--- a/boost/spirit/home/classic/iterator/multi_pass.hpp
+++ b/boost/spirit/home/classic/iterator/multi_pass.hpp
@@ -146,7 +146,7 @@ class first_owner
// thrown by buf_id_check CheckingPolicy if an instance of an iterator is
// used after another one has invalidated the queue
///////////////////////////////////////////////////////////////////////////////
-class illegal_backtracking : public std::exception
+class BOOST_SYMBOL_VISIBLE illegal_backtracking : public std::exception
{
public:
diff --git a/boost/spirit/home/classic/utility/loops.hpp b/boost/spirit/home/classic/utility/loops.hpp
index 97fc1d3c78..baece7fdcb 100644
--- a/boost/spirit/home/classic/utility/loops.hpp
+++ b/boost/spirit/home/classic/utility/loops.hpp
@@ -14,6 +14,8 @@
#include <boost/spirit/home/classic/namespace.hpp>
#include <boost/spirit/home/classic/core/parser.hpp>
#include <boost/spirit/home/classic/core/composite/composite.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_same.hpp>
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit {
diff --git a/boost/spirit/home/classic/version.hpp b/boost/spirit/home/classic/version.hpp
index b0d358a26e..f95532c5a3 100644
--- a/boost/spirit/home/classic/version.hpp
+++ b/boost/spirit/home/classic/version.hpp
@@ -24,7 +24,7 @@
// This is the version of the current Spirit distribution
//
///////////////////////////////////////////////////////////////////////////////
-#define SPIRIT_VERSION 0x1809
+#define SPIRIT_VERSION 0x1810
#define SPIRIT_PIZZA_VERSION SPIRIT_MEGA_VEGGI // :-)
#endif // defined(SPIRIT_VERSION_HPP)
diff --git a/boost/spirit/home/karma/detail/attributes.hpp b/boost/spirit/home/karma/detail/attributes.hpp
index c63faace37..a313e319ef 100644
--- a/boost/spirit/home/karma/detail/attributes.hpp
+++ b/boost/spirit/home/karma/detail/attributes.hpp
@@ -95,14 +95,12 @@ namespace boost { namespace spirit { namespace karma
}}}
///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits
+namespace boost { namespace spirit { namespace traits { namespace detail
{
template <typename Exposed, typename Transformed>
- struct transform_attribute<Exposed, Transformed, karma::domain>
+ struct transform_attribute_base<Exposed, Transformed, karma::domain>
: karma::transform_attribute<Exposed, Transformed>
{};
-}}}
+}}}}
#endif
-
-
diff --git a/boost/spirit/home/karma/detail/output_iterator.hpp b/boost/spirit/home/karma/detail/output_iterator.hpp
index 75c984a9bc..fbe3eb3711 100644
--- a/boost/spirit/home/karma/detail/output_iterator.hpp
+++ b/boost/spirit/home/karma/detail/output_iterator.hpp
@@ -191,7 +191,7 @@ namespace boost { namespace spirit { namespace karma { namespace detail
// wchar_t is only 16-bits on Windows. If BOOST_SPIRIT_UNICODE is
// defined, the character type is 32-bits wide so we need to make
// sure the buffer is at least that wide.
-#if defined(BOOST_MSVC) && defined(BOOST_SPIRIT_UNICODE)
+#if (defined(_WIN32) || defined(__CYGWIN__)) && defined(BOOST_SPIRIT_UNICODE)
typedef spirit::char_encoding::unicode::char_type buffer_char_type;
#else
typedef wchar_t buffer_char_type;
diff --git a/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp b/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp
index adbec5b756..5fbbad1228 100644
--- a/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp
+++ b/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp
@@ -14,6 +14,7 @@
#include <boost/config/no_tr1/cmath.hpp>
#include <boost/limits.hpp>
+#include <boost/math/special_functions/fpclassify.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/spirit/home/support/char_class.hpp>
#include <boost/spirit/home/support/unused.hpp>
diff --git a/boost/spirit/home/qi/detail/attributes.hpp b/boost/spirit/home/qi/detail/attributes.hpp
index 6e8ce13f83..c5f5037d8c 100644
--- a/boost/spirit/home/qi/detail/attributes.hpp
+++ b/boost/spirit/home/qi/detail/attributes.hpp
@@ -143,10 +143,12 @@ namespace boost { namespace spirit { namespace qi
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit { namespace traits
{
- template <typename Exposed, typename Transformed>
- struct transform_attribute<Exposed, Transformed, qi::domain>
- : qi::transform_attribute<Exposed, Transformed>
- {};
+ namespace detail {
+ template <typename Exposed, typename Transformed>
+ struct transform_attribute_base<Exposed, Transformed, qi::domain>
+ : qi::transform_attribute<Exposed, Transformed>
+ {};
+ }
template <typename Exposed, typename Transformed>
struct transform_attribute<Exposed&, Transformed, qi::domain>
diff --git a/boost/spirit/home/qi/detail/expectation_failure.hpp b/boost/spirit/home/qi/detail/expectation_failure.hpp
index 3571e2f3f1..21ba6895bf 100644
--- a/boost/spirit/home/qi/detail/expectation_failure.hpp
+++ b/boost/spirit/home/qi/detail/expectation_failure.hpp
@@ -13,11 +13,12 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#include <boost/spirit/home/support/info.hpp>
+#include <boost/config.hpp> // for BOOST_SYMBOL_VISIBLE
#include <stdexcept>
namespace boost { namespace spirit { namespace qi {
template <typename Iterator>
- struct expectation_failure : std::runtime_error
+ struct BOOST_SYMBOL_VISIBLE expectation_failure : std::runtime_error
{
expectation_failure(Iterator first_, Iterator last_, info const& what)
: std::runtime_error("boost::spirit::qi::expectation_failure")
diff --git a/boost/spirit/home/support/attributes.hpp b/boost/spirit/home/support/attributes.hpp
index ceba157fcf..960a8af240 100644
--- a/boost/spirit/home/support/attributes.hpp
+++ b/boost/spirit/home/support/attributes.hpp
@@ -923,6 +923,14 @@ namespace boost { namespace spirit { namespace traits
type;
};
+ namespace detail {
+ // Domain-agnostic class template partial specializations and
+ // type agnostic domain partial specializations are ambious.
+ // To resolve the ambiguity type agnostic domain partial
+ // specializations are dispatched via intermediate type.
+ template <typename Exposed, typename Transformed, typename Domain>
+ struct transform_attribute_base;
+ }
///////////////////////////////////////////////////////////////////////////
// transform_attribute
//
@@ -933,7 +941,9 @@ namespace boost { namespace spirit { namespace traits
///////////////////////////////////////////////////////////////////////////
template <typename Exposed, typename Transformed, typename Domain
, typename Enable/* = void*/>
- struct transform_attribute;
+ struct transform_attribute
+ : detail::transform_attribute_base<Exposed, Transformed, Domain>
+ {};
///////////////////////////////////////////////////////////////////////////
template <typename Domain, typename Transformed, typename Exposed>
diff --git a/boost/spirit/home/support/detail/endian/endian.hpp b/boost/spirit/home/support/detail/endian/endian.hpp
index ac1c13f86a..8ee91c1e63 100644
--- a/boost/spirit/home/support/detail/endian/endian.hpp
+++ b/boost/spirit/home/support/detail/endian/endian.hpp
@@ -34,7 +34,7 @@
#endif
#include <boost/config.hpp>
-#include <boost/detail/endian.hpp>
+#include <boost/predef/other/endian.h>
#define BOOST_MINIMAL_INTEGER_COVER_OPERATORS
#define BOOST_NO_IO_COVER_OPERATORS
#include <boost/spirit/home/support/detail/endian/cover_operators.hpp>
@@ -381,13 +381,13 @@ namespace boost { namespace spirit
typedef T value_type;
# ifndef BOOST_ENDIAN_NO_CTORS
endian() BOOST_ENDIAN_DEFAULT_CONSTRUCT
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
explicit endian(T val) { detail::store_big_endian<T, n_bits/8>(m_value, val); }
# else
explicit endian(T val) { detail::store_little_endian<T, n_bits/8>(m_value, val); }
# endif
# endif
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
endian & operator=(T val) { detail::store_big_endian<T, n_bits/8>(m_value, val); return *this; }
operator T() const { return detail::load_big_endian<T, n_bits/8>(m_value); }
# else
@@ -412,13 +412,13 @@ namespace boost { namespace spirit
typedef T value_type;
# ifndef BOOST_ENDIAN_NO_CTORS
endian() BOOST_ENDIAN_DEFAULT_CONSTRUCT
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
endian(T val) : m_value(val) { }
# else
explicit endian(T val) { detail::store_big_endian<T, sizeof(T)>(&m_value, val); }
# endif
# endif
-# ifdef BOOST_BIG_ENDIAN
+# if BOOST_ENDIAN_BIG_BYTE
endian & operator=(T val) { m_value = val; return *this; }
operator T() const { return m_value; }
# else
@@ -440,13 +440,13 @@ namespace boost { namespace spirit
typedef T value_type;
# ifndef BOOST_ENDIAN_NO_CTORS
endian() BOOST_ENDIAN_DEFAULT_CONSTRUCT
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
endian(T val) : m_value(val) { }
# else
explicit endian(T val) { detail::store_little_endian<T, sizeof(T)>(&m_value, val); }
# endif
# endif
-# ifdef BOOST_LITTLE_ENDIAN
+# if BOOST_ENDIAN_LITTLE_BYTE
endian & operator=(T val) { m_value = val; return *this; }
operator T() const { return m_value; }
#else
diff --git a/boost/spirit/home/support/detail/lexer/runtime_error.hpp b/boost/spirit/home/support/detail/lexer/runtime_error.hpp
index 2ab716a517..ab0cfcd201 100644
--- a/boost/spirit/home/support/detail/lexer/runtime_error.hpp
+++ b/boost/spirit/home/support/detail/lexer/runtime_error.hpp
@@ -6,13 +6,14 @@
#ifndef BOOST_LEXER_RUNTIME_ERROR_HPP
#define BOOST_LEXER_RUNTIME_ERROR_HPP
+#include <boost/config.hpp> // for BOOST_SYMBOL_VISIBLE
#include <stdexcept>
namespace boost
{
namespace lexer
{
-class runtime_error : public std::runtime_error
+class BOOST_SYMBOL_VISIBLE runtime_error : public std::runtime_error
{
public:
runtime_error (const std::string &what_arg_) :
diff --git a/boost/spirit/home/support/detail/math/detail/fp_traits.hpp b/boost/spirit/home/support/detail/math/detail/fp_traits.hpp
deleted file mode 100644
index 199712a3b9..0000000000
--- a/boost/spirit/home/support/detail/math/detail/fp_traits.hpp
+++ /dev/null
@@ -1,583 +0,0 @@
-// fp_traits.hpp
-
-#ifndef BOOST_SPIRIT_MATH_FP_TRAITS_HPP
-#define BOOST_SPIRIT_MATH_FP_TRAITS_HPP
-
-// Copyright (c) 2006 Johan Rade
-
-// 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 defined(__vms) && defined(__DECCXX) && !__IEEE_FLOAT
-# error The VAX floating point mode on VMS is not supported.
-#endif
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <cstring>
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/detail/endian.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-
-//------------------------------------------------------------------------------
-
-namespace boost {
-namespace spirit {
-namespace math {
-namespace detail {
-
-//------------------------------------------------------------------------------
-
-/*
-Most processors support three different floating point precisions:
-single precision (32 bits), double precision (64 bits)
-and extended double precision (>64 bits)
-
-Note that the C++ type long double can be implemented
-both as double precision and extended double precision.
-*/
-
-struct single_precision_tag {};
-struct double_precision_tag {};
-struct extended_double_precision_tag {};
-
-//------------------------------------------------------------------------------
-
-/*
-template<class T, class U> struct fp_traits_impl;
-
- This is traits class that describes the binary structure of floating
- point numbers of C++ type T and precision U
-
-Requirements:
-
- T = float, double or long double
- U = single_precision_tag, double_precision_tag
- or extended_double_precision_tag
-
-Typedef members:
-
- bits -- the target type when copying the leading bytes of a floating
- point number. It is a typedef for uint32_t or uint64_t.
-
- coverage -- tells us whether all bytes are copied or not.
- It is a typedef for all_bits or not_all_bits.
-
-Static data members:
-
- sign, exponent, flag, mantissa -- bit masks that give the meaning of the bits
- in the leading bytes.
-
-Static function members:
-
- init() -- initializes the static data members, if needed.
- (Is a no-op in the specialized versions of the template.)
-
- get_bits(), set_bits() -- provide access to the leading bytes.
-*/
-
-struct all_bits {};
-struct not_all_bits {};
-
-// Generic version -------------------------------------------------------------
-
-// The generic version uses run time initialization to determine the floating
-// point format. It is capable of handling most formats,
-// but not the Motorola 68K extended double precision format.
-
-// Currently the generic version is used only for extended double precision
-// on Itanium. In all other cases there are specializations of the template
-// that use compile time initialization.
-
-template<class T> struct uint32_t_coverage
-{
- typedef not_all_bits type;
-};
-
-template<> struct uint32_t_coverage<single_precision_tag>
-{
- typedef all_bits type;
-};
-
-template<class T, class U> struct fp_traits_impl
-{
- typedef uint32_t bits;
- typedef BOOST_DEDUCED_TYPENAME uint32_t_coverage<U>::type coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- static uint32_t exponent;
- static uint32_t flag;
- static uint32_t mantissa;
-
- static void init()
- {
- if(is_init_) return;
- do_init_();
- is_init_ = true;
- }
-
- static void get_bits(T x, uint32_t& a)
- {
- memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(T& x, uint32_t a)
- {
- memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
- static size_t offset_;
- static bool is_init_;
- static void do_init_();
-};
-
-//..............................................................................
-
-template<class T, class U> uint32_t fp_traits_impl<T,U>::exponent;
-template<class T, class U> uint32_t fp_traits_impl<T,U>::flag;
-template<class T, class U> uint32_t fp_traits_impl<T,U>::mantissa;
-template<class T, class U> size_t fp_traits_impl<T,U>::offset_;
-template<class T, class U> bool fp_traits_impl<T,U>::is_init_;
-
-// In a single-threaded program, do_init will be called exactly once.
-// In a multi-threaded program, do_init may be called simultaneously
-// by more then one thread. That should not be a problem.
-
-//..............................................................................
-
-template<class T, class U> void fp_traits_impl<T,U>::do_init_()
-{
- T x = static_cast<T>(3) / static_cast<T>(4);
- // sign bit = 0
- // exponent: first and last bit = 0, all other bits = 1
- // flag bit (if present) = 1
- // mantissa: first bit = 1, all other bits = 0
-
- uint32_t a;
-
- for(size_t k = 0; k <= sizeof(T) - 4; ++k) {
-
- memcpy(&a, reinterpret_cast<unsigned char*>(&x) + k, 4);
-
- switch(a) {
-
- case 0x3f400000: // IEEE single precision format
-
- offset_ = k;
- exponent = 0x7f800000;
- flag = 0x00000000;
- mantissa = 0x007fffff;
- return;
-
- case 0x3fe80000: // IEEE double precision format
- // and PowerPC extended double precision format
- offset_ = k;
- exponent = 0x7ff00000;
- flag = 0x00000000;
- mantissa = 0x000fffff;
- return;
-
- case 0x3ffe0000: // Motorola extended double precision format
-
- // Must not get here. Must be handled by specialization.
- // To get accurate cutoff between normals and subnormals
- // we must use the flag bit that is in the 5th byte.
- // Otherwise this cutoff will be off by a factor 2.
- // If we do get here, then we have failed to detect the Motorola
- // processor at compile time.
-
- BOOST_ASSERT(false &&
- "Failed to detect the Motorola processor at compile time");
- return;
-
- case 0x3ffe8000: // IEEE extended double precision format
- // with 15 exponent bits
- offset_ = k;
- exponent = 0x7fff0000;
- flag = 0x00000000;
- mantissa = 0x0000ffff;
- return;
-
- case 0x3ffec000: // Intel extended double precision format
-
- offset_ = k;
- exponent = 0x7fff0000;
- flag = 0x00008000;
- mantissa = 0x00007fff;
- return;
-
- default:
- continue;
- }
- }
-
- BOOST_ASSERT(false);
-
- // Unknown format.
-}
-
-
-// float (32 bits) -------------------------------------------------------------
-
-template<> struct fp_traits_impl<float, single_precision_tag>
-{
- typedef uint32_t bits;
- typedef all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7f800000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00000000);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x007fffff);
-
- static void init() {}
- static void get_bits(float x, uint32_t& a) { memcpy(&a, &x, 4); }
- static void set_bits(float& x, uint32_t a) { memcpy(&x, &a, 4); }
-};
-
-
-// double (64 bits) ------------------------------------------------------------
-
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template<> struct fp_traits_impl<double, double_precision_tag>
-{
- typedef uint32_t bits;
- typedef not_all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7ff00000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x000fffff);
-
- static void init() {}
-
- static void get_bits(double x, uint32_t& a)
- {
- memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(double& x, uint32_t a)
- {
- memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 4);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-//..............................................................................
-
-#else
-
-template<> struct fp_traits_impl<double, double_precision_tag>
-{
- typedef uint64_t bits;
- typedef all_bits coverage;
-
- static const uint64_t sign = (uint64_t)0x80000000 << 32;
- static const uint64_t exponent = (uint64_t)0x7ff00000 << 32;
- static const uint64_t flag = 0;
- static const uint64_t mantissa
- = ((uint64_t)0x000fffff << 32) + (uint64_t)0xffffffff;
-
- static void init() {}
- static void get_bits(double x, uint64_t& a) { memcpy(&a, &x, 8); }
- static void set_bits(double& x, uint64_t a) { memcpy(&x, &a, 8); }
-};
-
-#endif
-
-
-// long double (64 bits) -------------------------------------------------------
-
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template<> struct fp_traits_impl<long double, double_precision_tag>
-{
- typedef uint32_t bits;
- typedef not_all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7ff00000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x000fffff);
-
- static void init() {}
-
- static void get_bits(long double x, uint32_t& a)
- {
- memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 4);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-//..............................................................................
-
-#else
-
-template<> struct fp_traits_impl<long double, double_precision_tag>
-{
- typedef uint64_t bits;
- typedef all_bits coverage;
-
- static const uint64_t sign = (uint64_t)0x80000000 << 32;
- static const uint64_t exponent = (uint64_t)0x7ff00000 << 32;
- static const uint64_t flag = 0;
- static const uint64_t mantissa
- = ((uint64_t)0x000fffff << 32) + (uint64_t)0xffffffff;
-
- static void init() {}
- static void get_bits(long double x, uint64_t& a) { memcpy(&a, &x, 8); }
- static void set_bits(long double& x, uint64_t a) { memcpy(&x, &a, 8); }
-};
-
-#endif
-
-
-// long double (>64 bits), x86 and x64 -----------------------------------------
-
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) \
- || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) \
- || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64)
-
-// Intel extended double precision format (80 bits)
-
-template<> struct fp_traits_impl<long double, extended_double_precision_tag>
-{
- typedef uint32_t bits;
- typedef not_all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7fff0000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00008000);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x00007fff);
-
- static void init() {}
-
- static void get_bits(long double x, uint32_t& a)
- {
- memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + 6, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- memcpy(reinterpret_cast<unsigned char*>(&x) + 6, &a, 4);
- }
-};
-
-
-// long double (>64 bits), Itanium ---------------------------------------------
-
-#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-
-// The floating point format is unknown at compile time
-// No template specialization is provided.
-// The generic definition is used.
-
-// The Itanium supports both
-// the Intel extended double precision format (80 bits) and
-// the IEEE extended double precision format with 15 exponent bits (128 bits).
-
-
-// long double (>64 bits), PowerPC ---------------------------------------------
-
-#elif defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) \
- || defined(__ppc) || defined(__ppc__) || defined(__PPC__)
-
-// PowerPC extended double precision format (128 bits)
-
-template<> struct fp_traits_impl<long double, extended_double_precision_tag>
-{
- typedef uint32_t bits;
- typedef not_all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7ff00000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00000000);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x000fffff);
-
- static void init() {}
-
- static void get_bits(long double x, uint32_t& a)
- {
- memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 12);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-
-// long double (>64 bits), Motorola 68K ----------------------------------------
-
-#elif defined(__m68k) || defined(__m68k__) \
- || defined(__mc68000) || defined(__mc68000__) \
-
-// Motorola extended double precision format (96 bits)
-
-// It is the same format as the Intel extended double precision format,
-// except that 1) it is big-endian, 2) the 3rd and 4th byte are padding, and
-// 3) the flag bit is not set for infinity
-
-template<> struct fp_traits_impl<long double, extended_double_precision_tag>
-{
- typedef uint32_t bits;
- typedef not_all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7fff0000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00008000);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x00007fff);
-
- static void init() {}
-
- // copy 1st, 2nd, 5th and 6th byte. 3rd and 4th byte are padding.
-
- static void get_bits(long double x, uint32_t& a)
- {
- memcpy(&a, &x, 2);
- memcpy(reinterpret_cast<unsigned char*>(&a) + 2,
- reinterpret_cast<const unsigned char*>(&x) + 4, 2);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- memcpy(&x, &a, 2);
- memcpy(reinterpret_cast<unsigned char*>(&x) + 4,
- reinterpret_cast<const unsigned char*>(&a) + 2, 2);
- }
-};
-
-
-// long double (>64 bits), All other processors --------------------------------
-
-#else
-
-// IEEE extended double precision format with 15 exponent bits (128 bits)
-
-template<> struct fp_traits_impl<long double, extended_double_precision_tag>
-{
- typedef uint32_t bits;
- typedef not_all_bits coverage;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7fff0000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00000000);
- BOOST_STATIC_CONSTANT(uint32_t, mantissa = 0x0000ffff);
-
- static void init() {}
-
- static void get_bits(long double x, uint32_t& a)
- {
- memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 12);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-#endif
-
-
-//------------------------------------------------------------------------------
-
-// size_to_precision is a type switch for converting a C++ floating point type
-// to the corresponding precision type.
-
-template<int n> struct size_to_precision;
-
-template<> struct size_to_precision<4>
-{
- typedef single_precision_tag type;
-};
-
-template<> struct size_to_precision<8>
-{
- typedef double_precision_tag type;
-};
-
-template<> struct size_to_precision<10>
-{
- typedef extended_double_precision_tag type;
-};
-
-template<> struct size_to_precision<12>
-{
- typedef extended_double_precision_tag type;
-};
-
-template<> struct size_to_precision<16>
-{
- typedef extended_double_precision_tag type;
-};
-
-// fp_traits is a type switch that selects the right fp_traits_impl
-
-template<class T> struct fp_traits
-{
- BOOST_STATIC_ASSERT(boost::is_floating_point<T>::value);
- typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T)>::type precision;
- typedef fp_traits_impl<T, precision> type;
-};
-
-
-//------------------------------------------------------------------------------
-
-} // namespace detail
-} // namespace math
-} // namespace spirit
-} // namespace boost
-
-#endif
diff --git a/boost/spirit/home/support/detail/math/fpclassify.hpp b/boost/spirit/home/support/detail/math/fpclassify.hpp
deleted file mode 100644
index 3659ec85ea..0000000000
--- a/boost/spirit/home/support/detail/math/fpclassify.hpp
+++ /dev/null
@@ -1,235 +0,0 @@
-// fpclassify.hpp
-
-#ifndef BOOST_SPIRIT_MATH_FPCLASSIFY_HPP
-#define BOOST_SPIRIT_MATH_FPCLASSIFY_HPP
-
-// Copyright (c) 2006 Johan Rade
-
-// 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)
-
-/*
-The following algorithm is used:
-
- If all exponent bits, the flag bit (if there is one),
- and all mantissa bits are 0, then the number is zero.
-
- If all exponent bits and the flag bit (if there is one) are 0,
- and at least one mantissa bit is 1, then the number is subnormal.
-
- If all exponent bits are 1 and all mantissa bits are 0,
- then the number is infinity.
-
- If all exponent bits are 1 and at least one mantissa bit is 1,
- then the number is a not-a-number.
-
- Otherwise the number is normal.
-
-(Note that the binary representation of infinity
-has flag bit 0 for Motorola 68K extended double precision,
-and flag bit 1 for Intel extended double precision.)
-
-To get the bits, the four or eight most significant bytes are copied
-into an uint32_t or uint64_t and bit masks are applied.
-This covers all the exponent bits and the flag bit (if there is one),
-but not always all the mantissa bits.
-Some of the functions below have two implementations,
-depending on whether all the mantissa bits are copied or not.
-*/
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <cmath>
-
-#ifndef FP_INFINITE
-# define FP_INFINITE 0
-# define FP_NAN 1
-# define FP_NORMAL 2
-# define FP_SUBNORMAL 3
-# define FP_ZERO 4
-#endif
-
-#include <boost/spirit/home/support/detail/math/detail/fp_traits.hpp>
-
-namespace boost {
-namespace spirit {
-namespace math {
-
-//------------------------------------------------------------------------------
-
-template<class T> bool (isfinite)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent;
- return a != traits::exponent;
-}
-
-//------------------------------------------------------------------------------
-
-template<class T> bool (isnormal)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::flag;
- return (a != 0) && (a < traits::exponent);
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
- template<class T> bool isinf_impl(T x, all_bits)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::mantissa;
- return a == traits::exponent;
- }
-
- template<class T> bool isinf_impl(T x, not_all_bits)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::mantissa;
- if(a != traits::exponent)
- return false;
-
- traits::set_bits(x,0);
- return x == 0;
- }
-
-} // namespace detail
-
-template<class T> bool (isinf)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
- return detail::isinf_impl(x, BOOST_DEDUCED_TYPENAME traits::coverage());
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
- template<class T> bool isnan_impl(T x, all_bits)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::mantissa;
- return a > traits::exponent;
- }
-
- template<class T> bool isnan_impl(T x, not_all_bits)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
-
- a &= traits::exponent | traits::mantissa;
- if(a < traits::exponent)
- return false;
-
- a &= traits::mantissa;
- traits::set_bits(x,a);
- return x != 0;
- }
-
-} // namespace detail
-
-template<class T> bool (isnan)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
- return detail::isnan_impl(x, BOOST_DEDUCED_TYPENAME traits::coverage());
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
- template<class T> int fpclassify_impl(T x, all_bits)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::flag | traits::mantissa;
-
- if(a <= traits::mantissa) {
- if(a == 0)
- return FP_ZERO;
- else
- return FP_SUBNORMAL;
- }
-
- if(a < traits::exponent)
- return FP_NORMAL;
-
- a &= traits::mantissa;
- if(a == 0)
- return FP_INFINITE;
-
- return FP_NAN;
- }
-
- template<class T> int fpclassify_impl(T x, not_all_bits)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::flag | traits::mantissa;
-
- if(a <= traits::mantissa) {
- if(x == 0)
- return FP_ZERO;
- else
- return FP_SUBNORMAL;
- }
-
- if(a < traits::exponent)
- return FP_NORMAL;
-
- a &= traits::mantissa;
- traits::set_bits(x,a);
- if(x == 0)
- return FP_INFINITE;
-
- return FP_NAN;
- }
-
-} // namespace detail
-
-template<class T> int (fpclassify)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
- return detail::fpclassify_impl(x, BOOST_DEDUCED_TYPENAME traits::coverage());
-}
-
-//------------------------------------------------------------------------------
-
-} // namespace math
-} // namespace spirit
-} // namespace boost
-
-#endif
diff --git a/boost/spirit/home/support/detail/math/signbit.hpp b/boost/spirit/home/support/detail/math/signbit.hpp
deleted file mode 100644
index 045fc3a8f0..0000000000
--- a/boost/spirit/home/support/detail/math/signbit.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// signbit.hpp
-
-#ifndef BOOST_SPIRIT_MATH_SIGNBIT_HPP
-#define BOOST_SPIRIT_MATH_SIGNBIT_HPP
-
-// Copyright (c) 2006 Johan Rade
-
-// 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 defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/detail/math/detail/fp_traits.hpp>
-
-namespace boost {
-namespace spirit {
-namespace math {
-
-//------------------------------------------------------------------------------
-
-template<class T> bool (signbit)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::sign;
- return a != 0;
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
- template<class T> T copysign_impl(T x, T y)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= ~traits::sign;
-
- BOOST_DEDUCED_TYPENAME traits::bits b;
- traits::get_bits(y,b);
- b &= traits::sign;
-
- traits::set_bits(x,a|b);
- return x;
- }
-}
-
-inline float (copysign)(float x, float y) // magnitude of x and sign of y
-{
- return detail::copysign_impl(x,y);
-}
-
-inline double (copysign)(double x, double y)
-{
- return detail::copysign_impl(x,y);
-}
-
-inline long double (copysign)(long double x, long double y)
-{
- return detail::copysign_impl(x,y);
-}
-
-//------------------------------------------------------------------------------
-
-template<class T> T (changesign)(T x)
-{
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- traits::init();
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a ^= traits::sign;
- traits::set_bits(x,a);
- return x;
-}
-
-//------------------------------------------------------------------------------
-
-} // namespace math
-} // namespace spirit
-} // namespace boost
-
-#endif
diff --git a/boost/spirit/home/support/detail/sign.hpp b/boost/spirit/home/support/detail/sign.hpp
index 7c1bfb06c7..a04552a527 100644
--- a/boost/spirit/home/support/detail/sign.hpp
+++ b/boost/spirit/home/support/detail/sign.hpp
@@ -13,58 +13,21 @@
#pragma once
#endif
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/version.hpp>
-#if BOOST_VERSION < 104000
-#include <boost/spirit/home/support/detail/math/fpclassify.hpp>
-#include <boost/spirit/home/support/detail/math/signbit.hpp>
-#else
-#include <boost/math/special_functions/fpclassify.hpp>
#include <boost/math/special_functions/sign.hpp>
-#endif
namespace boost { namespace spirit { namespace detail
{
-#if BOOST_VERSION < 104000
- // signbit(-NAN) is broken for versions of Boost earlier than 1.40.0
- // This routine has been taken and adapted from Johan Rade's fp_traits
- // library
- template<typename T>
- inline bool (signbit)(T x)
- {
- return (boost::spirit::math::signbit)(x);
- }
-
- template<typename T>
- inline T (changesign)(T x)
- {
- return (boost::spirit::math::changesign)(x);
- }
-#else
template<typename T>
inline bool (signbit)(T x)
{
return (boost::math::signbit)(x) ? true : false;
}
- // This routine has been taken and adapted from Johan Rade's fp_traits
- // library
template<typename T>
inline T (changesign)(T x)
{
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
- return -x;
-#else
- typedef typename math::detail::fp_traits<T>::type traits_type;
-
- typename traits_type::bits a;
- traits_type::get_bits(x, a);
- a ^= traits_type::sign;
- traits_type::set_bits(x, a);
- return x;
-#endif
+ return (boost::math::changesign)(x);
}
-#endif
}}}
diff --git a/boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp b/boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp
index 9df2d9c151..e732330354 100644
--- a/boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp
+++ b/boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp
@@ -20,7 +20,7 @@ namespace boost { namespace spirit { namespace iterator_policies
// thrown by buf_id_check CheckingPolicy if an instance of an iterator is
// used after another one has invalidated the queue
///////////////////////////////////////////////////////////////////////////
- class illegal_backtracking : public std::exception
+ class BOOST_SYMBOL_VISIBLE illegal_backtracking : public std::exception
{
public:
illegal_backtracking() throw() {}
diff --git a/boost/spirit/home/support/utf8.hpp b/boost/spirit/home/support/utf8.hpp
index c4883428b1..8b67f505e5 100644
--- a/boost/spirit/home/support/utf8.hpp
+++ b/boost/spirit/home/support/utf8.hpp
@@ -67,6 +67,44 @@ namespace boost { namespace spirit
}
return result;
}
+
+ // Assume wchar_t content is UTF-16 on Windows and UCS-4 on Unix
+#if defined(_WIN32) || defined(__CYGWIN__)
+ inline utf8_string to_utf8(wchar_t value)
+ {
+ utf8_string result;
+ typedef std::back_insert_iterator<utf8_string> insert_iter;
+ insert_iter out_iter(result);
+ utf8_output_iterator<insert_iter> utf8_iter(out_iter);
+
+ u16_to_u32_iterator<wchar_t const*, ucs4_char> ucs4_iter(&value);
+ *utf8_iter++ = *ucs4_iter;
+
+ return result;
+ }
+
+ inline utf8_string to_utf8(wchar_t const* str)
+ {
+ utf8_string result;
+ typedef std::back_insert_iterator<utf8_string> insert_iter;
+ insert_iter out_iter(result);
+ utf8_output_iterator<insert_iter> utf8_iter(out_iter);
+
+ u16_to_u32_iterator<wchar_t const*, ucs4_char> ucs4_iter(str);
+ for (ucs4_char c; (c = *ucs4_iter) != ucs4_char(); ++ucs4_iter) {
+ *utf8_iter++ = c;
+ }
+
+ return result;
+ }
+
+ template <typename Traits, typename Allocator>
+ inline utf8_string
+ to_utf8(std::basic_string<wchar_t, Traits, Allocator> const& str)
+ {
+ return to_utf8(str.c_str());
+ }
+#endif
}}
#endif
diff --git a/boost/spirit/home/support/utree/utree.hpp b/boost/spirit/home/support/utree/utree.hpp
index 67120e90aa..a00fcffbf3 100644
--- a/boost/spirit/home/support/utree/utree.hpp
+++ b/boost/spirit/home/support/utree/utree.hpp
@@ -43,7 +43,7 @@ namespace boost { namespace spirit
{
//[utree_exceptions
/*` All exceptions thrown by utree are derived from utree_exception. */
- struct utree_exception : std::exception {};
+ struct BOOST_SYMBOL_VISIBLE utree_exception : std::exception {};
/*`The `bad_type_exception` is thrown whenever somebody calls a member
function, which applies to certain stored utree_type's only, but this
diff --git a/boost/spirit/home/x3/directive/expect.hpp b/boost/spirit/home/x3/directive/expect.hpp
index 418ecf9b0d..c57e4eb604 100644
--- a/boost/spirit/home/x3/directive/expect.hpp
+++ b/boost/spirit/home/x3/directive/expect.hpp
@@ -11,13 +11,14 @@
#include <boost/spirit/home/x3/core/parser.hpp>
#include <boost/spirit/home/x3/core/detail/parse_into_container.hpp>
+#include <boost/config.hpp> // for BOOST_SYMBOL_VISIBLE
#include <boost/throw_exception.hpp>
#include <stdexcept>
namespace boost { namespace spirit { namespace x3
{
template <typename Iterator>
- struct expectation_failure : std::runtime_error
+ struct BOOST_SYMBOL_VISIBLE expectation_failure : std::runtime_error
{
public:
diff --git a/boost/spirit/home/x3/support/numeric_utils/sign.hpp b/boost/spirit/home/x3/support/numeric_utils/sign.hpp
index 3ca326f3ec..4665925ceb 100644
--- a/boost/spirit/home/x3/support/numeric_utils/sign.hpp
+++ b/boost/spirit/home/x3/support/numeric_utils/sign.hpp
@@ -9,8 +9,6 @@
#if !defined(BOOST_SPIRIT_X3_SIGN_MAR_11_2009_0734PM)
#define BOOST_SPIRIT_X3_SIGN_MAR_11_2009_0734PM
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
#include <boost/math/special_functions/sign.hpp>
namespace boost { namespace spirit { namespace x3
@@ -21,22 +19,10 @@ namespace boost { namespace spirit { namespace x3
return (boost::math::signbit)(x) ? true : false;
}
- // This routine has been taken and adapted from Johan Rade's fp_traits
- // library
template<typename T>
inline T (changesign)(T x)
{
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
- return -x;
-#else
- typedef typename math::detail::fp_traits<T>::type traits_type;
-
- typename traits_type::bits a;
- traits_type::get_bits(x, a);
- a ^= traits_type::sign;
- traits_type::set_bits(x, a);
- return x;
-#endif
+ return (boost::math::changesign)(x);
}
}}}
diff --git a/boost/spirit/home/x3/support/utility/utf8.hpp b/boost/spirit/home/x3/support/utility/utf8.hpp
index b141cce6d2..e2df577f6e 100644
--- a/boost/spirit/home/x3/support/utility/utf8.hpp
+++ b/boost/spirit/home/x3/support/utility/utf8.hpp
@@ -62,6 +62,44 @@ namespace boost { namespace spirit { namespace x3
}
return result;
}
+
+ // Assume wchar_t content is UTF-16 on Windows and UCS-4 on Unix
+#if defined(_WIN32) || defined(__CYGWIN__)
+ inline utf8_string to_utf8(wchar_t value)
+ {
+ utf8_string result;
+ typedef std::back_insert_iterator<utf8_string> insert_iter;
+ insert_iter out_iter(result);
+ utf8_output_iterator<insert_iter> utf8_iter(out_iter);
+
+ u16_to_u32_iterator<wchar_t const*, ucs4_char> ucs4_iter(&value);
+ *utf8_iter++ = *ucs4_iter;
+
+ return result;
+ }
+
+ inline utf8_string to_utf8(wchar_t const* str)
+ {
+ utf8_string result;
+ typedef std::back_insert_iterator<utf8_string> insert_iter;
+ insert_iter out_iter(result);
+ utf8_output_iterator<insert_iter> utf8_iter(out_iter);
+
+ u16_to_u32_iterator<wchar_t const*, ucs4_char> ucs4_iter(str);
+ for (ucs4_char c; (c = *ucs4_iter) != ucs4_char(); ++ucs4_iter) {
+ *utf8_iter++ = c;
+ }
+
+ return result;
+ }
+
+ template <typename Traits, typename Allocator>
+ inline utf8_string
+ to_utf8(std::basic_string<wchar_t, Traits, Allocator> const& str)
+ {
+ return to_utf8(str.c_str());
+ }
+#endif
}}}
#endif
diff --git a/boost/spirit/home/x3/version.hpp b/boost/spirit/home/x3/version.hpp
index ae82b4da96..2a3795870e 100644
--- a/boost/spirit/home/x3/version.hpp
+++ b/boost/spirit/home/x3/version.hpp
@@ -14,6 +14,6 @@
// This is the version of the current Spirit X3 distribution
//
///////////////////////////////////////////////////////////////////////////////
-#define SPIRIT_X3_VERSION 0x3002
+#define SPIRIT_X3_VERSION 0x3003
#endif
diff --git a/boost/spirit/include/version.hpp b/boost/spirit/include/version.hpp
index 342df38768..abf82161cb 100644
--- a/boost/spirit/include/version.hpp
+++ b/boost/spirit/include/version.hpp
@@ -14,7 +14,7 @@
// This is the version of the current Spirit distribution
//
///////////////////////////////////////////////////////////////////////////////
-#define SPIRIT_VERSION 0x2056
+#define SPIRIT_VERSION 0x2057
#define SPIRIT_PIZZA_VERSION SUPER_HOT_SPANISH_SARDINES // :-O
#endif
diff --git a/boost/stacktrace.hpp b/boost/stacktrace.hpp
index 6e1ec0489a..9c35365852 100644
--- a/boost/stacktrace.hpp
+++ b/boost/stacktrace.hpp
@@ -1,4 +1,4 @@
-// Copyright Antony Polukhin, 2016-2017.
+// Copyright Antony Polukhin, 2016-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/stacktrace/detail/libbacktrace_impls.hpp b/boost/stacktrace/detail/libbacktrace_impls.hpp
index 0c8d674c3b..6cbc5aab05 100644
--- a/boost/stacktrace/detail/libbacktrace_impls.hpp
+++ b/boost/stacktrace/detail/libbacktrace_impls.hpp
@@ -17,7 +17,11 @@
#include <boost/stacktrace/detail/location_from_symbol.hpp>
#include <boost/core/demangle.hpp>
-#include <backtrace.h>
+#ifdef BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE
+# include BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE
+#else
+# include <backtrace.h>
+#endif
namespace boost { namespace stacktrace { namespace detail {
@@ -28,6 +32,18 @@ struct pc_data {
std::size_t line;
};
+inline void libbacktrace_syminfo_callback(void *data, uintptr_t /*pc*/, const char *symname, uintptr_t /*symval*/, uintptr_t /*symsize*/) {
+ pc_data& d = *static_cast<pc_data*>(data);
+ if (d.function && symname) {
+ *d.function = symname;
+ }
+}
+
+// Old versions of libbacktrace have different signature for the callback
+inline void libbacktrace_syminfo_callback(void *data, uintptr_t pc, const char *symname, uintptr_t symval) {
+ boost::stacktrace::detail::libbacktrace_syminfo_callback(data, pc, symname, symval, 0);
+}
+
inline int libbacktrace_full_callback(void *data, uintptr_t /*pc*/, const char *filename, int lineno, const char *function) {
pc_data& d = *static_cast<pc_data*>(data);
if (d.filename && filename) {
@@ -44,30 +60,54 @@ inline void libbacktrace_error_callback(void* /*data*/, const char* /*msg*/, int
// Do nothing, just return.
}
+// Not async-signal-safe, so this method is not called from async-safe functions.
+//
+// This function is not async signal safe because:
+// * Dynamic initialization of a block-scope variable with static storage duration could lock a mutex
+// * No guarantees on `backtrace_create_state` function.
+//
+// Currently `backtrace_create_state` can not detect file name on Windows https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82543
+// That's why we provide a `prog_location` here.
+BOOST_SYMBOL_VISIBLE inline ::backtrace_state* construct_state(const program_location& prog_location) BOOST_NOEXCEPT {
+ // [dcl.inline]: A static local variable in an inline function with external linkage always refers to the same object.
-inline ::backtrace_state* construct_state(const program_location& prog_location) BOOST_NOEXCEPT {
- // Currently `backtrace_create_state` can not detect file name on Windows https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82543
- // That's why we provide a `prog_location` here.
- return ::backtrace_create_state(
- prog_location.name(), 0 /*thread-safe*/, boost::stacktrace::detail::libbacktrace_error_callback, 0
- );
-
- // TODO: this does not seem to work well when this function is in .so:
- // Not async-signal-safe, so this method is not called from async-safe functions.
+ // TODO: The most obvious solution:
+ //
+ //static ::backtrace_state* state = ::backtrace_create_state(
+ // prog_location.name(),
+ // 1, // allow safe concurrent usage of the same state
+ // boost::stacktrace::detail::libbacktrace_error_callback,
+ // 0 // pointer to data that will be passed to callback
+ //);
+ //
//
- // This function is not async signal safe because:
- // * Dynamic initialization of a block-scope variable with static storage duration could lock a mutex
- // * No guarantees on `backtrace_create_state` function.
+ // Unfortunately, that solution segfaults when `construct_state()` function is in .so file
+ // and multiple threads concurrently work with state.
- // [dcl.inline]: A static local variable in an inline function with external linkage always refers to the same object.
- /*
- static ::backtrace_state* state = ::backtrace_create_state(
- 0, 1 , boost::stacktrace::detail::libbacktrace_error_callback, 0
- );
+#ifndef BOOST_HAS_THREADS
+ static
+#else
+
+ // Result of `construct_state()` invocation is not stored by the callers, so `thread_local`
+ // gives a single `state` per thread and that state is not shared between threads in any way.
+
+# ifndef BOOST_NO_CXX11_THREAD_LOCAL
+ thread_local
+# elif defined(__GNUC__)
+ static __thread
+# else
+ /* just a local variable */
+# endif
+#endif
+ ::backtrace_state* state = ::backtrace_create_state(
+ prog_location.name(),
+ 0,
+ boost::stacktrace::detail::libbacktrace_error_callback,
+ 0
+ );
return state;
- */
}
struct to_string_using_backtrace {
@@ -86,6 +126,14 @@ struct to_string_using_backtrace {
boost::stacktrace::detail::libbacktrace_full_callback,
boost::stacktrace::detail::libbacktrace_error_callback,
&data
+ )
+ ||
+ ::backtrace_syminfo(
+ state,
+ reinterpret_cast<uintptr_t>(addr),
+ boost::stacktrace::detail::libbacktrace_syminfo_callback,
+ boost::stacktrace::detail::libbacktrace_error_callback,
+ &data
);
}
line = data.line;
@@ -125,6 +173,14 @@ inline std::string name_impl(const void* addr) {
boost::stacktrace::detail::libbacktrace_full_callback,
boost::stacktrace::detail::libbacktrace_error_callback,
&data
+ )
+ ||
+ ::backtrace_syminfo(
+ state,
+ reinterpret_cast<uintptr_t>(addr),
+ boost::stacktrace::detail::libbacktrace_syminfo_callback,
+ boost::stacktrace::detail::libbacktrace_error_callback,
+ &data
);
}
if (!res.empty()) {
diff --git a/boost/stacktrace/frame.hpp b/boost/stacktrace/frame.hpp
index 8a1b426d7a..d64ceb3fc5 100644
--- a/boost/stacktrace/frame.hpp
+++ b/boost/stacktrace/frame.hpp
@@ -1,4 +1,4 @@
-// Copyright Antony Polukhin, 2016-2017.
+// Copyright Antony Polukhin, 2016-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/stacktrace/safe_dump_to.hpp b/boost/stacktrace/safe_dump_to.hpp
index ded0036e84..2f36ec06c2 100644
--- a/boost/stacktrace/safe_dump_to.hpp
+++ b/boost/stacktrace/safe_dump_to.hpp
@@ -1,4 +1,4 @@
-// Copyright Antony Polukhin, 2016-2017.
+// Copyright Antony Polukhin, 2016-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -84,7 +84,7 @@ struct this_thread_frames { // struct is required to avoid warning about usage o
///
/// @b Async-Handler-Safety: Safe.
///
-/// @returns Stored call sequence depth including terminating zero frame.
+/// @returns Stored call sequence depth including terminating zero frame. To get the actually consumed bytes multiply this value by the sizeof(boost::stacktrace::frame::native_frame_ptr_t)
///
/// @param memory Preallocated buffer to store current function call sequence into.
///
@@ -99,7 +99,7 @@ BOOST_FORCEINLINE std::size_t safe_dump_to(void* memory, std::size_t size) BOOST
///
/// @b Async-Handler-Safety: Safe.
///
-/// @returns Stored call sequence depth including terminating zero frame.
+/// @returns Stored call sequence depth including terminating zero frame. To get the actually consumed bytes multiply this value by the sizeof(boost::stacktrace::frame::native_frame_ptr_t)
///
/// @param skip How many top calls to skip and do not store.
///
diff --git a/boost/stacktrace/stacktrace.hpp b/boost/stacktrace/stacktrace.hpp
index c80679c8de..6fb5c01dc6 100644
--- a/boost/stacktrace/stacktrace.hpp
+++ b/boost/stacktrace/stacktrace.hpp
@@ -1,4 +1,4 @@
-// Copyright Antony Polukhin, 2016-2017.
+// Copyright Antony Polukhin, 2016-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
@@ -72,10 +72,9 @@ class basic_stacktrace {
try {
{ // Fast path without additional allocations
native_frame_ptr_t buffer[buffer_size];
- const std::size_t frames_count = boost::stacktrace::detail::this_thread_frames::collect(buffer, buffer_size, frames_to_skip + 1);
- if (buffer_size > frames_count || frames_count >= max_depth) {
- const std::size_t size = (max_depth < frames_count ? max_depth : frames_count);
- fill(buffer, size);
+ const std::size_t frames_count = boost::stacktrace::detail::this_thread_frames::collect(buffer, buffer_size < max_depth ? buffer_size : max_depth, frames_to_skip + 1);
+ if (buffer_size > frames_count || frames_count == max_depth) {
+ fill(buffer, frames_count);
return;
}
}
@@ -88,10 +87,9 @@ class basic_stacktrace {
#endif
std::vector<native_frame_ptr_t, allocator_void_t> buf(buffer_size * 2, 0, impl_.get_allocator());
do {
- const std::size_t frames_count = boost::stacktrace::detail::this_thread_frames::collect(&buf[0], buf.size(), frames_to_skip + 1);
- if (buf.size() > frames_count || frames_count >= max_depth) {
- const std::size_t size = (max_depth < frames_count ? max_depth : frames_count);
- fill(&buf[0], size);
+ const std::size_t frames_count = boost::stacktrace::detail::this_thread_frames::collect(&buf[0], buf.size() < max_depth ? buf.size() : max_depth, frames_to_skip + 1);
+ if (buf.size() > frames_count || frames_count == max_depth) {
+ fill(&buf[0], frames_count);
return;
}
@@ -319,6 +317,10 @@ public:
/// Constructs stacktrace from raw memory dump. Terminating zero frame is discarded.
///
+ /// @param begin Begining of the memory where the stacktrace was saved using the boost::stacktrace::safe_dump_to
+ ///
+ /// @param buffer_size_in_bytes Size of the memory. Usually the same value that was passed to the boost::stacktrace::safe_dump_to
+ ///
/// @b Complexity: O(size) in worst case
static basic_stacktrace from_dump(const void* begin, std::size_t buffer_size_in_bytes, const allocator_type& a = allocator_type()) {
basic_stacktrace ret(0, 0, a);
@@ -390,14 +392,20 @@ std::size_t hash_value(const basic_stacktrace<Allocator>& st) BOOST_NOEXCEPT {
return boost::hash_range(st.as_vector().begin(), st.as_vector().end());
}
-/// Outputs stacktrace in a human readable format to output stream; unsafe to use in async handlers.
-template <class CharT, class TraitsT, class Allocator>
-std::basic_ostream<CharT, TraitsT>& operator<<(std::basic_ostream<CharT, TraitsT>& os, const basic_stacktrace<Allocator>& bt) {
- if (bt) {
- os << boost::stacktrace::detail::to_string(&bt.as_vector()[0], bt.size());
+/// Returns std::string with the stacktrace in a human readable format; unsafe to use in async handlers.
+template <class Allocator>
+std::string to_string(const basic_stacktrace<Allocator>& bt) {
+ if (!bt) {
+ return std::string();
}
- return os;
+ return boost::stacktrace::detail::to_string(&bt.as_vector()[0], bt.size());
+}
+
+/// Outputs stacktrace in a human readable format to the output stream `os`; unsafe to use in async handlers.
+template <class CharT, class TraitsT, class Allocator>
+std::basic_ostream<CharT, TraitsT>& operator<<(std::basic_ostream<CharT, TraitsT>& os, const basic_stacktrace<Allocator>& bt) {
+ return os << boost::stacktrace::to_string(bt);
}
/// This is the typedef to use unless you'd like to provide a specific allocator to boost::stacktrace::basic_stacktrace.
diff --git a/boost/stacktrace/stacktrace_fwd.hpp b/boost/stacktrace/stacktrace_fwd.hpp
index ec131564c0..93473939f2 100644
--- a/boost/stacktrace/stacktrace_fwd.hpp
+++ b/boost/stacktrace/stacktrace_fwd.hpp
@@ -1,4 +1,4 @@
-// Copyright Antony Polukhin, 2016-2017.
+// Copyright Antony Polukhin, 2016-2018.
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/statechart/asynchronous_state_machine.hpp b/boost/statechart/asynchronous_state_machine.hpp
index 4870457e76..19144146ef 100644
--- a/boost/statechart/asynchronous_state_machine.hpp
+++ b/boost/statechart/asynchronous_state_machine.hpp
@@ -31,7 +31,7 @@ class event_base;
template< class MostDerived,
class InitialState,
class Scheduler = fifo_scheduler<>,
- class Allocator = std::allocator< void >,
+ class Allocator = std::allocator< none >,
class ExceptionTranslator = null_exception_translator >
class asynchronous_state_machine : public state_machine<
MostDerived, InitialState, Allocator, ExceptionTranslator >,
diff --git a/boost/statechart/detail/memory.hpp b/boost/statechart/detail/memory.hpp
index 69d75183a2..c15d2eab8f 100644
--- a/boost/statechart/detail/memory.hpp
+++ b/boost/statechart/detail/memory.hpp
@@ -14,18 +14,31 @@
#include <boost/detail/allocator_utilities.hpp>
#include <cstddef> // std::size_t
-
+#include <memory> // std::allocator_traits
namespace boost
{
namespace statechart
{
+
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+typedef void none;
+#else
+// The specialization std::allocator<void> doesn't satisfy C++17's
+// allocator completeness requirements. Therefore it is deprecated
+// and should no longer be used. Supply a replacement type for all
+// the allocator default template arguments in the library.
+struct none {};
+#endif
+
namespace detail
{
+// defect: 'allocate' and 'deallocate' cannot handle stateful allocators!
+
template< class MostDerived, class Allocator >
void * allocate( std::size_t size )
{
@@ -48,17 +61,31 @@ void * allocate( std::size_t size )
// // Above the most-derived type being constructed is B, but A was passed
// // as the most-derived type to event<>.
BOOST_ASSERT( size == sizeof( MostDerived ) );
- return typename boost::detail::allocator::rebind_to<
+ typedef typename boost::detail::allocator::rebind_to<
Allocator, MostDerived
- >::type().allocate( 1, static_cast< MostDerived * >( 0 ) );
+ >::type md_allocator;
+ md_allocator alloc;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+ return alloc.allocate( 1, static_cast< MostDerived * >( 0 ) );
+#else
+ typedef std::allocator_traits<md_allocator> md_traits;
+ return md_traits::allocate( alloc, 1, static_cast< MostDerived * >( 0 ) );
+#endif
}
template< class MostDerived, class Allocator >
void deallocate( void * pObject )
{
- return typename boost::detail::allocator::rebind_to<
+ typedef typename boost::detail::allocator::rebind_to<
Allocator, MostDerived
- >::type().deallocate( static_cast< MostDerived * >( pObject ), 1 );
+ >::type md_allocator;
+ md_allocator alloc;
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+ alloc.deallocate( static_cast< MostDerived * >( pObject ), 1 );
+#else
+ typedef std::allocator_traits<md_allocator> md_traits;
+ md_traits::deallocate( alloc, static_cast< MostDerived * >( pObject ), 1 );
+#endif
}
diff --git a/boost/statechart/event.hpp b/boost/statechart/event.hpp
index c62432c11d..6a8d446ed3 100644
--- a/boost/statechart/event.hpp
+++ b/boost/statechart/event.hpp
@@ -26,7 +26,7 @@ namespace statechart
//////////////////////////////////////////////////////////////////////////////
-template< class MostDerived, class Allocator = std::allocator< void > >
+template< class MostDerived, class Allocator = std::allocator< none > >
class event : public detail::rtti_policy::rtti_derived_type<
MostDerived, event_base >
{
diff --git a/boost/statechart/fifo_scheduler.hpp b/boost/statechart/fifo_scheduler.hpp
index c645d862bb..bbb6a519b8 100644
--- a/boost/statechart/fifo_scheduler.hpp
+++ b/boost/statechart/fifo_scheduler.hpp
@@ -28,7 +28,7 @@ namespace statechart
//////////////////////////////////////////////////////////////////////////////
template<
class FifoWorker = fifo_worker<>,
- class Allocator = std::allocator< void > >
+ class Allocator = std::allocator< none > >
class fifo_scheduler : noncopyable
{
typedef processor_container<
diff --git a/boost/statechart/fifo_worker.hpp b/boost/statechart/fifo_worker.hpp
index 5f42d37789..75d3ad6ce1 100644
--- a/boost/statechart/fifo_worker.hpp
+++ b/boost/statechart/fifo_worker.hpp
@@ -52,7 +52,7 @@ namespace statechart
-template< class Allocator = std::allocator< void > >
+template< class Allocator = std::allocator< none > >
class fifo_worker : noncopyable
{
public:
diff --git a/boost/statechart/processor_container.hpp b/boost/statechart/processor_container.hpp
index e8104b685b..fc61656a42 100644
--- a/boost/statechart/processor_container.hpp
+++ b/boost/statechart/processor_container.hpp
@@ -60,7 +60,7 @@ namespace detail
template<
class Scheduler,
class WorkItem,
- class Allocator = std::allocator< void > >
+ class Allocator = std::allocator< none > >
class processor_container : noncopyable
{
typedef event_processor< Scheduler > processor_base_type;
diff --git a/boost/statechart/state_machine.hpp b/boost/statechart/state_machine.hpp
index f03f5f8521..25afad51cf 100644
--- a/boost/statechart/state_machine.hpp
+++ b/boost/statechart/state_machine.hpp
@@ -230,7 +230,7 @@ class history_key
//////////////////////////////////////////////////////////////////////////////
template< class MostDerived,
class InitialState,
- class Allocator = std::allocator< void >,
+ class Allocator = std::allocator< none >,
class ExceptionTranslator = null_exception_translator >
class state_machine : noncopyable
{
diff --git a/boost/system/config.hpp b/boost/system/config.hpp
index 14faa63420..1e5f686511 100644
--- a/boost/system/config.hpp
+++ b/boost/system/config.hpp
@@ -7,15 +7,16 @@
// See http://www.boost.org/libs/system for documentation.
-#ifndef BOOST_SYSTEM_CONFIG_HPP
+#ifndef BOOST_SYSTEM_CONFIG_HPP
#define BOOST_SYSTEM_CONFIG_HPP
#include <boost/config.hpp>
-#include <boost/predef/platform.h>
#include <boost/system/api_config.hpp> // for BOOST_POSIX_API or BOOST_WINDOWS_API
-// This header implements separate compilation features as described in
+// This header implemented separate compilation features as described in
// http://www.boost.org/more/separate_compilation.html
+//
+// It's only retained for compatibility now that the library is header-only.
// normalize macros ------------------------------------------------------------------//
@@ -46,25 +47,4 @@
# define BOOST_SYSTEM_DECL
#endif
-// enable automatic library variant selection ----------------------------------------//
-
-#if !defined(BOOST_SYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SYSTEM_NO_LIB)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_system
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK)
-# define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif // auto-linking disabled
-
#endif // BOOST_SYSTEM_CONFIG_HPP
-
diff --git a/boost/system/detail/config.hpp b/boost/system/detail/config.hpp
new file mode 100644
index 0000000000..2ad8201476
--- /dev/null
+++ b/boost/system/detail/config.hpp
@@ -0,0 +1,57 @@
+#ifndef BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED
+#define BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED
+
+// Copyright 2018 Peter Dimov
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/system for documentation.
+
+#include <boost/config.hpp>
+#include <boost/config/workaround.hpp>
+
+// BOOST_SYSTEM_HAS_SYSTEM_ERROR
+
+#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)
+# define BOOST_SYSTEM_HAS_SYSTEM_ERROR
+#endif
+
+#if BOOST_WORKAROUND(BOOST_GCC, < 40600)
+// g++ 4.4's <map> is not good enough
+# undef BOOST_SYSTEM_HAS_SYSTEM_ERROR
+#endif
+
+// BOOST_SYSTEM_NOEXCEPT
+// Retained for backward compatibility
+
+#define BOOST_SYSTEM_NOEXCEPT BOOST_NOEXCEPT
+
+// BOOST_SYSTEM_HAS_CONSTEXPR
+
+#if !defined(BOOST_NO_CXX14_CONSTEXPR)
+# define BOOST_SYSTEM_HAS_CONSTEXPR
+#endif
+
+#if BOOST_WORKAROUND(BOOST_GCC, < 60000)
+# undef BOOST_SYSTEM_HAS_CONSTEXPR
+#endif
+
+#if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
+# define BOOST_SYSTEM_CONSTEXPR constexpr
+#else
+# define BOOST_SYSTEM_CONSTEXPR
+#endif
+
+// BOOST_SYSTEM_REQUIRE_CONST_INIT
+
+#define BOOST_SYSTEM_REQUIRE_CONST_INIT
+
+#if defined(__has_cpp_attribute)
+#if __has_cpp_attribute(clang::require_constant_initialization)
+# undef BOOST_SYSTEM_REQUIRE_CONST_INIT
+# define BOOST_SYSTEM_REQUIRE_CONST_INIT [[clang::require_constant_initialization]]
+#endif
+#endif
+
+#endif // BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED
diff --git a/boost/system/detail/error_code.ipp b/boost/system/detail/error_code.ipp
deleted file mode 100644
index f9516e0874..0000000000
--- a/boost/system/detail/error_code.ipp
+++ /dev/null
@@ -1,496 +0,0 @@
-// error_code support implementation file --------------------------------------------//
-
-// Copyright Beman Dawes 2002, 2006
-// Copyright (c) Microsoft Corporation 2014
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// See library home page at http://www.boost.org/libs/system
-
-//--------------------------------------------------------------------------------------//
-
-#include <boost/config/warning_disable.hpp>
-
-#include <boost/system/config.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/cerrno.hpp>
-#include <vector>
-#include <cstdlib>
-#include <cassert>
-
-#include <cstring> // for strerror/strerror_r
-
-# if defined( BOOST_WINDOWS_API )
-# include <boost/winapi/error_codes.hpp>
-# include <boost/winapi/error_handling.hpp>
-# include <boost/winapi/character_code_conversion.hpp>
-# if !BOOST_PLAT_WINDOWS_RUNTIME
-# include <boost/system/detail/local_free_on_destruction.hpp>
-# endif
-# ifndef ERROR_INCORRECT_SIZE
-# define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
-# endif
-# endif
-
-//--------------------------------------------------------------------------------------//
-namespace boost
-{
-
-namespace system
-{
-
-namespace detail
-{
-
-#ifdef BOOST_ERROR_CODE_HEADER_ONLY
-# define BOOST_SYSTEM_DECL_ inline
-#else
-# define BOOST_SYSTEM_DECL_ BOOST_SYSTEM_DECL
-#endif
-
- // generic_error_category implementation ---------------------------------//
-
- BOOST_SYSTEM_DECL_ std::string generic_error_category::message( int ev ) const
- {
- using namespace boost::system::errc;
-#if defined(__PGI)
- using boost::system::errc::invalid_argument;
-#endif
-
- static std::string unknown_err( "Unknown error" );
- // strerror_r is preferred because it is always thread safe,
- // however, we fallback to strerror in certain cases because:
- // -- Windows doesn't provide strerror_r.
- // -- HP and Sun do provide strerror_r on newer systems, but there is
- // no way to tell if is available at runtime and in any case their
- // versions of strerror are thread safe anyhow.
- // -- Linux only sometimes provides strerror_r.
- // -- Tru64 provides strerror_r only when compiled -pthread.
- // -- VMS doesn't provide strerror_r, but on this platform, strerror is
- // thread safe.
- # if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
- || (defined(__linux) && (!defined(__USE_XOPEN2K)\
- || defined(BOOST_SYSTEM_USE_STRERROR)))\
- || (defined(__osf__) && !defined(_REENTRANT))\
- || (defined(__INTEGRITY))\
- || (defined(__vms))\
- || (defined(__QNXNTO__))
- const char * c_str = std::strerror( ev );
- return c_str
- ? std::string( c_str )
- : unknown_err;
- # else // use strerror_r
- char buf[64];
- char * bp = buf;
- std::size_t sz = sizeof(buf);
- # if defined(__CYGWIN__) || defined(__USE_GNU)
- // Oddball version of strerror_r
- const char * c_str = strerror_r( ev, bp, sz );
- return c_str
- ? std::string( c_str )
- : unknown_err;
- # else
- // POSIX version of strerror_r
- int result;
- for (;;)
- {
- // strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
- // invalid_argument if ev not a valid error number
- # if defined (__sgi)
- const char * c_str = strerror( ev );
- result = 0;
- return c_str
- ? std::string( c_str )
- : unknown_err;
- # else
- result = strerror_r( ev, bp, sz );
- # endif
- if (result == 0 )
- break;
- else
- {
- # if defined(__linux)
- // Linux strerror_r returns -1 on error, with error number in errno
- result = errno;
- # endif
- if ( result != ERANGE ) break;
- if ( sz > sizeof(buf) ) std::free( bp );
- sz *= 2;
- if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
- return std::string( "ENOMEM" );
- }
- }
- std::string msg;
-# ifndef BOOST_NO_EXCEPTIONS
- try
-# endif
- {
- msg = ( ( result == invalid_argument ) ? "Unknown error" : bp );
- }
-
-# ifndef BOOST_NO_EXCEPTIONS
- // See ticket #2098
- catch(...)
- {
- // just eat the exception
- }
-# endif
-
- if ( sz > sizeof(buf) ) std::free( bp );
- return msg;
- # endif // else POSIX version of strerror_r
- # endif // else use strerror_r
- }
- // system_error_category implementation --------------------------------------------//
-
- BOOST_SYSTEM_DECL_ error_condition system_error_category::default_error_condition( int ev ) const
- BOOST_SYSTEM_NOEXCEPT
- {
- using namespace boost::system::errc;
-#if defined(__PGI)
- using boost::system::errc::invalid_argument;
-#endif
-
-# if defined(BOOST_WINDOWS_API)
-# if defined(WINAPI_FAMILY) && ((WINAPI_FAMILY & WINAPI_PARTITION_APP) != 0)
- // When using the Windows Runtime, most system errors are reported as HRESULTs.
- // We want to map the common Win32 errors to their equivalent error condition,
- // whether or not they are reported via an HRESULT.
- if ( ev < 0 ) // Check for failed HRESULTs only.
- if ( HRESULT_FACILITY( ev ) == FACILITY_WIN32 )
- ev = HRESULT_CODE( ev );
-# endif
-# endif
-
-# if defined(BOOST_WINDOWS_API)
-
- using namespace boost::winapi; // for error codes
-
-# endif
-
- switch ( ev )
- {
- case 0: return make_error_condition( success );
-# if defined(BOOST_POSIX_API)
- // POSIX-like O/S -> posix_errno decode table -------------------------------------//
- case E2BIG: return make_error_condition( argument_list_too_long );
- case EACCES: return make_error_condition( permission_denied );
- case EADDRINUSE: return make_error_condition( address_in_use );
- case EADDRNOTAVAIL: return make_error_condition( address_not_available );
- case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
- case EAGAIN: return make_error_condition( resource_unavailable_try_again );
-# if EALREADY != EBUSY // EALREADY and EBUSY are the same on QNX Neutrino
- case EALREADY: return make_error_condition( connection_already_in_progress );
-# endif
- case EBADF: return make_error_condition( bad_file_descriptor );
- case EBADMSG: return make_error_condition( bad_message );
- case EBUSY: return make_error_condition( device_or_resource_busy );
- case ECANCELED: return make_error_condition( operation_canceled );
- case ECHILD: return make_error_condition( no_child_process );
- case ECONNABORTED: return make_error_condition( connection_aborted );
- case ECONNREFUSED: return make_error_condition( connection_refused );
- case ECONNRESET: return make_error_condition( connection_reset );
- case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
- case EDESTADDRREQ: return make_error_condition( destination_address_required );
- case EDOM: return make_error_condition( argument_out_of_domain );
- case EEXIST: return make_error_condition( file_exists );
- case EFAULT: return make_error_condition( bad_address );
- case EFBIG: return make_error_condition( file_too_large );
- case EHOSTUNREACH: return make_error_condition( host_unreachable );
- case EIDRM: return make_error_condition( identifier_removed );
- case EILSEQ: return make_error_condition( illegal_byte_sequence );
- case EINPROGRESS: return make_error_condition( operation_in_progress );
- case EINTR: return make_error_condition( interrupted );
- case EINVAL: return make_error_condition( invalid_argument );
- case EIO: return make_error_condition( io_error );
- case EISCONN: return make_error_condition( already_connected );
- case EISDIR: return make_error_condition( is_a_directory );
- case ELOOP: return make_error_condition( too_many_symbolic_link_levels );
- case EMFILE: return make_error_condition( too_many_files_open );
- case EMLINK: return make_error_condition( too_many_links );
- case EMSGSIZE: return make_error_condition( message_size );
- case ENAMETOOLONG: return make_error_condition( filename_too_long );
- case ENETDOWN: return make_error_condition( network_down );
- case ENETRESET: return make_error_condition( network_reset );
- case ENETUNREACH: return make_error_condition( network_unreachable );
- case ENFILE: return make_error_condition( too_many_files_open_in_system );
- case ENOBUFS: return make_error_condition( no_buffer_space );
- case ENODATA: return make_error_condition( no_message_available );
- case ENODEV: return make_error_condition( no_such_device );
- case ENOENT: return make_error_condition( no_such_file_or_directory );
- case ENOEXEC: return make_error_condition( executable_format_error );
- case ENOLCK: return make_error_condition( no_lock_available );
- case ENOLINK: return make_error_condition( no_link );
- case ENOMEM: return make_error_condition( not_enough_memory );
- case ENOMSG: return make_error_condition( no_message );
- case ENOPROTOOPT: return make_error_condition( no_protocol_option );
- case ENOSPC: return make_error_condition( no_space_on_device );
- case ENOSR: return make_error_condition( no_stream_resources );
- case ENOSTR: return make_error_condition( not_a_stream );
- case ENOSYS: return make_error_condition( function_not_supported );
- case ENOTCONN: return make_error_condition( not_connected );
- case ENOTDIR: return make_error_condition( not_a_directory );
- # if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
- case ENOTEMPTY: return make_error_condition( directory_not_empty );
- # endif // ENOTEMPTY != EEXIST
- # if ENOTRECOVERABLE != ECONNRESET // the same on some Broadcom chips
- case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable );
- # endif // ENOTRECOVERABLE != ECONNRESET
- case ENOTSOCK: return make_error_condition( not_a_socket );
- case ENOTSUP: return make_error_condition( not_supported );
- case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
- case ENXIO: return make_error_condition( no_such_device_or_address );
- # if EOPNOTSUPP != ENOTSUP
- case EOPNOTSUPP: return make_error_condition( operation_not_supported );
- # endif // EOPNOTSUPP != ENOTSUP
- case EOVERFLOW: return make_error_condition( value_too_large );
- # if EOWNERDEAD != ECONNABORTED // the same on some Broadcom chips
- case EOWNERDEAD: return make_error_condition( owner_dead );
- # endif // EOWNERDEAD != ECONNABORTED
- case EPERM: return make_error_condition( operation_not_permitted );
- case EPIPE: return make_error_condition( broken_pipe );
- case EPROTO: return make_error_condition( protocol_error );
- case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
- case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
- case ERANGE: return make_error_condition( result_out_of_range );
- case EROFS: return make_error_condition( read_only_file_system );
- case ESPIPE: return make_error_condition( invalid_seek );
- case ESRCH: return make_error_condition( no_such_process );
- case ETIME: return make_error_condition( stream_timeout );
- case ETIMEDOUT: return make_error_condition( timed_out );
- case ETXTBSY: return make_error_condition( text_file_busy );
- # if EAGAIN != EWOULDBLOCK
- case EWOULDBLOCK: return make_error_condition( operation_would_block );
- # endif // EAGAIN != EWOULDBLOCK
- case EXDEV: return make_error_condition( cross_device_link );
- #else
- // Windows system -> posix_errno decode table ---------------------------//
- // see WinError.h comments for descriptions of errors
- case ERROR_ACCESS_DENIED_: return make_error_condition( permission_denied );
- case ERROR_ALREADY_EXISTS_: return make_error_condition( file_exists );
- case ERROR_BAD_UNIT_: return make_error_condition( no_such_device );
- case ERROR_BUFFER_OVERFLOW_: return make_error_condition( filename_too_long );
- case ERROR_BUSY_: return make_error_condition( device_or_resource_busy );
- case ERROR_BUSY_DRIVE_: return make_error_condition( device_or_resource_busy );
- case ERROR_CANNOT_MAKE_: return make_error_condition( permission_denied );
- case ERROR_CANTOPEN_: return make_error_condition( io_error );
- case ERROR_CANTREAD_: return make_error_condition( io_error );
- case ERROR_CANTWRITE_: return make_error_condition( io_error );
- case ERROR_CURRENT_DIRECTORY_: return make_error_condition( permission_denied );
- case ERROR_DEV_NOT_EXIST_: return make_error_condition( no_such_device );
- case ERROR_DEVICE_IN_USE_: return make_error_condition( device_or_resource_busy );
- case ERROR_DIR_NOT_EMPTY_: return make_error_condition( directory_not_empty );
- case ERROR_DIRECTORY_: return make_error_condition( invalid_argument );\
- // WinError.h: "The directory name is invalid"
- case ERROR_DISK_FULL_: return make_error_condition( no_space_on_device );
- case ERROR_FILE_EXISTS_: return make_error_condition( file_exists );
- case ERROR_FILE_NOT_FOUND_: return make_error_condition( no_such_file_or_directory );
- case ERROR_HANDLE_DISK_FULL_: return make_error_condition( no_space_on_device );
- case ERROR_INVALID_ACCESS_: return make_error_condition( permission_denied );
- case ERROR_INVALID_DRIVE_: return make_error_condition( no_such_device );
- case ERROR_INVALID_FUNCTION_: return make_error_condition( function_not_supported );
- case ERROR_INVALID_HANDLE_: return make_error_condition( invalid_argument );
- case ERROR_INVALID_NAME_: return make_error_condition( invalid_argument );
- case ERROR_LOCK_VIOLATION_: return make_error_condition( no_lock_available );
- case ERROR_LOCKED_: return make_error_condition( no_lock_available );
- case ERROR_NEGATIVE_SEEK_: return make_error_condition( invalid_argument );
- case ERROR_NOACCESS_: return make_error_condition( permission_denied );
- case ERROR_NOT_ENOUGH_MEMORY_: return make_error_condition( not_enough_memory );
- case ERROR_NOT_READY_: return make_error_condition( resource_unavailable_try_again );
- case ERROR_NOT_SAME_DEVICE_: return make_error_condition( cross_device_link );
- case ERROR_OPEN_FAILED_: return make_error_condition( io_error );
- case ERROR_OPEN_FILES_: return make_error_condition( device_or_resource_busy );
- case ERROR_OPERATION_ABORTED_: return make_error_condition( operation_canceled );
- case ERROR_OUTOFMEMORY_: return make_error_condition( not_enough_memory );
- case ERROR_PATH_NOT_FOUND_: return make_error_condition( no_such_file_or_directory );
- case ERROR_READ_FAULT_: return make_error_condition( io_error );
- case ERROR_RETRY_: return make_error_condition( resource_unavailable_try_again );
- case ERROR_SEEK_: return make_error_condition( io_error );
- case ERROR_SHARING_VIOLATION_: return make_error_condition( permission_denied );
- case ERROR_TOO_MANY_OPEN_FILES_: return make_error_condition( too_many_files_open );
- case ERROR_WRITE_FAULT_: return make_error_condition( io_error );
- case ERROR_WRITE_PROTECT_: return make_error_condition( permission_denied );
- case WSAEACCES_: return make_error_condition( permission_denied );
- case WSAEADDRINUSE_: return make_error_condition( address_in_use );
- case WSAEADDRNOTAVAIL_: return make_error_condition( address_not_available );
- case WSAEAFNOSUPPORT_: return make_error_condition( address_family_not_supported );
- case WSAEALREADY_: return make_error_condition( connection_already_in_progress );
- case WSAEBADF_: return make_error_condition( bad_file_descriptor );
- case WSAECONNABORTED_: return make_error_condition( connection_aborted );
- case WSAECONNREFUSED_: return make_error_condition( connection_refused );
- case WSAECONNRESET_: return make_error_condition( connection_reset );
- case WSAEDESTADDRREQ_: return make_error_condition( destination_address_required );
- case WSAEFAULT_: return make_error_condition( bad_address );
- case WSAEHOSTUNREACH_: return make_error_condition( host_unreachable );
- case WSAEINPROGRESS_: return make_error_condition( operation_in_progress );
- case WSAEINTR_: return make_error_condition( interrupted );
- case WSAEINVAL_: return make_error_condition( invalid_argument );
- case WSAEISCONN_: return make_error_condition( already_connected );
- case WSAEMFILE_: return make_error_condition( too_many_files_open );
- case WSAEMSGSIZE_: return make_error_condition( message_size );
- case WSAENAMETOOLONG_: return make_error_condition( filename_too_long );
- case WSAENETDOWN_: return make_error_condition( network_down );
- case WSAENETRESET_: return make_error_condition( network_reset );
- case WSAENETUNREACH_: return make_error_condition( network_unreachable );
- case WSAENOBUFS_: return make_error_condition( no_buffer_space );
- case WSAENOPROTOOPT_: return make_error_condition( no_protocol_option );
- case WSAENOTCONN_: return make_error_condition( not_connected );
- case WSAENOTSOCK_: return make_error_condition( not_a_socket );
- case WSAEOPNOTSUPP_: return make_error_condition( operation_not_supported );
- case WSAEPROTONOSUPPORT_: return make_error_condition( protocol_not_supported );
- case WSAEPROTOTYPE_: return make_error_condition( wrong_protocol_type );
- case WSAETIMEDOUT_: return make_error_condition( timed_out );
- case WSAEWOULDBLOCK_: return make_error_condition( operation_would_block );
- #endif
- default: return error_condition( ev, system_category() );
- }
- }
-
-# if !defined( BOOST_WINDOWS_API )
-
- BOOST_SYSTEM_DECL_ std::string system_error_category::message( int ev ) const
- {
- return generic_category().message( ev );
- }
-# else
-
- BOOST_SYSTEM_DECL_ std::string system_error_category::message( int ev ) const
- {
-#if defined(UNDER_CE) || BOOST_PLAT_WINDOWS_RUNTIME || defined(BOOST_NO_ANSI_APIS)
- std::wstring buf(128, wchar_t());
- for (;;)
- {
- boost::winapi::DWORD_ retval = boost::winapi::FormatMessageW(
- boost::winapi::FORMAT_MESSAGE_FROM_SYSTEM_ |
- boost::winapi::FORMAT_MESSAGE_IGNORE_INSERTS_,
- NULL,
- ev,
- boost::winapi::MAKELANGID_(boost::winapi::LANG_NEUTRAL_,
- boost::winapi::SUBLANG_DEFAULT_), // Default language
- &buf[0],
- static_cast<boost::winapi::DWORD_>(buf.size()),
- NULL
- );
-
- if (retval > 0)
- {
- buf.resize(retval);
- break;
- }
- else if (boost::winapi::GetLastError() !=
- boost::winapi::ERROR_INSUFFICIENT_BUFFER_)
- {
- return std::string("Unknown error");
- }
- else
- {
- buf.resize(buf.size() + buf.size() / 2);
- }
- }
-
- int num_chars = static_cast<int>(buf.size() + 1) * 2;
-
- boost::winapi::LPSTR_ narrow_buffer =
-#if defined(__GNUC__)
- (boost::winapi::LPSTR_)__builtin_alloca(num_chars);
-#else
- (boost::winapi::LPSTR_)_alloca(num_chars);
-#endif
-
- if (boost::winapi::WideCharToMultiByte(boost::winapi::CP_ACP_, 0,
- buf.c_str(), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
- {
- return std::string("Unknown error");
- }
-
- std::string str( narrow_buffer );
-#else
- boost::winapi::LPVOID_ lpMsgBuf = 0;
- boost::winapi::DWORD_ retval = boost::winapi::FormatMessageA(
- boost::winapi::FORMAT_MESSAGE_ALLOCATE_BUFFER_ |
- boost::winapi::FORMAT_MESSAGE_FROM_SYSTEM_ |
- boost::winapi::FORMAT_MESSAGE_IGNORE_INSERTS_,
- NULL,
- ev,
- boost::winapi::MAKELANGID_(boost::winapi::LANG_NEUTRAL_,
- boost::winapi::SUBLANG_DEFAULT_), // Default language
- (boost::winapi::LPSTR_) &lpMsgBuf,
- 0,
- NULL
- );
- detail::local_free_on_destruction lfod(lpMsgBuf);
- if (retval == 0)
- return std::string("Unknown error");
-
- std::string str(static_cast<boost::winapi::LPCSTR_>(lpMsgBuf));
-# endif
- while ( str.size()
- && (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
- str.erase( str.size()-1 );
- if ( str.size() && str[str.size()-1] == '.' )
- { str.erase( str.size()-1 ); }
- return str;
- }
-# endif
-
-#undef BOOST_SYSTEM_DECL_
-
-} // namespace detail
-
-
-# ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
- BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
- // note that it doesn't matter if this
- // isn't initialized before use since
- // the only use is to take its
- // address for comparison purposes
-# endif
-
-#if defined(BOOST_ERROR_CODE_HEADER_ONLY)
-
-// defined in error_code.hpp
-
-#elif defined(BOOST_SYSTEM_HAS_CONSTEXPR)
-
-namespace detail
-{
-
-BOOST_SYSTEM_REQUIRE_CONST_INIT BOOST_SYSTEM_DECL system_error_category system_category_instance;
-BOOST_SYSTEM_REQUIRE_CONST_INIT BOOST_SYSTEM_DECL generic_error_category generic_category_instance;
-
-BOOST_SYSTEM_DECL const error_category & system_category_ncx() BOOST_SYSTEM_NOEXCEPT
-{
- return system_category_instance;
-}
-
-BOOST_SYSTEM_DECL const error_category & generic_category_ncx() BOOST_SYSTEM_NOEXCEPT
-{
- return generic_category_instance;
-}
-
-} // namespace detail
-
-#else
-
-namespace detail
-{
-
-BOOST_SYSTEM_DECL const error_category & system_category_ncx() BOOST_SYSTEM_NOEXCEPT
-{
- static const detail::system_error_category system_category_instance;
- return system_category_instance;
-}
-
-BOOST_SYSTEM_DECL const error_category & generic_category_ncx() BOOST_SYSTEM_NOEXCEPT
-{
- static const detail::generic_error_category generic_category_instance;
- return generic_category_instance;
-}
-
-} // namespace detail
-
-#endif
-
-} // namespace system
-
-} // namespace boost
diff --git a/boost/system/detail/generic_category.hpp b/boost/system/detail/generic_category.hpp
new file mode 100644
index 0000000000..35175f8bcc
--- /dev/null
+++ b/boost/system/detail/generic_category.hpp
@@ -0,0 +1,101 @@
+// Implementation details of generic_error_category
+//
+// Copyright 2018 Peter Dimov
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See library home page at http://www.boost.org/libs/system
+
+#include <cstring>
+
+namespace boost
+{
+
+namespace system
+{
+
+namespace detail
+{
+
+#if defined(__GLIBC__)
+
+// glibc has two incompatible strerror_r definitions
+
+inline char const * strerror_r_helper( char const * r, char const * ) BOOST_NOEXCEPT
+{
+ return r;
+}
+
+inline char const * strerror_r_helper( int r, char const * buffer ) BOOST_NOEXCEPT
+{
+ return r == 0? buffer: "Unknown error";
+}
+
+inline char const * generic_error_category_message( int ev, char * buffer, std::size_t len ) BOOST_NOEXCEPT
+{
+ return strerror_r_helper( strerror_r( ev, buffer, len ), buffer );
+}
+
+inline std::string generic_error_category_message( int ev )
+{
+ char buffer[ 128 ];
+ return generic_error_category_message( ev, buffer, sizeof( buffer ) );
+}
+
+#else
+
+// std::strerror is thread-safe on everything else, incl. Windows
+
+# if defined( BOOST_MSVC )
+# pragma warning( push )
+# pragma warning( disable: 4996 )
+# elif defined(__clang__) && defined(__has_warning)
+# pragma clang diagnostic push
+# if __has_warning("-Wdeprecated-declarations")
+# pragma clang diagnostic ignored "-Wdeprecated-declarations"
+# endif
+# endif
+
+inline std::string generic_error_category_message( int ev )
+{
+ char const * m = std::strerror( ev );
+ return m? m: "Unknown error";
+}
+
+inline char const * generic_error_category_message( int ev, char * buffer, std::size_t len ) BOOST_NOEXCEPT
+{
+ if( len == 0 )
+ {
+ return buffer;
+ }
+
+ if( len == 1 )
+ {
+ buffer[0] = 0;
+ return buffer;
+ }
+
+ char const * m = std::strerror( ev );
+
+ if( m == 0 ) return "Unknown error";
+
+ std::strncpy( buffer, m, len - 1 );
+ buffer[ len-1 ] = 0;
+
+ return buffer;
+}
+
+# if defined( BOOST_MSVC )
+# pragma warning( pop )
+# elif defined(__clang__) && defined(__has_warning)
+# pragma clang diagnostic pop
+# endif
+
+#endif
+
+} // namespace detail
+
+} // namespace system
+
+} // namespace boost
diff --git a/boost/system/detail/local_free_on_destruction.hpp b/boost/system/detail/local_free_on_destruction.hpp
deleted file mode 100644
index 9016e7402d..0000000000
--- a/boost/system/detail/local_free_on_destruction.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// local_free_on_exit.hpp ------------------------------------------------------------//
-
-// Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-// Copyright (c) 2010 Beman Dawes
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-// This is derived from boost/asio/detail/local_free_on_block_exit.hpp to avoid
-// a dependency on asio. Thanks to Chris Kohlhoff for pointing it out.
-
-#ifndef BOOST_SYSTEM_LOCAL_FREE_ON_EXIT_HPP
-#define BOOST_SYSTEM_LOCAL_FREE_ON_EXIT_HPP
-
-#include <boost/winapi/local_memory.hpp>
-
-namespace boost {
-namespace system {
-namespace detail {
-
-class local_free_on_destruction
-{
-public:
- explicit local_free_on_destruction(void* p)
- : p_(p) {}
-
- ~local_free_on_destruction()
- {
- boost::winapi::LocalFree(p_);
- }
-
-private:
- void* p_;
- local_free_on_destruction(const local_free_on_destruction&); // = deleted
- local_free_on_destruction& operator=(const local_free_on_destruction&); // = deleted
-};
-
-} // namespace detail
-} // namespace system
-} // namespace boost
-
-#endif // BOOST_SYSTEM_LOCAL_FREE_ON_EXIT_HPP
diff --git a/boost/system/detail/std_interoperability.hpp b/boost/system/detail/std_interoperability.hpp
new file mode 100644
index 0000000000..b1b41d39b4
--- /dev/null
+++ b/boost/system/detail/std_interoperability.hpp
@@ -0,0 +1,141 @@
+// Support for interoperability between Boost.System and <system_error>
+//
+// Copyright 2018 Peter Dimov
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See library home page at http://www.boost.org/libs/system
+
+#include <system_error>
+#include <map>
+#include <memory>
+
+//
+
+namespace boost
+{
+
+namespace system
+{
+
+namespace detail
+{
+
+class BOOST_SYMBOL_VISIBLE std_category: public std::error_category
+{
+private:
+
+ boost::system::error_category const * pc_;
+
+public:
+
+ explicit std_category( boost::system::error_category const * pc ): pc_( pc )
+ {
+ }
+
+ virtual const char * name() const BOOST_NOEXCEPT
+ {
+ return pc_->name();
+ }
+
+ virtual std::string message( int ev ) const
+ {
+ return pc_->message( ev );
+ }
+
+ virtual std::error_condition default_error_condition( int ev ) const BOOST_NOEXCEPT
+ {
+ return pc_->default_error_condition( ev );
+ }
+
+ virtual bool equivalent( int code, const std::error_condition & condition ) const BOOST_NOEXCEPT;
+ virtual bool equivalent( const std::error_code & code, int condition ) const BOOST_NOEXCEPT;
+};
+
+inline std::error_category const & to_std_category( boost::system::error_category const & cat )
+{
+ typedef std::map< boost::system::error_category const *, std::unique_ptr<std_category> > map_type;
+
+ static map_type map_;
+
+ map_type::iterator i = map_.find( &cat );
+
+ if( i == map_.end() )
+ {
+ std::unique_ptr<std_category> p( new std_category( &cat ) );
+
+ std::pair<map_type::iterator, bool> r = map_.insert( map_type::value_type( &cat, std::move( p ) ) );
+
+ i = r.first;
+ }
+
+ return *i->second;
+}
+
+inline bool std_category::equivalent( int code, const std::error_condition & condition ) const BOOST_NOEXCEPT
+{
+ if( condition.category() == *this )
+ {
+ boost::system::error_condition bn( condition.value(), *pc_ );
+ return pc_->equivalent( code, bn );
+ }
+ else if( condition.category() == std::generic_category() || condition.category() == boost::system::generic_category() )
+ {
+ boost::system::error_condition bn( condition.value(), boost::system::generic_category() );
+ return pc_->equivalent( code, bn );
+ }
+
+#ifndef BOOST_NO_RTTI
+
+ else if( std_category const* pc2 = dynamic_cast< std_category const* >( &condition.category() ) )
+ {
+ boost::system::error_condition bn( condition.value(), *pc2->pc_ );
+ return pc_->equivalent( code, bn );
+ }
+
+#endif
+
+ else
+ {
+ return default_error_condition( code ) == condition;
+ }
+}
+
+inline bool std_category::equivalent( const std::error_code & code, int condition ) const BOOST_NOEXCEPT
+{
+ if( code.category() == *this )
+ {
+ boost::system::error_code bc( code.value(), *pc_ );
+ return pc_->equivalent( bc, condition );
+ }
+ else if( code.category() == std::generic_category() || code.category() == boost::system::generic_category() )
+ {
+ boost::system::error_code bc( code.value(), boost::system::generic_category() );
+ return pc_->equivalent( bc, condition );
+ }
+
+#ifndef BOOST_NO_RTTI
+
+ else if( std_category const* pc2 = dynamic_cast< std_category const* >( &code.category() ) )
+ {
+ boost::system::error_code bc( code.value(), *pc2->pc_ );
+ return pc_->equivalent( bc, condition );
+ }
+#endif
+
+ else if( *pc_ == boost::system::generic_category() )
+ {
+ return std::generic_category().equivalent( code, condition );
+ }
+ else
+ {
+ return false;
+ }
+}
+
+} // namespace detail
+
+} // namespace system
+
+} // namespace boost
diff --git a/boost/system/detail/system_category_posix.hpp b/boost/system/detail/system_category_posix.hpp
new file mode 100644
index 0000000000..9a40623d38
--- /dev/null
+++ b/boost/system/detail/system_category_posix.hpp
@@ -0,0 +1,132 @@
+// POSIX-specific implementation details of system_error_category
+//
+// Copyright 2018 Peter Dimov
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See library home page at http://www.boost.org/libs/system
+
+namespace boost
+{
+
+namespace system
+{
+
+namespace detail
+{
+
+inline bool is_generic_value( int ev ) BOOST_NOEXCEPT
+{
+ using namespace errc;
+
+ static int const gen[] =
+ {
+ success,
+ address_family_not_supported,
+ address_in_use,
+ address_not_available,
+ already_connected,
+ argument_list_too_long,
+ argument_out_of_domain,
+ bad_address,
+ bad_file_descriptor,
+ bad_message,
+ broken_pipe,
+ connection_aborted,
+ connection_already_in_progress,
+ connection_refused,
+ connection_reset,
+ cross_device_link,
+ destination_address_required,
+ device_or_resource_busy,
+ directory_not_empty,
+ executable_format_error,
+ file_exists,
+ file_too_large,
+ filename_too_long,
+ function_not_supported,
+ host_unreachable,
+ identifier_removed,
+ illegal_byte_sequence,
+ inappropriate_io_control_operation,
+ interrupted,
+ invalid_argument,
+ invalid_seek,
+ io_error,
+ is_a_directory,
+ message_size,
+ network_down,
+ network_reset,
+ network_unreachable,
+ no_buffer_space,
+ no_child_process,
+ no_link,
+ no_lock_available,
+ no_message_available,
+ no_message,
+ no_protocol_option,
+ no_space_on_device,
+ no_stream_resources,
+ no_such_device_or_address,
+ no_such_device,
+ no_such_file_or_directory,
+ no_such_process,
+ not_a_directory,
+ not_a_socket,
+ not_a_stream,
+ not_connected,
+ not_enough_memory,
+ not_supported,
+ operation_canceled,
+ operation_in_progress,
+ operation_not_permitted,
+ operation_not_supported,
+ operation_would_block,
+ owner_dead,
+ permission_denied,
+ protocol_error,
+ protocol_not_supported,
+ read_only_file_system,
+ resource_deadlock_would_occur,
+ resource_unavailable_try_again,
+ result_out_of_range,
+ state_not_recoverable,
+ stream_timeout,
+ text_file_busy,
+ timed_out,
+ too_many_files_open_in_system,
+ too_many_files_open,
+ too_many_links,
+ too_many_symbolic_link_levels,
+ value_too_large,
+ wrong_protocol_type
+ };
+
+ int const n = sizeof( gen ) / sizeof( gen[0] );
+
+ for( int i = 0; i < n; ++i )
+ {
+ if( ev == gen[ i ] ) return true;
+ }
+
+ return false;
+}
+
+inline error_condition system_category_default_error_condition_posix( int ev ) BOOST_NOEXCEPT
+{
+ if( is_generic_value( ev ) )
+ {
+ return error_condition( ev, generic_category() );
+ }
+ else
+ {
+ return error_condition( ev, system_category() );
+ }
+}
+
+} // namespace detail
+
+} // namespace system
+
+} // namespace boost
diff --git a/boost/system/detail/system_category_win32.hpp b/boost/system/detail/system_category_win32.hpp
new file mode 100644
index 0000000000..8a86e8180e
--- /dev/null
+++ b/boost/system/detail/system_category_win32.hpp
@@ -0,0 +1,324 @@
+// Windows implementation of system_error_category
+//
+// Copyright Beman Dawes 2002, 2006
+// Copyright (c) Microsoft Corporation 2014
+// Copyright 2018 Peter Dimov
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See library home page at http://www.boost.org/libs/system
+
+#include <boost/winapi/error_codes.hpp>
+#include <boost/winapi/error_handling.hpp>
+#include <boost/winapi/character_code_conversion.hpp>
+#include <boost/winapi/local_memory.hpp>
+#include <cstdio>
+
+//
+
+namespace boost
+{
+
+namespace system
+{
+
+namespace detail
+{
+
+#if ( defined(_MSC_VER) && _MSC_VER < 1900 ) || ( defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) )
+
+inline char const * unknown_message_win32( int ev, char * buffer, std::size_t len )
+{
+# if defined( BOOST_MSVC )
+# pragma warning( push )
+# pragma warning( disable: 4996 )
+# endif
+
+ _snprintf( buffer, len - 1, "Unknown error (%d)", ev );
+
+ buffer[ len - 1 ] = 0;
+ return buffer;
+
+# if defined( BOOST_MSVC )
+# pragma warning( pop )
+# endif
+}
+
+#else
+
+inline char const * unknown_message_win32( int ev, char * buffer, std::size_t len )
+{
+ std::snprintf( buffer, len, "Unknown error (%d)", ev );
+ return buffer;
+}
+
+#endif
+
+inline boost::winapi::UINT_ message_cp_win32()
+{
+#if defined(BOOST_SYSTEM_USE_UTF8)
+
+ return boost::winapi::CP_UTF8_;
+
+#else
+
+ return boost::winapi::CP_ACP_;
+
+#endif
+}
+
+inline char const * system_category_message_win32( int ev, char * buffer, std::size_t len ) BOOST_NOEXCEPT
+{
+ if( len == 0 )
+ {
+ return buffer;
+ }
+
+ if( len == 1 )
+ {
+ buffer[0] = 0;
+ return buffer;
+ }
+
+#if defined(__GNUC__)
+# define BOOST_SYSTEM_ALLOCA __builtin_alloca
+#else
+# define BOOST_SYSTEM_ALLOCA _alloca
+#endif
+
+ wchar_t * wbuffer = static_cast<wchar_t*>( BOOST_SYSTEM_ALLOCA( len * sizeof( wchar_t ) ) );
+
+#undef BOOST_SYSTEM_ALLOCA
+
+ using namespace boost::winapi;
+
+ DWORD_ retval = boost::winapi::FormatMessageW(
+ FORMAT_MESSAGE_FROM_SYSTEM_ | FORMAT_MESSAGE_IGNORE_INSERTS_,
+ NULL,
+ ev,
+ MAKELANGID_( LANG_NEUTRAL_, SUBLANG_DEFAULT_ ), // Default language
+ wbuffer,
+ static_cast<DWORD_>( len ),
+ NULL
+ );
+
+ if( retval == 0 )
+ {
+ return unknown_message_win32( ev, buffer, len );
+ }
+
+ UINT_ const code_page = message_cp_win32();
+
+ int r = boost::winapi::WideCharToMultiByte( code_page, 0, wbuffer, -1, buffer, static_cast<int>( len ), NULL, NULL );
+
+ if( r == 0 )
+ {
+ return unknown_message_win32( ev, buffer, len );
+ }
+
+ --r; // exclude null terminator
+
+ while( r > 0 && ( buffer[ r-1 ] == '\n' || buffer[ r-1 ] == '\r' ) )
+ {
+ buffer[ --r ] = 0;
+ }
+
+ if( r > 0 && buffer[ r-1 ] == '.' )
+ {
+ buffer[ --r ] = 0;
+ }
+
+ return buffer;
+}
+
+struct local_free
+{
+ void * p_;
+
+ ~local_free()
+ {
+ boost::winapi::LocalFree( p_ );
+ }
+};
+
+inline std::string unknown_message_win32( int ev )
+{
+ char buffer[ 38 ];
+ return unknown_message_win32( ev, buffer, sizeof( buffer ) );
+}
+
+inline std::string system_category_message_win32( int ev )
+{
+ using namespace boost::winapi;
+
+ wchar_t * lpMsgBuf = 0;
+
+ DWORD_ retval = boost::winapi::FormatMessageW(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER_ | FORMAT_MESSAGE_FROM_SYSTEM_ | FORMAT_MESSAGE_IGNORE_INSERTS_,
+ NULL,
+ ev,
+ MAKELANGID_( LANG_NEUTRAL_, SUBLANG_DEFAULT_ ), // Default language
+ (LPWSTR_) &lpMsgBuf,
+ 0,
+ NULL
+ );
+
+ if( retval == 0 )
+ {
+ return unknown_message_win32( ev );
+ }
+
+ local_free lf_ = { lpMsgBuf };
+ (void)lf_;
+
+ UINT_ const code_page = message_cp_win32();
+
+ int r = boost::winapi::WideCharToMultiByte( code_page, 0, lpMsgBuf, -1, 0, 0, NULL, NULL );
+
+ if( r == 0 )
+ {
+ return unknown_message_win32( ev );
+ }
+
+ std::string buffer( r, char() );
+
+ r = boost::winapi::WideCharToMultiByte( code_page, 0, lpMsgBuf, -1, &buffer[0], r, NULL, NULL );
+
+ if( r == 0 )
+ {
+ return unknown_message_win32( ev );
+ }
+
+ --r; // exclude null terminator
+
+ while( r > 0 && ( buffer[ r-1 ] == '\n' || buffer[ r-1 ] == '\r' ) )
+ {
+ --r;
+ }
+
+ if( r > 0 && buffer[ r-1 ] == '.' )
+ {
+ --r;
+ }
+
+ buffer.resize( r );
+
+ return buffer;
+}
+
+inline error_condition system_category_default_error_condition_win32( int ev ) BOOST_NOEXCEPT
+{
+ // When using the Windows Runtime, most system errors are reported as HRESULTs.
+ // We want to map the common Win32 errors to their equivalent error condition,
+ // whether or not they are reported via an HRESULT.
+
+#define BOOST_SYSTEM_FAILED(hr) ((hr) < 0)
+#define BOOST_SYSTEM_HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff)
+#define BOOST_SYSTEM_HRESULT_CODE(hr) ((hr) & 0xFFFF)
+#define BOOST_SYSTEM_FACILITY_WIN32 7
+
+ if( BOOST_SYSTEM_FAILED( ev ) && BOOST_SYSTEM_HRESULT_FACILITY( ev ) == BOOST_SYSTEM_FACILITY_WIN32 )
+ {
+ ev = BOOST_SYSTEM_HRESULT_CODE( ev );
+ }
+
+#undef BOOST_SYSTEM_FAILED
+#undef BOOST_SYSTEM_HRESULT_FACILITY
+#undef BOOST_SYSTEM_HRESULT_CODE
+#undef BOOST_SYSTEM_FACILITY_WIN32
+
+ using namespace boost::winapi;
+ using namespace errc;
+
+ // Windows system -> posix_errno decode table
+ // see WinError.h comments for descriptions of errors
+
+ switch ( ev )
+ {
+ case 0: return make_error_condition( success );
+
+ case ERROR_ACCESS_DENIED_: return make_error_condition( permission_denied );
+ case ERROR_ALREADY_EXISTS_: return make_error_condition( file_exists );
+ case ERROR_BAD_UNIT_: return make_error_condition( no_such_device );
+ case ERROR_BUFFER_OVERFLOW_: return make_error_condition( filename_too_long );
+ case ERROR_BUSY_: return make_error_condition( device_or_resource_busy );
+ case ERROR_BUSY_DRIVE_: return make_error_condition( device_or_resource_busy );
+ case ERROR_CANNOT_MAKE_: return make_error_condition( permission_denied );
+ case ERROR_CANTOPEN_: return make_error_condition( io_error );
+ case ERROR_CANTREAD_: return make_error_condition( io_error );
+ case ERROR_CANTWRITE_: return make_error_condition( io_error );
+ case ERROR_CURRENT_DIRECTORY_: return make_error_condition( permission_denied );
+ case ERROR_DEV_NOT_EXIST_: return make_error_condition( no_such_device );
+ case ERROR_DEVICE_IN_USE_: return make_error_condition( device_or_resource_busy );
+ case ERROR_DIR_NOT_EMPTY_: return make_error_condition( directory_not_empty );
+ case ERROR_DIRECTORY_: return make_error_condition( invalid_argument ); // WinError.h: "The directory name is invalid"
+ case ERROR_DISK_FULL_: return make_error_condition( no_space_on_device );
+ case ERROR_FILE_EXISTS_: return make_error_condition( file_exists );
+ case ERROR_FILE_NOT_FOUND_: return make_error_condition( no_such_file_or_directory );
+ case ERROR_HANDLE_DISK_FULL_: return make_error_condition( no_space_on_device );
+ case ERROR_INVALID_ACCESS_: return make_error_condition( permission_denied );
+ case ERROR_INVALID_DRIVE_: return make_error_condition( no_such_device );
+ case ERROR_INVALID_FUNCTION_: return make_error_condition( function_not_supported );
+ case ERROR_INVALID_HANDLE_: return make_error_condition( invalid_argument );
+ case ERROR_INVALID_NAME_: return make_error_condition( invalid_argument );
+ case ERROR_LOCK_VIOLATION_: return make_error_condition( no_lock_available );
+ case ERROR_LOCKED_: return make_error_condition( no_lock_available );
+ case ERROR_NEGATIVE_SEEK_: return make_error_condition( invalid_argument );
+ case ERROR_NOACCESS_: return make_error_condition( permission_denied );
+ case ERROR_NOT_ENOUGH_MEMORY_: return make_error_condition( not_enough_memory );
+ case ERROR_NOT_READY_: return make_error_condition( resource_unavailable_try_again );
+ case ERROR_NOT_SAME_DEVICE_: return make_error_condition( cross_device_link );
+ case ERROR_OPEN_FAILED_: return make_error_condition( io_error );
+ case ERROR_OPEN_FILES_: return make_error_condition( device_or_resource_busy );
+ case ERROR_OPERATION_ABORTED_: return make_error_condition( operation_canceled );
+ case ERROR_OUTOFMEMORY_: return make_error_condition( not_enough_memory );
+ case ERROR_PATH_NOT_FOUND_: return make_error_condition( no_such_file_or_directory );
+ case ERROR_READ_FAULT_: return make_error_condition( io_error );
+ case ERROR_RETRY_: return make_error_condition( resource_unavailable_try_again );
+ case ERROR_SEEK_: return make_error_condition( io_error );
+ case ERROR_SHARING_VIOLATION_: return make_error_condition( permission_denied );
+ case ERROR_TOO_MANY_OPEN_FILES_: return make_error_condition( too_many_files_open );
+ case ERROR_WRITE_FAULT_: return make_error_condition( io_error );
+ case ERROR_WRITE_PROTECT_: return make_error_condition( permission_denied );
+ case WSAEACCES_: return make_error_condition( permission_denied );
+ case WSAEADDRINUSE_: return make_error_condition( address_in_use );
+ case WSAEADDRNOTAVAIL_: return make_error_condition( address_not_available );
+ case WSAEAFNOSUPPORT_: return make_error_condition( address_family_not_supported );
+ case WSAEALREADY_: return make_error_condition( connection_already_in_progress );
+ case WSAEBADF_: return make_error_condition( bad_file_descriptor );
+ case WSAECONNABORTED_: return make_error_condition( connection_aborted );
+ case WSAECONNREFUSED_: return make_error_condition( connection_refused );
+ case WSAECONNRESET_: return make_error_condition( connection_reset );
+ case WSAEDESTADDRREQ_: return make_error_condition( destination_address_required );
+ case WSAEFAULT_: return make_error_condition( bad_address );
+ case WSAEHOSTUNREACH_: return make_error_condition( host_unreachable );
+ case WSAEINPROGRESS_: return make_error_condition( operation_in_progress );
+ case WSAEINTR_: return make_error_condition( interrupted );
+ case WSAEINVAL_: return make_error_condition( invalid_argument );
+ case WSAEISCONN_: return make_error_condition( already_connected );
+ case WSAEMFILE_: return make_error_condition( too_many_files_open );
+ case WSAEMSGSIZE_: return make_error_condition( message_size );
+ case WSAENAMETOOLONG_: return make_error_condition( filename_too_long );
+ case WSAENETDOWN_: return make_error_condition( network_down );
+ case WSAENETRESET_: return make_error_condition( network_reset );
+ case WSAENETUNREACH_: return make_error_condition( network_unreachable );
+ case WSAENOBUFS_: return make_error_condition( no_buffer_space );
+ case WSAENOPROTOOPT_: return make_error_condition( no_protocol_option );
+ case WSAENOTCONN_: return make_error_condition( not_connected );
+ case WSAENOTSOCK_: return make_error_condition( not_a_socket );
+ case WSAEOPNOTSUPP_: return make_error_condition( operation_not_supported );
+ case WSAEPROTONOSUPPORT_: return make_error_condition( protocol_not_supported );
+ case WSAEPROTOTYPE_: return make_error_condition( wrong_protocol_type );
+ case WSAETIMEDOUT_: return make_error_condition( timed_out );
+ case WSAEWOULDBLOCK_: return make_error_condition( operation_would_block );
+
+ default: return error_condition( ev, system_category() );
+ }
+}
+
+} // namespace detail
+
+} // namespace system
+
+} // namespace boost
diff --git a/boost/system/error_code.hpp b/boost/system/error_code.hpp
index c70ea04b5e..d0c27353ad 100644
--- a/boost/system/error_code.hpp
+++ b/boost/system/error_code.hpp
@@ -1,944 +1,956 @@
-// boost/system/error_code.hpp -------------------------------------------------------//
+#ifndef BOOST_SYSTEM_ERROR_CODE_HPP_INCLUDED
+#define BOOST_SYSTEM_ERROR_CODE_HPP_INCLUDED
// Copyright Beman Dawes 2006, 2007
// Copyright Christoper Kohlhoff 2007
// Copyright Peter Dimov 2017, 2018
-
+//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
+//
// See library home page at http://www.boost.org/libs/system
-#ifndef BOOST_SYSTEM_ERROR_CODE_HPP
-#define BOOST_SYSTEM_ERROR_CODE_HPP
-
-#include <boost/system/config.hpp>
+#include <boost/system/api_config.hpp>
+#include <boost/system/detail/config.hpp>
#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/config.hpp>
#include <ostream>
#include <string>
-#include <stdexcept>
#include <functional>
+#include <cstring>
// TODO: undef these macros if not already defined
#include <boost/cerrno.hpp>
-#if !defined(BOOST_POSIX_API) && !defined(BOOST_WINDOWS_API)
-# error BOOST_POSIX_API or BOOST_WINDOWS_API must be defined
+#if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
+# include <system_error>
#endif
-#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#include <system_error>
+#if !defined(BOOST_POSIX_API) && !defined(BOOST_WINDOWS_API)
+# error BOOST_POSIX_API or BOOST_WINDOWS_API must be defined
#endif
-#include <boost/config/abi_prefix.hpp> // must be the last #include
+namespace boost
+{
-#ifndef BOOST_SYSTEM_NOEXCEPT
-#define BOOST_SYSTEM_NOEXCEPT BOOST_NOEXCEPT
-#endif
+namespace system
+{
-#if !defined(BOOST_NO_CXX14_CONSTEXPR)
-# define BOOST_SYSTEM_HAS_CONSTEXPR
-#endif
+class error_code; // values defined by the operating system
+class error_condition; // portable generic values defined below, but ultimately
+ // based on the POSIX standard
-#if defined(__GNUC__) && (__GNUC__ == 7 && __GNUC_MINOR__ < 4) && __cplusplus >= 201700L
-// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83835
-# undef BOOST_SYSTEM_HAS_CONSTEXPR
-#endif
+// "Concept" helpers
-#if defined(__clang__) && defined(_MSC_VER) && defined(_CPPLIB_VER)
-// Clang on Windows with MSVC headers, the constructor of std::error_category
-// is not constexpr at least up to VS2017 15.7.x (_MSVC_STL_UPDATE 201803)
-# undef BOOST_SYSTEM_HAS_CONSTEXPR
-#endif
+template<class T> struct is_error_code_enum
+{
+ static const bool value = false;
+};
-#if defined(__clang__) && defined(BOOST_LIBSTDCXX_VERSION) && BOOST_LIBSTDCXX_VERSION < 40900
-// The constructor of std::error_category is not constexpr in libstdc++ 4.8
-# undef BOOST_SYSTEM_HAS_CONSTEXPR
-#endif
+template<class T> struct is_error_condition_enum
+{
+ static const bool value = false;
+};
-#if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
-# define BOOST_SYSTEM_CONSTEXPR constexpr
-#else
-# define BOOST_SYSTEM_CONSTEXPR
-#endif
+// Generic error_conditions
-namespace boost
+namespace errc
{
- namespace system
- {
-
- class error_code; // values defined by the operating system
- class error_condition; // portable generic values defined below, but ultimately
- // based on the POSIX standard
-
- // "Concept" helpers -------------------------------------------------------------//
-
- template< class T >
- struct is_error_code_enum { static const bool value = false; };
-
- template< class T >
- struct is_error_condition_enum { static const bool value = false; };
-
- // generic error_conditions ------------------------------------------------------//
-
- namespace errc
- {
- enum errc_t
- {
- success = 0,
- address_family_not_supported = EAFNOSUPPORT,
- address_in_use = EADDRINUSE,
- address_not_available = EADDRNOTAVAIL,
- already_connected = EISCONN,
- argument_list_too_long = E2BIG,
- argument_out_of_domain = EDOM,
- bad_address = EFAULT,
- bad_file_descriptor = EBADF,
- bad_message = EBADMSG,
- broken_pipe = EPIPE,
- connection_aborted = ECONNABORTED,
- connection_already_in_progress = EALREADY,
- connection_refused = ECONNREFUSED,
- connection_reset = ECONNRESET,
- cross_device_link = EXDEV,
- destination_address_required = EDESTADDRREQ,
- device_or_resource_busy = EBUSY,
- directory_not_empty = ENOTEMPTY,
- executable_format_error = ENOEXEC,
- file_exists = EEXIST,
- file_too_large = EFBIG,
- filename_too_long = ENAMETOOLONG,
- function_not_supported = ENOSYS,
- host_unreachable = EHOSTUNREACH,
- identifier_removed = EIDRM,
- illegal_byte_sequence = EILSEQ,
- inappropriate_io_control_operation = ENOTTY,
- interrupted = EINTR,
- invalid_argument = EINVAL,
- invalid_seek = ESPIPE,
- io_error = EIO,
- is_a_directory = EISDIR,
- message_size = EMSGSIZE,
- network_down = ENETDOWN,
- network_reset = ENETRESET,
- network_unreachable = ENETUNREACH,
- no_buffer_space = ENOBUFS,
- no_child_process = ECHILD,
- no_link = ENOLINK,
- no_lock_available = ENOLCK,
- no_message_available = ENODATA,
- no_message = ENOMSG,
- no_protocol_option = ENOPROTOOPT,
- no_space_on_device = ENOSPC,
- no_stream_resources = ENOSR,
- no_such_device_or_address = ENXIO,
- no_such_device = ENODEV,
- no_such_file_or_directory = ENOENT,
- no_such_process = ESRCH,
- not_a_directory = ENOTDIR,
- not_a_socket = ENOTSOCK,
- not_a_stream = ENOSTR,
- not_connected = ENOTCONN,
- not_enough_memory = ENOMEM,
- not_supported = ENOTSUP,
- operation_canceled = ECANCELED,
- operation_in_progress = EINPROGRESS,
- operation_not_permitted = EPERM,
- operation_not_supported = EOPNOTSUPP,
- operation_would_block = EWOULDBLOCK,
- owner_dead = EOWNERDEAD,
- permission_denied = EACCES,
- protocol_error = EPROTO,
- protocol_not_supported = EPROTONOSUPPORT,
- read_only_file_system = EROFS,
- resource_deadlock_would_occur = EDEADLK,
- resource_unavailable_try_again = EAGAIN,
- result_out_of_range = ERANGE,
- state_not_recoverable = ENOTRECOVERABLE,
- stream_timeout = ETIME,
- text_file_busy = ETXTBSY,
- timed_out = ETIMEDOUT,
- too_many_files_open_in_system = ENFILE,
- too_many_files_open = EMFILE,
- too_many_links = EMLINK,
- too_many_symbolic_link_levels = ELOOP,
- value_too_large = EOVERFLOW,
- wrong_protocol_type = EPROTOTYPE
- };
-
- } // namespace errc
-
-# ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
- namespace posix = errc;
- namespace posix_error = errc;
-# endif
-
- template<> struct is_error_condition_enum<errc::errc_t>
- { static const bool value = true; };
+enum errc_t
+{
+ success = 0,
+ address_family_not_supported = EAFNOSUPPORT,
+ address_in_use = EADDRINUSE,
+ address_not_available = EADDRNOTAVAIL,
+ already_connected = EISCONN,
+ argument_list_too_long = E2BIG,
+ argument_out_of_domain = EDOM,
+ bad_address = EFAULT,
+ bad_file_descriptor = EBADF,
+ bad_message = EBADMSG,
+ broken_pipe = EPIPE,
+ connection_aborted = ECONNABORTED,
+ connection_already_in_progress = EALREADY,
+ connection_refused = ECONNREFUSED,
+ connection_reset = ECONNRESET,
+ cross_device_link = EXDEV,
+ destination_address_required = EDESTADDRREQ,
+ device_or_resource_busy = EBUSY,
+ directory_not_empty = ENOTEMPTY,
+ executable_format_error = ENOEXEC,
+ file_exists = EEXIST,
+ file_too_large = EFBIG,
+ filename_too_long = ENAMETOOLONG,
+ function_not_supported = ENOSYS,
+ host_unreachable = EHOSTUNREACH,
+ identifier_removed = EIDRM,
+ illegal_byte_sequence = EILSEQ,
+ inappropriate_io_control_operation = ENOTTY,
+ interrupted = EINTR,
+ invalid_argument = EINVAL,
+ invalid_seek = ESPIPE,
+ io_error = EIO,
+ is_a_directory = EISDIR,
+ message_size = EMSGSIZE,
+ network_down = ENETDOWN,
+ network_reset = ENETRESET,
+ network_unreachable = ENETUNREACH,
+ no_buffer_space = ENOBUFS,
+ no_child_process = ECHILD,
+ no_link = ENOLINK,
+ no_lock_available = ENOLCK,
+ no_message_available = ENODATA,
+ no_message = ENOMSG,
+ no_protocol_option = ENOPROTOOPT,
+ no_space_on_device = ENOSPC,
+ no_stream_resources = ENOSR,
+ no_such_device_or_address = ENXIO,
+ no_such_device = ENODEV,
+ no_such_file_or_directory = ENOENT,
+ no_such_process = ESRCH,
+ not_a_directory = ENOTDIR,
+ not_a_socket = ENOTSOCK,
+ not_a_stream = ENOSTR,
+ not_connected = ENOTCONN,
+ not_enough_memory = ENOMEM,
+ not_supported = ENOTSUP,
+ operation_canceled = ECANCELED,
+ operation_in_progress = EINPROGRESS,
+ operation_not_permitted = EPERM,
+ operation_not_supported = EOPNOTSUPP,
+ operation_would_block = EWOULDBLOCK,
+ owner_dead = EOWNERDEAD,
+ permission_denied = EACCES,
+ protocol_error = EPROTO,
+ protocol_not_supported = EPROTONOSUPPORT,
+ read_only_file_system = EROFS,
+ resource_deadlock_would_occur = EDEADLK,
+ resource_unavailable_try_again = EAGAIN,
+ result_out_of_range = ERANGE,
+ state_not_recoverable = ENOTRECOVERABLE,
+ stream_timeout = ETIME,
+ text_file_busy = ETXTBSY,
+ timed_out = ETIMEDOUT,
+ too_many_files_open_in_system = ENFILE,
+ too_many_files_open = EMFILE,
+ too_many_links = EMLINK,
+ too_many_symbolic_link_levels = ELOOP,
+ value_too_large = EOVERFLOW,
+ wrong_protocol_type = EPROTOTYPE
+};
- // --------------------------------------------------------------------------------//
+} // namespace errc
- // Operating system specific interfaces ------------------------------------------//
+#ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
+namespace posix = errc;
+namespace posix_error = errc;
- // The interface is divided into general and system-specific portions to
- // meet these requirements:
- //
- // * Code calling an operating system API can create an error_code with
- // a single category (system_category), even for POSIX-like operating
- // systems that return some POSIX errno values and some native errno
- // values. This code should not have to pay the cost of distinguishing
- // between categories, since it is not yet known if that is needed.
- //
- // * Users wishing to write system-specific code should be given enums for
- // at least the common error cases.
- //
- // * System specific code should fail at compile time if moved to another
- // operating system.
+#endif
- // The system specific portions of the interface are located in headers
- // with names reflecting the operating system. For example,
- //
- // <boost/system/cygwin_error.hpp>
- // <boost/system/linux_error.hpp>
- // <boost/system/windows_error.hpp>
- //
- // These headers are effectively empty for compiles on operating systems
- // where they are not applicable.
+template<> struct is_error_condition_enum<errc::errc_t>
+{
+ static const bool value = true;
+};
- // --------------------------------------------------------------------------------//
+// class error_category
#ifdef BOOST_MSVC
-#pragma warning(push)
+#pragma warning( push )
// 'this' : used in base member initializer list
-#pragma warning(disable: 4355)
+#pragma warning( disable: 4355 )
#endif
- // class error_category ------------------------------------------------//
-
- class error_category : public noncopyable
- {
-#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+std::size_t hash_value( error_code const & ec );
- private:
+class BOOST_SYMBOL_VISIBLE error_category
+{
+private:
- class std_category: public std::error_category
- {
- private:
+ friend std::size_t hash_value( error_code const & ec );
- boost::system::error_category const * pc_;
+#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
+public:
- public:
+ error_category( error_category const & ) = delete;
+ error_category& operator=( error_category const & ) = delete;
- BOOST_SYSTEM_CONSTEXPR explicit std_category( boost::system::error_category const * pc ): pc_( pc )
- {
- }
+#else
+private:
- virtual const char * name() const BOOST_NOEXCEPT
- {
- return pc_->name();
- }
+ error_category( error_category const & );
+ error_category& operator=( error_category const & );
- virtual std::string message( int ev ) const
- {
- return pc_->message( ev );
- }
+#endif
- virtual std::error_condition default_error_condition( int ev ) const
- BOOST_NOEXCEPT;
- virtual bool equivalent( int code, const std::error_condition & condition ) const
- BOOST_NOEXCEPT;
- virtual bool equivalent( const std::error_code & code, int condition ) const
- BOOST_NOEXCEPT;
- };
+private:
- std_category std_cat_;
+ boost::ulong_long_type id_;
- public:
+protected:
- BOOST_SYSTEM_CONSTEXPR error_category() BOOST_SYSTEM_NOEXCEPT: std_cat_( this ) {}
+#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)
- operator std::error_category const & () const BOOST_SYSTEM_NOEXCEPT
- {
- // do not map generic to std::generic on purpose; occasionally,
- // there are two std::generic categories in a program, which leads
- // to error codes/conditions mysteriously not being equal to themselves
- return std_cat_;
- }
+ ~error_category() = default;
#else
- // to maintain ABI compatibility between 03 and 11,
- // define a class with the same layout
+ // We'd like to make the destructor protected, to make code that deletes
+ // an error_category* not compile; unfortunately, doing the below makes
+ // the destructor user-provided and hence breaks use after main, as the
+ // categories may get destroyed before code that uses them
- private:
+ // ~error_category() {}
- class std_category
- {
- private:
-
- boost::system::error_category const * pc_;
+#endif
- public:
+ BOOST_SYSTEM_CONSTEXPR error_category() BOOST_NOEXCEPT: id_( 0 )
+ {
+ }
- BOOST_SYSTEM_CONSTEXPR explicit std_category( boost::system::error_category const * pc ): pc_( pc )
- {
- }
+ explicit BOOST_SYSTEM_CONSTEXPR error_category( boost::ulong_long_type id ) BOOST_NOEXCEPT: id_( id )
+ {
+ }
- virtual ~std_category() {}
+public:
- virtual const char * name() const BOOST_NOEXCEPT
- {
- return pc_->name();
- }
+ virtual const char * name() const BOOST_NOEXCEPT = 0;
- // we can't define message, because (1) it returns an std::string,
- // which can be different between 03 and 11, and (2) on mingw, there
- // are actually two `message` functions, not one, so it doesn't work
- // even if we do
+ virtual error_condition default_error_condition( int ev ) const BOOST_NOEXCEPT;
+ virtual bool equivalent( int code, const error_condition & condition ) const BOOST_NOEXCEPT;
+ virtual bool equivalent( const error_code & code, int condition ) const BOOST_NOEXCEPT;
- // neither can we define default_error_condition or equivalent
+ virtual std::string message( int ev ) const = 0;
+ virtual char const * message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT;
- // if these functions are called, it will crash, but that's still
- // better than the alternative of having the class layout change
- };
+ virtual bool failed( int ev ) const BOOST_NOEXCEPT;
- std_category std_cat_;
+ BOOST_SYSTEM_CONSTEXPR bool operator==( const error_category & rhs ) const BOOST_NOEXCEPT
+ {
+ return rhs.id_ == 0? this == &rhs: id_ == rhs.id_;
+ }
- public:
+ BOOST_SYSTEM_CONSTEXPR bool operator!=( const error_category & rhs ) const BOOST_NOEXCEPT
+ {
+ return !( *this == rhs );
+ }
- BOOST_SYSTEM_CONSTEXPR error_category() BOOST_SYSTEM_NOEXCEPT: std_cat_( this ) {}
+ BOOST_SYSTEM_CONSTEXPR bool operator<( const error_category & rhs ) const BOOST_NOEXCEPT
+ {
+ if( id_ < rhs.id_ )
+ {
+ return true;
+ }
-#endif
+ if( id_ > rhs.id_ )
+ {
+ return false;
+ }
- public:
- virtual ~error_category(){}
+ if( rhs.id_ != 0 )
+ {
+ return false; // equal
+ }
- virtual const char * name() const BOOST_SYSTEM_NOEXCEPT = 0;
- virtual std::string message( int ev ) const = 0;
- inline virtual error_condition default_error_condition( int ev ) const
- BOOST_SYSTEM_NOEXCEPT;
- inline virtual bool equivalent( int code,
- const error_condition & condition ) const
- BOOST_SYSTEM_NOEXCEPT;
- inline virtual bool equivalent( const error_code & code,
- int condition ) const BOOST_SYSTEM_NOEXCEPT;
- };
+ return std::less<error_category const *>()( this, &rhs );
+ }
- BOOST_SYSTEM_CONSTEXPR inline bool operator==( const error_category & lhs,
- const error_category & rhs ) BOOST_SYSTEM_NOEXCEPT
- { return &lhs == &rhs; }
+#if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
- BOOST_SYSTEM_CONSTEXPR inline bool operator!=( const error_category & lhs,
- const error_category & rhs ) BOOST_SYSTEM_NOEXCEPT
- { return &lhs != &rhs; }
+ operator std::error_category const & () const;
- inline bool operator<( const error_category & lhs,
- const error_category & rhs ) BOOST_SYSTEM_NOEXCEPT
- { return std::less<const error_category*>()( &lhs, &rhs ); }
+#endif
+};
#ifdef BOOST_MSVC
-#pragma warning(pop)
+#pragma warning( pop )
#endif
- // predefined error categories ---------------------------------------------------//
+// predefined error categories
namespace detail
{
-#ifdef BOOST_ERROR_CODE_HEADER_ONLY
-# define BOOST_SYSTEM_DECL_
-#else
-# define BOOST_SYSTEM_DECL_ BOOST_SYSTEM_DECL
-#endif
-
-class generic_error_category: public error_category
+class BOOST_SYMBOL_VISIBLE generic_error_category: public error_category
{
public:
// clang++ 3.8 and below: initialization of const object
// requires a user-provided default constructor
- BOOST_SYSTEM_CONSTEXPR generic_error_category() BOOST_SYSTEM_NOEXCEPT
+ BOOST_SYSTEM_CONSTEXPR generic_error_category() BOOST_NOEXCEPT:
+ error_category( ( boost::ulong_long_type( 0xB2AB117A ) << 32 ) + 0x257EDF0D )
{
}
- const char * name() const BOOST_SYSTEM_NOEXCEPT
+ const char * name() const BOOST_NOEXCEPT
{
return "generic";
}
- BOOST_SYSTEM_DECL_ std::string message( int ev ) const;
+ std::string message( int ev ) const;
+ char const * message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT;
};
-class system_error_category: public error_category
+class BOOST_SYMBOL_VISIBLE system_error_category: public error_category
{
public:
- BOOST_SYSTEM_CONSTEXPR system_error_category() BOOST_SYSTEM_NOEXCEPT
+ BOOST_SYSTEM_CONSTEXPR system_error_category() BOOST_NOEXCEPT:
+ error_category( ( boost::ulong_long_type( 0x8FAFD21E ) << 32 ) + 0x25C5E09B )
{
}
- const char * name() const BOOST_SYSTEM_NOEXCEPT
+ const char * name() const BOOST_NOEXCEPT
{
return "system";
}
- BOOST_SYSTEM_DECL_ std::string message( int ev ) const;
- BOOST_SYSTEM_DECL_ error_condition default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT;
-};
+ error_condition default_error_condition( int ev ) const BOOST_NOEXCEPT;
-#undef BOOST_SYSTEM_DECL_
+ std::string message( int ev ) const;
+ char const * message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT;
+};
} // namespace detail
-#define BOOST_SYSTEM_REQUIRE_CONST_INIT
+// generic_category(), system_category()
-#if defined(__has_cpp_attribute)
-#if __has_cpp_attribute(clang::require_constant_initialization)
-# undef BOOST_SYSTEM_REQUIRE_CONST_INIT
-# define BOOST_SYSTEM_REQUIRE_CONST_INIT [[clang::require_constant_initialization]]
-#endif
-#endif
-
-#if defined(BOOST_ERROR_CODE_HEADER_ONLY)
-
-# if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
+#if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
namespace detail
{
template<class T> struct cat_holder
{
- static system_error_category system_category_instance;
- static generic_error_category generic_category_instance;
+ BOOST_SYSTEM_REQUIRE_CONST_INIT static constexpr system_error_category system_category_instance{};
+ BOOST_SYSTEM_REQUIRE_CONST_INIT static constexpr generic_error_category generic_category_instance{};
};
-template<class T> BOOST_SYSTEM_REQUIRE_CONST_INIT system_error_category cat_holder<T>::system_category_instance;
-template<class T> BOOST_SYSTEM_REQUIRE_CONST_INIT generic_error_category cat_holder<T>::generic_category_instance;
+template<class T> BOOST_SYSTEM_REQUIRE_CONST_INIT constexpr system_error_category cat_holder<T>::system_category_instance;
+template<class T> BOOST_SYSTEM_REQUIRE_CONST_INIT constexpr generic_error_category cat_holder<T>::generic_category_instance;
} // namespace detail
-constexpr const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
+constexpr error_category const & system_category() BOOST_NOEXCEPT
{
return detail::cat_holder<void>::system_category_instance;
}
-constexpr const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
+constexpr error_category const & generic_category() BOOST_NOEXCEPT
{
return detail::cat_holder<void>::generic_category_instance;
}
-# else
+#else // #if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
-inline const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
+inline error_category const & system_category() BOOST_NOEXCEPT
{
static const detail::system_error_category system_category_instance;
return system_category_instance;
}
-inline const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
+inline error_category const & generic_category() BOOST_NOEXCEPT
{
static const detail::generic_error_category generic_category_instance;
return generic_category_instance;
}
-# endif
-
-#elif defined(BOOST_SYSTEM_HAS_CONSTEXPR)
-
-namespace detail
-{
+#endif // #if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
-#if defined(BOOST_SYSTEM_SOURCE)
+// deprecated synonyms
-// clang++ requires a strictly matching declaration
-BOOST_SYSTEM_DECL extern system_error_category system_category_instance;
-BOOST_SYSTEM_DECL extern generic_error_category generic_category_instance;
-
-#else
+#ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
-extern system_error_category system_category_instance;
-extern generic_error_category generic_category_instance;
+inline const error_category & get_system_category() { return system_category(); }
+inline const error_category & get_generic_category() { return generic_category(); }
+inline const error_category & get_posix_category() { return generic_category(); }
+static const error_category & posix_category BOOST_ATTRIBUTE_UNUSED = generic_category();
+static const error_category & errno_ecat BOOST_ATTRIBUTE_UNUSED = generic_category();
+static const error_category & native_ecat BOOST_ATTRIBUTE_UNUSED = system_category();
#endif
-} // namespace detail
+// enable_if
-constexpr const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
+namespace detail
{
- return detail::system_category_instance;
-}
-constexpr const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
+template<bool C, class T = void> struct enable_if
{
- return detail::generic_category_instance;
-}
-
-#else
+ typedef T type;
+};
-namespace detail
+template<class T> struct enable_if<false, T>
{
+};
-BOOST_SYSTEM_DECL const error_category & system_category_ncx() BOOST_SYSTEM_NOEXCEPT;
-BOOST_SYSTEM_DECL const error_category & generic_category_ncx() BOOST_SYSTEM_NOEXCEPT;
+// failed_impl
-} // namespace detail
+#if !defined(BOOST_SYSTEM_HAS_CONSTEXPR)
-inline const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
+inline bool failed_impl( int ev, error_category const & cat )
{
- return detail::system_category_ncx();
+ return cat.failed( ev );
}
-inline const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
+#else
+
+BOOST_SYSTEM_CONSTEXPR inline bool failed_impl( int ev, error_category const & cat )
{
- return detail::generic_category_ncx();
+ if( cat == system_category() || cat == generic_category() )
+ {
+ return ev != 0;
+ }
+ else
+ {
+ return cat.failed( ev );
+ }
}
#endif
- // deprecated synonyms ------------------------------------------------------------//
+} // namespace detail
+
+// class error_condition
-#ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
- inline const error_category & get_system_category() { return system_category(); }
- inline const error_category & get_generic_category() { return generic_category(); }
- inline const error_category & get_posix_category() { return generic_category(); }
- static const error_category & posix_category BOOST_ATTRIBUTE_UNUSED
- = generic_category();
- static const error_category & errno_ecat BOOST_ATTRIBUTE_UNUSED
- = generic_category();
- static const error_category & native_ecat BOOST_ATTRIBUTE_UNUSED
- = system_category();
-#endif
+// error_conditions are portable, error_codes are system or library specific
- // class error_condition ---------------------------------------------------------//
+class error_condition
+{
+private:
- // error_conditions are portable, error_codes are system or library specific
+ int val_;
+ bool failed_;
+ error_category const * cat_;
- class error_condition
+public:
+
+ // constructors:
+
+ BOOST_SYSTEM_CONSTEXPR error_condition() BOOST_NOEXCEPT:
+ val_( 0 ), failed_( false ), cat_( &generic_category() )
{
- public:
+ }
- // constructors:
- BOOST_SYSTEM_CONSTEXPR error_condition() BOOST_SYSTEM_NOEXCEPT : m_val(0), m_cat(&generic_category()) {}
- BOOST_SYSTEM_CONSTEXPR error_condition( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT
- : m_val(val), m_cat(&cat) {}
+ BOOST_SYSTEM_CONSTEXPR error_condition( int val, const error_category & cat ) BOOST_NOEXCEPT:
+ val_( val ), failed_( detail::failed_impl( val, cat ) ), cat_( &cat )
+ {
+ }
- template <class ErrorConditionEnum>
- error_condition(ErrorConditionEnum e,
- typename boost::enable_if<is_error_condition_enum<ErrorConditionEnum> >::type*
- = 0) BOOST_SYSTEM_NOEXCEPT
- {
- *this = make_error_condition(e);
- }
+ template<class ErrorConditionEnum> BOOST_SYSTEM_CONSTEXPR error_condition( ErrorConditionEnum e,
+ typename detail::enable_if<is_error_condition_enum<ErrorConditionEnum>::value>::type* = 0) BOOST_NOEXCEPT
+ {
+ *this = make_error_condition( e );
+ }
- // modifiers:
+ // modifiers:
- BOOST_SYSTEM_CONSTEXPR void assign( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT
- {
- m_val = val;
- m_cat = &cat;
- }
+ BOOST_SYSTEM_CONSTEXPR void assign( int val, const error_category & cat ) BOOST_NOEXCEPT
+ {
+ val_ = val;
+ failed_ = detail::failed_impl( val, cat );
+ cat_ = &cat;
+ }
- template<typename ErrorConditionEnum>
- typename boost::enable_if<is_error_condition_enum<ErrorConditionEnum>,
- error_condition>::type &
- operator=( ErrorConditionEnum val ) BOOST_SYSTEM_NOEXCEPT
- {
- *this = make_error_condition(val);
+ template<typename ErrorConditionEnum>
+ BOOST_SYSTEM_CONSTEXPR typename detail::enable_if<is_error_condition_enum<ErrorConditionEnum>::value, error_condition>::type &
+ operator=( ErrorConditionEnum val ) BOOST_NOEXCEPT
+ {
+ *this = make_error_condition( val );
return *this;
- }
+ }
+
+ BOOST_SYSTEM_CONSTEXPR void clear() BOOST_NOEXCEPT
+ {
+ val_ = 0;
+ failed_ = false;
+ cat_ = &generic_category();
+ }
+
+ // observers:
+
+ BOOST_SYSTEM_CONSTEXPR int value() const BOOST_NOEXCEPT
+ {
+ return val_;
+ }
+
+ BOOST_SYSTEM_CONSTEXPR const error_category & category() const BOOST_NOEXCEPT
+ {
+ return *cat_;
+ }
+
+ std::string message() const
+ {
+ return cat_->message( value() );
+ }
- BOOST_SYSTEM_CONSTEXPR void clear() BOOST_SYSTEM_NOEXCEPT
- {
- m_val = 0;
- m_cat = &generic_category();
- }
+ char const * message( char * buffer, std::size_t len ) const BOOST_NOEXCEPT
+ {
+ return cat_->message( value(), buffer, len );
+ }
- // observers:
- BOOST_SYSTEM_CONSTEXPR int value() const BOOST_SYSTEM_NOEXCEPT { return m_val; }
- BOOST_SYSTEM_CONSTEXPR const error_category & category() const BOOST_SYSTEM_NOEXCEPT { return *m_cat; }
- std::string message() const { return m_cat->message(value()); }
+ BOOST_SYSTEM_CONSTEXPR bool failed() const BOOST_NOEXCEPT
+ {
+ return failed_;
+ }
#if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
- BOOST_SYSTEM_CONSTEXPR explicit operator bool() const BOOST_SYSTEM_NOEXCEPT // true if error
- {
- return m_val != 0;
- }
+ BOOST_SYSTEM_CONSTEXPR explicit operator bool() const BOOST_NOEXCEPT // true if error
+ {
+ return failed_;
+ }
#else
- typedef void (*unspecified_bool_type)();
- static void unspecified_bool_true() {}
+ typedef void (*unspecified_bool_type)();
+ static void unspecified_bool_true() {}
- BOOST_SYSTEM_CONSTEXPR operator unspecified_bool_type() const BOOST_SYSTEM_NOEXCEPT // true if error
- {
- return m_val == 0 ? 0 : unspecified_bool_true;
- }
+ BOOST_SYSTEM_CONSTEXPR operator unspecified_bool_type() const BOOST_NOEXCEPT // true if error
+ {
+ return failed_? unspecified_bool_true: 0;
+ }
- BOOST_SYSTEM_CONSTEXPR bool operator!() const BOOST_SYSTEM_NOEXCEPT // true if no error
- {
- return m_val == 0;
- }
+ BOOST_SYSTEM_CONSTEXPR bool operator!() const BOOST_NOEXCEPT // true if no error
+ {
+ return !failed_;
+ }
#endif
- // relationals:
- // the more symmetrical non-member syntax allows enum
- // conversions work for both rhs and lhs.
- BOOST_SYSTEM_CONSTEXPR inline friend bool operator==( const error_condition & lhs,
- const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
- {
- return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val;
- }
-
- inline friend bool operator<( const error_condition & lhs,
- const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
- // the more symmetrical non-member syntax allows enum
- // conversions work for both rhs and lhs.
- {
- return lhs.m_cat < rhs.m_cat
- || (lhs.m_cat == rhs.m_cat && lhs.m_val < rhs.m_val);
- }
-
-#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-
- operator std::error_condition () const BOOST_SYSTEM_NOEXCEPT
- {
- return std::error_condition( value(), category() );
- }
+ // relationals:
+ // the more symmetrical non-member syntax allows enum
+ // conversions work for both rhs and lhs.
-#endif
+ BOOST_SYSTEM_CONSTEXPR inline friend bool operator==( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
+ {
+ return lhs.val_ == rhs.val_ && *lhs.cat_ == *rhs.cat_;
+ }
- private:
- int m_val;
- const error_category * m_cat;
-
- };
-
- // class error_code --------------------------------------------------------------//
-
- // We want error_code to be a value type that can be copied without slicing
- // and without requiring heap allocation, but we also want it to have
- // polymorphic behavior based on the error category. This is achieved by
- // abstract base class error_category supplying the polymorphic behavior,
- // and error_code containing a pointer to an object of a type derived
- // from error_category.
- class error_code
- {
- public:
-
- // constructors:
- BOOST_SYSTEM_CONSTEXPR error_code() BOOST_SYSTEM_NOEXCEPT : m_val(0), m_cat(&system_category()) {}
- BOOST_SYSTEM_CONSTEXPR error_code( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT
- : m_val(val), m_cat(&cat) {}
-
- template <class ErrorCodeEnum>
- error_code(ErrorCodeEnum e,
- typename boost::enable_if<is_error_code_enum<ErrorCodeEnum> >::type* = 0)
- BOOST_SYSTEM_NOEXCEPT
- {
- *this = make_error_code(e);
- }
-
- // modifiers:
- BOOST_SYSTEM_CONSTEXPR void assign( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT
- {
- m_val = val;
- m_cat = &cat;
- }
-
- template<typename ErrorCodeEnum>
- typename boost::enable_if<is_error_code_enum<ErrorCodeEnum>, error_code>::type &
- operator=( ErrorCodeEnum val ) BOOST_SYSTEM_NOEXCEPT
- {
- *this = make_error_code(val);
- return *this;
- }
+ BOOST_SYSTEM_CONSTEXPR inline friend bool operator<( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
+ {
+ return *lhs.cat_ < *rhs.cat_ || ( *lhs.cat_ == *rhs.cat_ && lhs.val_ < rhs.val_ );
+ }
- BOOST_SYSTEM_CONSTEXPR void clear() BOOST_SYSTEM_NOEXCEPT
- {
- m_val = 0;
- m_cat = &system_category();
- }
+#if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
- // observers:
- BOOST_SYSTEM_CONSTEXPR int value() const BOOST_SYSTEM_NOEXCEPT { return m_val; }
- BOOST_SYSTEM_CONSTEXPR const error_category & category() const BOOST_SYSTEM_NOEXCEPT { return *m_cat; }
- error_condition default_error_condition() const BOOST_SYSTEM_NOEXCEPT
- { return m_cat->default_error_condition(value()); }
- std::string message() const { return m_cat->message(value()); }
+ operator std::error_condition () const
+ {
+ return std::error_condition( value(), category() );
+ }
-#if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
+#endif
+};
- BOOST_SYSTEM_CONSTEXPR explicit operator bool() const BOOST_SYSTEM_NOEXCEPT // true if error
- {
- return m_val != 0;
- }
+// class error_code
-#else
+// We want error_code to be a value type that can be copied without slicing
+// and without requiring heap allocation, but we also want it to have
+// polymorphic behavior based on the error category. This is achieved by
+// abstract base class error_category supplying the polymorphic behavior,
+// and error_code containing a pointer to an object of a type derived
+// from error_category.
- typedef void (*unspecified_bool_type)();
- static void unspecified_bool_true() {}
+class error_code
+{
+private:
- BOOST_SYSTEM_CONSTEXPR operator unspecified_bool_type() const BOOST_SYSTEM_NOEXCEPT // true if error
- {
- return m_val == 0 ? 0 : unspecified_bool_true;
- }
+ int val_;
+ bool failed_;
+ const error_category * cat_;
- BOOST_SYSTEM_CONSTEXPR bool operator!() const BOOST_SYSTEM_NOEXCEPT // true if no error
- {
- return m_val == 0;
- }
+public:
-#endif
+ // constructors:
- // relationals:
- BOOST_SYSTEM_CONSTEXPR inline friend bool operator==( const error_code & lhs,
- const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
- // the more symmetrical non-member syntax allows enum
- // conversions work for both rhs and lhs.
- {
- return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val;
- }
-
- inline friend bool operator<( const error_code & lhs,
- const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
- // the more symmetrical non-member syntax allows enum
- // conversions work for both rhs and lhs.
- {
- return lhs.m_cat < rhs.m_cat
- || (lhs.m_cat == rhs.m_cat && lhs.m_val < rhs.m_val);
- }
-
-#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-
- operator std::error_code () const BOOST_SYSTEM_NOEXCEPT
- {
- return std::error_code( value(), category() );
- }
+ BOOST_SYSTEM_CONSTEXPR error_code() BOOST_NOEXCEPT:
+ val_( 0 ), failed_( false ), cat_( &system_category() )
+ {
+ }
-#endif
+ BOOST_SYSTEM_CONSTEXPR error_code( int val, const error_category & cat ) BOOST_NOEXCEPT:
+ val_( val ), failed_( detail::failed_impl( val, cat ) ), cat_( &cat )
+ {
+ }
- private:
- int m_val;
- const error_category * m_cat;
+ template<class ErrorCodeEnum> BOOST_SYSTEM_CONSTEXPR error_code( ErrorCodeEnum e,
+ typename detail::enable_if<is_error_code_enum<ErrorCodeEnum>::value>::type* = 0 ) BOOST_NOEXCEPT
+ {
+ *this = make_error_code( e );
+ }
- };
+ // modifiers:
- // predefined error_code object used as "throw on error" tag
-# ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
- BOOST_SYSTEM_DECL extern error_code throws;
-# endif
+ BOOST_SYSTEM_CONSTEXPR void assign( int val, const error_category & cat ) BOOST_NOEXCEPT
+ {
+ val_ = val;
+ failed_ = detail::failed_impl( val, cat );
+ cat_ = &cat;
+ }
- // Moving from a "throws" object to a "throws" function without breaking
- // existing code is a bit of a problem. The workaround is to place the
- // "throws" function in namespace boost rather than namespace boost::system.
+ template<typename ErrorCodeEnum>
+ BOOST_SYSTEM_CONSTEXPR typename detail::enable_if<is_error_code_enum<ErrorCodeEnum>::value, error_code>::type &
+ operator=( ErrorCodeEnum val ) BOOST_NOEXCEPT
+ {
+ *this = make_error_code( val );
+ return *this;
+ }
- } // namespace system
-
- namespace detail
- {
- // Misuse of the error_code object is turned into a noisy failure by
- // poisoning the reference. This particular implementation doesn't
- // produce warnings or errors from popular compilers, is very efficient
- // (as determined by inspecting generated code), and does not suffer
- // from order of initialization problems. In practice, it also seems
- // cause user function error handling implementation errors to be detected
- // very early in the development cycle.
- inline system::error_code* throws()
+ BOOST_SYSTEM_CONSTEXPR void clear() BOOST_NOEXCEPT
{
- // See github.com/boostorg/system/pull/12 by visigoth for why the return
- // is poisoned with nonzero rather than (0). A test, test_throws_usage(),
- // has been added to error_code_test.cpp, and as visigoth mentioned it
- // fails on clang for release builds with a return of 0 but works fine
- // with (1).
- // Since the undefined behavior sanitizer (-fsanitize=undefined) does not
- // allow a reference to be formed to the unaligned address of (1), we use
- // (8) instead.
- return reinterpret_cast<system::error_code*>(8);
+ val_ = 0;
+ failed_ = false;
+ cat_ = &system_category();
}
- }
- inline system::error_code& throws()
- { return *detail::throws(); }
+ // observers:
- namespace system
- {
- // non-member functions ------------------------------------------------//
+ BOOST_SYSTEM_CONSTEXPR int value() const BOOST_NOEXCEPT
+ {
+ return val_;
+ }
- BOOST_SYSTEM_CONSTEXPR inline bool operator!=( const error_code & lhs,
- const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
+ BOOST_SYSTEM_CONSTEXPR const error_category & category() const BOOST_NOEXCEPT
{
- return !(lhs == rhs);
+ return *cat_;
}
- BOOST_SYSTEM_CONSTEXPR inline bool operator!=( const error_condition & lhs,
- const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
+ error_condition default_error_condition() const BOOST_NOEXCEPT
{
- return !(lhs == rhs);
+ return cat_->default_error_condition( value() );
}
- inline bool operator==( const error_code & code,
- const error_condition & condition ) BOOST_SYSTEM_NOEXCEPT
+ std::string message() const
{
- return code.category().equivalent( code.value(), condition )
- || condition.category().equivalent( code, condition.value() );
+ return cat_->message( value() );
}
- inline bool operator!=( const error_code & lhs,
- const error_condition & rhs ) BOOST_SYSTEM_NOEXCEPT
+ char const * message( char * buffer, std::size_t len ) const BOOST_NOEXCEPT
{
- return !(lhs == rhs);
+ return cat_->message( value(), buffer, len );
}
- inline bool operator==( const error_condition & condition,
- const error_code & code ) BOOST_SYSTEM_NOEXCEPT
+ BOOST_SYSTEM_CONSTEXPR bool failed() const BOOST_NOEXCEPT
{
- return condition.category().equivalent( code, condition.value() )
- || code.category().equivalent( code.value(), condition );
+ return failed_;
}
- inline bool operator!=( const error_condition & lhs,
- const error_code & rhs ) BOOST_SYSTEM_NOEXCEPT
+#if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
+
+ BOOST_SYSTEM_CONSTEXPR explicit operator bool() const BOOST_NOEXCEPT // true if error
{
- return !(lhs == rhs);
+ return failed_;
}
- // TODO: both of these may move elsewhere, but the LWG hasn't spoken yet.
+#else
- template <class charT, class traits>
- inline std::basic_ostream<charT,traits>&
- operator<< (std::basic_ostream<charT,traits>& os, error_code ec)
+ typedef void (*unspecified_bool_type)();
+ static void unspecified_bool_true() {}
+
+ BOOST_SYSTEM_CONSTEXPR operator unspecified_bool_type() const BOOST_NOEXCEPT // true if error
{
- os << ec.category().name() << ':' << ec.value();
- return os;
+ return failed_? unspecified_bool_true: 0;
}
- inline std::size_t hash_value( const error_code & ec )
+ BOOST_SYSTEM_CONSTEXPR bool operator!() const BOOST_NOEXCEPT // true if no error
{
- return static_cast<std::size_t>(ec.value())
- + reinterpret_cast<std::size_t>(&ec.category());
+ return !failed_;
}
- // make_* functions for errc::errc_t ---------------------------------------------//
+#endif
+
+ // relationals:
- namespace errc
- {
- // explicit conversion:
- inline error_code make_error_code( errc_t e ) BOOST_SYSTEM_NOEXCEPT
- { return error_code( e, generic_category() ); }
+ // the more symmetrical non-member syntax allows enum
+ // conversions work for both rhs and lhs.
- // implicit conversion:
- inline error_condition make_error_condition( errc_t e ) BOOST_SYSTEM_NOEXCEPT
- { return error_condition( e, generic_category() ); }
+ BOOST_SYSTEM_CONSTEXPR inline friend bool operator==( const error_code & lhs, const error_code & rhs ) BOOST_NOEXCEPT
+ {
+ return lhs.val_ == rhs.val_ && *lhs.cat_ == *rhs.cat_;
}
- // error_category default implementation -----------------------------------------//
-
- error_condition error_category::default_error_condition( int ev ) const
- BOOST_SYSTEM_NOEXCEPT
+ BOOST_SYSTEM_CONSTEXPR inline friend bool operator<( const error_code & lhs, const error_code & rhs ) BOOST_NOEXCEPT
{
- return error_condition( ev, *this );
+ return *lhs.cat_ < *rhs.cat_ || ( *lhs.cat_ == *rhs.cat_ && lhs.val_ < rhs.val_ );
}
- bool error_category::equivalent( int code,
- const error_condition & condition ) const BOOST_SYSTEM_NOEXCEPT
+#if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
+
+ operator std::error_code () const
{
- return default_error_condition( code ) == condition;
+ return std::error_code( value(), category() );
}
- bool error_category::equivalent( const error_code & code,
- int condition ) const BOOST_SYSTEM_NOEXCEPT
+#endif
+};
+
+} // namespace system
+
+// boost::throws()
+
+namespace detail
+{
+
+// Misuse of the error_code object is turned into a noisy failure by
+// poisoning the reference. This particular implementation doesn't
+// produce warnings or errors from popular compilers, is very efficient
+// (as determined by inspecting generated code), and does not suffer
+// from order of initialization problems. In practice, it also seems
+// cause user function error handling implementation errors to be detected
+// very early in the development cycle.
+
+inline system::error_code* throws()
+{
+ // See github.com/boostorg/system/pull/12 by visigoth for why the return
+ // is poisoned with nonzero rather than (0). A test, test_throws_usage(),
+ // has been added to error_code_test.cpp, and as visigoth mentioned it
+ // fails on clang for release builds with a return of 0 but works fine
+ // with (1).
+ // Since the undefined behavior sanitizer (-fsanitize=undefined) does not
+ // allow a reference to be formed to the unaligned address of (1), we use
+ // (8) instead.
+
+ return reinterpret_cast<system::error_code*>(8);
+}
+
+} // namespace detail
+
+inline system::error_code& throws()
+{
+ return *detail::throws();
+}
+
+// non-member functions of error_code and error_condition
+
+namespace system
+{
+
+BOOST_SYSTEM_CONSTEXPR inline bool operator!=( const error_code & lhs, const error_code & rhs ) BOOST_NOEXCEPT
+{
+ return !( lhs == rhs );
+}
+
+BOOST_SYSTEM_CONSTEXPR inline bool operator!=( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
+{
+ return !( lhs == rhs );
+}
+
+inline bool operator==( const error_code & code, const error_condition & condition ) BOOST_NOEXCEPT
+{
+ return code.category().equivalent( code.value(), condition ) || condition.category().equivalent( code, condition.value() );
+}
+
+inline bool operator!=( const error_code & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
+{
+ return !( lhs == rhs );
+}
+
+inline bool operator==( const error_condition & condition, const error_code & code ) BOOST_NOEXCEPT
+{
+ return code.category().equivalent( code.value(), condition ) || condition.category().equivalent( code, condition.value() );
+}
+
+inline bool operator!=( const error_condition & lhs, const error_code & rhs ) BOOST_NOEXCEPT
+{
+ return !( lhs == rhs );
+}
+
+template <class charT, class traits>
+ inline std::basic_ostream<charT,traits>&
+ operator<< (std::basic_ostream<charT,traits>& os, error_code ec)
+{
+ os << ec.category().name() << ':' << ec.value();
+ return os;
+}
+
+inline std::size_t hash_value( error_code const & ec )
+{
+ error_category const & cat = ec.category();
+
+ boost::ulong_long_type id = cat.id_;
+
+ if( id == 0 )
{
- return *this == code.category() && code.value() == condition;
+ id = reinterpret_cast<boost::ulong_long_type>( &cat );
}
-#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+ boost::ulong_long_type hv = ( boost::ulong_long_type( 0xCBF29CE4 ) << 32 ) + 0x84222325;
+ boost::ulong_long_type const prime = ( boost::ulong_long_type( 0x00000100 ) << 32 ) + 0x000001B3;
+
+ // id
+
+ hv ^= id;
+ hv *= prime;
+
+ // value
- inline std::error_condition error_category::std_category::default_error_condition(
- int ev ) const BOOST_NOEXCEPT
+ hv ^= static_cast<unsigned>( ec.value() );
+ hv *= prime;
+
+ return static_cast<std::size_t>( hv );
+}
+
+// make_* functions for errc::errc_t
+
+namespace errc
+{
+
+// explicit conversion:
+BOOST_SYSTEM_CONSTEXPR inline error_code make_error_code( errc_t e ) BOOST_NOEXCEPT
+{
+ return error_code( e, generic_category() );
+}
+
+// implicit conversion:
+BOOST_SYSTEM_CONSTEXPR inline error_condition make_error_condition( errc_t e ) BOOST_NOEXCEPT
+{
+ return error_condition( e, generic_category() );
+}
+
+} // namespace errc
+
+// error_category default implementation
+
+inline error_condition error_category::default_error_condition( int ev ) const BOOST_NOEXCEPT
+{
+ return error_condition( ev, *this );
+}
+
+inline bool error_category::equivalent( int code, const error_condition & condition ) const BOOST_NOEXCEPT
+{
+ return default_error_condition( code ) == condition;
+}
+
+inline bool error_category::equivalent( const error_code & code, int condition ) const BOOST_NOEXCEPT
+{
+ return *this == code.category() && code.value() == condition;
+}
+
+inline char const * error_category::message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT
+{
+ if( len == 0 )
{
- return pc_->default_error_condition( ev );
+ return buffer;
}
- inline bool error_category::std_category::equivalent( int code,
- const std::error_condition & condition ) const BOOST_NOEXCEPT
+ if( len == 1 )
{
- if( condition.category() == *this )
- {
- boost::system::error_condition bn( condition.value(), *pc_ );
- return pc_->equivalent( code, bn );
- }
- else if( condition.category() == std::generic_category()
- || condition.category() == boost::system::generic_category() )
- {
- boost::system::error_condition bn( condition.value(),
- boost::system::generic_category() );
+ buffer[0] = 0;
+ return buffer;
+ }
- return pc_->equivalent( code, bn );
- }
-#ifndef BOOST_NO_RTTI
- else if( std_category const* pc2 = dynamic_cast< std_category const* >(
- &condition.category() ) )
- {
- boost::system::error_condition bn( condition.value(), *pc2->pc_ );
- return pc_->equivalent( code, bn );
- }
+#if !defined(BOOST_NO_EXCEPTIONS)
+ try
#endif
- else
- {
- return default_error_condition( code ) == condition;
- }
- }
-
- inline bool error_category::std_category::equivalent( const std::error_code & code,
- int condition ) const BOOST_NOEXCEPT
- {
- if( code.category() == *this )
- {
- boost::system::error_code bc( code.value(), *pc_ );
- return pc_->equivalent( bc, condition );
- }
- else if( code.category() == std::generic_category()
- || code.category() == boost::system::generic_category() )
- {
- boost::system::error_code bc( code.value(),
- boost::system::generic_category() );
-
- return pc_->equivalent( bc, condition );
- }
-#ifndef BOOST_NO_RTTI
- else if( std_category const* pc2 = dynamic_cast< std_category const* >(
- &code.category() ) )
- {
- boost::system::error_code bc( code.value(), *pc2->pc_ );
- return pc_->equivalent( bc, condition );
- }
-#endif
- else if( *pc_ == boost::system::generic_category() )
- {
- return std::generic_category().equivalent( code, condition );
- }
- else
- {
- return false;
- }
- }
+ {
+ std::string m = this->message( ev );
+
+# if defined( BOOST_MSVC )
+# pragma warning( push )
+# pragma warning( disable: 4996 )
+# elif defined(__clang__) && defined(__has_warning)
+# pragma clang diagnostic push
+# if __has_warning("-Wdeprecated-declarations")
+# pragma clang diagnostic ignored "-Wdeprecated-declarations"
+# endif
+# endif
+
+ std::strncpy( buffer, m.c_str(), len - 1 );
+ buffer[ len-1 ] = 0;
+# if defined( BOOST_MSVC )
+# pragma warning( pop )
+# elif defined(__clang__) && defined(__has_warning)
+# pragma clang diagnostic pop
+# endif
+
+ return buffer;
+ }
+#if !defined(BOOST_NO_EXCEPTIONS)
+ catch( ... )
+ {
+ return "Message text unavailable";
+ }
#endif
+}
+
+inline bool error_category::failed( int ev ) const BOOST_NOEXCEPT
+{
+ return ev != 0;
+}
+
+} // namespace system
- } // namespace system
} // namespace boost
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
+// generic_error_category implementation
-# ifdef BOOST_ERROR_CODE_HEADER_ONLY
-# include <boost/system/detail/error_code.ipp>
-# endif
+#include <boost/system/detail/generic_category.hpp>
+
+inline std::string boost::system::detail::generic_error_category::message( int ev ) const
+{
+ return generic_error_category_message( ev );
+}
+
+inline char const * boost::system::detail::generic_error_category::message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT
+{
+ return generic_error_category_message( ev, buffer, len );
+}
+
+// system_error_category implementation
+
+#if defined(BOOST_WINDOWS_API)
+
+#include <boost/system/detail/system_category_win32.hpp>
+
+inline boost::system::error_condition boost::system::detail::system_error_category::default_error_condition( int ev ) const BOOST_NOEXCEPT
+{
+ return system_category_default_error_condition_win32( ev );
+}
+
+inline std::string boost::system::detail::system_error_category::message( int ev ) const
+{
+ return system_category_message_win32( ev );
+}
+
+inline char const * boost::system::detail::system_error_category::message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT
+{
+ return system_category_message_win32( ev, buffer, len );
+}
+
+#else // #if defined(BOOST_WINDOWS_API)
+
+#include <boost/system/detail/system_category_posix.hpp>
+
+inline boost::system::error_condition boost::system::detail::system_error_category::default_error_condition( int ev ) const BOOST_NOEXCEPT
+{
+ return system_category_default_error_condition_posix( ev );
+}
+
+inline std::string boost::system::detail::system_error_category::message( int ev ) const
+{
+ return generic_error_category_message( ev );
+}
+
+inline char const * boost::system::detail::system_error_category::message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT
+{
+ return generic_error_category_message( ev, buffer, len );
+}
+
+#endif // #if defined(BOOST_WINDOWS_API)
+
+// interoperability with std::error_code, std::error_condition
+
+#if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
+
+#include <boost/system/detail/std_interoperability.hpp>
+
+inline boost::system::error_category::operator std::error_category const & () const
+{
+ return boost::system::detail::to_std_category( *this );
+}
+
+#endif // #if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
-#endif // BOOST_SYSTEM_ERROR_CODE_HPP
+#endif // BOOST_SYSTEM_ERROR_CODE_HPP_INCLUDED
diff --git a/boost/system/system_error.hpp b/boost/system/system_error.hpp
index 694bb12f5f..116fd38b50 100644
--- a/boost/system/system_error.hpp
+++ b/boost/system/system_error.hpp
@@ -24,7 +24,7 @@ namespace boost
// library can be caught. See svn.boost.org/trac/boost/ticket/3697
{
public:
- system_error( error_code ec )
+ explicit system_error( error_code ec )
: std::runtime_error(""), m_error_code(ec) {}
system_error( error_code ec, const std::string & what_arg )
@@ -46,8 +46,8 @@ namespace boost
virtual ~system_error() BOOST_NOEXCEPT_OR_NOTHROW {}
- const error_code & code() const BOOST_NOEXCEPT_OR_NOTHROW { return m_error_code; }
- const char * what() const BOOST_NOEXCEPT_OR_NOTHROW;
+ error_code code() const BOOST_NOEXCEPT { return m_error_code; }
+ const char * what() const BOOST_NOEXCEPT_OR_NOTHROW;
private:
error_code m_error_code;
diff --git a/boost/test/data/monomorphic/delayed.hpp b/boost/test/data/monomorphic/delayed.hpp
index eecf117a8d..43ab15e7e4 100644
--- a/boost/test/data/monomorphic/delayed.hpp
+++ b/boost/test/data/monomorphic/delayed.hpp
@@ -20,6 +20,7 @@
#include <boost/core/ref.hpp>
#include <algorithm>
+#include <memory>
#include <boost/test/detail/suppress_warnings.hpp>
diff --git a/boost/test/data/monomorphic/grid.hpp b/boost/test/data/monomorphic/grid.hpp
index ee138df15d..d83531bf23 100644
--- a/boost/test/data/monomorphic/grid.hpp
+++ b/boost/test/data/monomorphic/grid.hpp
@@ -22,6 +22,7 @@
#include <boost/test/data/monomorphic/fwd.hpp>
#include <boost/test/data/monomorphic/sample_merge.hpp>
+#include <boost/core/enable_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/test/detail/suppress_warnings.hpp>
diff --git a/boost/test/data/monomorphic/initializer_list.hpp b/boost/test/data/monomorphic/initializer_list.hpp
index 3f4a4df045..0a8a88ab0b 100644
--- a/boost/test/data/monomorphic/initializer_list.hpp
+++ b/boost/test/data/monomorphic/initializer_list.hpp
@@ -17,6 +17,9 @@
#include <boost/test/data/monomorphic/fwd.hpp>
#include <boost/core/ignore_unused.hpp>
+
+#include <vector>
+
#include <boost/test/detail/suppress_warnings.hpp>
//____________________________________________________________________________//
diff --git a/boost/test/data/monomorphic/join.hpp b/boost/test/data/monomorphic/join.hpp
index f817994dd3..4e6d52a208 100644
--- a/boost/test/data/monomorphic/join.hpp
+++ b/boost/test/data/monomorphic/join.hpp
@@ -16,6 +16,9 @@
#include <boost/test/data/config.hpp>
#include <boost/test/data/monomorphic/fwd.hpp>
+#include <boost/core/enable_if.hpp>
+#include <boost/mpl/identity.hpp>
+
#include <boost/test/detail/suppress_warnings.hpp>
//____________________________________________________________________________//
@@ -40,22 +43,33 @@ class join {
typedef typename dataset1_decay::iterator dataset1_iter;
typedef typename dataset2_decay::iterator dataset2_iter;
+
+ using iter1_ret = decltype(*std::declval<DataSet1>().begin());
+ using iter2_ret = decltype(*std::declval<DataSet2>().begin());
+
public:
- typedef typename dataset1_decay::sample sample;
enum { arity = dataset1_decay::arity };
+
+ using sample_t = typename std::conditional<
+ std::is_reference<iter1_ret>::value && std::is_reference<iter2_ret>::value && std::is_same<iter1_ret, iter2_ret>::value,
+ iter1_ret,
+ typename std::remove_reference<iter1_ret>::type
+ >::type
+ ;
struct iterator {
// Constructor
- explicit iterator( dataset1_iter it1, dataset2_iter it2, data::size_t first_size )
+ explicit iterator( dataset1_iter&& it1, dataset2_iter&& it2, data::size_t first_size )
: m_it1( std::move( it1 ) )
, m_it2( std::move( it2 ) )
, m_first_size( first_size )
{}
// forward iterator interface
- sample const& operator*() const { return m_first_size > 0 ? *m_it1 : *m_it2; }
- void operator++() { if( m_first_size > 0 ) { --m_first_size; ++m_it1; } else ++m_it2; }
+ // The returned sample should be by value, as the operator* may return a temporary object
+ sample_t operator*() const { return m_first_size > 0 ? *m_it1 : *m_it2; }
+ void operator++() { if( m_first_size > 0 ) { --m_first_size; ++m_it1; } else ++m_it2; }
private:
// Data members
diff --git a/boost/test/data/monomorphic/zip.hpp b/boost/test/data/monomorphic/zip.hpp
index 04e390e9ac..9fda7cb521 100644
--- a/boost/test/data/monomorphic/zip.hpp
+++ b/boost/test/data/monomorphic/zip.hpp
@@ -20,6 +20,9 @@
#include <boost/test/data/monomorphic/fwd.hpp>
#include <boost/test/data/monomorphic/sample_merge.hpp>
+#include <boost/core/enable_if.hpp>
+#include <boost/mpl/identity.hpp>
+
#include <boost/test/detail/suppress_warnings.hpp>
@@ -70,8 +73,6 @@ public:
dataset2_iter m_iter2;
};
- typedef typename iterator::iterator_sample sample;
-
//! Constructor
//!
//! The datasets are moved and not copied.
diff --git a/boost/test/data/test_case.hpp b/boost/test/data/test_case.hpp
index eecbee9065..2b3e7e4c61 100644
--- a/boost/test/data/test_case.hpp
+++ b/boost/test/data/test_case.hpp
@@ -147,12 +147,12 @@ public:
: m_dataset( ds )
, m_generated( false )
, m_tc_name( ut_detail::normalize_test_case_name( tc_name ) )
- , m_tc_file( tc_file )
+ , m_tc_file( tc_file )
, m_tc_line( tc_line )
, m_tc_index( 0 )
{}
#endif
-
+
public:
virtual test_unit* next() const
{
@@ -273,7 +273,7 @@ BOOST_AUTO_TU_REGISTRAR( BOOST_PP_CAT(test_name, case) )( \
BOOST_STRINGIZE( test_name ), \
__FILE__, __LINE__, \
boost::unit_test::data::ds_detail::seed{} ->* dataset ), \
- boost::unit_test::decorator::collector::instance() ); \
+ boost::unit_test::decorator::collector_t::instance() ); \
\
BOOST_AUTO_TEST_SUITE_END() \
\
diff --git a/boost/test/detail/enable_warnings.hpp b/boost/test/detail/enable_warnings.hpp
index 45afb31944..d61c7dc592 100644
--- a/boost/test/detail/enable_warnings.hpp
+++ b/boost/test/detail/enable_warnings.hpp
@@ -26,7 +26,7 @@
# pragma warning(pop)
#endif
-#if BOOST_CLANG
+#if defined(BOOST_CLANG) && (BOOST_CLANG == 1)
#pragma clang diagnostic pop
#endif
diff --git a/boost/test/detail/global_typedef.hpp b/boost/test/detail/global_typedef.hpp
index aeede00e9c..ae932a4514 100644
--- a/boost/test/detail/global_typedef.hpp
+++ b/boost/test/detail/global_typedef.hpp
@@ -101,6 +101,40 @@ T static_constant<T>::value;
//____________________________________________________________________________//
+// helper defines for singletons.
+// BOOST_TEST_SINGLETON_CONS should appear in the class body,
+// BOOST_TEST_SINGLETON_CONS_IMPL should be in only one translation unit. The
+// global instance should be declared by BOOST_TEST_SINGLETON_INST.
+
+#define BOOST_TEST_SINGLETON_CONS( type ) \
+public: \
+ static type& instance(); \
+private: \
+ BOOST_DELETED_FUNCTION(type(type const&)) \
+ BOOST_DELETED_FUNCTION(type& operator=(type const&)) \
+ BOOST_DEFAULTED_FUNCTION(type(), {}) \
+ BOOST_DEFAULTED_FUNCTION(~type(), {}) \
+/**/
+
+#define BOOST_TEST_SINGLETON_CONS_IMPL( type ) \
+ type& type::instance() { \
+ static type the_inst; return the_inst; \
+ } \
+/**/
+
+//____________________________________________________________________________//
+
+#if defined(__APPLE_CC__) && defined(__GNUC__) && __GNUC__ < 4
+#define BOOST_TEST_SINGLETON_INST( inst ) \
+static BOOST_JOIN( inst, _t)& inst = BOOST_JOIN (inst, _t)::instance();
+
+#else
+
+#define BOOST_TEST_SINGLETON_INST( inst ) \
+namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
+
+#endif
+
} // namespace unit_test
} // namespace boost
diff --git a/boost/test/detail/suppress_warnings.hpp b/boost/test/detail/suppress_warnings.hpp
index 4badf20758..4f8de3dd87 100644
--- a/boost/test/detail/suppress_warnings.hpp
+++ b/boost/test/detail/suppress_warnings.hpp
@@ -26,13 +26,15 @@
# pragma warning(disable: 4511) // 'class' : copy constructor could not be generated
#endif
-#if BOOST_CLANG
+#if defined(BOOST_CLANG) && (BOOST_CLANG == 1)
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wvariadic-macros"
+# pragma clang diagnostic ignored "-Wmissing-declarations"
#endif
#if defined(BOOST_GCC) && (BOOST_GCC >= 4 * 10000 + 6 * 100)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wvariadic-macros"
+# pragma GCC diagnostic ignored "-Wmissing-declarations"
#endif
diff --git a/boost/test/detail/throw_exception.hpp b/boost/test/detail/throw_exception.hpp
index 3f2f4687d3..19b50ba49c 100644
--- a/boost/test/detail/throw_exception.hpp
+++ b/boost/test/detail/throw_exception.hpp
@@ -33,7 +33,7 @@ namespace ut_detail {
template<typename E>
BOOST_NORETURN inline void
-throw_exception(E const& e) { abort(); }
+throw_exception(E const& /*e*/) { abort(); }
#define BOOST_TEST_I_TRY
#define BOOST_TEST_I_CATCH( T, var ) for(T const& var = *(T*)0; false;)
diff --git a/boost/test/execution_monitor.hpp b/boost/test/execution_monitor.hpp
index eb3b21c6dc..bda732b980 100644
--- a/boost/test/execution_monitor.hpp
+++ b/boost/test/execution_monitor.hpp
@@ -237,7 +237,7 @@ protected:
/// this class never allocates any memory and assumes that strings it refers to are either some constants or live in a some kind of persistent (preallocated) memory.
// ************************************************************************** //
-class BOOST_TEST_DECL execution_exception {
+class BOOST_SYMBOL_VISIBLE execution_exception {
typedef boost::unit_test::const_string const_string;
public:
/// These values are sometimes used as program return codes.
diff --git a/boost/test/framework.hpp b/boost/test/framework.hpp
index 099c02969b..2f446791aa 100644
--- a/boost/test/framework.hpp
+++ b/boost/test/framework.hpp
@@ -18,8 +18,6 @@
#include <boost/test/detail/fwd_decl.hpp>
#include <boost/test/detail/throw_exception.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
-
#include <boost/test/detail/suppress_warnings.hpp>
// STL
diff --git a/boost/test/impl/compiler_log_formatter.ipp b/boost/test/impl/compiler_log_formatter.ipp
index aa0a0e229f..cd7de1fe76 100644
--- a/boost/test/impl/compiler_log_formatter.ipp
+++ b/boost/test/impl/compiler_log_formatter.ipp
@@ -182,30 +182,25 @@ compiler_log_formatter::log_entry_start( std::ostream& output, log_entry_data co
switch( let ) {
case BOOST_UTL_ET_INFO:
print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
- if( m_color_output )
- output << setcolor( term_attr::BRIGHT, term_color::GREEN );
+ output << setcolor( m_color_output, term_attr::BRIGHT, term_color::GREEN );
output << "info: ";
break;
case BOOST_UTL_ET_MESSAGE:
- if( m_color_output )
- output << setcolor( term_attr::BRIGHT, term_color::CYAN );
+ output << setcolor( m_color_output, term_attr::BRIGHT, term_color::CYAN );
break;
case BOOST_UTL_ET_WARNING:
print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
- if( m_color_output )
- output << setcolor( term_attr::BRIGHT, term_color::YELLOW );
+ output << setcolor( m_color_output, term_attr::BRIGHT, term_color::YELLOW );
output << "warning: in \"" << test_phase_identifier() << "\": ";
break;
case BOOST_UTL_ET_ERROR:
print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
- if( m_color_output )
- output << setcolor( term_attr::BRIGHT, term_color::RED );
+ output << setcolor( m_color_output, term_attr::BRIGHT, term_color::RED );
output << "error: in \"" << test_phase_identifier() << "\": ";
break;
case BOOST_UTL_ET_FATAL_ERROR:
print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
- if( m_color_output )
- output << setcolor( term_attr::UNDERLINE, term_color::RED );
+ output << setcolor( m_color_output, term_attr::UNDERLINE, term_color::RED );
output << "fatal error: in \"" << test_phase_identifier() << "\": ";
break;
}
@@ -233,7 +228,7 @@ void
compiler_log_formatter::log_entry_finish( std::ostream& output )
{
if( m_color_output )
- output << utils::setcolor();
+ output << utils::setcolor(m_color_output);
output << std::endl;
}
diff --git a/boost/test/impl/decorator.ipp b/boost/test/impl/decorator.ipp
index 0cc562ee2f..e4bf11ee26 100644
--- a/boost/test/impl/decorator.ipp
+++ b/boost/test/impl/decorator.ipp
@@ -35,11 +35,15 @@ namespace unit_test {
namespace decorator {
// ************************************************************************** //
-// ************** decorator::collector ************** //
+// ************** decorator::collector_t ************** //
// ************************************************************************** //
-collector&
-collector::operator*( base const& d )
+// singleton pattern
+BOOST_TEST_SINGLETON_CONS_IMPL(collector_t)
+
+
+collector_t&
+collector_t::operator*( base const& d )
{
m_tu_decorators.push_back( d.clone() );
@@ -49,7 +53,7 @@ collector::operator*( base const& d )
//____________________________________________________________________________//
void
-collector::store_in( test_unit& tu )
+collector_t::store_in( test_unit& tu )
{
tu.p_decorators.value.insert( tu.p_decorators.value.end(), m_tu_decorators.begin(), m_tu_decorators.end() );
}
@@ -57,7 +61,7 @@ collector::store_in( test_unit& tu )
//____________________________________________________________________________//
void
-collector::reset()
+collector_t::reset()
{
m_tu_decorators.clear();
}
@@ -65,7 +69,7 @@ collector::reset()
//____________________________________________________________________________//
std::vector<base_ptr>
-collector::get_lazy_decorators() const
+collector_t::get_lazy_decorators() const
{
return m_tu_decorators;
}
@@ -76,10 +80,10 @@ collector::get_lazy_decorators() const
// ************** decorator::base ************** //
// ************************************************************************** //
-collector&
+collector_t&
base::operator*() const
{
- return collector::instance() * *this;
+ return collector_t::instance() * *this;
}
// ************************************************************************** //
diff --git a/boost/test/impl/execution_monitor.ipp b/boost/test/impl/execution_monitor.ipp
index 035bb958c1..9b7c5965b4 100644
--- a/boost/test/impl/execution_monitor.ipp
+++ b/boost/test/impl/execution_monitor.ipp
@@ -35,6 +35,7 @@
#ifndef BOOST_NO_EXCEPTIONS
#include <boost/exception/get_error_info.hpp> // for get_error_info
#include <boost/exception/current_exception_cast.hpp> // for current_exception_cast
+#include <boost/exception/diagnostic_information.hpp>
#endif
// STL
@@ -1227,6 +1228,16 @@ execution_monitor::execute( boost::function<int ()> const& F )
{ detail::report_error( execution_exception::cpp_exception_error,
"std::string: %s", ex.c_str() ); }
+ // boost::exception (before std::exception, with extended diagnostic)
+ catch( boost::exception const& ex )
+ { detail::report_error( execution_exception::cpp_exception_error,
+ &ex,
+#if defined(BOOST_NO_TYPEID) || defined(BOOST_NO_RTTI)
+ "unknown boost::exception" ); }
+#else
+ boost::diagnostic_information(ex).c_str() ); }
+#endif
+
// std:: exceptions
#if defined(BOOST_NO_TYPEID) || defined(BOOST_NO_RTTI)
#define CATCH_AND_REPORT_STD_EXCEPTION( ex_name ) \
@@ -1267,15 +1278,6 @@ execution_monitor::execute( boost::function<int ()> const& F )
CATCH_AND_REPORT_STD_EXCEPTION( std::exception )
#undef CATCH_AND_REPORT_STD_EXCEPTION
- catch( boost::exception const& ex )
- { detail::report_error( execution_exception::cpp_exception_error,
- &ex,
-#if defined(BOOST_NO_TYPEID) || defined(BOOST_NO_RTTI)
- "unknown boost::exception" ); }
-#else
- typeid(ex).name() ); }
-#endif
-
// system errors
catch( system_error const& ex )
{ detail::report_error( execution_exception::cpp_exception_error,
diff --git a/boost/test/impl/framework.ipp b/boost/test/impl/framework.ipp
index ddb0144d27..60ba4accfe 100644
--- a/boost/test/impl/framework.ipp
+++ b/boost/test/impl/framework.ipp
@@ -1178,6 +1178,7 @@ finalize_setup_phase( test_unit_id master_tu_id )
master_tu_id = master_test_suite().p_id;
// 10. Apply all decorators to the auto test units
+ // 10. checks for consistency (duplicate names, etc)
class apply_decorators : public test_tree_visitor {
private:
// test_tree_visitor interface
@@ -1185,6 +1186,7 @@ finalize_setup_phase( test_unit_id master_tu_id )
virtual bool test_suite_start( test_suite const& ts)
{
const_cast<test_suite&>(ts).generate();
+ const_cast<test_suite&>(ts).check_for_duplicate_test_cases();
return test_tree_visitor::test_suite_start(ts);
}
diff --git a/boost/test/impl/progress_monitor.ipp b/boost/test/impl/progress_monitor.ipp
index 34149745cf..998aa26b28 100644
--- a/boost/test/impl/progress_monitor.ipp
+++ b/boost/test/impl/progress_monitor.ipp
@@ -52,7 +52,7 @@ struct progress_display {
<< "\n|----|----|----|----|----|----|----|----|----|----|"
<< std::endl;
- if( !m_expected_count )
+ if( !m_expected_count )
m_expected_count = 1; // prevent divide by zero
}
@@ -63,7 +63,7 @@ struct progress_display {
// use of floating point ensures that both large and small counts
// work correctly. static_cast<>() is also used several places
- // to suppress spurious compiler warnings.
+ // to suppress spurious compiler warnings.
unsigned int tics_needed = static_cast<unsigned int>(
(static_cast<double>(m_count)/m_expected_count)*50.0 );
@@ -121,6 +121,10 @@ progress_monitor_impl& s_pm_impl() { static progress_monitor_impl the_inst; retu
//____________________________________________________________________________//
+BOOST_TEST_SINGLETON_CONS_IMPL(progress_monitor_t)
+
+//____________________________________________________________________________//
+
void
progress_monitor_t::test_start( counter_t test_cases_amount )
{
diff --git a/boost/test/impl/results_collector.ipp b/boost/test/impl/results_collector.ipp
index ea5050937b..cfc34cf793 100644
--- a/boost/test/impl/results_collector.ipp
+++ b/boost/test/impl/results_collector.ipp
@@ -139,6 +139,10 @@ results_collector_impl& s_rc_impl() { static results_collector_impl the_inst; re
//____________________________________________________________________________//
+BOOST_TEST_SINGLETON_CONS_IMPL( results_collector_t )
+
+//____________________________________________________________________________//
+
void
results_collector_t::test_start( counter_t )
{
diff --git a/boost/test/impl/test_framework_init_observer.ipp b/boost/test/impl/test_framework_init_observer.ipp
index 89f854aaed..a44382eed5 100644
--- a/boost/test/impl/test_framework_init_observer.ipp
+++ b/boost/test/impl/test_framework_init_observer.ipp
@@ -45,6 +45,14 @@ test_init_observer_check& s_tioc_impl() { static test_init_observer_check the_in
} // local namespace
+
+//____________________________________________________________________________//
+
+// singleton pattern
+BOOST_TEST_SINGLETON_CONS_IMPL(framework_init_observer_t)
+
+//____________________________________________________________________________//
+
void
framework_init_observer_t::clear()
{
diff --git a/boost/test/impl/test_tree.ipp b/boost/test/impl/test_tree.ipp
index cb48be4a99..722b4815b2 100644
--- a/boost/test/impl/test_tree.ipp
+++ b/boost/test/impl/test_tree.ipp
@@ -36,6 +36,7 @@
// STL
#include <algorithm>
#include <vector>
+#include <set>
#include <boost/test/detail/suppress_warnings.hpp>
@@ -241,14 +242,6 @@ test_suite::test_suite( const_string module_name )
void
test_suite::add( test_unit* tu, counter_t expected_failures, unsigned timeout )
{
- // check for clashing names #12597
- for( test_unit_id_list::const_iterator it(m_children.begin()), ite(m_children.end());
- it < ite;
- ++it) {
- BOOST_TEST_SETUP_ASSERT( tu->p_name != framework::get(*it, TUT_ANY).p_name,
- "test unit with name '" + tu->p_name.value + std::string("' registered multiple times") );
- }
-
tu->p_timeout.value = timeout;
m_children.push_back( tu->p_id );
@@ -274,7 +267,7 @@ test_suite::add( test_unit_generator const& gen, unsigned timeout )
//____________________________________________________________________________//
void
-test_suite::add( test_unit_generator const& gen, decorator::collector& decorators )
+test_suite::add( test_unit_generator const& gen, decorator::collector_t& decorators )
{
test_unit* tu;
while((tu = gen.next()) != 0) {
@@ -284,14 +277,18 @@ test_suite::add( test_unit_generator const& gen, decorator::collector& decorator
decorators.reset();
}
+//____________________________________________________________________________//
+
void
-test_suite::add( boost::shared_ptr<test_unit_generator> gen_ptr, decorator::collector& decorators )
+test_suite::add( boost::shared_ptr<test_unit_generator> gen_ptr, decorator::collector_t& decorators )
{
std::pair<boost::shared_ptr<test_unit_generator>, std::vector<decorator::base_ptr> > tmp_p(gen_ptr, decorators.get_lazy_decorators() );
m_generators.push_back(tmp_p);
decorators.reset();
}
+//____________________________________________________________________________//
+
void
test_suite::generate( )
{
@@ -320,6 +317,27 @@ test_suite::generate( )
#endif
}
+//____________________________________________________________________________//
+
+void
+test_suite::check_for_duplicate_test_cases() {
+ // check for clashing names #12597
+ std::set<std::string> names;
+ for( test_unit_id_list::const_iterator it(m_children.begin()), ite(m_children.end());
+ it < ite;
+ ++it) {
+ std::string name = framework::get(*it, TUT_ANY).p_name;
+ std::pair<std::set<std::string>::iterator, bool> ret = names.insert(name);
+ BOOST_TEST_SETUP_ASSERT(ret.second,
+ "test unit with name '"
+ + name
+ + std::string("' registered multiple times in the test suite '")
+ + this->p_name.value
+ + "'");
+ }
+
+ return;
+}
//____________________________________________________________________________//
@@ -453,7 +471,7 @@ normalize_test_case_name( const_string name )
// ************** auto_test_unit_registrar ************** //
// ************************************************************************** //
-auto_test_unit_registrar::auto_test_unit_registrar( test_case* tc, decorator::collector& decorators, counter_t exp_fail )
+auto_test_unit_registrar::auto_test_unit_registrar( test_case* tc, decorator::collector_t& decorators, counter_t exp_fail )
{
framework::current_auto_test_suite().add( tc, exp_fail );
@@ -463,7 +481,7 @@ auto_test_unit_registrar::auto_test_unit_registrar( test_case* tc, decorator::co
//____________________________________________________________________________//
-auto_test_unit_registrar::auto_test_unit_registrar( const_string ts_name, const_string ts_file, std::size_t ts_line, decorator::collector& decorators )
+auto_test_unit_registrar::auto_test_unit_registrar( const_string ts_name, const_string ts_file, std::size_t ts_line, decorator::collector_t& decorators )
{
test_unit_id id = framework::current_auto_test_suite().get( ts_name );
@@ -486,14 +504,14 @@ auto_test_unit_registrar::auto_test_unit_registrar( const_string ts_name, const_
//____________________________________________________________________________//
-auto_test_unit_registrar::auto_test_unit_registrar( test_unit_generator const& tc_gen, decorator::collector& decorators )
+auto_test_unit_registrar::auto_test_unit_registrar( test_unit_generator const& tc_gen, decorator::collector_t& decorators )
{
framework::current_auto_test_suite().add( tc_gen, decorators );
}
//____________________________________________________________________________//
-auto_test_unit_registrar::auto_test_unit_registrar( boost::shared_ptr<test_unit_generator> tc_gen, decorator::collector& decorators )
+auto_test_unit_registrar::auto_test_unit_registrar( boost::shared_ptr<test_unit_generator> tc_gen, decorator::collector_t& decorators )
{
framework::current_auto_test_suite().add( tc_gen, decorators );
}
diff --git a/boost/test/impl/unit_test_log.ipp b/boost/test/impl/unit_test_log.ipp
index 2a6c0f4bc6..40b54be223 100644
--- a/boost/test/impl/unit_test_log.ipp
+++ b/boost/test/impl/unit_test_log.ipp
@@ -159,6 +159,10 @@ unit_test_log_impl& s_log_impl() { static unit_test_log_impl the_inst; return th
//____________________________________________________________________________//
+BOOST_TEST_SINGLETON_CONS_IMPL( unit_test_log_t )
+
+//____________________________________________________________________________//
+
void
unit_test_log_t::test_start( counter_t test_cases_amount )
{
diff --git a/boost/test/impl/unit_test_monitor.ipp b/boost/test/impl/unit_test_monitor.ipp
index cfb41a239c..70e78513b6 100644
--- a/boost/test/impl/unit_test_monitor.ipp
+++ b/boost/test/impl/unit_test_monitor.ipp
@@ -29,6 +29,9 @@
namespace boost {
namespace unit_test {
+// singleton pattern
+BOOST_TEST_SINGLETON_CONS_IMPL(unit_test_monitor_t)
+
// ************************************************************************** //
// ************** unit_test_monitor ************** //
// ************************************************************************** //
diff --git a/boost/test/progress_monitor.hpp b/boost/test/progress_monitor.hpp
index 2f661f5825..49c0b01497 100644
--- a/boost/test/progress_monitor.hpp
+++ b/boost/test/progress_monitor.hpp
@@ -14,7 +14,6 @@
// Boost.Test
#include <boost/test/tree/observer.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
// STL
#include <iosfwd> // for std::ostream&
@@ -31,7 +30,7 @@ namespace unit_test {
// ************************************************************************** //
/// This class implements test observer interface and updates test progress as test units finish or get aborted
-class BOOST_TEST_DECL progress_monitor_t : public test_observer, public singleton<progress_monitor_t> {
+class BOOST_TEST_DECL progress_monitor_t : public test_observer {
public:
/// @name Test observer interface
/// @{
@@ -49,7 +48,7 @@ public:
void set_stream( std::ostream& );
/// @}
-private:
+ /// Singleton pattern
BOOST_TEST_SINGLETON_CONS( progress_monitor_t )
}; // progress_monitor_t
diff --git a/boost/test/results_collector.hpp b/boost/test/results_collector.hpp
index 75a0e551cd..8e8a6202ed 100644
--- a/boost/test/results_collector.hpp
+++ b/boost/test/results_collector.hpp
@@ -21,7 +21,6 @@
#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
#include <boost/test/utils/class_properties.hpp>
#include <boost/test/detail/suppress_warnings.hpp>
@@ -84,7 +83,7 @@ public:
/// For test suites, this indicates if the test suite itself has been marked as
/// skipped, and not if the test suite contains any skipped test.
bool skipped() const;
-
+
/// Returns true if the test unit was aborted (hard failure)
bool aborted() const;
@@ -115,7 +114,7 @@ public:
/// of the test tree.
///
/// @see boost::unit_test::test_observer
-class BOOST_TEST_DECL results_collector_t : public test_observer, public singleton<results_collector_t> {
+class BOOST_TEST_DECL results_collector_t : public test_observer {
public:
virtual void test_start( counter_t );
@@ -135,7 +134,7 @@ public:
/// @param[in] tu_id id of a test unit
test_results const& results( test_unit_id tu_id ) const;
-private:
+ /// Singleton pattern
BOOST_TEST_SINGLETON_CONS( results_collector_t )
};
diff --git a/boost/test/test_framework_init_observer.hpp b/boost/test/test_framework_init_observer.hpp
index cdf5ef5edd..8bf0bb9947 100644
--- a/boost/test/test_framework_init_observer.hpp
+++ b/boost/test/test_framework_init_observer.hpp
@@ -18,8 +18,6 @@
#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
-
#include <boost/test/detail/suppress_warnings.hpp>
//____________________________________________________________________________//
@@ -33,7 +31,7 @@ namespace unit_test {
/// This class collects the state of the init/termination of the unit test framework.
///
/// @see boost::unit_test::test_observer
-class BOOST_TEST_DECL framework_init_observer_t : public test_observer, public singleton<framework_init_observer_t> {
+class BOOST_TEST_DECL framework_init_observer_t : public test_observer {
public:
virtual void test_start( counter_t );
@@ -49,7 +47,7 @@ public:
/// Indicates if a failure has been recorded so far
bool has_failed( ) const;
-private:
+ /// Singleton pattern
BOOST_TEST_SINGLETON_CONS( framework_init_observer_t )
};
diff --git a/boost/test/tools/assertion.hpp b/boost/test/tools/assertion.hpp
index cca2f52beb..2a7d96ebb1 100644
--- a/boost/test/tools/assertion.hpp
+++ b/boost/test/tools/assertion.hpp
@@ -277,7 +277,7 @@ public:
}
void report( std::ostream& ostr ) const
{
- ostr << tt_detail::print_helper( m_value );
+ ostr << tt_detail::print_helper( value() );
}
// Mutating operators
@@ -309,8 +309,11 @@ public:
private:
template<typename U>
- static void format_message( wrap_stringstream& ostr, U const& v ) { ostr << "[(bool)" << v << " is false]"; }
- static void format_message( wrap_stringstream& /*ostr*/, bool /*v*/ ) {}
+ static void format_message( wrap_stringstream& ostr, U const& v )
+ {
+ ostr << "['" << tt_detail::print_helper(v) << "' evaluates to false]";
+ }
+ static void format_message( wrap_stringstream& /*ostr*/, bool /*v*/ ) {}
static void format_message( wrap_stringstream& /*ostr*/, assertion_result const& /*v*/ ) {}
// Data members
diff --git a/boost/test/tools/collection_comparison_op.hpp b/boost/test/tools/collection_comparison_op.hpp
index 864103fb4a..ff3b376131 100644
--- a/boost/test/tools/collection_comparison_op.hpp
+++ b/boost/test/tools/collection_comparison_op.hpp
@@ -20,6 +20,7 @@
// Boost
#include <boost/mpl/bool.hpp>
+#include <boost/mpl/if.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/decay.hpp>
diff --git a/boost/test/tools/detail/print_helper.hpp b/boost/test/tools/detail/print_helper.hpp
index 2c6a3b5e80..232fad1509 100644
--- a/boost/test/tools/detail/print_helper.hpp
+++ b/boost/test/tools/detail/print_helper.hpp
@@ -28,6 +28,8 @@
#include <boost/type_traits/is_abstract.hpp>
#include <boost/type_traits/has_left_shift.hpp>
+#include <ios>
+#include <iostream>
#include <limits>
#if !defined(BOOST_NO_CXX11_NULLPTR)
diff --git a/boost/test/tools/floating_point_comparison.hpp b/boost/test/tools/floating_point_comparison.hpp
index d704a41092..810840e345 100644
--- a/boost/test/tools/floating_point_comparison.hpp
+++ b/boost/test/tools/floating_point_comparison.hpp
@@ -197,9 +197,11 @@ fraction_tolerance( percent_tolerance_t<FPT> tolerance )
/*!@brief Predicate for comparing floating point numbers
*
* This predicate is used to compare floating point numbers. In addition the comparison produces maximum
- * related differnce, which can be used to generate detailed error message
+ * related difference, which can be used to generate detailed error message
* The methods for comparing floating points are detailed in the documentation. The method is chosen
* by the @ref boost::math::fpc::strength given at construction.
+ *
+ * This predicate is not suitable for comparing to 0 or to infinity.
*/
template<typename FPT>
class close_at_tolerance {
diff --git a/boost/test/tools/fpc_op.hpp b/boost/test/tools/fpc_op.hpp
index b879d218f2..c84820bdba 100644
--- a/boost/test/tools/fpc_op.hpp
+++ b/boost/test/tools/fpc_op.hpp
@@ -170,7 +170,11 @@ public: \
static assertion_result \
eval( Lhs const& lhs, Rhs const& rhs ) \
{ \
- if( fpc_tolerance<FPT>() == FPT(0) ) \
+ if( fpc_tolerance<FPT>() == FPT(0) \
+ || (std::numeric_limits<Lhs>::has_infinity \
+ && (lhs == std::numeric_limits<Lhs>::infinity())) \
+ || (std::numeric_limits<Rhs>::has_infinity \
+ && (rhs == std::numeric_limits<Rhs>::infinity()))) \
{ \
return eval_direct( lhs, rhs ); \
} \
diff --git a/boost/test/tree/auto_registration.hpp b/boost/test/tree/auto_registration.hpp
index 98bc2924fd..e9510be292 100644
--- a/boost/test/tree/auto_registration.hpp
+++ b/boost/test/tree/auto_registration.hpp
@@ -37,10 +37,10 @@ namespace ut_detail {
struct BOOST_TEST_DECL auto_test_unit_registrar {
// Constructors
- auto_test_unit_registrar( test_case* tc, decorator::collector& decorators, counter_t exp_fail = 0 );
- explicit auto_test_unit_registrar( const_string ts_name, const_string ts_file, std::size_t ts_line, decorator::collector& decorators );
- explicit auto_test_unit_registrar( test_unit_generator const& tc_gen, decorator::collector& decorators );
- explicit auto_test_unit_registrar( boost::shared_ptr<test_unit_generator> tc_gen, decorator::collector& decorators );
+ auto_test_unit_registrar( test_case* tc, decorator::collector_t& decorators, counter_t exp_fail = 0 );
+ explicit auto_test_unit_registrar( const_string ts_name, const_string ts_file, std::size_t ts_line, decorator::collector_t& decorators );
+ explicit auto_test_unit_registrar( test_unit_generator const& tc_gen, decorator::collector_t& decorators );
+ explicit auto_test_unit_registrar( boost::shared_ptr<test_unit_generator> tc_gen, decorator::collector_t& decorators );
explicit auto_test_unit_registrar( int );
};
diff --git a/boost/test/tree/decorator.hpp b/boost/test/tree/decorator.hpp
index f891a27765..6537152538 100644
--- a/boost/test/tree/decorator.hpp
+++ b/boost/test/tree/decorator.hpp
@@ -22,9 +22,7 @@
#include <boost/test/tree/fixture.hpp>
#include <boost/test/tools/assertion_result.hpp>
-
#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
// Boost
#include <boost/shared_ptr.hpp>
@@ -46,37 +44,40 @@ class test_unit;
namespace decorator {
// ************************************************************************** //
-// ************** decorator::collector ************** //
+// ************** decorator::collector_t ************** //
// ************************************************************************** //
class base;
typedef boost::shared_ptr<base> base_ptr;
-class BOOST_TEST_DECL collector : public singleton<collector> {
+class BOOST_TEST_DECL collector_t {
+
public:
- collector& operator*( base const& d );
+ collector_t& operator*( base const& d );
void store_in( test_unit& tu );
void reset();
-
+
std::vector<base_ptr> get_lazy_decorators() const;
-private:
- BOOST_TEST_SINGLETON_CONS( collector )
+ // singleton pattern
+ BOOST_TEST_SINGLETON_CONS( collector_t )
+ private:
// Data members
std::vector<base_ptr> m_tu_decorators;
};
+
// ************************************************************************** //
-// ************** decorator::base ************** //
+// ************** decorator::base ************** //
// ************************************************************************** //
class BOOST_TEST_DECL base {
public:
// composition interface
- collector& operator*() const;
+ collector_t& operator*() const;
// application interface
virtual void apply( test_unit& tu ) = 0;
diff --git a/boost/test/tree/test_case_template.hpp b/boost/test/tree/test_case_template.hpp
index f588e12e9f..e862980220 100644
--- a/boost/test/tree/test_case_template.hpp
+++ b/boost/test/tree/test_case_template.hpp
@@ -17,6 +17,7 @@
#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/detail/fwd_decl.hpp>
#include <boost/test/detail/workaround.hpp>
+#include <boost/test/tree/test_unit.hpp>
#include <boost/test/utils/class_properties.hpp>
diff --git a/boost/test/tree/test_unit.hpp b/boost/test/tree/test_unit.hpp
index 1441bdc7dd..48033af897 100644
--- a/boost/test/tree/test_unit.hpp
+++ b/boost/test/tree/test_unit.hpp
@@ -176,10 +176,10 @@ public:
void add( test_unit_generator const& gen, unsigned timeout = 0 );
/// @overload
- void add( test_unit_generator const& gen, decorator::collector& decorators );
+ void add( test_unit_generator const& gen, decorator::collector_t& decorators );
/// @overload
- void add( boost::shared_ptr<test_unit_generator> gen_ptr, decorator::collector& decorators );
+ void add( boost::shared_ptr<test_unit_generator> gen_ptr, decorator::collector_t& decorators );
//! Removes a test from the test suite.
void remove( test_unit_id id );
@@ -187,6 +187,10 @@ public:
//! Generates all the delayed test_units from the generators
void generate( );
+ //! Check for duplicates name in test cases
+ //!
+ //! Raises a setup_error if there are duplicates
+ void check_for_duplicate_test_cases();
// access methods
test_unit_id get( const_string tu_name ) const;
diff --git a/boost/test/unit_test_log.hpp b/boost/test/unit_test_log.hpp
index 6944ffa79a..d65a728747 100644
--- a/boost/test/unit_test_log.hpp
+++ b/boost/test/unit_test_log.hpp
@@ -22,7 +22,6 @@
#include <boost/test/detail/fwd_decl.hpp>
#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
#include <boost/test/utils/lazy_ostream.hpp>
// Boost
@@ -109,7 +108,7 @@ private:
/// @see
/// - boost::unit_test::test_observer
/// - boost::unit_test::unit_test_log_formatter
-class BOOST_TEST_DECL unit_test_log_t : public test_observer, public singleton<unit_test_log_t> {
+class BOOST_TEST_DECL unit_test_log_t : public test_observer {
public:
// test_observer interface implementation
virtual void test_start( counter_t test_cases_amount );
@@ -221,6 +220,7 @@ private:
void log_entry_context( log_level l );
void clear_entry_context();
+ // Singleton
BOOST_TEST_SINGLETON_CONS( unit_test_log_t )
}; // unit_test_log_t
diff --git a/boost/test/unit_test_monitor.hpp b/boost/test/unit_test_monitor.hpp
index 4402b79e73..b056051caf 100644
--- a/boost/test/unit_test_monitor.hpp
+++ b/boost/test/unit_test_monitor.hpp
@@ -17,7 +17,6 @@
// Boost.Test
#include <boost/test/execution_monitor.hpp>
#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
#include <boost/test/detail/suppress_warnings.hpp>
@@ -30,7 +29,7 @@ namespace unit_test {
// ************** unit_test_monitor ************** //
// ************************************************************************** //
-class BOOST_TEST_DECL unit_test_monitor_t : public singleton<unit_test_monitor_t>, public execution_monitor {
+class BOOST_TEST_DECL unit_test_monitor_t :public execution_monitor {
public:
enum error_level {
test_ok = 0,
@@ -48,7 +47,7 @@ public:
// monitor method
error_level execute_and_translate( boost::function<void ()> const& func, unsigned timeout = 0 );
-private:
+ // singleton pattern
BOOST_TEST_SINGLETON_CONS( unit_test_monitor_t )
};
diff --git a/boost/test/unit_test_suite.hpp b/boost/test/unit_test_suite.hpp
index 13ff804b44..698362e588 100644
--- a/boost/test/unit_test_suite.hpp
+++ b/boost/test/unit_test_suite.hpp
@@ -32,10 +32,12 @@
// ************** Non-auto (explicit) test case interface ************** //
// ************************************************************************** //
-#define BOOST_TEST_CASE( test_function ) \
+#define BOOST_TEST_CASE_NAME( test_function, test_name ) \
boost::unit_test::make_test_case( boost::function<void ()>(test_function), \
- BOOST_TEST_STRINGIZE( test_function ), \
+ test_name , \
__FILE__, __LINE__ )
+#define BOOST_TEST_CASE( test_function ) \
+BOOST_TEST_CASE_NAME(test_function, BOOST_TEST_STRINGIZE( test_function) )
#define BOOST_CLASS_TEST_CASE( test_function, tc_instance ) \
boost::unit_test::make_test_case( (test_function), \
BOOST_TEST_STRINGIZE( test_function ), \
@@ -63,7 +65,7 @@ BOOST_AUTO_TU_REGISTRAR( suite_name )( \
#define BOOST_AUTO_TEST_SUITE_NO_DECOR( suite_name ) \
BOOST_AUTO_TEST_SUITE_WITH_DECOR( \
suite_name, \
- boost::unit_test::decorator::collector::instance() ) \
+ boost::unit_test::decorator::collector_t::instance() ) \
/**/
#if BOOST_PP_VARIADICS
@@ -167,7 +169,7 @@ void test_name::test_method() \
#define BOOST_FIXTURE_TEST_CASE_NO_DECOR( test_name, F ) \
BOOST_FIXTURE_TEST_CASE_WITH_DECOR( test_name, F, \
- boost::unit_test::decorator::collector::instance() ) \
+ boost::unit_test::decorator::collector_t::instance() ) \
/**/
#if BOOST_PP_VARIADICS
@@ -246,7 +248,7 @@ BOOST_AUTO_TU_REGISTRAR( test_name )( \
boost::unit_test::ut_detail::template_test_case_gen< \
BOOST_AUTO_TC_INVOKER( test_name ),TL >( \
BOOST_STRINGIZE( test_name ), __FILE__, __LINE__ ), \
- boost::unit_test::decorator::collector::instance() ); \
+ boost::unit_test::decorator::collector_t::instance() ); \
\
template<typename type_name> \
void test_name<type_name>::test_method() \
@@ -319,7 +321,7 @@ static boost::unit_test::ut_detail::global_fixture_impl<F> BOOST_JOIN( gf_, F )
// ************************************************************************** //
#define BOOST_TEST_DECORATOR( D ) \
-static boost::unit_test::decorator::collector const& \
+static boost::unit_test::decorator::collector_t const& \
BOOST_TEST_APPEND_UNIQUE_ID(decorator_collector) = D; \
/**/
@@ -343,7 +345,7 @@ typedef ::boost::unit_test::ut_detail::nil_t BOOST_AUTO_TEST_CASE_FIXTURE;
// ************************************************************************** //
// Facility for having a unique name based on __LINE__ and __COUNTER__ (later if available)
-#if defined(__COUNTER__)
+#if defined(__COUNTER__)
#define BOOST_TEST_INTERNAL_HAS_COUNTER
#endif
diff --git a/boost/test/utils/is_forward_iterable.hpp b/boost/test/utils/is_forward_iterable.hpp
index 1c9108054b..d6d8dd8a85 100644
--- a/boost/test/utils/is_forward_iterable.hpp
+++ b/boost/test/utils/is_forward_iterable.hpp
@@ -17,7 +17,7 @@
defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)
// this feature works with VC2012 upd 5 while BOOST_NO_CXX11_TRAILING_RESULT_TYPES is defined
- #if !defined(BOOST_MSVC) || BOOST_MSVC_FULL_VER < 170061030 /* VC2012 upd 5 */
+ #if !defined(BOOST_MSVC) || BOOST_MSVC_FULL_VER < 170061232 /* VC2012 upd 5 */
#define BOOST_TEST_FWD_ITERABLE_CXX03
#endif
#endif
@@ -204,7 +204,7 @@ struct bt_iterator_traits< T, true >{
BOOST_STATIC_ASSERT((is_forward_iterable<T>::value));
#if defined(BOOST_TEST_FWD_ITERABLE_CXX03) || \
- (defined(BOOST_MSVC) && (BOOST_MSVC_FULL_VER <= 170061030))
+ (defined(BOOST_MSVC) && (BOOST_MSVC_FULL_VER <= 170061232))
typedef typename T::const_iterator const_iterator;
typedef typename std::iterator_traits<const_iterator>::value_type value_type;
#else
@@ -224,7 +224,7 @@ struct bt_iterator_traits< T, true >{
}
#if defined(BOOST_TEST_FWD_ITERABLE_CXX03) || \
- (defined(BOOST_MSVC) && (BOOST_MSVC_FULL_VER <= 170061030))
+ (defined(BOOST_MSVC) && (BOOST_MSVC_FULL_VER <= 170061232))
static std::size_t
size(T const& container) {
return container.size();
diff --git a/boost/test/utils/runtime/argument_factory.hpp b/boost/test/utils/runtime/argument_factory.hpp
index f3448f8cc4..e281cf93f7 100644
--- a/boost/test/utils/runtime/argument_factory.hpp
+++ b/boost/test/utils/runtime/argument_factory.hpp
@@ -18,6 +18,7 @@
// Boost.Test Runtime parameters
#include <boost/test/utils/runtime/errors.hpp>
#include <boost/test/utils/runtime/argument.hpp>
+#include <boost/test/utils/runtime/modifier.hpp>
// Boost.Test
#include <boost/test/utils/basic_cstring/io.hpp>
diff --git a/boost/test/utils/runtime/cla/argv_traverser.hpp b/boost/test/utils/runtime/cla/argv_traverser.hpp
index 10fb67bde4..d65c88e920 100644
--- a/boost/test/utils/runtime/cla/argv_traverser.hpp
+++ b/boost/test/utils/runtime/cla/argv_traverser.hpp
@@ -17,6 +17,7 @@
// Boost.Test Runtime parameters
#include <boost/test/utils/runtime/fwd.hpp>
+#include <cstring>
#include <boost/test/detail/suppress_warnings.hpp>
diff --git a/boost/test/utils/runtime/cla/parser.hpp b/boost/test/utils/runtime/cla/parser.hpp
index de8943884b..bd3df7090c 100644
--- a/boost/test/utils/runtime/cla/parser.hpp
+++ b/boost/test/utils/runtime/cla/parser.hpp
@@ -314,7 +314,7 @@ public:
<< BOOST_VERSION % 100 ;
ostr << " with ";
#if defined(BOOST_TEST_INCLUDED)
- ostr << "single header inclusion of";
+ ostr << "header-only inclusion of";
#elif defined(BOOST_TEST_DYN_LINK)
ostr << "dynamic linking to";
#else
diff --git a/boost/test/utils/runtime/errors.hpp b/boost/test/utils/runtime/errors.hpp
index 5b263d21c5..056a823e33 100644
--- a/boost/test/utils/runtime/errors.hpp
+++ b/boost/test/utils/runtime/errors.hpp
@@ -37,7 +37,7 @@ namespace runtime {
// ************** runtime::param_error ************** //
// ************************************************************************** //
-class param_error : public std::exception {
+class BOOST_SYMBOL_VISIBLE param_error : public std::exception {
public:
~param_error() BOOST_NOEXCEPT_OR_NOTHROW {}
@@ -55,7 +55,7 @@ protected:
//____________________________________________________________________________//
-class init_error : public param_error {
+class BOOST_SYMBOL_VISIBLE init_error : public param_error {
protected:
explicit init_error( cstring param_name ) : param_error( param_name ) {}
~init_error() BOOST_NOEXCEPT_OR_NOTHROW {}
@@ -70,7 +70,7 @@ protected:
//____________________________________________________________________________//
template<typename Derived, typename Base>
-class specific_param_error : public Base {
+class BOOST_SYMBOL_VISIBLE specific_param_error : public Base {
protected:
explicit specific_param_error( cstring param_name ) : Base( param_name ) {}
~specific_param_error() BOOST_NOEXCEPT_OR_NOTHROW {}
@@ -155,7 +155,7 @@ SPECIFIC_EX_TYPE( missing_req_arg, input_error );
#undef SPECIFIC_EX_TYPE
-class ambiguous_param : public specific_param_error<ambiguous_param, input_error> {
+class BOOST_SYMBOL_VISIBLE ambiguous_param : public specific_param_error<ambiguous_param, input_error> {
public:
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
explicit ambiguous_param( std::vector<cstring>&& amb_candidates )
diff --git a/boost/test/utils/runtime/modifier.hpp b/boost/test/utils/runtime/modifier.hpp
index f4f5a42baa..78c8817e7c 100644
--- a/boost/test/utils/runtime/modifier.hpp
+++ b/boost/test/utils/runtime/modifier.hpp
@@ -20,6 +20,7 @@
// Boost.Test
#include <boost/test/utils/named_params.hpp>
+#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/detail/suppress_warnings.hpp>
diff --git a/boost/test/utils/runtime/parameter.hpp b/boost/test/utils/runtime/parameter.hpp
index 420b60264d..01e5457bfe 100644
--- a/boost/test/utils/runtime/parameter.hpp
+++ b/boost/test/utils/runtime/parameter.hpp
@@ -27,7 +27,7 @@
#include <boost/test/utils/setcolor.hpp>
// Boost
-#include <boost/function/function2.hpp>
+#include <boost/function.hpp>
#include <boost/algorithm/cxx11/all_of.hpp>
// STL
diff --git a/boost/test/utils/setcolor.hpp b/boost/test/utils/setcolor.hpp
index 91b068ae6f..915c9962a3 100644
--- a/boost/test/utils/setcolor.hpp
+++ b/boost/test/utils/setcolor.hpp
@@ -77,9 +77,11 @@ struct term_color { enum _ {
class setcolor {
public:
// Constructor
- explicit setcolor( term_attr::_ attr = term_attr::NORMAL,
+ explicit setcolor( bool is_color_output = false,
+ term_attr::_ attr = term_attr::NORMAL,
term_color::_ fg = term_color::ORIGINAL,
term_color::_ bg = term_color::ORIGINAL )
+ : m_is_color_output(is_color_output)
{
m_command_size = std::sprintf( m_control_command, "%c[%d;%d;%dm", 0x1B, attr, fg + 30, bg + 40 );
}
@@ -87,7 +89,7 @@ public:
friend std::ostream&
operator<<( std::ostream& os, setcolor const& sc )
{
- if (&os == &std::cout || &os == &std::cerr) {
+ if (sc.m_is_color_output && (&os == &std::cout || &os == &std::cerr)) {
return os.write( sc.m_control_command, sc.m_command_size );
}
return os;
@@ -95,6 +97,7 @@ public:
private:
// Data members
+ bool m_is_color_output;
char m_control_command[13];
int m_command_size;
};
@@ -105,6 +108,9 @@ class setcolor {
protected:
void set_console_color(std::ostream& os, WORD *attributes = NULL) const {
+ if (!m_is_color_output) {
+ return;
+ }
DWORD console_type;
if (&os == &std::cout) {
console_type = STD_OUTPUT_HANDLE;
@@ -127,9 +133,7 @@ protected:
CONSOLE_SCREEN_BUFFER_INFO consoleInfo;
GetConsoleScreenBufferInfo(hConsole, &consoleInfo);
- //if(!has_written_console_ext) {
- saved_attributes = consoleInfo.wAttributes;
- //}
+ saved_attributes = consoleInfo.wAttributes;
WORD fg_attr = 0;
switch(m_fg)
@@ -201,20 +205,19 @@ protected:
break;
}
- SetConsoleTextAttribute(hConsole, fg_attr | bg_attr | text_attr);
-
- //has_written_console_ext = true;
+ SetConsoleTextAttribute(hConsole, fg_attr | bg_attr | text_attr);
return;
}
public:
// Constructor
explicit setcolor(
+ bool is_color_output = false,
term_attr::_ attr = term_attr::NORMAL,
term_color::_ fg = term_color::ORIGINAL,
term_color::_ bg = term_color::ORIGINAL )
- : /*has_written_console_ext(false)
- , */m_attr(attr)
+ : m_is_color_output(is_color_output)
+ , m_attr(attr)
, m_fg(fg)
, m_bg(bg)
{}
@@ -227,6 +230,7 @@ public:
}
private:
+ bool m_is_color_output;
term_attr::_ m_attr;
term_color::_ m_fg;
term_color::_ m_bg;
@@ -234,7 +238,6 @@ private:
protected:
// Data members
mutable WORD saved_attributes;
- //mutable bool has_written_console_ext;
};
#endif
@@ -246,24 +249,27 @@ protected:
struct scope_setcolor {
scope_setcolor() : m_os( 0 ) {}
- explicit scope_setcolor( std::ostream& os,
+ explicit scope_setcolor( bool is_color_output,
+ std::ostream& os,
term_attr::_ attr = term_attr::NORMAL,
term_color::_ fg = term_color::ORIGINAL,
term_color::_ bg = term_color::ORIGINAL )
: m_os( &os )
+ , m_is_color_output( is_color_output )
{
- os << setcolor( attr, fg, bg );
+ os << setcolor( is_color_output, attr, fg, bg );
}
~scope_setcolor()
{
if( m_os )
- *m_os << setcolor();
+ *m_os << setcolor( m_is_color_output );
}
private:
scope_setcolor(const scope_setcolor& r);
scope_setcolor& operator=(const scope_setcolor& r);
// Data members
std::ostream* m_os;
+ bool m_is_color_output;
};
#else
@@ -271,13 +277,13 @@ private:
struct scope_setcolor : setcolor {
scope_setcolor() : m_os( 0 ) {}
explicit scope_setcolor(
+ bool is_color_output,
std::ostream& os,
term_attr::_ attr = term_attr::NORMAL,
term_color::_ fg = term_color::ORIGINAL,
term_color::_ bg = term_color::ORIGINAL )
- :
- setcolor(attr, fg, bg),
- m_os( &os )
+ : setcolor(is_color_output, attr, fg, bg)
+ , m_os( &os )
{
os << *this;
}
@@ -298,12 +304,9 @@ private:
#endif
-#define BOOST_TEST_SCOPE_SETCOLOR( is_color_output, os, attr, color ) \
- utils::scope_setcolor const sc( \
- os, \
- is_color_output ? utils::attr : utils::term_attr::NORMAL, \
- is_color_output ? utils::color : utils::term_color::ORIGINAL);\
- ut_detail::ignore_unused_variable_warning( sc ) \
+#define BOOST_TEST_SCOPE_SETCOLOR( is_color_output, os, attr, color ) \
+ utils::scope_setcolor const sc(is_color_output, os, utils::attr, utils::color); \
+ ut_detail::ignore_unused_variable_warning( sc ) \
/**/
} // namespace utils
diff --git a/boost/test/utils/trivial_singleton.hpp b/boost/test/utils/trivial_singleton.hpp
deleted file mode 100644
index ac612b6393..0000000000
--- a/boost/test/utils/trivial_singleton.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2001.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision$
-//
-// Description : simple helpers for creating cusom output manipulators
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UTILS_TRIVIAL_SIGNLETON_HPP
-#define BOOST_TEST_UTILS_TRIVIAL_SIGNLETON_HPP
-
-// Boost.Test
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// Boost
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** singleton ************** //
-// ************************************************************************** //
-
-template<typename Derived>
-class singleton {
-public:
- static Derived& instance() { static Derived the_inst; return the_inst; }
-
- BOOST_DELETED_FUNCTION(singleton(singleton const&))
- BOOST_DELETED_FUNCTION(singleton& operator=(singleton const&))
-
-protected:
- BOOST_DEFAULTED_FUNCTION(singleton(), {})
- BOOST_DEFAULTED_FUNCTION(~singleton(), {})
-};
-
-//____________________________________________________________________________//
-
-#define BOOST_TEST_SINGLETON_CONS( type ) \
-friend class boost::unit_test::singleton<type>; \
-type() {} \
-/**/
-
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
-
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-template class unit_test::singleton< BOOST_JOIN( inst, _t ) > ; \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
-
-#elif defined(__APPLE_CC__) && defined(__GNUC__) && __GNUC__ < 4
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-static BOOST_JOIN( inst, _t)& inst = BOOST_JOIN (inst, _t)::instance();
-
-#else
-
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
-
-#endif
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-} // namespace boost
-
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UTILS_TRIVIAL_SIGNLETON_HPP
diff --git a/boost/test/utils/xml_printer.hpp b/boost/test/utils/xml_printer.hpp
index ffaf8fcc05..7892f9c4ce 100644
--- a/boost/test/utils/xml_printer.hpp
+++ b/boost/test/utils/xml_printer.hpp
@@ -16,6 +16,7 @@
#define BOOST_TEST_UTILS_XML_PRINTER_HPP
// Boost.Test
+#include <boost/test/detail/global_typedef.hpp>
#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
#include <boost/test/utils/custom_manip.hpp>
#include <boost/test/utils/foreach.hpp>
@@ -26,6 +27,7 @@
// STL
#include <iostream>
+#include <map>
#include <boost/test/detail/suppress_warnings.hpp>
diff --git a/boost/thread/detail/config.hpp b/boost/thread/detail/config.hpp
index aae25268d3..6e6b9af6a3 100644
--- a/boost/thread/detail/config.hpp
+++ b/boost/thread/detail/config.hpp
@@ -11,6 +11,7 @@
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/thread/detail/platform.hpp>
+#include <boost/thread/detail/thread_safety.hpp>
//#define BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS
// ATTRIBUTE_MAY_ALIAS
diff --git a/boost/thread/detail/move.hpp b/boost/thread/detail/move.hpp
index 800cb663cc..447247d590 100644
--- a/boost/thread/detail/move.hpp
+++ b/boost/thread/detail/move.hpp
@@ -350,12 +350,19 @@ namespace boost
#endif
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- template <class T>
- typename decay<T>::type
- decay_copy(T&& t)
- {
- return boost::forward<T>(t);
- }
+ template <class T>
+ typename decay<T>::type
+ decay_copy(T&& t)
+ {
+ return boost::forward<T>(t);
+ }
+ typedef void (*void_fct_ptr)();
+
+// inline void_fct_ptr
+// decay_copy(void (&t)())
+// {
+// return &t;
+// }
#else
template <class T>
typename decay<T>::type
diff --git a/boost/thread/detail/nullary_function.hpp b/boost/thread/detail/nullary_function.hpp
index b3989cf682..2950942f11 100644
--- a/boost/thread/detail/nullary_function.hpp
+++ b/boost/thread/detail/nullary_function.hpp
@@ -3,7 +3,7 @@
// 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)
//
-// 2013/09 Vicente J. Botet Escriba
+// 2013,2018 Vicente J. Botet Escriba
// Adapt to boost from CCIA C++11 implementation
// Make use of Boost.Move
@@ -15,6 +15,7 @@
#include <boost/thread/detail/move.hpp>
#include <boost/thread/csbl/memory/shared_ptr.hpp>
#include <boost/type_traits/decay.hpp>
+#include <boost/type_traits/is_same.hpp>
namespace boost
{
@@ -72,12 +73,16 @@ namespace boost
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
template<typename F>
- explicit nullary_function(F& f):
+ explicit nullary_function(F& f
+ , typename disable_if<is_same<typename decay<F>::type, nullary_function>, int* >::type=0
+ ):
impl(new impl_type<F>(f))
{}
#endif
template<typename F>
- nullary_function(BOOST_THREAD_RV_REF(F) f):
+ nullary_function(BOOST_THREAD_RV_REF(F) f
+ , typename disable_if<is_same<typename decay<F>::type, nullary_function>, int* >::type=0
+ ):
impl(new impl_type<typename decay<F>::type>(thread_detail::decay_copy(boost::forward<F>(f))))
{}
diff --git a/boost/thread/detail/thread.hpp b/boost/thread/detail/thread.hpp
index 46d966931b..46294102ca 100644
--- a/boost/thread/detail/thread.hpp
+++ b/boost/thread/detail/thread.hpp
@@ -594,7 +594,7 @@ namespace boost
#endif
#if defined BOOST_THREAD_USES_DATETIME
- inline BOOST_SYMBOL_VISIBLE void sleep(xtime const& abs_time)
+ inline BOOST_SYMBOL_VISIBLE void sleep(::boost::xtime const& abs_time)
{
sleep(system_time(abs_time));
}
diff --git a/boost/thread/detail/thread_safety.hpp b/boost/thread/detail/thread_safety.hpp
new file mode 100644
index 0000000000..4aa29a808b
--- /dev/null
+++ b/boost/thread/detail/thread_safety.hpp
@@ -0,0 +1,160 @@
+#ifndef BOOST_THREAD_DETAIL_THREAD_SAFETY_HPP
+#define BOOST_THREAD_DETAIL_THREAD_SAFETY_HPP
+
+#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
+//
+// This is horrible, but it seems to be the only we can shut up the
+// "anonymous variadic macros were introduced in C99 [-Wvariadic-macros]"
+// warning that get spewed out otherwise in non-C++11 mode.
+//
+#pragma GCC system_header
+#endif
+
+// See https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
+
+// Un-comment to enable Thread Safety Analysis
+//#define BOOST_THREAD_ENABLE_THREAD_SAFETY_ANALYSIS
+
+// Enable thread safety attributes only with clang.
+// The attributes can be safely erased when compiling with other compilers.
+#if defined (BOOST_THREAD_ENABLE_THREAD_SAFETY_ANALYSIS) && defined(__clang__) && (!defined(SWIG))
+#define BOOST_THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x))
+#else
+#define BOOST_THREAD_ANNOTATION_ATTRIBUTE__(x) // no-op
+#endif
+
+#define BOOST_THREAD_CAPABILITY(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(capability(x))
+
+#define BOOST_THREAD_SCOPED_CAPABILITY \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
+
+#define BOOST_THREAD_GUARDED_BY(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))
+
+#define BOOST_THREAD_PT_GUARDED_BY(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))
+
+#define BOOST_THREAD_ACQUIRED_BEFORE(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(__VA_ARGS__))
+
+#define BOOST_THREAD_ACQUIRED_AFTER(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(__VA_ARGS__))
+
+#define BOOST_THREAD_REQUIRES(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_REQUIRES_SHARED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_ACQUIRE(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_ACQUIRE_SHARED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_RELEASE(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(release_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_RELEASE_SHARED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_TRY_ACQUIRE(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_TRY_ACQUIRE_SHARED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(__VA_ARGS__))
+
+#define BOOST_THREAD_EXCLUDES(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))
+
+#define BOOST_THREAD_ASSERT_CAPABILITY(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
+
+#define BOOST_THREAD_ASSERT_SHARED_CAPABILITY(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
+
+#define BOOST_THREAD_RETURN_CAPABILITY(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
+
+#define BOOST_THREAD_NO_THREAD_SAFETY_ANALYSIS \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)
+
+#if defined(__clang__) && (!defined(SWIG)) && defined(__FreeBSD__)
+#if __has_attribute(no_thread_safety_analysis)
+#define BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS __attribute__((no_thread_safety_analysis))
+#else
+#define BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+#endif
+#else
+#define BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+#endif
+
+#ifdef USE_LOCK_STYLE_THREAD_SAFETY_ATTRIBUTES
+// The original version of thread safety analysis the following attribute
+// definitions. These use a lock-based terminology. They are still in use
+// by existing thread safety code, and will continue to be supported.
+
+// Deprecated.
+#define BOOST_THREAD_PT_GUARDED_VAR \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_var)
+
+// Deprecated.
+#define BOOST_THREAD_GUARDED_VAR \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(guarded_var)
+
+// Replaced by REQUIRES
+#define BOOST_THREAD_EXCLUSIVE_LOCKS_REQUIRED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(exclusive_locks_required(__VA_ARGS__))
+
+// Replaced by REQUIRES_SHARED
+#define BOOST_THREAD_SHARED_LOCKS_REQUIRED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(shared_locks_required(__VA_ARGS__))
+
+// Replaced by CAPABILITY
+#define BOOST_THREAD_LOCKABLE \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(lockable)
+
+// Replaced by SCOPED_CAPABILITY
+#define BOOST_THREAD_SCOPED_LOCKABLE \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
+
+// Replaced by ACQUIRE
+#define BOOST_THREAD_EXCLUSIVE_LOCK_FUNCTION(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(exclusive_lock_function(__VA_ARGS__))
+
+// Replaced by ACQUIRE_SHARED
+#define BOOST_THREAD_SHARED_LOCK_FUNCTION(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(shared_lock_function(__VA_ARGS__))
+
+// Replaced by RELEASE and RELEASE_SHARED
+#define BOOST_THREAD_UNLOCK_FUNCTION(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(unlock_function(__VA_ARGS__))
+
+// Replaced by TRY_ACQUIRE
+#define BOOST_THREAD_EXCLUSIVE_TRYLOCK_FUNCTION(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(exclusive_trylock_function(__VA_ARGS__))
+
+// Replaced by TRY_ACQUIRE_SHARED
+#define BOOST_THREAD_SHARED_TRYLOCK_FUNCTION(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(shared_trylock_function(__VA_ARGS__))
+
+// Replaced by ASSERT_CAPABILITY
+#define BOOST_THREAD_ASSERT_EXCLUSIVE_LOCK(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(assert_exclusive_lock(__VA_ARGS__))
+
+// Replaced by ASSERT_SHARED_CAPABILITY
+#define BOOST_THREAD_ASSERT_SHARED_LOCK(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_lock(__VA_ARGS__))
+
+// Replaced by EXCLUDE_CAPABILITY.
+#define BOOST_THREAD_LOCKS_EXCLUDED(...) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))
+
+// Replaced by RETURN_CAPABILITY
+#define BOOST_THREAD_LOCK_RETURNED(x) \
+ BOOST_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
+
+#endif // USE_LOCK_STYLE_THREAD_SAFETY_ATTRIBUTES
+
+#endif // BOOST_THREAD_DETAIL_THREAD_SAFETY_HPP
diff --git a/boost/thread/detail/tss_hooks.hpp b/boost/thread/detail/tss_hooks.hpp
index b2ceece3dd..4429821e0e 100644
--- a/boost/thread/detail/tss_hooks.hpp
+++ b/boost/thread/detail/tss_hooks.hpp
@@ -10,7 +10,7 @@
#include <boost/config/abi_prefix.hpp>
-#if defined(BOOST_HAS_WINTHREADS)
+#if defined(BOOST_THREAD_WIN32)
namespace boost
{
@@ -58,7 +58,7 @@ namespace boost
//it to be linked into the Boost.Threads library.
}
-#endif //defined(BOOST_HAS_WINTHREADS)
+#endif //defined(BOOST_THREAD_WIN32)
#include <boost/config/abi_suffix.hpp>
diff --git a/boost/thread/exceptions.hpp b/boost/thread/exceptions.hpp
index a3934f0799..2a5094bd5a 100644
--- a/boost/thread/exceptions.hpp
+++ b/boost/thread/exceptions.hpp
@@ -56,7 +56,7 @@ namespace boost
{
}
- ~thread_exception() throw()
+ ~thread_exception() BOOST_NOEXCEPT_OR_NOTHROW
{}
@@ -113,7 +113,7 @@ namespace boost
{
}
- ~lock_error() throw()
+ ~lock_error() BOOST_NOEXCEPT_OR_NOTHROW
{}
};
@@ -141,7 +141,7 @@ namespace boost
}
- ~thread_resource_error() throw()
+ ~thread_resource_error() BOOST_NOEXCEPT_OR_NOTHROW
{}
};
diff --git a/boost/thread/executors/basic_thread_pool.hpp b/boost/thread/executors/basic_thread_pool.hpp
index 365119d1a7..f4a3f26835 100644
--- a/boost/thread/executors/basic_thread_pool.hpp
+++ b/boost/thread/executors/basic_thread_pool.hpp
@@ -231,7 +231,7 @@ namespace executors
// signal to all the worker threads that there will be no more submissions.
close();
// joins all the threads before destroying the thread pool resources (e.g. the queue).
- join();
+ interrupt_and_join();
}
/**
@@ -241,6 +241,29 @@ namespace executors
{
for (unsigned i = 0; i < threads.size(); ++i)
{
+ //threads[i].interrupt();
+ threads[i].join();
+ }
+ }
+
+ /**
+ * \b Effects: interrupt all the threads.
+ */
+ void interrupt()
+ {
+ for (unsigned i = 0; i < threads.size(); ++i)
+ {
+ threads[i].interrupt();
+ }
+ }
+
+ /**
+ * \b Effects: interrupt and join all the threads.
+ */
+ void interrupt_and_join()
+ {
+ for (unsigned i = 0; i < threads.size(); ++i)
+ {
threads[i].interrupt();
threads[i].join();
}
diff --git a/boost/thread/future.hpp b/boost/thread/future.hpp
index f4b3fb9604..55afca8fef 100644
--- a/boost/thread/future.hpp
+++ b/boost/thread/future.hpp
@@ -18,11 +18,11 @@
#ifdef BOOST_NO_EXCEPTIONS
namespace boost
{
-
+namespace detail {
struct shared_state_base {
- void notify_deferred();
+ void notify_deferred() {}
};
-
+}
}
#else
diff --git a/boost/thread/lock_guard.hpp b/boost/thread/lock_guard.hpp
index 4c2908af43..3f9ba9b1d0 100644
--- a/boost/thread/lock_guard.hpp
+++ b/boost/thread/lock_guard.hpp
@@ -23,7 +23,7 @@ namespace boost
{
template <typename Mutex>
- class lock_guard
+ class BOOST_THREAD_SCOPED_CAPABILITY lock_guard
{
private:
Mutex& m;
@@ -32,13 +32,13 @@ namespace boost
typedef Mutex mutex_type;
BOOST_THREAD_NO_COPYABLE( lock_guard )
- explicit lock_guard(Mutex& m_) :
+ explicit lock_guard(Mutex& m_) BOOST_THREAD_ACQUIRE(m_) :
m(m_)
{
m.lock();
}
- lock_guard(Mutex& m_, adopt_lock_t) :
+ lock_guard(Mutex& m_, adopt_lock_t) BOOST_THREAD_REQUIRES(m_) :
m(m_)
{
#if ! defined BOOST_THREAD_PROVIDES_NESTED_LOCKS
@@ -62,7 +62,7 @@ namespace boost
}
#endif
- ~lock_guard()
+ ~lock_guard() BOOST_THREAD_RELEASE()
{
m.unlock();
}
diff --git a/boost/thread/lockable_traits.hpp b/boost/thread/lockable_traits.hpp
index 8a17ae72d3..f46c886629 100644
--- a/boost/thread/lockable_traits.hpp
+++ b/boost/thread/lockable_traits.hpp
@@ -11,7 +11,12 @@
#include <boost/assert.hpp>
#include <boost/detail/workaround.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#ifdef BOOST_NO_CXX11_SFINAE_EXPR
#include <boost/type_traits/is_class.hpp>
+#else
+#include <boost/type_traits/declval.hpp>
+#endif
#include <boost/config/abi_prefix.hpp>
@@ -33,6 +38,7 @@ namespace boost
#ifndef BOOST_THREAD_NO_AUTO_DETECT_MUTEX_TYPES
namespace detail
{
+#ifdef BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_THREAD_DEFINE_HAS_MEMBER_CALLED(member_name) \
template<typename T, bool=boost::is_class<T>::value> \
struct has_member_called_##member_name \
@@ -142,6 +148,31 @@ namespace boost
BOOST_STATIC_CONSTANT(
bool,value=sizeof(has_member_try_lock<T>::has_member(&T::try_lock))==sizeof(true_type));
};
+#else
+ template<typename T,typename Enabled=void>
+ struct has_member_lock : false_type {};
+
+ template<typename T>
+ struct has_member_lock<T,
+ decltype(void(boost::declval<T&>().lock()))
+ > : true_type {};
+
+ template<typename T,typename Enabled=void>
+ struct has_member_unlock : false_type {};
+
+ template<typename T>
+ struct has_member_unlock<T,
+ decltype(void(boost::declval<T&>().unlock()))
+ > : true_type {};
+
+ template<typename T,typename Enabled=bool>
+ struct has_member_try_lock : false_type {};
+
+ template<typename T>
+ struct has_member_try_lock<T,
+ decltype(bool(boost::declval<T&>().try_lock()))
+ > : true_type {};
+#endif
}
diff --git a/boost/thread/pthread/condition_variable.hpp b/boost/thread/pthread/condition_variable.hpp
index 285785ff59..c11383f01f 100644
--- a/boost/thread/pthread/condition_variable.hpp
+++ b/boost/thread/pthread/condition_variable.hpp
@@ -249,7 +249,7 @@ namespace boost
#endif
}
template<typename lock_type>
- bool timed_wait(lock_type& m,xtime const& abs_time)
+ bool timed_wait(lock_type& m,::boost::xtime const& abs_time)
{
return timed_wait(m,system_time(abs_time));
}
@@ -309,7 +309,7 @@ namespace boost
}
template<typename lock_type,typename predicate_type>
- bool timed_wait(lock_type& m,xtime const& abs_time, predicate_type pred)
+ bool timed_wait(lock_type& m,::boost::xtime const& abs_time, predicate_type pred)
{
return timed_wait(m,system_time(abs_time),pred);
}
diff --git a/boost/thread/pthread/condition_variable_fwd.hpp b/boost/thread/pthread/condition_variable_fwd.hpp
index dc471d56a0..08b1583463 100644
--- a/boost/thread/pthread/condition_variable_fwd.hpp
+++ b/boost/thread/pthread/condition_variable_fwd.hpp
@@ -128,7 +128,7 @@ namespace boost
}
bool timed_wait(
unique_lock<mutex>& m,
- xtime const& abs_time)
+ ::boost::xtime const& abs_time)
{
return timed_wait(m,system_time(abs_time));
}
@@ -194,7 +194,7 @@ namespace boost
template<typename predicate_type>
bool timed_wait(
unique_lock<mutex>& m,
- xtime const& abs_time,predicate_type pred)
+ ::boost::xtime const& abs_time,predicate_type pred)
{
return timed_wait(m,system_time(abs_time),pred);
}
diff --git a/boost/thread/pthread/mutex.hpp b/boost/thread/pthread/mutex.hpp
index 6180ac5ebd..ecf80c28eb 100644
--- a/boost/thread/pthread/mutex.hpp
+++ b/boost/thread/pthread/mutex.hpp
@@ -39,53 +39,8 @@
namespace boost
{
- namespace posix {
-#ifdef BOOST_THREAD_HAS_EINTR_BUG
- BOOST_FORCEINLINE int pthread_mutex_destroy(pthread_mutex_t* m)
- {
- int ret;
- do
- {
- ret = ::pthread_mutex_destroy(m);
- } while (ret == EINTR);
- return ret;
- }
- BOOST_FORCEINLINE int pthread_mutex_lock(pthread_mutex_t* m)
- {
- int ret;
- do
- {
- ret = ::pthread_mutex_lock(m);
- } while (ret == EINTR);
- return ret;
- }
- BOOST_FORCEINLINE int pthread_mutex_unlock(pthread_mutex_t* m)
- {
- int ret;
- do
- {
- ret = ::pthread_mutex_unlock(m);
- } while (ret == EINTR);
- return ret;
- }
-#else
- BOOST_FORCEINLINE int pthread_mutex_destroy(pthread_mutex_t* m)
- {
- return ::pthread_mutex_destroy(m);
- }
- BOOST_FORCEINLINE int pthread_mutex_lock(pthread_mutex_t* m)
- {
- return ::pthread_mutex_lock(m);
- }
- BOOST_FORCEINLINE int pthread_mutex_unlock(pthread_mutex_t* m)
- {
- return ::pthread_mutex_unlock(m);
- }
-
-#endif
- }
- class mutex
+ class BOOST_THREAD_CAPABILITY("mutex") mutex
{
private:
pthread_mutex_t m;
@@ -107,7 +62,7 @@ namespace boost
BOOST_ASSERT(!res);
}
- void lock()
+ void lock() BOOST_THREAD_ACQUIRE()
{
int res = posix::pthread_mutex_lock(&m);
if (res)
@@ -116,7 +71,7 @@ namespace boost
}
}
- void unlock()
+ void unlock() BOOST_THREAD_RELEASE()
{
int res = posix::pthread_mutex_unlock(&m);
(void)res;
@@ -127,12 +82,12 @@ namespace boost
// }
}
- bool try_lock()
+ bool try_lock() BOOST_THREAD_TRY_ACQUIRE(true)
{
int res;
do
{
- res = pthread_mutex_trylock(&m);
+ res = posix::pthread_mutex_trylock(&m);
} while (res == EINTR);
if (res==EBUSY)
{
@@ -251,7 +206,7 @@ namespace boost
int res;
do
{
- res = pthread_mutex_trylock(&m);
+ res = posix::pthread_mutex_trylock(&m);
} while (res == EINTR);
if (res==EBUSY)
{
@@ -277,7 +232,7 @@ namespace boost
boost::pthread::pthread_mutex_scoped_lock const local_lock(&m);
while(is_locked)
{
- BOOST_VERIFY(!pthread_cond_wait(&cond,&m));
+ BOOST_VERIFY(!posix::pthread_cond_wait(&cond,&m));
}
is_locked=true;
}
@@ -286,7 +241,7 @@ namespace boost
{
boost::pthread::pthread_mutex_scoped_lock const local_lock(&m);
is_locked=false;
- BOOST_VERIFY(!pthread_cond_signal(&cond));
+ BOOST_VERIFY(!posix::pthread_cond_signal(&cond));
}
bool try_lock()
diff --git a/boost/thread/pthread/pthread_mutex_scoped_lock.hpp b/boost/thread/pthread/pthread_mutex_scoped_lock.hpp
index 9b327a6c6d..dbbb0202ae 100644
--- a/boost/thread/pthread/pthread_mutex_scoped_lock.hpp
+++ b/boost/thread/pthread/pthread_mutex_scoped_lock.hpp
@@ -13,6 +13,75 @@
namespace boost
{
+namespace posix {
+#ifdef BOOST_THREAD_HAS_EINTR_BUG
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_destroy(pthread_mutex_t* m)
+ {
+ int ret;
+ do
+ {
+ ret = ::pthread_mutex_destroy(m);
+ } while (ret == EINTR);
+ return ret;
+ }
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_lock(pthread_mutex_t* m)
+ {
+ int ret;
+ do
+ {
+ ret = ::pthread_mutex_lock(m);
+ } while (ret == EINTR);
+ return ret;
+ }
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_unlock(pthread_mutex_t* m)
+ {
+ int ret;
+ do
+ {
+ ret = ::pthread_mutex_unlock(m);
+ } while (ret == EINTR);
+ return ret;
+ }
+#else
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_destroy(pthread_mutex_t* m)
+ {
+ return ::pthread_mutex_destroy(m);
+ }
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_lock(pthread_mutex_t* m)
+ {
+ return ::pthread_mutex_lock(m);
+ }
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_unlock(pthread_mutex_t* m)
+ {
+ return ::pthread_mutex_unlock(m);
+ }
+
+#endif
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_mutex_trylock(pthread_mutex_t* m)
+ {
+ return ::pthread_mutex_trylock(m);
+ }
+
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
+ {
+ return ::pthread_cond_wait(cond, mutex);
+ }
+ BOOST_FORCEINLINE BOOST_THREAD_DISABLE_THREAD_SAFETY_ANALYSIS
+ int pthread_cond_signal(pthread_cond_t *cond)
+ {
+ return ::pthread_cond_signal(cond);
+ }
+
+
+}
namespace pthread
{
class pthread_mutex_scoped_lock
@@ -23,11 +92,11 @@ namespace boost
explicit pthread_mutex_scoped_lock(pthread_mutex_t* m_) BOOST_NOEXCEPT:
m(m_),locked(true)
{
- BOOST_VERIFY(!pthread_mutex_lock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_lock(m));
}
void unlock() BOOST_NOEXCEPT
{
- BOOST_VERIFY(!pthread_mutex_unlock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_unlock(m));
locked=false;
}
void unlock_if_locked() BOOST_NOEXCEPT
@@ -54,11 +123,11 @@ namespace boost
explicit pthread_mutex_scoped_unlock(pthread_mutex_t* m_) BOOST_NOEXCEPT:
m(m_)
{
- BOOST_VERIFY(!pthread_mutex_unlock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_unlock(m));
}
~pthread_mutex_scoped_unlock() BOOST_NOEXCEPT
{
- BOOST_VERIFY(!pthread_mutex_lock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_lock(m));
}
};
diff --git a/boost/thread/pthread/recursive_mutex.hpp b/boost/thread/pthread/recursive_mutex.hpp
index ce9a8ce44b..f349cacf7e 100644
--- a/boost/thread/pthread/recursive_mutex.hpp
+++ b/boost/thread/pthread/recursive_mutex.hpp
@@ -105,17 +105,17 @@ namespace boost
#ifdef BOOST_THREAD_HAS_PTHREAD_MUTEXATTR_SETTYPE
void lock()
{
- BOOST_VERIFY(!pthread_mutex_lock(&m));
+ BOOST_VERIFY(!posix::pthread_mutex_lock(&m));
}
void unlock()
{
- BOOST_VERIFY(!pthread_mutex_unlock(&m));
+ BOOST_VERIFY(!posix::pthread_mutex_unlock(&m));
}
bool try_lock() BOOST_NOEXCEPT
{
- int const res=pthread_mutex_trylock(&m);
+ int const res=posix::pthread_mutex_trylock(&m);
BOOST_ASSERT(!res || res==EBUSY);
return !res;
}
@@ -270,17 +270,17 @@ namespace boost
#ifdef BOOST_USE_PTHREAD_RECURSIVE_TIMEDLOCK
void lock()
{
- BOOST_VERIFY(!pthread_mutex_lock(&m));
+ BOOST_VERIFY(!posix::pthread_mutex_lock(&m));
}
void unlock()
{
- BOOST_VERIFY(!pthread_mutex_unlock(&m));
+ BOOST_VERIFY(!posix::pthread_mutex_unlock(&m));
}
bool try_lock()
{
- int const res=pthread_mutex_trylock(&m);
+ int const res=posix::pthread_mutex_trylock(&m);
BOOST_ASSERT(!res || res==EBUSY);
return !res;
}
diff --git a/boost/thread/pthread/thread_data.hpp b/boost/thread/pthread/thread_data.hpp
index ea8da65edd..46f111d947 100644
--- a/boost/thread/pthread/thread_data.hpp
+++ b/boost/thread/pthread/thread_data.hpp
@@ -12,6 +12,7 @@
#include <boost/thread/lock_types.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/pthread/condition_variable_fwd.hpp>
+#include <boost/thread/pthread/pthread_mutex_scoped_lock.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
@@ -56,7 +57,7 @@ namespace boost
#else
std::size_t page_size = ::sysconf( _SC_PAGESIZE);
#endif
-#ifdef PTHREAD_STACK_MIN
+#if PTHREAD_STACK_MIN > 0
if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
#endif
size = ((size+page_size-1)/page_size)*page_size;
@@ -209,11 +210,11 @@ namespace boost
check_for_interruption();
thread_info->cond_mutex=cond_mutex;
thread_info->current_cond=cond;
- BOOST_VERIFY(!pthread_mutex_lock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_lock(m));
}
else
{
- BOOST_VERIFY(!pthread_mutex_lock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_lock(m));
}
}
void unlock_if_locked()
@@ -221,14 +222,14 @@ namespace boost
if ( ! done) {
if (set)
{
- BOOST_VERIFY(!pthread_mutex_unlock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_unlock(m));
lock_guard<mutex> guard(thread_info->data_mutex);
thread_info->cond_mutex=NULL;
thread_info->current_cond=NULL;
}
else
{
- BOOST_VERIFY(!pthread_mutex_unlock(m));
+ BOOST_VERIFY(!posix::pthread_mutex_unlock(m));
}
done = true;
}
diff --git a/boost/thread/win32/basic_recursive_mutex.hpp b/boost/thread/win32/basic_recursive_mutex.hpp
index 6913c5bf62..1fa05adabf 100644
--- a/boost/thread/win32/basic_recursive_mutex.hpp
+++ b/boost/thread/win32/basic_recursive_mutex.hpp
@@ -67,7 +67,7 @@ namespace boost
template<typename Duration>
bool timed_lock(Duration const& target)
{
- long const current_thread_id=boost::detail::winapi::GetCurrentThreadId();
+ long const current_thread_id=boost::winapi::GetCurrentThreadId();
return try_recursive_lock(current_thread_id) || try_timed_lock(current_thread_id,target);
}
#endif
@@ -76,13 +76,13 @@ namespace boost
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& rel_time)
{
- long const current_thread_id=boost::detail::winapi::GetCurrentThreadId();
+ long const current_thread_id=boost::winapi::GetCurrentThreadId();
return try_recursive_lock(current_thread_id) || try_timed_lock_for(current_thread_id,rel_time);
}
template <class Clock, class Duration>
bool try_lock_until(const chrono::time_point<Clock, Duration>& t)
{
- long const current_thread_id=boost::detail::winapi::GetCurrentThreadId();
+ long const current_thread_id=boost::winapi::GetCurrentThreadId();
return try_recursive_lock(current_thread_id) || try_timed_lock_until(current_thread_id,t);
}
#endif
diff --git a/boost/thread/win32/interlocked_read.hpp b/boost/thread/win32/interlocked_read.hpp
index 775555e184..e25c21eb1c 100644
--- a/boost/thread/win32/interlocked_read.hpp
+++ b/boost/thread/win32/interlocked_read.hpp
@@ -87,9 +87,9 @@ namespace boost
{
void* const res=
#if defined(_M_ARM64)
- __iso_volatile_load64((const volatile __int64*)x);
+ (void*)__iso_volatile_load64((const volatile __int64*)x);
#else
- __iso_volatile_load32((const volatile __int32*)x);
+ (void*)__iso_volatile_load32((const volatile __int32*)x);
#endif
BOOST_THREAD_DETAIL_COMPILER_BARRIER();
__dmb(0xB); // _ARM_BARRIER_ISH, see armintr.h from MSVC 11 and later
diff --git a/boost/thread/xtime.hpp b/boost/thread/xtime.hpp
index 9c6a359640..d04a0d9a37 100644
--- a/boost/thread/xtime.hpp
+++ b/boost/thread/xtime.hpp
@@ -57,17 +57,17 @@ struct xtime
};
-inline xtime get_xtime(boost::system_time const& abs_time)
+inline ::boost::xtime get_xtime(boost::system_time const& abs_time)
{
- xtime res;
+ ::boost::xtime res;
boost::posix_time::time_duration const time_since_epoch=abs_time-boost::posix_time::from_time_t(0);
- res.sec=static_cast<xtime::xtime_sec_t>(time_since_epoch.total_seconds());
- res.nsec=static_cast<xtime::xtime_nsec_t>(time_since_epoch.fractional_seconds()*(1000000000/time_since_epoch.ticks_per_second()));
+ res.sec=static_cast< ::boost::xtime::xtime_sec_t>(time_since_epoch.total_seconds());
+ res.nsec=static_cast< ::boost::xtime::xtime_nsec_t>(time_since_epoch.fractional_seconds()*(1000000000/time_since_epoch.ticks_per_second()));
return res;
}
-inline int xtime_get(struct xtime* xtp, int clock_type)
+inline int xtime_get(struct ::boost::xtime* xtp, int clock_type)
{
if (clock_type == TIME_UTC_)
{
@@ -78,7 +78,7 @@ inline int xtime_get(struct xtime* xtp, int clock_type)
}
-inline int xtime_cmp(const xtime& xt1, const xtime& xt2)
+inline int xtime_cmp(const ::boost::xtime& xt1, const ::boost::xtime& xt2)
{
if (xt1.sec == xt2.sec)
return (int)(xt1.nsec - xt2.nsec);
diff --git a/boost/throw_exception.hpp b/boost/throw_exception.hpp
index aa977dfc79..c6623e1965 100644
--- a/boost/throw_exception.hpp
+++ b/boost/throw_exception.hpp
@@ -1,11 +1,5 @@
#ifndef UUID_AA15E74A856F11E08B8D93F24824019B
#define UUID_AA15E74A856F11E08B8D93F24824019B
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
// MS compatible compilers support #pragma once
@@ -26,8 +20,8 @@
// http://www.boost.org/libs/utility/throw_exception.html
//
-#include <boost/detail/workaround.hpp>
#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
#include <exception>
#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
@@ -49,6 +43,13 @@
# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)
#endif
+#if defined(__GNUC__) && (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma GCC system_header
+#endif
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(push,1)
+#endif
+
namespace boost
{
#ifdef BOOST_NO_EXCEPTIONS
@@ -66,7 +67,7 @@ template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
throw_exception_assert_compatibility(e);
#ifndef BOOST_EXCEPTION_DISABLE
- throw enable_current_exception(enable_error_info(e));
+ throw exception_detail::enable_both( e );
#else
throw e;
#endif
diff --git a/boost/token_functions.hpp b/boost/token_functions.hpp
index 30d6939723..e6b8bef591 100644
--- a/boost/token_functions.hpp
+++ b/boost/token_functions.hpp
@@ -38,6 +38,7 @@
#include <algorithm> // for find_if
#include <boost/config.hpp>
#include <boost/assert.hpp>
+#include <boost/type_traits/is_pointer.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/mpl/if.hpp>
#include <boost/throw_exception.hpp>
diff --git a/boost/type_index/stl_type_index.hpp b/boost/type_index/stl_type_index.hpp
index 0f7dae8cec..cef22ac4ce 100644
--- a/boost/type_index/stl_type_index.hpp
+++ b/boost/type_index/stl_type_index.hpp
@@ -39,7 +39,13 @@
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/remove_reference.hpp>
-#include <boost/container_hash/hash.hpp>
+#if (defined(_MSC_VER) && _MSC_VER > 1600) \
+ || (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \
+ || (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103)
+# define BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
+#else
+# include <boost/container_hash/hash.hpp>
+#endif
#if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \
|| (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744)
@@ -175,9 +181,7 @@ inline std::string stl_type_index::pretty_name() const {
inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
-#if (defined(_MSC_VER) && _MSC_VER > 1600) \
- || (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \
- || (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103)
+#ifdef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
return data_->hash_code();
#else
return boost::hash_range(raw_name(), raw_name() + std::strlen(raw_name()));
@@ -194,13 +198,13 @@ inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
|| (defined(__sgi) && defined(__host_mips)) \
|| (defined(__hpux) && defined(__HP_aCC)) \
|| (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC))
-# define BOOST_CLASSINFO_COMPARE_BY_NAMES
+# define BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
# endif
/// @endcond
inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEPT {
-#ifdef BOOST_CLASSINFO_COMPARE_BY_NAMES
+#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
return raw_name() == rhs.raw_name() || !std::strcmp(raw_name(), rhs.raw_name());
#else
return !!(*data_ == *rhs.data_);
@@ -208,17 +212,14 @@ inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEP
}
inline bool stl_type_index::before(const stl_type_index& rhs) const BOOST_NOEXCEPT {
-#ifdef BOOST_CLASSINFO_COMPARE_BY_NAMES
+#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
return raw_name() != rhs.raw_name() && std::strcmp(raw_name(), rhs.raw_name()) < 0;
#else
return !!data_->before(*rhs.data_);
#endif
}
-#ifdef BOOST_CLASSINFO_COMPARE_BY_NAMES
-#undef BOOST_CLASSINFO_COMPARE_BY_NAMES
-#endif
-
+#undef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
template <class T>
@@ -272,4 +273,6 @@ inline stl_type_index stl_type_index::type_id_runtime(const T& value) BOOST_NOEX
}} // namespace boost::typeindex
+#undef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
+
#endif // BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP
diff --git a/boost/type_traits.hpp b/boost/type_traits.hpp
index 9f024b1028..a767e4192b 100644
--- a/boost/type_traits.hpp
+++ b/boost/type_traits.hpp
@@ -24,6 +24,7 @@
#include <boost/type_traits/copy_cv.hpp>
#include <boost/type_traits/decay.hpp>
#include <boost/type_traits/declval.hpp>
+#include <boost/type_traits/enable_if.hpp>
#include <boost/type_traits/extent.hpp>
#include <boost/type_traits/floating_point_promotion.hpp>
#include <boost/type_traits/function_traits.hpp>
diff --git a/boost/type_traits/detail/config.hpp b/boost/type_traits/detail/config.hpp
index 2113c438a5..7c6149e50a 100644
--- a/boost/type_traits/detail/config.hpp
+++ b/boost/type_traits/detail/config.hpp
@@ -78,6 +78,15 @@
#undef BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION
#endif
+//
+// Can we implement accurate is_function/is_member_function_pointer (post C++03)?
+//
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40900)\
+ && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
+# define BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
+#endif
+
+
#endif // BOOST_TT_CONFIG_HPP_INCLUDED
diff --git a/boost/type_traits/detail/detector.hpp b/boost/type_traits/detail/detector.hpp
index 007a4dc8e1..f13a1f9427 100644
--- a/boost/type_traits/detail/detector.hpp
+++ b/boost/type_traits/detail/detector.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017-2018 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/detail/has_postfix_operator.hpp b/boost/type_traits/detail/has_postfix_operator.hpp
index ba0358fe40..1812416798 100644
--- a/boost/type_traits/detail/has_postfix_operator.hpp
+++ b/boost/type_traits/detail/has_postfix_operator.hpp
@@ -7,6 +7,59 @@
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
#include <boost/config.hpp>
+#include <boost/type_traits/detail/config.hpp>
+
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/make_void.hpp>
+#include <boost/type_traits/is_convertible.hpp>
+#include <boost/type_traits/is_void.hpp>
+#include <boost/type_traits/add_reference.hpp>
+#include <utility>
+
+namespace boost
+{
+
+ namespace binary_op_detail {
+
+ struct dont_care;
+
+ template <class T, class Ret, class = boost::void_t<>>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {};
+
+ template <class T, class Ret>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)<T, Ret, boost::void_t<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP) > >
+ : public boost::integral_constant<bool, ::boost::is_convertible<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP), Ret>::value> {};
+
+ template <class T, class = boost::void_t<> >
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {};
+
+ template <class T>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)<T, boost::void_t<decltype(std::declval<typename add_reference<T>::type>()BOOST_TT_TRAIT_OP)> >
+ : public boost::integral_constant<bool, ::boost::is_void<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP)>::value> {};
+
+ template <class T, class = boost::void_t<>>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {};
+
+ template <class T>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)<T, boost::void_t<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP)> >
+ : public boost::true_type {};
+
+ }
+
+ template <class T, class Ret = boost::binary_op_detail::dont_care>
+ struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) <T, Ret> {};
+ template <class T>
+ struct BOOST_TT_TRAIT_NAME<T, void> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) <T> {};
+ template <class T>
+ struct BOOST_TT_TRAIT_NAME<T, boost::binary_op_detail::dont_care> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) <T> {};
+
+
+}
+
+#else
+
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_const.hpp>
@@ -193,3 +246,5 @@ struct BOOST_TT_TRAIT_NAME : public integral_constant<bool, (::boost::detail::BO
#if defined(BOOST_MSVC)
# pragma warning ( pop )
#endif
+
+#endif
diff --git a/boost/type_traits/detail/has_prefix_operator.hpp b/boost/type_traits/detail/has_prefix_operator.hpp
index a246c60300..31987d66d2 100644
--- a/boost/type_traits/detail/has_prefix_operator.hpp
+++ b/boost/type_traits/detail/has_prefix_operator.hpp
@@ -7,6 +7,75 @@
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
#include <boost/config.hpp>
+#include <boost/type_traits/detail/config.hpp>
+
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/make_void.hpp>
+#include <boost/type_traits/is_convertible.hpp>
+#include <boost/type_traits/is_void.hpp>
+#include <boost/type_traits/add_reference.hpp>
+#include <utility>
+
+#ifdef BOOST_GCC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated"
+#endif
+#if defined(BOOST_MSVC)
+# pragma warning ( push )
+# pragma warning ( disable : 4804)
+#endif
+
+namespace boost
+{
+
+ namespace binary_op_detail {
+
+ struct dont_care;
+
+ template <class T, class Ret, class = boost::void_t<>>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {};
+
+ template <class T, class Ret>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)<T, Ret, boost::void_t<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>()) > >
+ : public boost::integral_constant<bool, ::boost::is_convertible<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>() ), Ret>::value> {};
+
+ template <class T, class = boost::void_t<> >
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {};
+
+ template <class T>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)<T, boost::void_t<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>())> >
+ : public boost::integral_constant<bool, ::boost::is_void<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>())>::value> {};
+
+ template <class T, class = boost::void_t<>>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {};
+
+ template <class T>
+ struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)<T, boost::void_t<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>() )> >
+ : public boost::true_type {};
+
+ }
+
+ template <class T, class Ret = boost::binary_op_detail::dont_care>
+ struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) <T, Ret> {};
+ template <class T>
+ struct BOOST_TT_TRAIT_NAME<T, void> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) <T> {};
+ template <class T>
+ struct BOOST_TT_TRAIT_NAME<T, boost::binary_op_detail::dont_care> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) <T> {};
+
+
+}
+
+#ifdef BOOST_GCC
+#pragma GCC diagnostic pop
+#endif
+#if defined(BOOST_MSVC)
+# pragma warning ( pop )
+#endif
+
+#else
+
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/integral_constant.hpp>
#include <boost/type_traits/is_const.hpp>
@@ -206,3 +275,6 @@ struct BOOST_TT_TRAIT_NAME : public integral_constant<bool, (::boost::detail::BO
#if defined(BOOST_MSVC)
# pragma warning ( pop )
#endif
+
+#endif
+
diff --git a/boost/type_traits/detail/is_function_cxx_03.hpp b/boost/type_traits/detail/is_function_cxx_03.hpp
new file mode 100644
index 0000000000..d3e4f93659
--- /dev/null
+++ b/boost/type_traits/detail/is_function_cxx_03.hpp
@@ -0,0 +1,108 @@
+
+// Copyright 2000 John Maddock (john@johnmaddock.co.uk)
+// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)
+//
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+//
+// See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED
+#define BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED
+
+#include <boost/type_traits/is_reference.hpp>
+
+#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+# include <boost/type_traits/detail/is_function_ptr_helper.hpp>
+#else
+# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
+# include <boost/type_traits/detail/yes_no_type.hpp>
+#endif
+
+// is a type a function?
+// Please note that this implementation is unnecessarily complex:
+// we could just use !is_convertible<T*, const volatile void*>::value,
+// except that some compilers erroneously allow conversions from
+// function pointers to void*.
+
+namespace boost {
+
+#if !defined( __CODEGEARC__ )
+
+namespace detail {
+
+#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+template<bool is_ref = true>
+struct is_function_chooser
+{
+ template< typename T > struct result_
+ : public false_type {};
+};
+
+template <>
+struct is_function_chooser<false>
+{
+ template< typename T > struct result_
+ : public ::boost::type_traits::is_function_ptr_helper<T*> {};
+};
+
+template <typename T>
+struct is_function_impl
+ : public is_function_chooser< ::boost::is_reference<T>::value >
+ ::BOOST_NESTED_TEMPLATE result_<T>
+{
+};
+
+#else
+
+template <typename T>
+struct is_function_impl
+{
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#pragma warning(push)
+#pragma warning(disable:6334)
+#endif
+ static T* t;
+ BOOST_STATIC_CONSTANT(
+ bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
+ == sizeof(::boost::type_traits::yes_type)
+ );
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#pragma warning(pop)
+#endif
+};
+
+template <typename T>
+struct is_function_impl<T&> : public false_type
+{};
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+template <typename T>
+struct is_function_impl<T&&> : public false_type
+{};
+#endif
+
+#endif
+
+} // namespace detail
+
+#endif // !defined( __CODEGEARC__ )
+
+#if defined( __CODEGEARC__ )
+template <class T> struct is_function : integral_constant<bool, __is_function(T)> {};
+#else
+template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {};
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+template <class T> struct is_function<T&&> : public false_type {};
+#endif
+#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1600)
+template <class T> struct is_function<T&> : public false_type {};
+#endif
+#endif
+} // namespace boost
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700)
+#include <boost/type_traits/detail/is_function_msvc10_fix.hpp>
+#endif
+
+#endif // BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED
diff --git a/boost/type_traits/detail/is_function_cxx_11.hpp b/boost/type_traits/detail/is_function_cxx_11.hpp
new file mode 100644
index 0000000000..3031130719
--- /dev/null
+++ b/boost/type_traits/detail/is_function_cxx_11.hpp
@@ -0,0 +1,501 @@
+
+// Copyright 2000 John Maddock (john@johnmaddock.co.uk)
+// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)
+//
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+//
+// See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED
+#define BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED
+
+#include <boost/type_traits/integral_constant.hpp>
+
+namespace boost {
+
+ template <class T>
+ struct is_function : public false_type {};
+
+#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER)
+#define BOOST_TT_NOEXCEPT_PARAM , bool NE
+#define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
+#else
+#define BOOST_TT_NOEXCEPT_PARAM
+#define BOOST_TT_NOEXCEPT_DECL
+#endif
+
+#ifdef _MSC_VER
+#define BOOST_TT_DEF_CALL __cdecl
+#else
+#define BOOST_TT_DEF_CALL
+#endif
+
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // Reference qualified:
+
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)&& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)&& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+#ifdef _MSC_VER
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+#endif // _MSC_VER
+
+ // All over again for msvc with noexcept:
+
+#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
+
+#undef BOOST_TT_NOEXCEPT_DECL
+#define BOOST_TT_NOEXCEPT_DECL noexcept
+
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // Reference qualified:
+
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+#ifdef _MSC_VER
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+#endif // _MSC_VER
+
+#endif
+
+}
+
+#undef BOOST_TT_NOEXCEPT_DECL
+#undef BOOST_TT_NOEXCEPT_PARAM
+#undef BOOST_TT_DEF_CALL
+
+#endif // BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED
+
diff --git a/boost/type_traits/detail/is_function_msvc10_fix.hpp b/boost/type_traits/detail/is_function_msvc10_fix.hpp
new file mode 100644
index 0000000000..ec8ba9ad32
--- /dev/null
+++ b/boost/type_traits/detail/is_function_msvc10_fix.hpp
@@ -0,0 +1,30 @@
+
+// (C) Copyright John Maddock 2018.
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+//
+// See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED
+#define BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED
+
+namespace boost {
+
+template <class R> struct is_function<R(&&)()> : public false_type {};
+template <class R> struct is_function<R(&&)(...)> : public false_type {};
+template <class R, class Arg1> struct is_function<R(&&)(Arg1)> : public false_type {};
+template <class R, class Arg1> struct is_function<R(&&)(Arg1, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2> struct is_function<R(&&)(Arg1, Arg2)> : public false_type {};
+template <class R, class Arg1, class Arg2> struct is_function<R(&&)(Arg1, Arg2, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3> struct is_function<R(&&)(Arg1, Arg2, Arg3)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3> struct is_function<R(&&)(Arg1, Arg2, Arg3, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4, Arg5)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4, Arg5, ...)> : public false_type {};
+
+} // namespace boost
+
+#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
+
diff --git a/boost/type_traits/detail/is_likely_lambda.hpp b/boost/type_traits/detail/is_likely_lambda.hpp
index 6da8acafce..39aa528114 100644
--- a/boost/type_traits/detail/is_likely_lambda.hpp
+++ b/boost/type_traits/detail/is_likely_lambda.hpp
@@ -30,7 +30,7 @@ struct is_likely_stateless_lambda : public false_type {};
#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900)
#include <boost/type_traits/is_convertible.hpp>
-#include <boost/core/enable_if.hpp>
+#include <boost/type_traits/enable_if.hpp>
namespace boost{
@@ -70,7 +70,7 @@ struct is_likely_stateless_lambda : false_type{};
template<typename T>
struct is_likely_stateless_lambda<
T,
- typename boost::enable_if_c<has_one_operator_call<T>::value>::type> :
+ typename boost::enable_if_<has_one_operator_call<T>::value>::type> :
boost::is_convertible<T, typename equivalent_function_pointer<T>::type
>{};
diff --git a/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp b/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp
new file mode 100644
index 0000000000..3df5b4e7f0
--- /dev/null
+++ b/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp
@@ -0,0 +1,117 @@
+
+// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
+// Hinnant & John Maddock 2000.
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+//
+// See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED
+#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED
+
+#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+ //
+ // Note: we use the "workaround" version for MSVC because it works for
+ // __stdcall etc function types, where as the partial specialisation
+ // version does not do so.
+ //
+# include <boost/type_traits/detail/is_mem_fun_pointer_impl.hpp>
+# include <boost/type_traits/remove_cv.hpp>
+# include <boost/type_traits/integral_constant.hpp>
+#else
+# include <boost/type_traits/is_reference.hpp>
+# include <boost/type_traits/is_array.hpp>
+# include <boost/type_traits/detail/yes_no_type.hpp>
+# include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
+#endif
+
+namespace boost {
+
+#if defined( __CODEGEARC__ )
+template <class T> struct is_member_function_pointer : public integral_constant<bool, __is_member_function_pointer( T )> {};
+#elif !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+
+template <class T> struct is_member_function_pointer
+ : public ::boost::integral_constant<bool, ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value>{};
+
+#else
+
+namespace detail {
+
+#ifndef __BORLANDC__
+
+template <bool>
+struct is_mem_fun_pointer_select
+{
+ template <class T> struct result_ : public false_type{};
+};
+
+template <>
+struct is_mem_fun_pointer_select<false>
+{
+ template <typename T> struct result_
+ {
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#pragma warning(push)
+#pragma warning(disable:6334)
+#endif
+ static T* make_t;
+ typedef result_<T> self_type;
+
+ BOOST_STATIC_CONSTANT(
+ bool, value = (
+ 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
+ ));
+#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#pragma warning(pop)
+#endif
+ };
+};
+
+template <typename T>
+struct is_member_function_pointer_impl
+ : public is_mem_fun_pointer_select<
+ ::boost::is_reference<T>::value || ::boost::is_array<T>::value>::template result_<T>{};
+
+template <typename T>
+struct is_member_function_pointer_impl<T&> : public false_type{};
+
+#else // Borland C++
+
+template <typename T>
+struct is_member_function_pointer_impl
+{
+ static T* m_t;
+ BOOST_STATIC_CONSTANT(
+ bool, value =
+ (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );
+};
+
+template <typename T>
+struct is_member_function_pointer_impl<T&>
+{
+ BOOST_STATIC_CONSTANT(bool, value = false);
+};
+
+#endif
+
+template<> struct is_member_function_pointer_impl<void> : public false_type{};
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+template<> struct is_member_function_pointer_impl<void const> : public false_type{};
+template<> struct is_member_function_pointer_impl<void const volatile> : public false_type{};
+template<> struct is_member_function_pointer_impl<void volatile> : public false_type{};
+#endif
+
+} // namespace detail
+
+template <class T>
+struct is_member_function_pointer
+ : public integral_constant<bool, ::boost::detail::is_member_function_pointer_impl<T>::value>{};
+
+#endif
+
+} // namespace boost
+
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp b/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
new file mode 100644
index 0000000000..b77a4a5740
--- /dev/null
+++ b/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
@@ -0,0 +1,557 @@
+
+// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
+// Hinnant & John Maddock 2000.
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+//
+// See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+
+#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED
+#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED
+
+#include <boost/type_traits/integral_constant.hpp>
+
+namespace boost {
+
+#ifdef _MSC_VER
+#define BOOST_TT_DEF_CALL __thiscall
+#else
+#define BOOST_TT_DEF_CALL
+#endif
+
+
+ template <class T>
+ struct is_member_function_pointer : public false_type {};
+ template <class T>
+ struct is_member_function_pointer<T const> : public is_member_function_pointer<T> {};
+ template <class T>
+ struct is_member_function_pointer<T volatile> : public is_member_function_pointer<T> {};
+ template <class T>
+ struct is_member_function_pointer<T const volatile> : public is_member_function_pointer<T> {};
+
+#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
+ // MSVC can't handle noexcept(b) as a deduced template parameter
+ // so we will have to write everything out :(
+#define BOOST_TT_NOEXCEPT_PARAM
+#define BOOST_TT_NOEXCEPT_DECL
+#elif defined(__cpp_noexcept_function_type)
+#define BOOST_TT_NOEXCEPT_PARAM , bool NE
+#define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
+#else
+#define BOOST_TT_NOEXCEPT_PARAM
+#define BOOST_TT_NOEXCEPT_DECL
+#endif
+
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (C::*)(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // Reference qualified:
+
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+#ifdef _MSC_VER
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+
+
+#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
+
+#undef BOOST_TT_NOEXCEPT_DECL
+#define BOOST_TT_NOEXCEPT_DECL noexcept
+
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // Reference qualified:
+
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const qualified:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+#ifdef _MSC_VER
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+
+ // rvalue reference qualified:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ // const volatile:
+#ifdef __CLR_VER
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+#ifndef _M_AMD64
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+ template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
+ struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
+#endif
+
+
+#endif
+
+#undef BOOST_TT_NOEXCEPT_DECL
+#undef BOOST_TT_NOEXCEPT_PARAM
+#undef BOOST_TT_DEF_CALL
+}
+
+#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED
diff --git a/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp b/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp
new file mode 100644
index 0000000000..d5707359b1
--- /dev/null
+++ b/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp
@@ -0,0 +1,43 @@
+
+// (C) Copyright John Maddock 2018.
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+//
+// See http://www.boost.org/libs/type_traits for most recent version including documentation.
+
+#ifndef BOOST_TT_IS_RVALUE_REFERENCE_MSVC10_FIX_HPP_INCLUDED
+#define BOOST_TT_IS_RVALUE_REFERENCE_MSVC10_FIX_HPP_INCLUDED
+
+namespace boost {
+
+template <class R> struct is_rvalue_reference<R(&&)()> : public true_type {};
+template <class R> struct is_rvalue_reference<R(&&)(...)> : public true_type {};
+template <class R, class Arg1> struct is_rvalue_reference<R(&&)(Arg1)> : public true_type {};
+template <class R, class Arg1> struct is_rvalue_reference<R(&&)(Arg1, ...)> : public true_type {};
+template <class R, class Arg1, class Arg2> struct is_rvalue_reference<R(&&)(Arg1, Arg2)> : public true_type {};
+template <class R, class Arg1, class Arg2> struct is_rvalue_reference<R(&&)(Arg1, Arg2, ...)> : public true_type {};
+template <class R, class Arg1, class Arg2, class Arg3> struct is_rvalue_reference<R(&&)(Arg1, Arg2, Arg3)> : public true_type {};
+template <class R, class Arg1, class Arg2, class Arg3> struct is_rvalue_reference<R(&&)(Arg1, Arg2, Arg3, ...)> : public true_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_rvalue_reference<R(&&)(Arg1, Arg2, Arg3, Arg4)> : public true_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_rvalue_reference<R(&&)(Arg1, Arg2, Arg3, Arg4, ...)> : public true_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_rvalue_reference<R(&&)(Arg1, Arg2, Arg3, Arg4, Arg5)> : public true_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_rvalue_reference<R(&&)(Arg1, Arg2, Arg3, Arg4, Arg5, ...)> : public true_type {};
+
+template <class R> struct is_rvalue_reference<R(&)()> : public false_type {};
+template <class R> struct is_rvalue_reference<R(&)(...)> : public false_type {};
+template <class R, class Arg1> struct is_rvalue_reference<R(&)(Arg1)> : public false_type {};
+template <class R, class Arg1> struct is_rvalue_reference<R(&)(Arg1, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2> struct is_rvalue_reference<R(&)(Arg1, Arg2)> : public false_type {};
+template <class R, class Arg1, class Arg2> struct is_rvalue_reference<R(&)(Arg1, Arg2, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3> struct is_rvalue_reference<R(&)(Arg1, Arg2, Arg3)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3> struct is_rvalue_reference<R(&)(Arg1, Arg2, Arg3, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_rvalue_reference<R(&)(Arg1, Arg2, Arg3, Arg4)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_rvalue_reference<R(&)(Arg1, Arg2, Arg3, Arg4, ...)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_rvalue_reference<R(&)(Arg1, Arg2, Arg3, Arg4, Arg5)> : public false_type {};
+template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_rvalue_reference<R(&)(Arg1, Arg2, Arg3, Arg4, Arg5, ...)> : public false_type {};
+
+} // namespace boost
+
+#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
+
diff --git a/boost/type_traits/detected.hpp b/boost/type_traits/detected.hpp
index f9a4d850e5..96a38a2e29 100644
--- a/boost/type_traits/detected.hpp
+++ b/boost/type_traits/detected.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017-2018 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/detected_or.hpp b/boost/type_traits/detected_or.hpp
index 676ac06385..e79e02a655 100644
--- a/boost/type_traits/detected_or.hpp
+++ b/boost/type_traits/detected_or.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017-2018 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/enable_if.hpp b/boost/type_traits/enable_if.hpp
new file mode 100644
index 0000000000..3cdc2816f8
--- /dev/null
+++ b/boost/type_traits/enable_if.hpp
@@ -0,0 +1,37 @@
+/*
+Copyright 2003 The Trustees of Indiana University
+
+Authors: Jaakko Jarvi (jajarvi at osl.iu.edu)
+ Jeremiah Willcock (jewillco at osl.iu.edu)
+ Andrew Lumsdaine (lums at osl.iu.edu)
+
+Copyright 2018 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under the Boost Software License,
+Version 1.0. (See accompanying file LICENSE_1_0.txt
+or copy at http://www.boost.org/LICENSE_1_0.txt)
+*/
+#ifndef BOOST_TT_ENABLE_IF_HPP_INCLUDED
+#define BOOST_TT_ENABLE_IF_HPP_INCLUDED
+
+#include <boost/config.hpp>
+
+namespace boost {
+
+template<bool B, class T = void>
+struct enable_if_ {
+ typedef T type;
+};
+
+template<class T>
+struct enable_if_<false, T> { };
+
+#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
+template<bool B, class T = void>
+using enable_if_t = typename enable_if_<B, T>::type;
+#endif
+
+} /* boost */
+
+#endif
diff --git a/boost/type_traits/has_dereference.hpp b/boost/type_traits/has_dereference.hpp
index 1e514cdf41..3275348b71 100644
--- a/boost/type_traits/has_dereference.hpp
+++ b/boost/type_traits/has_dereference.hpp
@@ -27,5 +27,349 @@
#undef BOOST_TT_TRAIT_NAME
#undef BOOST_TT_TRAIT_OP
#undef BOOST_TT_FORBIDDEN_IF
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+namespace boost {
+
+ template <class R>
+ struct has_dereference<void*, R> : public false_type {};
+ template <>
+ struct has_dereference<void*, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*const, R> : public false_type {};
+ template <>
+ struct has_dereference<void*const, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*const, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*const, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*const, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*const, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*const, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*const, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<void*volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*const volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<void*const volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*const volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*const volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*const volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*const volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*const volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const volatile, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*const volatile, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const volatile, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const volatile, void> : public false_type {};
+
+ // references:
+ template <class R>
+ struct has_dereference<void*&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*const&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*const&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*const&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*const&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*const&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*const&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*const&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*const&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*const volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*const volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*const volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*const volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*const volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*const volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*const volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const volatile&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*const volatile&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const volatile&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const volatile&, void> : public false_type {};
+
+ // rvalue refs:
+ template <class R>
+ struct has_dereference<void*&&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*&&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*const&&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*const&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*const&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*const&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*const&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*const&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*const&&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*const&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<void*const volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<void*const volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<void*const volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const void*const volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const void*const volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const void*const volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<volatile void*const volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<volatile void*const volatile&&, void> : public false_type {};
+
+ template <class R>
+ struct has_dereference<const volatile void*const volatile&&, R> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const volatile&&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_dereference<const volatile void*const volatile&&, void> : public false_type {};
+
+
+}
+#endif
#endif
diff --git a/boost/type_traits/has_post_decrement.hpp b/boost/type_traits/has_post_decrement.hpp
index e3f98fff1c..fc1c430a54 100644
--- a/boost/type_traits/has_post_decrement.hpp
+++ b/boost/type_traits/has_post_decrement.hpp
@@ -41,4 +41,25 @@
#undef BOOST_TT_TRAIT_OP
#undef BOOST_TT_FORBIDDEN_IF
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+
+namespace boost {
+
+ template <class R>
+ struct has_post_decrement<bool, R> : public false_type {};
+ template <>
+ struct has_post_decrement<bool, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_post_decrement<bool, void> : public false_type {};
+
+ template <class R>
+ struct has_post_decrement<bool&, R> : public false_type {};
+ template <>
+ struct has_post_decrement<bool&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_post_decrement<bool&, void> : public false_type {};
+
+}
+
+#endif
#endif
diff --git a/boost/type_traits/has_post_increment.hpp b/boost/type_traits/has_post_increment.hpp
index 3861a2bbde..e83afd1c31 100644
--- a/boost/type_traits/has_post_increment.hpp
+++ b/boost/type_traits/has_post_increment.hpp
@@ -41,4 +41,25 @@
#undef BOOST_TT_TRAIT_OP
#undef BOOST_TT_FORBIDDEN_IF
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+
+namespace boost {
+
+ template <class R>
+ struct has_post_increment<bool, R> : public false_type {};
+ template <>
+ struct has_post_increment<bool, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_post_increment<bool, void> : public false_type {};
+
+ template <class R>
+ struct has_post_increment<bool&, R> : public false_type {};
+ template <>
+ struct has_post_increment<bool&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_post_increment<bool&, void> : public false_type {};
+
+}
+
+#endif
#endif
diff --git a/boost/type_traits/has_pre_decrement.hpp b/boost/type_traits/has_pre_decrement.hpp
index 7ef078329b..5ce50e9003 100644
--- a/boost/type_traits/has_pre_decrement.hpp
+++ b/boost/type_traits/has_pre_decrement.hpp
@@ -41,4 +41,25 @@
#undef BOOST_TT_TRAIT_OP
#undef BOOST_TT_FORBIDDEN_IF
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+
+namespace boost {
+
+ template <class R>
+ struct has_pre_decrement<bool, R> : public false_type {};
+ template <>
+ struct has_pre_decrement<bool, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_pre_decrement<bool, void> : public false_type {};
+
+ template <class R>
+ struct has_pre_decrement<bool&, R> : public false_type {};
+ template <>
+ struct has_pre_decrement<bool&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_pre_decrement<bool&, void> : public false_type {};
+
+}
+
+#endif
#endif
diff --git a/boost/type_traits/has_pre_increment.hpp b/boost/type_traits/has_pre_increment.hpp
index c4c973487c..9361cc8bee 100644
--- a/boost/type_traits/has_pre_increment.hpp
+++ b/boost/type_traits/has_pre_increment.hpp
@@ -41,4 +41,26 @@
#undef BOOST_TT_TRAIT_OP
#undef BOOST_TT_FORBIDDEN_IF
+#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
+
+namespace boost {
+
+ template <class R>
+ struct has_pre_increment<bool, R> : public false_type {};
+ template <>
+ struct has_pre_increment<bool, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_pre_increment<bool, void> : public false_type {};
+
+ template <class R>
+ struct has_pre_increment<bool&, R> : public false_type {};
+ template <>
+ struct has_pre_increment<bool&, boost::binary_op_detail::dont_care> : public false_type {};
+ template <>
+ struct has_pre_increment<bool&, void> : public false_type {};
+
+}
+
+#endif
+
#endif
diff --git a/boost/type_traits/has_trivial_move_assign.hpp b/boost/type_traits/has_trivial_move_assign.hpp
index 6d954ab669..7b392697f3 100644
--- a/boost/type_traits/has_trivial_move_assign.hpp
+++ b/boost/type_traits/has_trivial_move_assign.hpp
@@ -24,7 +24,7 @@
#endif
#endif
-#if defined(__GNUC__) || defined(__clang)
+#if defined(__GNUC__) || defined(__clang__)
#include <boost/type_traits/is_assignable.hpp>
#include <boost/type_traits/is_volatile.hpp>
#endif
diff --git a/boost/type_traits/has_trivial_move_constructor.hpp b/boost/type_traits/has_trivial_move_constructor.hpp
index 5784f4bbff..ce85dc2d79 100644
--- a/boost/type_traits/has_trivial_move_constructor.hpp
+++ b/boost/type_traits/has_trivial_move_constructor.hpp
@@ -20,9 +20,10 @@
#if defined(BOOST_MSVC) || defined(BOOST_INTEL)
#include <boost/type_traits/is_pod.hpp>
#include <boost/type_traits/is_volatile.hpp>
+#include <boost/type_traits/is_reference.hpp>
#endif
-#if defined(__GNUC__) || defined(__clang)
+#if defined(__GNUC__) || defined(__clang__)
#include <boost/type_traits/is_constructible.hpp>
#include <boost/type_traits/is_volatile.hpp>
#endif
diff --git a/boost/type_traits/is_copy_assignable.hpp b/boost/type_traits/is_copy_assignable.hpp
index 76afdda5dd..ed04927b60 100644
--- a/boost/type_traits/is_copy_assignable.hpp
+++ b/boost/type_traits/is_copy_assignable.hpp
@@ -11,8 +11,7 @@
#include <boost/config.hpp>
#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/noncopyable.hpp>
+#include <boost/type_traits/is_noncopyable.hpp>
#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \
&& !defined(BOOST_INTEL_CXX_VERSION) && \
@@ -112,7 +111,7 @@ struct is_copy_assignable_impl {
typedef BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type unreferenced_t;
BOOST_STATIC_CONSTANT(bool, value = (
boost::detail::is_copy_assignable_impl2<
- boost::is_base_and_derived<boost::noncopyable, T>::value
+ boost::is_noncopyable<T>::value
|| boost::is_const<unreferenced_t>::value || boost::is_array<unreferenced_t>::value
,T
>::value
@@ -120,7 +119,7 @@ struct is_copy_assignable_impl {
#else
BOOST_STATIC_CONSTANT(bool, value = (
boost::detail::is_copy_assignable_impl2<
- boost::is_base_and_derived<boost::noncopyable, T>::value,T
+ boost::is_noncopyable<T>::value,T
>::value
));
#endif
diff --git a/boost/type_traits/is_copy_constructible.hpp b/boost/type_traits/is_copy_constructible.hpp
index c68826431b..ef97e18eb5 100644
--- a/boost/type_traits/is_copy_constructible.hpp
+++ b/boost/type_traits/is_copy_constructible.hpp
@@ -37,8 +37,7 @@ template <> struct is_copy_constructible<void volatile> : public false_type{};
// an incorrect value, which just defers the issue into the users code) as well. We can at least fix
// boost::non_copyable as a base class as a special case:
//
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/noncopyable.hpp>
+#include <boost/type_traits/is_noncopyable.hpp>
namespace boost {
@@ -50,7 +49,7 @@ namespace boost {
}
- template <class T> struct is_copy_constructible : public detail::is_copy_constructible_imp<T, is_base_and_derived<boost::noncopyable, T>::value>{};
+ template <class T> struct is_copy_constructible : public detail::is_copy_constructible_imp<T, is_noncopyable<T>::value>{};
template <> struct is_copy_constructible<void> : public false_type{};
template <> struct is_copy_constructible<void const> : public false_type{};
@@ -64,13 +63,12 @@ namespace boost {
#else
#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/type_traits/is_noncopyable.hpp>
#include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/is_rvalue_reference.hpp>
#include <boost/type_traits/declval.hpp>
#include <boost/type_traits/is_array.hpp>
#include <boost/type_traits/declval.hpp>
-#include <boost/noncopyable.hpp>
#ifdef BOOST_MSVC
#pragma warning(push)
@@ -160,7 +158,7 @@ namespace boost {
BOOST_STATIC_CONSTANT(bool, value = (
boost::detail::is_copy_constructible_impl2<
- boost::is_base_and_derived<boost::noncopyable, T>::value,
+ boost::is_noncopyable<T>::value,
T
>::value
));
diff --git a/boost/type_traits/is_detected.hpp b/boost/type_traits/is_detected.hpp
index 8bff9d938e..25dfa84890 100644
--- a/boost/type_traits/is_detected.hpp
+++ b/boost/type_traits/is_detected.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017-2018 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/is_detected_convertible.hpp b/boost/type_traits/is_detected_convertible.hpp
index 8a6d82fe4f..538ba25a38 100644
--- a/boost/type_traits/is_detected_convertible.hpp
+++ b/boost/type_traits/is_detected_convertible.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017-2018 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/is_detected_exact.hpp b/boost/type_traits/is_detected_exact.hpp
index 1a9b04555f..34f714c814 100644
--- a/boost/type_traits/is_detected_exact.hpp
+++ b/boost/type_traits/is_detected_exact.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017-2018 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/is_function.hpp b/boost/type_traits/is_function.hpp
index f77c1f0469..8556235a43 100644
--- a/boost/type_traits/is_function.hpp
+++ b/boost/type_traits/is_function.hpp
@@ -11,92 +11,17 @@
#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED
#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED
-#include <boost/type_traits/is_reference.hpp>
#include <boost/type_traits/detail/config.hpp>
+#include <boost/config/workaround.hpp>
-#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-# include <boost/type_traits/detail/is_function_ptr_helper.hpp>
-#else
-# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-#endif
-
-// is a type a function?
-// Please note that this implementation is unnecessarily complex:
-// we could just use !is_convertible<T*, const volatile void*>::value,
-// except that some compilers erroneously allow conversions from
-// function pointers to void*.
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
+#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
-namespace detail {
-
-#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-template<bool is_ref = true>
-struct is_function_chooser
-{
- template< typename T > struct result_
- : public false_type {};
-};
-
-template <>
-struct is_function_chooser<false>
-{
- template< typename T > struct result_
- : public ::boost::type_traits::is_function_ptr_helper<T*> {};
-};
-
-template <typename T>
-struct is_function_impl
- : public is_function_chooser< ::boost::is_reference<T>::value >
- ::BOOST_NESTED_TEMPLATE result_<T>
-{
-};
+#include <boost/type_traits/detail/is_function_cxx_11.hpp>
#else
-template <typename T>
-struct is_function_impl
-{
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
- static T* t;
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
- == sizeof(::boost::type_traits::yes_type)
- );
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-};
-
-template <typename T>
-struct is_function_impl<T&> : public false_type
-{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct is_function_impl<T&&> : public false_type
-{};
-#endif
-
-#endif
+#include <boost/type_traits/detail/is_function_cxx_03.hpp>
-} // namespace detail
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-template <class T> struct is_function : integral_constant<bool, __is_function(T)> {};
-#else
-template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct is_function<T&&> : public false_type {};
-#endif
#endif
-} // namespace boost
#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED
diff --git a/boost/type_traits/is_member_function_pointer.hpp b/boost/type_traits/is_member_function_pointer.hpp
index 223197f333..9b5dbbf228 100644
--- a/boost/type_traits/is_member_function_pointer.hpp
+++ b/boost/type_traits/is_member_function_pointer.hpp
@@ -12,109 +12,15 @@
#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
#include <boost/type_traits/detail/config.hpp>
-#include <boost/detail/workaround.hpp>
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
- //
- // Note: we use the "workaround" version for MSVC because it works for
- // __stdcall etc function types, where as the partial specialisation
- // version does not do so.
- //
-# include <boost/type_traits/detail/is_mem_fun_pointer_impl.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/type_traits/integral_constant.hpp>
-#else
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
-#endif
-
-namespace boost {
+#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
-#if defined( __CODEGEARC__ )
-template <class T> struct is_member_function_pointer : public integral_constant<bool, __is_member_function_pointer( T )> {};
-#elif !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-
-template <class T> struct is_member_function_pointer
- : public ::boost::integral_constant<bool, ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value>{};
+#include <boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp>
#else
-namespace detail {
-
-#ifndef __BORLANDC__
-
-template <bool>
-struct is_mem_fun_pointer_select
-{
- template <class T> struct result_ : public false_type{};
-};
-
-template <>
-struct is_mem_fun_pointer_select<false>
-{
- template <typename T> struct result_
- {
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
- static T* make_t;
- typedef result_<T> self_type;
-
- BOOST_STATIC_CONSTANT(
- bool, value = (
- 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
- ));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
- };
-};
-
-template <typename T>
-struct is_member_function_pointer_impl
- : public is_mem_fun_pointer_select<
- ::boost::is_reference<T>::value || ::boost::is_array<T>::value>::template result_<T>{};
+#include <boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp>
-template <typename T>
-struct is_member_function_pointer_impl<T&> : public false_type{};
-
-#else // Borland C++
-
-template <typename T>
-struct is_member_function_pointer_impl
-{
- static T* m_t;
- BOOST_STATIC_CONSTANT(
- bool, value =
- (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );
-};
-
-template <typename T>
-struct is_member_function_pointer_impl<T&>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#endif
-
-template<> struct is_member_function_pointer_impl<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template<> struct is_member_function_pointer_impl<void const> : public false_type{};
-template<> struct is_member_function_pointer_impl<void const volatile> : public false_type{};
-template<> struct is_member_function_pointer_impl<void volatile> : public false_type{};
#endif
-} // namespace detail
-
-template <class T>
-struct is_member_function_pointer
- : public integral_constant<bool, ::boost::detail::is_member_function_pointer_impl<T>::value>{};
-
-#endif
-
-} // namespace boost
-
#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_noncopyable.hpp b/boost/type_traits/is_noncopyable.hpp
new file mode 100644
index 0000000000..787103ea71
--- /dev/null
+++ b/boost/type_traits/is_noncopyable.hpp
@@ -0,0 +1,39 @@
+#ifndef BOOST_TYPE_TRAITS_IS_NONCOPYABLE_HPP_INCLUDED
+#define BOOST_TYPE_TRAITS_IS_NONCOPYABLE_HPP_INCLUDED
+
+//
+// Copyright 2018 Peter Dimov
+//
+// 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
+//
+// is_noncopyable<T> returns whether T is derived from boost::noncopyable
+//
+
+#include <boost/type_traits/is_base_and_derived.hpp>
+
+namespace boost
+{
+
+#ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED
+#define BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED
+
+// boost::noncopyable derives from noncopyable_::base_token to enable us
+// to recognize it. The definition is macro-guarded so that we can replicate
+// it here without including boost/core/noncopyable.hpp, which is in Core.
+
+namespace noncopyable_
+{
+ struct base_token {};
+}
+
+#endif // #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED
+
+template<class T> struct is_noncopyable: is_base_and_derived<noncopyable_::base_token, T>
+{
+};
+
+} // namespace boost
+
+#endif // #ifndef BOOST_TYPE_TRAITS_IS_NONCOPYABLE_HPP_INCLUDED
diff --git a/boost/type_traits/is_nothrow_move_assignable.hpp b/boost/type_traits/is_nothrow_move_assignable.hpp
index 5f63cb7be6..c6194de8e8 100644
--- a/boost/type_traits/is_nothrow_move_assignable.hpp
+++ b/boost/type_traits/is_nothrow_move_assignable.hpp
@@ -16,7 +16,7 @@
#include <boost/type_traits/has_nothrow_assign.hpp>
#include <boost/type_traits/is_array.hpp>
#include <boost/type_traits/is_reference.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/enable_if.hpp>
#include <boost/type_traits/declval.hpp>
#include <boost/type_traits/is_complete.hpp>
#include <boost/static_assert.hpp>
@@ -48,7 +48,7 @@ struct false_or_cpp11_noexcept_move_assignable: public ::boost::false_type {};
template <class T>
struct false_or_cpp11_noexcept_move_assignable <
T,
- typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>::type
+ typename ::boost::enable_if_<sizeof(T) && BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>::type
> : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>
{};
diff --git a/boost/type_traits/is_nothrow_move_constructible.hpp b/boost/type_traits/is_nothrow_move_constructible.hpp
index 30b6a16ec8..60c2994d05 100644
--- a/boost/type_traits/is_nothrow_move_constructible.hpp
+++ b/boost/type_traits/is_nothrow_move_constructible.hpp
@@ -35,7 +35,7 @@ template <class T> struct is_nothrow_move_constructible<const volatile T> : publ
#elif !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
#include <boost/type_traits/declval.hpp>
-#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/enable_if.hpp>
namespace boost{ namespace detail{
@@ -45,7 +45,7 @@ struct false_or_cpp11_noexcept_move_constructible: public ::boost::false_type {}
template <class T>
struct false_or_cpp11_noexcept_move_constructible <
T,
- typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>::type
+ typename ::boost::enable_if_<sizeof(T) && BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>::type
> : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>
{};
diff --git a/boost/type_traits/is_rvalue_reference.hpp b/boost/type_traits/is_rvalue_reference.hpp
index a48edb5140..37d33c95a4 100644
--- a/boost/type_traits/is_rvalue_reference.hpp
+++ b/boost/type_traits/is_rvalue_reference.hpp
@@ -21,5 +21,9 @@ template <class T> struct is_rvalue_reference<T&&> : public true_type {};
} // namespace boost
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700)
+#include <boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp>
+#endif
+
#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
diff --git a/boost/type_traits/is_virtual_base_of.hpp b/boost/type_traits/is_virtual_base_of.hpp
index c3d7684ee7..60ffbc86de 100644
--- a/boost/type_traits/is_virtual_base_of.hpp
+++ b/boost/type_traits/is_virtual_base_of.hpp
@@ -127,10 +127,6 @@ namespace boost {
BOOST_STATIC_CONSTANT(bool, value = imp::value);
};
-#ifdef BOOST_MSVC
-#pragma warning( pop )
-#endif
-
} // namespace detail
template <class Base, class Derived> struct is_virtual_base_of : public integral_constant<bool, (::boost::detail::is_virtual_base_of_impl2<Base, Derived>::value)> {};
@@ -141,6 +137,10 @@ template <class Base, class Derived> struct is_virtual_base_of<Base&, Derived> :
template <class Base, class Derived> struct is_virtual_base_of<Base, Derived&> : public false_type{};
template <class Base, class Derived> struct is_virtual_base_of<Base&, Derived&> : public false_type{};
+#ifdef BOOST_MSVC
+#pragma warning( pop )
+#endif
+
} // namespace boost
#endif
diff --git a/boost/type_traits/make_void.hpp b/boost/type_traits/make_void.hpp
index f48823b059..b8a72ef571 100644
--- a/boost/type_traits/make_void.hpp
+++ b/boost/type_traits/make_void.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/type_traits/nonesuch.hpp b/boost/type_traits/nonesuch.hpp
index 85466b4352..7ba98c4bce 100644
--- a/boost/type_traits/nonesuch.hpp
+++ b/boost/type_traits/nonesuch.hpp
@@ -1,6 +1,6 @@
/*
Copyright 2017 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+(glenjofe@gmail.com)
Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
diff --git a/boost/typeof/constant.hpp b/boost/typeof/constant.hpp
new file mode 100644
index 0000000000..ed0f2cd47c
--- /dev/null
+++ b/boost/typeof/constant.hpp
@@ -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
diff --git a/boost/typeof/dmc/typeof_impl.hpp b/boost/typeof/dmc/typeof_impl.hpp
index 2460622cc1..75206eb453 100644
--- a/boost/typeof/dmc/typeof_impl.hpp
+++ b/boost/typeof/dmc/typeof_impl.hpp
@@ -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
diff --git a/boost/typeof/encode_decode.hpp b/boost/typeof/encode_decode.hpp
index 5a13fd524a..97fcab9b88 100644
--- a/boost/typeof/encode_decode.hpp
+++ b/boost/typeof/encode_decode.hpp
@@ -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 {
diff --git a/boost/typeof/encode_decode_params.hpp b/boost/typeof/encode_decode_params.hpp
index 640bfdc2a6..1218d72e57 100644
--- a/boost/typeof/encode_decode_params.hpp
+++ b/boost/typeof/encode_decode_params.hpp
@@ -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
diff --git a/boost/typeof/int_encoding.hpp b/boost/typeof/int_encoding.hpp
index 482b7f6b18..3984174f7d 100644
--- a/boost/typeof/int_encoding.hpp
+++ b/boost/typeof/int_encoding.hpp
@@ -5,9 +5,8 @@
#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>
namespace boost { namespace type_of {
@@ -56,15 +55,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>
>
{};
diff --git a/boost/typeof/modifiers.hpp b/boost/typeof/modifiers.hpp
index 630d0dc76f..104af7c3f2 100644
--- a/boost/typeof/modifiers.hpp
+++ b/boost/typeof/modifiers.hpp
@@ -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;\
@@ -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;\
diff --git a/boost/typeof/msvc/typeof_impl.hpp b/boost/typeof/msvc/typeof_impl.hpp
index 3071efb749..87bf3d1ce3 100644
--- a/boost/typeof/msvc/typeof_impl.hpp
+++ b/boost/typeof/msvc/typeof_impl.hpp
@@ -10,10 +10,10 @@
# 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>
# include <typeinfo>
@@ -135,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
@@ -156,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
@@ -168,12 +168,12 @@ namespace boost
{
typedef char(*type)[encode_type<T>::value];
};
- 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&);
template<typename Organizer, typename T>
msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
diff --git a/boost/typeof/native.hpp b/boost/typeof/native.hpp
index 8197e28669..f051235f8a 100644
--- a/boost/typeof/native.hpp
+++ b/boost/typeof/native.hpp
@@ -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
}}
diff --git a/boost/typeof/pointers_data_members.hpp b/boost/typeof/pointers_data_members.hpp
index 2b47e97a97..096980da31 100644
--- a/boost/typeof/pointers_data_members.hpp
+++ b/boost/typeof/pointers_data_members.hpp
@@ -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;
};
diff --git a/boost/typeof/register_functions_iterate.hpp b/boost/typeof/register_functions_iterate.hpp
index aaa43f39af..d3a3d237f0 100644
--- a/boost/typeof/register_functions_iterate.hpp
+++ b/boost/typeof/register_functions_iterate.hpp
@@ -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))
diff --git a/boost/typeof/register_mem_functions.hpp b/boost/typeof/register_mem_functions.hpp
index 9cf9720b79..f4a42d78f3 100644
--- a/boost/typeof/register_mem_functions.hpp
+++ b/boost/typeof/register_mem_functions.hpp
@@ -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))
diff --git a/boost/typeof/template_encoding.hpp b/boost/typeof/template_encoding.hpp
index bae7e89cf9..0bb7ed36a2 100644
--- a/boost/typeof/template_encoding.hpp
+++ b/boost/typeof/template_encoding.hpp
@@ -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)\
diff --git a/boost/typeof/template_template_param.hpp b/boost/typeof/template_template_param.hpp
index 4d64190052..6f0a329aa9 100644
--- a/boost/typeof/template_template_param.hpp
+++ b/boost/typeof/template_template_param.hpp
@@ -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;\
diff --git a/boost/typeof/type_encoding.hpp b/boost/typeof/type_encoding.hpp
index e0378c2335..adc4b5eb45 100644
--- a/boost/typeof/type_encoding.hpp
+++ b/boost/typeof/type_encoding.hpp
@@ -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; \
diff --git a/boost/typeof/typeof_impl.hpp b/boost/typeof/typeof_impl.hpp
index d627b8505e..f5397e6ab1 100644
--- a/boost/typeof/typeof_impl.hpp
+++ b/boost/typeof/typeof_impl.hpp
@@ -6,12 +6,12 @@
#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>
#define BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(boost::type_of::vector, n)
@@ -39,13 +39,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 +60,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 +85,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)\
@@ -116,7 +116,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 +124,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 +143,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 +153,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 +163,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 +173,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
diff --git a/boost/typeof/vector.hpp b/boost/typeof/vector.hpp
index 7dc8d50f81..e75b57ee5a 100644
--- a/boost/typeof/vector.hpp
+++ b/boost/typeof/vector.hpp
@@ -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, ~)\
};
diff --git a/boost/typeof/vector100.hpp b/boost/typeof/vector100.hpp
index 5c5b97f34e..d4bebdda5c 100644
--- a/boost/typeof/vector100.hpp
+++ b/boost/typeof/vector100.hpp
@@ -10,209 +10,209 @@
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, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 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; };
+ template<class V> struct v_iter<V, constant<int,50> > { typedef typename V::item50 type; typedef v_iter<V, constant<int,50 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,51> > { typedef typename V::item51 type; typedef v_iter<V, constant<int,51 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,52> > { typedef typename V::item52 type; typedef v_iter<V, constant<int,52 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,53> > { typedef typename V::item53 type; typedef v_iter<V, constant<int,53 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,54> > { typedef typename V::item54 type; typedef v_iter<V, constant<int,54 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,55> > { typedef typename V::item55 type; typedef v_iter<V, constant<int,55 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,56> > { typedef typename V::item56 type; typedef v_iter<V, constant<int,56 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,57> > { typedef typename V::item57 type; typedef v_iter<V, constant<int,57 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,58> > { typedef typename V::item58 type; typedef v_iter<V, constant<int,58 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,59> > { typedef typename V::item59 type; typedef v_iter<V, constant<int,59 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,60> > { typedef typename V::item60 type; typedef v_iter<V, constant<int,60 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,61> > { typedef typename V::item61 type; typedef v_iter<V, constant<int,61 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,62> > { typedef typename V::item62 type; typedef v_iter<V, constant<int,62 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,63> > { typedef typename V::item63 type; typedef v_iter<V, constant<int,63 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,64> > { typedef typename V::item64 type; typedef v_iter<V, constant<int,64 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,65> > { typedef typename V::item65 type; typedef v_iter<V, constant<int,65 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,66> > { typedef typename V::item66 type; typedef v_iter<V, constant<int,66 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,67> > { typedef typename V::item67 type; typedef v_iter<V, constant<int,67 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,68> > { typedef typename V::item68 type; typedef v_iter<V, constant<int,68 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,69> > { typedef typename V::item69 type; typedef v_iter<V, constant<int,69 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,70> > { typedef typename V::item70 type; typedef v_iter<V, constant<int,70 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,71> > { typedef typename V::item71 type; typedef v_iter<V, constant<int,71 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,72> > { typedef typename V::item72 type; typedef v_iter<V, constant<int,72 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,73> > { typedef typename V::item73 type; typedef v_iter<V, constant<int,73 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,74> > { typedef typename V::item74 type; typedef v_iter<V, constant<int,74 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,75> > { typedef typename V::item75 type; typedef v_iter<V, constant<int,75 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,76> > { typedef typename V::item76 type; typedef v_iter<V, constant<int,76 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,77> > { typedef typename V::item77 type; typedef v_iter<V, constant<int,77 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,78> > { typedef typename V::item78 type; typedef v_iter<V, constant<int,78 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,79> > { typedef typename V::item79 type; typedef v_iter<V, constant<int,79 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,80> > { typedef typename V::item80 type; typedef v_iter<V, constant<int,80 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,81> > { typedef typename V::item81 type; typedef v_iter<V, constant<int,81 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,82> > { typedef typename V::item82 type; typedef v_iter<V, constant<int,82 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,83> > { typedef typename V::item83 type; typedef v_iter<V, constant<int,83 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,84> > { typedef typename V::item84 type; typedef v_iter<V, constant<int,84 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,85> > { typedef typename V::item85 type; typedef v_iter<V, constant<int,85 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,86> > { typedef typename V::item86 type; typedef v_iter<V, constant<int,86 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,87> > { typedef typename V::item87 type; typedef v_iter<V, constant<int,87 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,88> > { typedef typename V::item88 type; typedef v_iter<V, constant<int,88 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,89> > { typedef typename V::item89 type; typedef v_iter<V, constant<int,89 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,90> > { typedef typename V::item90 type; typedef v_iter<V, constant<int,90 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,91> > { typedef typename V::item91 type; typedef v_iter<V, constant<int,91 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,92> > { typedef typename V::item92 type; typedef v_iter<V, constant<int,92 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,93> > { typedef typename V::item93 type; typedef v_iter<V, constant<int,93 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,94> > { typedef typename V::item94 type; typedef v_iter<V, constant<int,94 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,95> > { typedef typename V::item95 type; typedef v_iter<V, constant<int,95 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,96> > { typedef typename V::item96 type; typedef v_iter<V, constant<int,96 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,97> > { typedef typename V::item97 type; typedef v_iter<V, constant<int,97 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,98> > { typedef typename V::item98 type; typedef v_iter<V, constant<int,98 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,99> > { typedef typename V::item99 type; typedef v_iter<V, constant<int,99 + 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 > struct vector51 { typedef v_iter<vector51< 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 , P50>, 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 P50 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 > struct vector52 { typedef v_iter<vector52< 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 , P50 , P51>, 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 P50 item50; typedef P51 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 > struct vector53 { typedef v_iter<vector53< 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 , P50 , P51 , P52>, 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 P50 item50; typedef P51 item51; typedef P52 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 > struct vector54 { typedef v_iter<vector54< 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 , P50 , P51 , P52 , P53>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 > struct vector55 { typedef v_iter<vector55< 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 , P50 , P51 , P52 , P53 , P54>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 > struct vector56 { typedef v_iter<vector56< 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 , P50 , P51 , P52 , P53 , P54 , P55>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 > struct vector57 { typedef v_iter<vector57< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 > struct vector58 { typedef v_iter<vector58< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 > struct vector59 { typedef v_iter<vector59< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 > struct vector60 { typedef v_iter<vector60< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 > struct vector61 { typedef v_iter<vector61< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 > struct vector62 { typedef v_iter<vector62< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 > struct vector63 { typedef v_iter<vector63< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 > struct vector64 { typedef v_iter<vector64< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 > struct vector65 { typedef v_iter<vector65< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 > struct vector66 { typedef v_iter<vector66< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 > struct vector67 { typedef v_iter<vector67< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 > struct vector68 { typedef v_iter<vector68< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 > struct vector69 { typedef v_iter<vector69< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 > struct vector70 { typedef v_iter<vector70< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 > struct vector71 { typedef v_iter<vector71< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 > struct vector72 { typedef v_iter<vector72< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 > struct vector73 { typedef v_iter<vector73< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 > struct vector74 { typedef v_iter<vector74< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 > struct vector75 { typedef v_iter<vector75< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 > struct vector76 { typedef v_iter<vector76< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 > struct vector77 { typedef v_iter<vector77< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 > struct vector78 { typedef v_iter<vector78< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 > struct vector79 { typedef v_iter<vector79< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 > struct vector80 { typedef v_iter<vector80< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 > struct vector81 { typedef v_iter<vector81< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 > struct vector82 { typedef v_iter<vector82< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 > struct vector83 { typedef v_iter<vector83< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 > struct vector84 { typedef v_iter<vector84< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 > struct vector85 { typedef v_iter<vector85< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 > struct vector86 { typedef v_iter<vector86< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 > struct vector87 { typedef v_iter<vector87< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 > struct vector88 { typedef v_iter<vector88< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 > struct vector89 { typedef v_iter<vector89< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 > struct vector90 { typedef v_iter<vector90< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 > struct vector91 { typedef v_iter<vector91< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 > struct vector92 { typedef v_iter<vector92< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 > struct vector93 { typedef v_iter<vector93< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 > struct vector94 { typedef v_iter<vector94< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 > struct vector95 { typedef v_iter<vector95< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 > struct vector96 { typedef v_iter<vector96< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 > struct vector97 { typedef v_iter<vector97< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 > struct vector98 { typedef v_iter<vector98< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 > struct vector99 { typedef v_iter<vector99< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 > struct vector100 { typedef v_iter<vector100< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 > struct vector51 { typedef v_iter<vector51< 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 , P50>, 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 P50 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 > struct vector52 { typedef v_iter<vector52< 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 , P50 , P51>, 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 P50 item50; typedef P51 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 > struct vector53 { typedef v_iter<vector53< 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 , P50 , P51 , P52>, 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 P50 item50; typedef P51 item51; typedef P52 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 > struct vector54 { typedef v_iter<vector54< 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 , P50 , P51 , P52 , P53>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 > struct vector55 { typedef v_iter<vector55< 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 , P50 , P51 , P52 , P53 , P54>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 > struct vector56 { typedef v_iter<vector56< 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 , P50 , P51 , P52 , P53 , P54 , P55>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 > struct vector57 { typedef v_iter<vector57< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 > struct vector58 { typedef v_iter<vector58< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 > struct vector59 { typedef v_iter<vector59< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 > struct vector60 { typedef v_iter<vector60< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 > struct vector61 { typedef v_iter<vector61< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 > struct vector62 { typedef v_iter<vector62< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 > struct vector63 { typedef v_iter<vector63< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 > struct vector64 { typedef v_iter<vector64< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 > struct vector65 { typedef v_iter<vector65< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 > struct vector66 { typedef v_iter<vector66< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 > struct vector67 { typedef v_iter<vector67< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 > struct vector68 { typedef v_iter<vector68< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 > struct vector69 { typedef v_iter<vector69< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 > struct vector70 { typedef v_iter<vector70< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 > struct vector71 { typedef v_iter<vector71< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 > struct vector72 { typedef v_iter<vector72< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 > struct vector73 { typedef v_iter<vector73< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 > struct vector74 { typedef v_iter<vector74< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 > struct vector75 { typedef v_iter<vector75< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 > struct vector76 { typedef v_iter<vector76< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 > struct vector77 { typedef v_iter<vector77< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 > struct vector78 { typedef v_iter<vector78< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 > struct vector79 { typedef v_iter<vector79< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 > struct vector80 { typedef v_iter<vector80< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 > struct vector81 { typedef v_iter<vector81< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 > struct vector82 { typedef v_iter<vector82< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 > struct vector83 { typedef v_iter<vector83< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 > struct vector84 { typedef v_iter<vector84< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 > struct vector85 { typedef v_iter<vector85< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 > struct vector86 { typedef v_iter<vector86< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 > struct vector87 { typedef v_iter<vector87< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 > struct vector88 { typedef v_iter<vector88< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 > struct vector89 { typedef v_iter<vector89< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 > struct vector90 { typedef v_iter<vector90< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 > struct vector91 { typedef v_iter<vector91< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 > struct vector92 { typedef v_iter<vector92< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 > struct vector93 { typedef v_iter<vector93< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 > struct vector94 { typedef v_iter<vector94< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 > struct vector95 { typedef v_iter<vector95< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 > struct vector96 { typedef v_iter<vector96< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 > struct vector97 { typedef v_iter<vector97< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 > struct vector98 { typedef v_iter<vector98< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 > struct vector99 { typedef v_iter<vector99< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 > struct vector100 { typedef v_iter<vector100< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; };
}}
namespace boost { namespace type_of {
template<class V, class T> struct push_back {
diff --git a/boost/typeof/vector150.hpp b/boost/typeof/vector150.hpp
index a7d7fb18c6..94d8c2e695 100644
--- a/boost/typeof/vector150.hpp
+++ b/boost/typeof/vector150.hpp
@@ -10,309 +10,309 @@
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, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<100> > { typedef typename V::item100 type; typedef v_iter<V, mpl::int_<100 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<101> > { typedef typename V::item101 type; typedef v_iter<V, mpl::int_<101 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<102> > { typedef typename V::item102 type; typedef v_iter<V, mpl::int_<102 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<103> > { typedef typename V::item103 type; typedef v_iter<V, mpl::int_<103 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<104> > { typedef typename V::item104 type; typedef v_iter<V, mpl::int_<104 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<105> > { typedef typename V::item105 type; typedef v_iter<V, mpl::int_<105 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<106> > { typedef typename V::item106 type; typedef v_iter<V, mpl::int_<106 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<107> > { typedef typename V::item107 type; typedef v_iter<V, mpl::int_<107 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<108> > { typedef typename V::item108 type; typedef v_iter<V, mpl::int_<108 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<109> > { typedef typename V::item109 type; typedef v_iter<V, mpl::int_<109 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<110> > { typedef typename V::item110 type; typedef v_iter<V, mpl::int_<110 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<111> > { typedef typename V::item111 type; typedef v_iter<V, mpl::int_<111 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<112> > { typedef typename V::item112 type; typedef v_iter<V, mpl::int_<112 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<113> > { typedef typename V::item113 type; typedef v_iter<V, mpl::int_<113 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<114> > { typedef typename V::item114 type; typedef v_iter<V, mpl::int_<114 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<115> > { typedef typename V::item115 type; typedef v_iter<V, mpl::int_<115 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<116> > { typedef typename V::item116 type; typedef v_iter<V, mpl::int_<116 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<117> > { typedef typename V::item117 type; typedef v_iter<V, mpl::int_<117 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<118> > { typedef typename V::item118 type; typedef v_iter<V, mpl::int_<118 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<119> > { typedef typename V::item119 type; typedef v_iter<V, mpl::int_<119 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<120> > { typedef typename V::item120 type; typedef v_iter<V, mpl::int_<120 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<121> > { typedef typename V::item121 type; typedef v_iter<V, mpl::int_<121 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<122> > { typedef typename V::item122 type; typedef v_iter<V, mpl::int_<122 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<123> > { typedef typename V::item123 type; typedef v_iter<V, mpl::int_<123 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<124> > { typedef typename V::item124 type; typedef v_iter<V, mpl::int_<124 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<125> > { typedef typename V::item125 type; typedef v_iter<V, mpl::int_<125 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<126> > { typedef typename V::item126 type; typedef v_iter<V, mpl::int_<126 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<127> > { typedef typename V::item127 type; typedef v_iter<V, mpl::int_<127 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<128> > { typedef typename V::item128 type; typedef v_iter<V, mpl::int_<128 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<129> > { typedef typename V::item129 type; typedef v_iter<V, mpl::int_<129 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<130> > { typedef typename V::item130 type; typedef v_iter<V, mpl::int_<130 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<131> > { typedef typename V::item131 type; typedef v_iter<V, mpl::int_<131 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<132> > { typedef typename V::item132 type; typedef v_iter<V, mpl::int_<132 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<133> > { typedef typename V::item133 type; typedef v_iter<V, mpl::int_<133 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<134> > { typedef typename V::item134 type; typedef v_iter<V, mpl::int_<134 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<135> > { typedef typename V::item135 type; typedef v_iter<V, mpl::int_<135 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<136> > { typedef typename V::item136 type; typedef v_iter<V, mpl::int_<136 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<137> > { typedef typename V::item137 type; typedef v_iter<V, mpl::int_<137 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<138> > { typedef typename V::item138 type; typedef v_iter<V, mpl::int_<138 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<139> > { typedef typename V::item139 type; typedef v_iter<V, mpl::int_<139 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<140> > { typedef typename V::item140 type; typedef v_iter<V, mpl::int_<140 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<141> > { typedef typename V::item141 type; typedef v_iter<V, mpl::int_<141 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<142> > { typedef typename V::item142 type; typedef v_iter<V, mpl::int_<142 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<143> > { typedef typename V::item143 type; typedef v_iter<V, mpl::int_<143 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<144> > { typedef typename V::item144 type; typedef v_iter<V, mpl::int_<144 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<145> > { typedef typename V::item145 type; typedef v_iter<V, mpl::int_<145 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<146> > { typedef typename V::item146 type; typedef v_iter<V, mpl::int_<146 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<147> > { typedef typename V::item147 type; typedef v_iter<V, mpl::int_<147 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<148> > { typedef typename V::item148 type; typedef v_iter<V, mpl::int_<148 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<149> > { typedef typename V::item149 type; typedef v_iter<V, mpl::int_<149 + 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; };
+ template<class V> struct v_iter<V, constant<int,50> > { typedef typename V::item50 type; typedef v_iter<V, constant<int,50 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,51> > { typedef typename V::item51 type; typedef v_iter<V, constant<int,51 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,52> > { typedef typename V::item52 type; typedef v_iter<V, constant<int,52 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,53> > { typedef typename V::item53 type; typedef v_iter<V, constant<int,53 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,54> > { typedef typename V::item54 type; typedef v_iter<V, constant<int,54 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,55> > { typedef typename V::item55 type; typedef v_iter<V, constant<int,55 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,56> > { typedef typename V::item56 type; typedef v_iter<V, constant<int,56 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,57> > { typedef typename V::item57 type; typedef v_iter<V, constant<int,57 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,58> > { typedef typename V::item58 type; typedef v_iter<V, constant<int,58 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,59> > { typedef typename V::item59 type; typedef v_iter<V, constant<int,59 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,60> > { typedef typename V::item60 type; typedef v_iter<V, constant<int,60 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,61> > { typedef typename V::item61 type; typedef v_iter<V, constant<int,61 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,62> > { typedef typename V::item62 type; typedef v_iter<V, constant<int,62 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,63> > { typedef typename V::item63 type; typedef v_iter<V, constant<int,63 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,64> > { typedef typename V::item64 type; typedef v_iter<V, constant<int,64 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,65> > { typedef typename V::item65 type; typedef v_iter<V, constant<int,65 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,66> > { typedef typename V::item66 type; typedef v_iter<V, constant<int,66 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,67> > { typedef typename V::item67 type; typedef v_iter<V, constant<int,67 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,68> > { typedef typename V::item68 type; typedef v_iter<V, constant<int,68 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,69> > { typedef typename V::item69 type; typedef v_iter<V, constant<int,69 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,70> > { typedef typename V::item70 type; typedef v_iter<V, constant<int,70 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,71> > { typedef typename V::item71 type; typedef v_iter<V, constant<int,71 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,72> > { typedef typename V::item72 type; typedef v_iter<V, constant<int,72 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,73> > { typedef typename V::item73 type; typedef v_iter<V, constant<int,73 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,74> > { typedef typename V::item74 type; typedef v_iter<V, constant<int,74 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,75> > { typedef typename V::item75 type; typedef v_iter<V, constant<int,75 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,76> > { typedef typename V::item76 type; typedef v_iter<V, constant<int,76 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,77> > { typedef typename V::item77 type; typedef v_iter<V, constant<int,77 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,78> > { typedef typename V::item78 type; typedef v_iter<V, constant<int,78 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,79> > { typedef typename V::item79 type; typedef v_iter<V, constant<int,79 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,80> > { typedef typename V::item80 type; typedef v_iter<V, constant<int,80 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,81> > { typedef typename V::item81 type; typedef v_iter<V, constant<int,81 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,82> > { typedef typename V::item82 type; typedef v_iter<V, constant<int,82 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,83> > { typedef typename V::item83 type; typedef v_iter<V, constant<int,83 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,84> > { typedef typename V::item84 type; typedef v_iter<V, constant<int,84 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,85> > { typedef typename V::item85 type; typedef v_iter<V, constant<int,85 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,86> > { typedef typename V::item86 type; typedef v_iter<V, constant<int,86 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,87> > { typedef typename V::item87 type; typedef v_iter<V, constant<int,87 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,88> > { typedef typename V::item88 type; typedef v_iter<V, constant<int,88 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,89> > { typedef typename V::item89 type; typedef v_iter<V, constant<int,89 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,90> > { typedef typename V::item90 type; typedef v_iter<V, constant<int,90 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,91> > { typedef typename V::item91 type; typedef v_iter<V, constant<int,91 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,92> > { typedef typename V::item92 type; typedef v_iter<V, constant<int,92 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,93> > { typedef typename V::item93 type; typedef v_iter<V, constant<int,93 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,94> > { typedef typename V::item94 type; typedef v_iter<V, constant<int,94 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,95> > { typedef typename V::item95 type; typedef v_iter<V, constant<int,95 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,96> > { typedef typename V::item96 type; typedef v_iter<V, constant<int,96 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,97> > { typedef typename V::item97 type; typedef v_iter<V, constant<int,97 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,98> > { typedef typename V::item98 type; typedef v_iter<V, constant<int,98 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,99> > { typedef typename V::item99 type; typedef v_iter<V, constant<int,99 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,100> > { typedef typename V::item100 type; typedef v_iter<V, constant<int,100 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,101> > { typedef typename V::item101 type; typedef v_iter<V, constant<int,101 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,102> > { typedef typename V::item102 type; typedef v_iter<V, constant<int,102 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,103> > { typedef typename V::item103 type; typedef v_iter<V, constant<int,103 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,104> > { typedef typename V::item104 type; typedef v_iter<V, constant<int,104 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,105> > { typedef typename V::item105 type; typedef v_iter<V, constant<int,105 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,106> > { typedef typename V::item106 type; typedef v_iter<V, constant<int,106 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,107> > { typedef typename V::item107 type; typedef v_iter<V, constant<int,107 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,108> > { typedef typename V::item108 type; typedef v_iter<V, constant<int,108 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,109> > { typedef typename V::item109 type; typedef v_iter<V, constant<int,109 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,110> > { typedef typename V::item110 type; typedef v_iter<V, constant<int,110 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,111> > { typedef typename V::item111 type; typedef v_iter<V, constant<int,111 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,112> > { typedef typename V::item112 type; typedef v_iter<V, constant<int,112 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,113> > { typedef typename V::item113 type; typedef v_iter<V, constant<int,113 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,114> > { typedef typename V::item114 type; typedef v_iter<V, constant<int,114 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,115> > { typedef typename V::item115 type; typedef v_iter<V, constant<int,115 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,116> > { typedef typename V::item116 type; typedef v_iter<V, constant<int,116 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,117> > { typedef typename V::item117 type; typedef v_iter<V, constant<int,117 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,118> > { typedef typename V::item118 type; typedef v_iter<V, constant<int,118 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,119> > { typedef typename V::item119 type; typedef v_iter<V, constant<int,119 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,120> > { typedef typename V::item120 type; typedef v_iter<V, constant<int,120 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,121> > { typedef typename V::item121 type; typedef v_iter<V, constant<int,121 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,122> > { typedef typename V::item122 type; typedef v_iter<V, constant<int,122 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,123> > { typedef typename V::item123 type; typedef v_iter<V, constant<int,123 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,124> > { typedef typename V::item124 type; typedef v_iter<V, constant<int,124 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,125> > { typedef typename V::item125 type; typedef v_iter<V, constant<int,125 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,126> > { typedef typename V::item126 type; typedef v_iter<V, constant<int,126 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,127> > { typedef typename V::item127 type; typedef v_iter<V, constant<int,127 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,128> > { typedef typename V::item128 type; typedef v_iter<V, constant<int,128 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,129> > { typedef typename V::item129 type; typedef v_iter<V, constant<int,129 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,130> > { typedef typename V::item130 type; typedef v_iter<V, constant<int,130 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,131> > { typedef typename V::item131 type; typedef v_iter<V, constant<int,131 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,132> > { typedef typename V::item132 type; typedef v_iter<V, constant<int,132 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,133> > { typedef typename V::item133 type; typedef v_iter<V, constant<int,133 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,134> > { typedef typename V::item134 type; typedef v_iter<V, constant<int,134 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,135> > { typedef typename V::item135 type; typedef v_iter<V, constant<int,135 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,136> > { typedef typename V::item136 type; typedef v_iter<V, constant<int,136 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,137> > { typedef typename V::item137 type; typedef v_iter<V, constant<int,137 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,138> > { typedef typename V::item138 type; typedef v_iter<V, constant<int,138 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,139> > { typedef typename V::item139 type; typedef v_iter<V, constant<int,139 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,140> > { typedef typename V::item140 type; typedef v_iter<V, constant<int,140 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,141> > { typedef typename V::item141 type; typedef v_iter<V, constant<int,141 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,142> > { typedef typename V::item142 type; typedef v_iter<V, constant<int,142 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,143> > { typedef typename V::item143 type; typedef v_iter<V, constant<int,143 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,144> > { typedef typename V::item144 type; typedef v_iter<V, constant<int,144 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,145> > { typedef typename V::item145 type; typedef v_iter<V, constant<int,145 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,146> > { typedef typename V::item146 type; typedef v_iter<V, constant<int,146 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,147> > { typedef typename V::item147 type; typedef v_iter<V, constant<int,147 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,148> > { typedef typename V::item148 type; typedef v_iter<V, constant<int,148 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,149> > { typedef typename V::item149 type; typedef v_iter<V, constant<int,149 + 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 > struct vector51 { typedef v_iter<vector51< 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 , P50>, 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 P50 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 > struct vector52 { typedef v_iter<vector52< 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 , P50 , P51>, 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 P50 item50; typedef P51 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 > struct vector53 { typedef v_iter<vector53< 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 , P50 , P51 , P52>, 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 P50 item50; typedef P51 item51; typedef P52 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 > struct vector54 { typedef v_iter<vector54< 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 , P50 , P51 , P52 , P53>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 > struct vector55 { typedef v_iter<vector55< 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 , P50 , P51 , P52 , P53 , P54>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 > struct vector56 { typedef v_iter<vector56< 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 , P50 , P51 , P52 , P53 , P54 , P55>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 > struct vector57 { typedef v_iter<vector57< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 > struct vector58 { typedef v_iter<vector58< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 > struct vector59 { typedef v_iter<vector59< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 > struct vector60 { typedef v_iter<vector60< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 > struct vector61 { typedef v_iter<vector61< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 > struct vector62 { typedef v_iter<vector62< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 > struct vector63 { typedef v_iter<vector63< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 > struct vector64 { typedef v_iter<vector64< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 > struct vector65 { typedef v_iter<vector65< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 > struct vector66 { typedef v_iter<vector66< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 > struct vector67 { typedef v_iter<vector67< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 > struct vector68 { typedef v_iter<vector68< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 > struct vector69 { typedef v_iter<vector69< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 > struct vector70 { typedef v_iter<vector70< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 > struct vector71 { typedef v_iter<vector71< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 > struct vector72 { typedef v_iter<vector72< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 > struct vector73 { typedef v_iter<vector73< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 > struct vector74 { typedef v_iter<vector74< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 > struct vector75 { typedef v_iter<vector75< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 > struct vector76 { typedef v_iter<vector76< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 > struct vector77 { typedef v_iter<vector77< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 > struct vector78 { typedef v_iter<vector78< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 > struct vector79 { typedef v_iter<vector79< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 > struct vector80 { typedef v_iter<vector80< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 > struct vector81 { typedef v_iter<vector81< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 > struct vector82 { typedef v_iter<vector82< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 > struct vector83 { typedef v_iter<vector83< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 > struct vector84 { typedef v_iter<vector84< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 > struct vector85 { typedef v_iter<vector85< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 > struct vector86 { typedef v_iter<vector86< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 > struct vector87 { typedef v_iter<vector87< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 > struct vector88 { typedef v_iter<vector88< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 > struct vector89 { typedef v_iter<vector89< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 > struct vector90 { typedef v_iter<vector90< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 > struct vector91 { typedef v_iter<vector91< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 > struct vector92 { typedef v_iter<vector92< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 > struct vector93 { typedef v_iter<vector93< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 > struct vector94 { typedef v_iter<vector94< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 > struct vector95 { typedef v_iter<vector95< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 > struct vector96 { typedef v_iter<vector96< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 > struct vector97 { typedef v_iter<vector97< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 > struct vector98 { typedef v_iter<vector98< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 > struct vector99 { typedef v_iter<vector99< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 > struct vector100 { typedef v_iter<vector100< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 > struct vector101 { typedef v_iter<vector101< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 > struct vector102 { typedef v_iter<vector102< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 > struct vector103 { typedef v_iter<vector103< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 > struct vector104 { typedef v_iter<vector104< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 > struct vector105 { typedef v_iter<vector105< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 > struct vector106 { typedef v_iter<vector106< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 > struct vector107 { typedef v_iter<vector107< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 > struct vector108 { typedef v_iter<vector108< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 > struct vector109 { typedef v_iter<vector109< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 > struct vector110 { typedef v_iter<vector110< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 > struct vector111 { typedef v_iter<vector111< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 > struct vector112 { typedef v_iter<vector112< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 > struct vector113 { typedef v_iter<vector113< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 > struct vector114 { typedef v_iter<vector114< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 > struct vector115 { typedef v_iter<vector115< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 > struct vector116 { typedef v_iter<vector116< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 > struct vector117 { typedef v_iter<vector117< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 > struct vector118 { typedef v_iter<vector118< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 > struct vector119 { typedef v_iter<vector119< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 > struct vector120 { typedef v_iter<vector120< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 > struct vector121 { typedef v_iter<vector121< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 > struct vector122 { typedef v_iter<vector122< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 > struct vector123 { typedef v_iter<vector123< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 > struct vector124 { typedef v_iter<vector124< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 > struct vector125 { typedef v_iter<vector125< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 > struct vector126 { typedef v_iter<vector126< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 > struct vector127 { typedef v_iter<vector127< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 > struct vector128 { typedef v_iter<vector128< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 > struct vector129 { typedef v_iter<vector129< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 > struct vector130 { typedef v_iter<vector130< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 > struct vector131 { typedef v_iter<vector131< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 > struct vector132 { typedef v_iter<vector132< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 > struct vector133 { typedef v_iter<vector133< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 > struct vector134 { typedef v_iter<vector134< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 > struct vector135 { typedef v_iter<vector135< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 > struct vector136 { typedef v_iter<vector136< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 > struct vector137 { typedef v_iter<vector137< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 > struct vector138 { typedef v_iter<vector138< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 > struct vector139 { typedef v_iter<vector139< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 > struct vector140 { typedef v_iter<vector140< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 > struct vector141 { typedef v_iter<vector141< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 > struct vector142 { typedef v_iter<vector142< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 > struct vector143 { typedef v_iter<vector143< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 > struct vector144 { typedef v_iter<vector144< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 > struct vector145 { typedef v_iter<vector145< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 > struct vector146 { typedef v_iter<vector146< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 > struct vector147 { typedef v_iter<vector147< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 > struct vector148 { typedef v_iter<vector148< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 > struct vector149 { typedef v_iter<vector149< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 > struct vector150 { typedef v_iter<vector150< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 > struct vector51 { typedef v_iter<vector51< 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 , P50>, 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 P50 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 > struct vector52 { typedef v_iter<vector52< 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 , P50 , P51>, 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 P50 item50; typedef P51 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 > struct vector53 { typedef v_iter<vector53< 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 , P50 , P51 , P52>, 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 P50 item50; typedef P51 item51; typedef P52 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 > struct vector54 { typedef v_iter<vector54< 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 , P50 , P51 , P52 , P53>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 > struct vector55 { typedef v_iter<vector55< 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 , P50 , P51 , P52 , P53 , P54>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 > struct vector56 { typedef v_iter<vector56< 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 , P50 , P51 , P52 , P53 , P54 , P55>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 > struct vector57 { typedef v_iter<vector57< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 > struct vector58 { typedef v_iter<vector58< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 > struct vector59 { typedef v_iter<vector59< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 > struct vector60 { typedef v_iter<vector60< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 > struct vector61 { typedef v_iter<vector61< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 > struct vector62 { typedef v_iter<vector62< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 > struct vector63 { typedef v_iter<vector63< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 > struct vector64 { typedef v_iter<vector64< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 > struct vector65 { typedef v_iter<vector65< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 > struct vector66 { typedef v_iter<vector66< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 > struct vector67 { typedef v_iter<vector67< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 > struct vector68 { typedef v_iter<vector68< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 > struct vector69 { typedef v_iter<vector69< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 > struct vector70 { typedef v_iter<vector70< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 > struct vector71 { typedef v_iter<vector71< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 > struct vector72 { typedef v_iter<vector72< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 > struct vector73 { typedef v_iter<vector73< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 > struct vector74 { typedef v_iter<vector74< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 > struct vector75 { typedef v_iter<vector75< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 > struct vector76 { typedef v_iter<vector76< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 > struct vector77 { typedef v_iter<vector77< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 > struct vector78 { typedef v_iter<vector78< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 > struct vector79 { typedef v_iter<vector79< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 > struct vector80 { typedef v_iter<vector80< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 > struct vector81 { typedef v_iter<vector81< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 > struct vector82 { typedef v_iter<vector82< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 > struct vector83 { typedef v_iter<vector83< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 > struct vector84 { typedef v_iter<vector84< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 > struct vector85 { typedef v_iter<vector85< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 > struct vector86 { typedef v_iter<vector86< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 > struct vector87 { typedef v_iter<vector87< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 > struct vector88 { typedef v_iter<vector88< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 > struct vector89 { typedef v_iter<vector89< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 > struct vector90 { typedef v_iter<vector90< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 > struct vector91 { typedef v_iter<vector91< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 > struct vector92 { typedef v_iter<vector92< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 > struct vector93 { typedef v_iter<vector93< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 > struct vector94 { typedef v_iter<vector94< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 > struct vector95 { typedef v_iter<vector95< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 > struct vector96 { typedef v_iter<vector96< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 > struct vector97 { typedef v_iter<vector97< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 > struct vector98 { typedef v_iter<vector98< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 > struct vector99 { typedef v_iter<vector99< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 > struct vector100 { typedef v_iter<vector100< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 > struct vector101 { typedef v_iter<vector101< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 > struct vector102 { typedef v_iter<vector102< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 > struct vector103 { typedef v_iter<vector103< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 > struct vector104 { typedef v_iter<vector104< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 > struct vector105 { typedef v_iter<vector105< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 > struct vector106 { typedef v_iter<vector106< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 > struct vector107 { typedef v_iter<vector107< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 > struct vector108 { typedef v_iter<vector108< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 > struct vector109 { typedef v_iter<vector109< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 > struct vector110 { typedef v_iter<vector110< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 > struct vector111 { typedef v_iter<vector111< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 > struct vector112 { typedef v_iter<vector112< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 > struct vector113 { typedef v_iter<vector113< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 > struct vector114 { typedef v_iter<vector114< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 > struct vector115 { typedef v_iter<vector115< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 > struct vector116 { typedef v_iter<vector116< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 > struct vector117 { typedef v_iter<vector117< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 > struct vector118 { typedef v_iter<vector118< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 > struct vector119 { typedef v_iter<vector119< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 > struct vector120 { typedef v_iter<vector120< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 > struct vector121 { typedef v_iter<vector121< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 > struct vector122 { typedef v_iter<vector122< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 > struct vector123 { typedef v_iter<vector123< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 > struct vector124 { typedef v_iter<vector124< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 > struct vector125 { typedef v_iter<vector125< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 > struct vector126 { typedef v_iter<vector126< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 > struct vector127 { typedef v_iter<vector127< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 > struct vector128 { typedef v_iter<vector128< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 > struct vector129 { typedef v_iter<vector129< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 > struct vector130 { typedef v_iter<vector130< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 > struct vector131 { typedef v_iter<vector131< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 > struct vector132 { typedef v_iter<vector132< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 > struct vector133 { typedef v_iter<vector133< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 > struct vector134 { typedef v_iter<vector134< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 > struct vector135 { typedef v_iter<vector135< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 > struct vector136 { typedef v_iter<vector136< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 > struct vector137 { typedef v_iter<vector137< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 > struct vector138 { typedef v_iter<vector138< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 > struct vector139 { typedef v_iter<vector139< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 > struct vector140 { typedef v_iter<vector140< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 > struct vector141 { typedef v_iter<vector141< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 > struct vector142 { typedef v_iter<vector142< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 > struct vector143 { typedef v_iter<vector143< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 > struct vector144 { typedef v_iter<vector144< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 > struct vector145 { typedef v_iter<vector145< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 > struct vector146 { typedef v_iter<vector146< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 > struct vector147 { typedef v_iter<vector147< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 > struct vector148 { typedef v_iter<vector148< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 > struct vector149 { typedef v_iter<vector149< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 > struct vector150 { typedef v_iter<vector150< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; };
}}
namespace boost { namespace type_of {
template<class V, class T> struct push_back {
diff --git a/boost/typeof/vector200.hpp b/boost/typeof/vector200.hpp
index 43860c363b..777371766d 100644
--- a/boost/typeof/vector200.hpp
+++ b/boost/typeof/vector200.hpp
@@ -10,409 +10,409 @@
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, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<100> > { typedef typename V::item100 type; typedef v_iter<V, mpl::int_<100 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<101> > { typedef typename V::item101 type; typedef v_iter<V, mpl::int_<101 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<102> > { typedef typename V::item102 type; typedef v_iter<V, mpl::int_<102 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<103> > { typedef typename V::item103 type; typedef v_iter<V, mpl::int_<103 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<104> > { typedef typename V::item104 type; typedef v_iter<V, mpl::int_<104 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<105> > { typedef typename V::item105 type; typedef v_iter<V, mpl::int_<105 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<106> > { typedef typename V::item106 type; typedef v_iter<V, mpl::int_<106 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<107> > { typedef typename V::item107 type; typedef v_iter<V, mpl::int_<107 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<108> > { typedef typename V::item108 type; typedef v_iter<V, mpl::int_<108 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<109> > { typedef typename V::item109 type; typedef v_iter<V, mpl::int_<109 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<110> > { typedef typename V::item110 type; typedef v_iter<V, mpl::int_<110 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<111> > { typedef typename V::item111 type; typedef v_iter<V, mpl::int_<111 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<112> > { typedef typename V::item112 type; typedef v_iter<V, mpl::int_<112 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<113> > { typedef typename V::item113 type; typedef v_iter<V, mpl::int_<113 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<114> > { typedef typename V::item114 type; typedef v_iter<V, mpl::int_<114 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<115> > { typedef typename V::item115 type; typedef v_iter<V, mpl::int_<115 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<116> > { typedef typename V::item116 type; typedef v_iter<V, mpl::int_<116 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<117> > { typedef typename V::item117 type; typedef v_iter<V, mpl::int_<117 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<118> > { typedef typename V::item118 type; typedef v_iter<V, mpl::int_<118 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<119> > { typedef typename V::item119 type; typedef v_iter<V, mpl::int_<119 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<120> > { typedef typename V::item120 type; typedef v_iter<V, mpl::int_<120 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<121> > { typedef typename V::item121 type; typedef v_iter<V, mpl::int_<121 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<122> > { typedef typename V::item122 type; typedef v_iter<V, mpl::int_<122 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<123> > { typedef typename V::item123 type; typedef v_iter<V, mpl::int_<123 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<124> > { typedef typename V::item124 type; typedef v_iter<V, mpl::int_<124 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<125> > { typedef typename V::item125 type; typedef v_iter<V, mpl::int_<125 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<126> > { typedef typename V::item126 type; typedef v_iter<V, mpl::int_<126 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<127> > { typedef typename V::item127 type; typedef v_iter<V, mpl::int_<127 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<128> > { typedef typename V::item128 type; typedef v_iter<V, mpl::int_<128 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<129> > { typedef typename V::item129 type; typedef v_iter<V, mpl::int_<129 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<130> > { typedef typename V::item130 type; typedef v_iter<V, mpl::int_<130 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<131> > { typedef typename V::item131 type; typedef v_iter<V, mpl::int_<131 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<132> > { typedef typename V::item132 type; typedef v_iter<V, mpl::int_<132 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<133> > { typedef typename V::item133 type; typedef v_iter<V, mpl::int_<133 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<134> > { typedef typename V::item134 type; typedef v_iter<V, mpl::int_<134 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<135> > { typedef typename V::item135 type; typedef v_iter<V, mpl::int_<135 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<136> > { typedef typename V::item136 type; typedef v_iter<V, mpl::int_<136 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<137> > { typedef typename V::item137 type; typedef v_iter<V, mpl::int_<137 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<138> > { typedef typename V::item138 type; typedef v_iter<V, mpl::int_<138 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<139> > { typedef typename V::item139 type; typedef v_iter<V, mpl::int_<139 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<140> > { typedef typename V::item140 type; typedef v_iter<V, mpl::int_<140 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<141> > { typedef typename V::item141 type; typedef v_iter<V, mpl::int_<141 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<142> > { typedef typename V::item142 type; typedef v_iter<V, mpl::int_<142 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<143> > { typedef typename V::item143 type; typedef v_iter<V, mpl::int_<143 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<144> > { typedef typename V::item144 type; typedef v_iter<V, mpl::int_<144 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<145> > { typedef typename V::item145 type; typedef v_iter<V, mpl::int_<145 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<146> > { typedef typename V::item146 type; typedef v_iter<V, mpl::int_<146 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<147> > { typedef typename V::item147 type; typedef v_iter<V, mpl::int_<147 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<148> > { typedef typename V::item148 type; typedef v_iter<V, mpl::int_<148 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<149> > { typedef typename V::item149 type; typedef v_iter<V, mpl::int_<149 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<150> > { typedef typename V::item150 type; typedef v_iter<V, mpl::int_<150 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<151> > { typedef typename V::item151 type; typedef v_iter<V, mpl::int_<151 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<152> > { typedef typename V::item152 type; typedef v_iter<V, mpl::int_<152 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<153> > { typedef typename V::item153 type; typedef v_iter<V, mpl::int_<153 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<154> > { typedef typename V::item154 type; typedef v_iter<V, mpl::int_<154 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<155> > { typedef typename V::item155 type; typedef v_iter<V, mpl::int_<155 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<156> > { typedef typename V::item156 type; typedef v_iter<V, mpl::int_<156 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<157> > { typedef typename V::item157 type; typedef v_iter<V, mpl::int_<157 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<158> > { typedef typename V::item158 type; typedef v_iter<V, mpl::int_<158 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<159> > { typedef typename V::item159 type; typedef v_iter<V, mpl::int_<159 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<160> > { typedef typename V::item160 type; typedef v_iter<V, mpl::int_<160 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<161> > { typedef typename V::item161 type; typedef v_iter<V, mpl::int_<161 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<162> > { typedef typename V::item162 type; typedef v_iter<V, mpl::int_<162 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<163> > { typedef typename V::item163 type; typedef v_iter<V, mpl::int_<163 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<164> > { typedef typename V::item164 type; typedef v_iter<V, mpl::int_<164 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<165> > { typedef typename V::item165 type; typedef v_iter<V, mpl::int_<165 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<166> > { typedef typename V::item166 type; typedef v_iter<V, mpl::int_<166 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<167> > { typedef typename V::item167 type; typedef v_iter<V, mpl::int_<167 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<168> > { typedef typename V::item168 type; typedef v_iter<V, mpl::int_<168 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<169> > { typedef typename V::item169 type; typedef v_iter<V, mpl::int_<169 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<170> > { typedef typename V::item170 type; typedef v_iter<V, mpl::int_<170 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<171> > { typedef typename V::item171 type; typedef v_iter<V, mpl::int_<171 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<172> > { typedef typename V::item172 type; typedef v_iter<V, mpl::int_<172 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<173> > { typedef typename V::item173 type; typedef v_iter<V, mpl::int_<173 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<174> > { typedef typename V::item174 type; typedef v_iter<V, mpl::int_<174 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<175> > { typedef typename V::item175 type; typedef v_iter<V, mpl::int_<175 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<176> > { typedef typename V::item176 type; typedef v_iter<V, mpl::int_<176 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<177> > { typedef typename V::item177 type; typedef v_iter<V, mpl::int_<177 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<178> > { typedef typename V::item178 type; typedef v_iter<V, mpl::int_<178 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<179> > { typedef typename V::item179 type; typedef v_iter<V, mpl::int_<179 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<180> > { typedef typename V::item180 type; typedef v_iter<V, mpl::int_<180 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<181> > { typedef typename V::item181 type; typedef v_iter<V, mpl::int_<181 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<182> > { typedef typename V::item182 type; typedef v_iter<V, mpl::int_<182 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<183> > { typedef typename V::item183 type; typedef v_iter<V, mpl::int_<183 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<184> > { typedef typename V::item184 type; typedef v_iter<V, mpl::int_<184 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<185> > { typedef typename V::item185 type; typedef v_iter<V, mpl::int_<185 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<186> > { typedef typename V::item186 type; typedef v_iter<V, mpl::int_<186 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<187> > { typedef typename V::item187 type; typedef v_iter<V, mpl::int_<187 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<188> > { typedef typename V::item188 type; typedef v_iter<V, mpl::int_<188 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<189> > { typedef typename V::item189 type; typedef v_iter<V, mpl::int_<189 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<190> > { typedef typename V::item190 type; typedef v_iter<V, mpl::int_<190 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<191> > { typedef typename V::item191 type; typedef v_iter<V, mpl::int_<191 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<192> > { typedef typename V::item192 type; typedef v_iter<V, mpl::int_<192 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<193> > { typedef typename V::item193 type; typedef v_iter<V, mpl::int_<193 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<194> > { typedef typename V::item194 type; typedef v_iter<V, mpl::int_<194 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<195> > { typedef typename V::item195 type; typedef v_iter<V, mpl::int_<195 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<196> > { typedef typename V::item196 type; typedef v_iter<V, mpl::int_<196 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<197> > { typedef typename V::item197 type; typedef v_iter<V, mpl::int_<197 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<198> > { typedef typename V::item198 type; typedef v_iter<V, mpl::int_<198 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<199> > { typedef typename V::item199 type; typedef v_iter<V, mpl::int_<199 + 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; };
+ template<class V> struct v_iter<V, constant<int,50> > { typedef typename V::item50 type; typedef v_iter<V, constant<int,50 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,51> > { typedef typename V::item51 type; typedef v_iter<V, constant<int,51 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,52> > { typedef typename V::item52 type; typedef v_iter<V, constant<int,52 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,53> > { typedef typename V::item53 type; typedef v_iter<V, constant<int,53 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,54> > { typedef typename V::item54 type; typedef v_iter<V, constant<int,54 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,55> > { typedef typename V::item55 type; typedef v_iter<V, constant<int,55 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,56> > { typedef typename V::item56 type; typedef v_iter<V, constant<int,56 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,57> > { typedef typename V::item57 type; typedef v_iter<V, constant<int,57 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,58> > { typedef typename V::item58 type; typedef v_iter<V, constant<int,58 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,59> > { typedef typename V::item59 type; typedef v_iter<V, constant<int,59 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,60> > { typedef typename V::item60 type; typedef v_iter<V, constant<int,60 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,61> > { typedef typename V::item61 type; typedef v_iter<V, constant<int,61 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,62> > { typedef typename V::item62 type; typedef v_iter<V, constant<int,62 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,63> > { typedef typename V::item63 type; typedef v_iter<V, constant<int,63 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,64> > { typedef typename V::item64 type; typedef v_iter<V, constant<int,64 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,65> > { typedef typename V::item65 type; typedef v_iter<V, constant<int,65 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,66> > { typedef typename V::item66 type; typedef v_iter<V, constant<int,66 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,67> > { typedef typename V::item67 type; typedef v_iter<V, constant<int,67 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,68> > { typedef typename V::item68 type; typedef v_iter<V, constant<int,68 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,69> > { typedef typename V::item69 type; typedef v_iter<V, constant<int,69 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,70> > { typedef typename V::item70 type; typedef v_iter<V, constant<int,70 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,71> > { typedef typename V::item71 type; typedef v_iter<V, constant<int,71 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,72> > { typedef typename V::item72 type; typedef v_iter<V, constant<int,72 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,73> > { typedef typename V::item73 type; typedef v_iter<V, constant<int,73 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,74> > { typedef typename V::item74 type; typedef v_iter<V, constant<int,74 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,75> > { typedef typename V::item75 type; typedef v_iter<V, constant<int,75 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,76> > { typedef typename V::item76 type; typedef v_iter<V, constant<int,76 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,77> > { typedef typename V::item77 type; typedef v_iter<V, constant<int,77 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,78> > { typedef typename V::item78 type; typedef v_iter<V, constant<int,78 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,79> > { typedef typename V::item79 type; typedef v_iter<V, constant<int,79 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,80> > { typedef typename V::item80 type; typedef v_iter<V, constant<int,80 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,81> > { typedef typename V::item81 type; typedef v_iter<V, constant<int,81 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,82> > { typedef typename V::item82 type; typedef v_iter<V, constant<int,82 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,83> > { typedef typename V::item83 type; typedef v_iter<V, constant<int,83 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,84> > { typedef typename V::item84 type; typedef v_iter<V, constant<int,84 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,85> > { typedef typename V::item85 type; typedef v_iter<V, constant<int,85 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,86> > { typedef typename V::item86 type; typedef v_iter<V, constant<int,86 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,87> > { typedef typename V::item87 type; typedef v_iter<V, constant<int,87 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,88> > { typedef typename V::item88 type; typedef v_iter<V, constant<int,88 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,89> > { typedef typename V::item89 type; typedef v_iter<V, constant<int,89 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,90> > { typedef typename V::item90 type; typedef v_iter<V, constant<int,90 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,91> > { typedef typename V::item91 type; typedef v_iter<V, constant<int,91 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,92> > { typedef typename V::item92 type; typedef v_iter<V, constant<int,92 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,93> > { typedef typename V::item93 type; typedef v_iter<V, constant<int,93 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,94> > { typedef typename V::item94 type; typedef v_iter<V, constant<int,94 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,95> > { typedef typename V::item95 type; typedef v_iter<V, constant<int,95 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,96> > { typedef typename V::item96 type; typedef v_iter<V, constant<int,96 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,97> > { typedef typename V::item97 type; typedef v_iter<V, constant<int,97 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,98> > { typedef typename V::item98 type; typedef v_iter<V, constant<int,98 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,99> > { typedef typename V::item99 type; typedef v_iter<V, constant<int,99 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,100> > { typedef typename V::item100 type; typedef v_iter<V, constant<int,100 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,101> > { typedef typename V::item101 type; typedef v_iter<V, constant<int,101 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,102> > { typedef typename V::item102 type; typedef v_iter<V, constant<int,102 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,103> > { typedef typename V::item103 type; typedef v_iter<V, constant<int,103 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,104> > { typedef typename V::item104 type; typedef v_iter<V, constant<int,104 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,105> > { typedef typename V::item105 type; typedef v_iter<V, constant<int,105 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,106> > { typedef typename V::item106 type; typedef v_iter<V, constant<int,106 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,107> > { typedef typename V::item107 type; typedef v_iter<V, constant<int,107 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,108> > { typedef typename V::item108 type; typedef v_iter<V, constant<int,108 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,109> > { typedef typename V::item109 type; typedef v_iter<V, constant<int,109 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,110> > { typedef typename V::item110 type; typedef v_iter<V, constant<int,110 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,111> > { typedef typename V::item111 type; typedef v_iter<V, constant<int,111 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,112> > { typedef typename V::item112 type; typedef v_iter<V, constant<int,112 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,113> > { typedef typename V::item113 type; typedef v_iter<V, constant<int,113 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,114> > { typedef typename V::item114 type; typedef v_iter<V, constant<int,114 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,115> > { typedef typename V::item115 type; typedef v_iter<V, constant<int,115 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,116> > { typedef typename V::item116 type; typedef v_iter<V, constant<int,116 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,117> > { typedef typename V::item117 type; typedef v_iter<V, constant<int,117 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,118> > { typedef typename V::item118 type; typedef v_iter<V, constant<int,118 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,119> > { typedef typename V::item119 type; typedef v_iter<V, constant<int,119 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,120> > { typedef typename V::item120 type; typedef v_iter<V, constant<int,120 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,121> > { typedef typename V::item121 type; typedef v_iter<V, constant<int,121 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,122> > { typedef typename V::item122 type; typedef v_iter<V, constant<int,122 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,123> > { typedef typename V::item123 type; typedef v_iter<V, constant<int,123 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,124> > { typedef typename V::item124 type; typedef v_iter<V, constant<int,124 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,125> > { typedef typename V::item125 type; typedef v_iter<V, constant<int,125 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,126> > { typedef typename V::item126 type; typedef v_iter<V, constant<int,126 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,127> > { typedef typename V::item127 type; typedef v_iter<V, constant<int,127 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,128> > { typedef typename V::item128 type; typedef v_iter<V, constant<int,128 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,129> > { typedef typename V::item129 type; typedef v_iter<V, constant<int,129 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,130> > { typedef typename V::item130 type; typedef v_iter<V, constant<int,130 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,131> > { typedef typename V::item131 type; typedef v_iter<V, constant<int,131 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,132> > { typedef typename V::item132 type; typedef v_iter<V, constant<int,132 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,133> > { typedef typename V::item133 type; typedef v_iter<V, constant<int,133 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,134> > { typedef typename V::item134 type; typedef v_iter<V, constant<int,134 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,135> > { typedef typename V::item135 type; typedef v_iter<V, constant<int,135 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,136> > { typedef typename V::item136 type; typedef v_iter<V, constant<int,136 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,137> > { typedef typename V::item137 type; typedef v_iter<V, constant<int,137 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,138> > { typedef typename V::item138 type; typedef v_iter<V, constant<int,138 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,139> > { typedef typename V::item139 type; typedef v_iter<V, constant<int,139 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,140> > { typedef typename V::item140 type; typedef v_iter<V, constant<int,140 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,141> > { typedef typename V::item141 type; typedef v_iter<V, constant<int,141 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,142> > { typedef typename V::item142 type; typedef v_iter<V, constant<int,142 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,143> > { typedef typename V::item143 type; typedef v_iter<V, constant<int,143 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,144> > { typedef typename V::item144 type; typedef v_iter<V, constant<int,144 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,145> > { typedef typename V::item145 type; typedef v_iter<V, constant<int,145 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,146> > { typedef typename V::item146 type; typedef v_iter<V, constant<int,146 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,147> > { typedef typename V::item147 type; typedef v_iter<V, constant<int,147 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,148> > { typedef typename V::item148 type; typedef v_iter<V, constant<int,148 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,149> > { typedef typename V::item149 type; typedef v_iter<V, constant<int,149 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,150> > { typedef typename V::item150 type; typedef v_iter<V, constant<int,150 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,151> > { typedef typename V::item151 type; typedef v_iter<V, constant<int,151 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,152> > { typedef typename V::item152 type; typedef v_iter<V, constant<int,152 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,153> > { typedef typename V::item153 type; typedef v_iter<V, constant<int,153 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,154> > { typedef typename V::item154 type; typedef v_iter<V, constant<int,154 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,155> > { typedef typename V::item155 type; typedef v_iter<V, constant<int,155 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,156> > { typedef typename V::item156 type; typedef v_iter<V, constant<int,156 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,157> > { typedef typename V::item157 type; typedef v_iter<V, constant<int,157 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,158> > { typedef typename V::item158 type; typedef v_iter<V, constant<int,158 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,159> > { typedef typename V::item159 type; typedef v_iter<V, constant<int,159 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,160> > { typedef typename V::item160 type; typedef v_iter<V, constant<int,160 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,161> > { typedef typename V::item161 type; typedef v_iter<V, constant<int,161 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,162> > { typedef typename V::item162 type; typedef v_iter<V, constant<int,162 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,163> > { typedef typename V::item163 type; typedef v_iter<V, constant<int,163 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,164> > { typedef typename V::item164 type; typedef v_iter<V, constant<int,164 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,165> > { typedef typename V::item165 type; typedef v_iter<V, constant<int,165 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,166> > { typedef typename V::item166 type; typedef v_iter<V, constant<int,166 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,167> > { typedef typename V::item167 type; typedef v_iter<V, constant<int,167 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,168> > { typedef typename V::item168 type; typedef v_iter<V, constant<int,168 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,169> > { typedef typename V::item169 type; typedef v_iter<V, constant<int,169 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,170> > { typedef typename V::item170 type; typedef v_iter<V, constant<int,170 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,171> > { typedef typename V::item171 type; typedef v_iter<V, constant<int,171 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,172> > { typedef typename V::item172 type; typedef v_iter<V, constant<int,172 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,173> > { typedef typename V::item173 type; typedef v_iter<V, constant<int,173 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,174> > { typedef typename V::item174 type; typedef v_iter<V, constant<int,174 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,175> > { typedef typename V::item175 type; typedef v_iter<V, constant<int,175 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,176> > { typedef typename V::item176 type; typedef v_iter<V, constant<int,176 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,177> > { typedef typename V::item177 type; typedef v_iter<V, constant<int,177 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,178> > { typedef typename V::item178 type; typedef v_iter<V, constant<int,178 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,179> > { typedef typename V::item179 type; typedef v_iter<V, constant<int,179 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,180> > { typedef typename V::item180 type; typedef v_iter<V, constant<int,180 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,181> > { typedef typename V::item181 type; typedef v_iter<V, constant<int,181 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,182> > { typedef typename V::item182 type; typedef v_iter<V, constant<int,182 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,183> > { typedef typename V::item183 type; typedef v_iter<V, constant<int,183 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,184> > { typedef typename V::item184 type; typedef v_iter<V, constant<int,184 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,185> > { typedef typename V::item185 type; typedef v_iter<V, constant<int,185 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,186> > { typedef typename V::item186 type; typedef v_iter<V, constant<int,186 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,187> > { typedef typename V::item187 type; typedef v_iter<V, constant<int,187 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,188> > { typedef typename V::item188 type; typedef v_iter<V, constant<int,188 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,189> > { typedef typename V::item189 type; typedef v_iter<V, constant<int,189 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,190> > { typedef typename V::item190 type; typedef v_iter<V, constant<int,190 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,191> > { typedef typename V::item191 type; typedef v_iter<V, constant<int,191 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,192> > { typedef typename V::item192 type; typedef v_iter<V, constant<int,192 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,193> > { typedef typename V::item193 type; typedef v_iter<V, constant<int,193 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,194> > { typedef typename V::item194 type; typedef v_iter<V, constant<int,194 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,195> > { typedef typename V::item195 type; typedef v_iter<V, constant<int,195 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,196> > { typedef typename V::item196 type; typedef v_iter<V, constant<int,196 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,197> > { typedef typename V::item197 type; typedef v_iter<V, constant<int,197 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,198> > { typedef typename V::item198 type; typedef v_iter<V, constant<int,198 + 1> > next; };
+ template<class V> struct v_iter<V, constant<int,199> > { typedef typename V::item199 type; typedef v_iter<V, constant<int,199 + 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 > struct vector51 { typedef v_iter<vector51< 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 , P50>, 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 P50 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 > struct vector52 { typedef v_iter<vector52< 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 , P50 , P51>, 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 P50 item50; typedef P51 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 > struct vector53 { typedef v_iter<vector53< 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 , P50 , P51 , P52>, 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 P50 item50; typedef P51 item51; typedef P52 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 > struct vector54 { typedef v_iter<vector54< 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 , P50 , P51 , P52 , P53>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 > struct vector55 { typedef v_iter<vector55< 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 , P50 , P51 , P52 , P53 , P54>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 > struct vector56 { typedef v_iter<vector56< 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 , P50 , P51 , P52 , P53 , P54 , P55>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 > struct vector57 { typedef v_iter<vector57< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 > struct vector58 { typedef v_iter<vector58< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 > struct vector59 { typedef v_iter<vector59< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 > struct vector60 { typedef v_iter<vector60< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 > struct vector61 { typedef v_iter<vector61< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 > struct vector62 { typedef v_iter<vector62< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 > struct vector63 { typedef v_iter<vector63< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 > struct vector64 { typedef v_iter<vector64< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 > struct vector65 { typedef v_iter<vector65< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 > struct vector66 { typedef v_iter<vector66< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 > struct vector67 { typedef v_iter<vector67< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 > struct vector68 { typedef v_iter<vector68< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 > struct vector69 { typedef v_iter<vector69< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 > struct vector70 { typedef v_iter<vector70< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 > struct vector71 { typedef v_iter<vector71< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 > struct vector72 { typedef v_iter<vector72< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 > struct vector73 { typedef v_iter<vector73< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 > struct vector74 { typedef v_iter<vector74< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 > struct vector75 { typedef v_iter<vector75< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 > struct vector76 { typedef v_iter<vector76< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 > struct vector77 { typedef v_iter<vector77< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 > struct vector78 { typedef v_iter<vector78< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 > struct vector79 { typedef v_iter<vector79< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 > struct vector80 { typedef v_iter<vector80< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 > struct vector81 { typedef v_iter<vector81< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 > struct vector82 { typedef v_iter<vector82< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 > struct vector83 { typedef v_iter<vector83< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 > struct vector84 { typedef v_iter<vector84< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 > struct vector85 { typedef v_iter<vector85< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 > struct vector86 { typedef v_iter<vector86< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 > struct vector87 { typedef v_iter<vector87< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 > struct vector88 { typedef v_iter<vector88< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 > struct vector89 { typedef v_iter<vector89< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 > struct vector90 { typedef v_iter<vector90< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 > struct vector91 { typedef v_iter<vector91< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 > struct vector92 { typedef v_iter<vector92< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 > struct vector93 { typedef v_iter<vector93< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 > struct vector94 { typedef v_iter<vector94< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 > struct vector95 { typedef v_iter<vector95< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 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; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 > struct vector96 { typedef v_iter<vector96< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 > struct vector97 { typedef v_iter<vector97< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 > struct vector98 { typedef v_iter<vector98< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 > struct vector99 { typedef v_iter<vector99< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef mpl::int_<1> item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 > struct vector100 { typedef v_iter<vector100< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef mpl::int_<1> item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 > struct vector101 { typedef v_iter<vector101< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef mpl::int_<1> item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 > struct vector102 { typedef v_iter<vector102< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef mpl::int_<1> item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 > struct vector103 { typedef v_iter<vector103< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef mpl::int_<1> item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 > struct vector104 { typedef v_iter<vector104< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef mpl::int_<1> item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 > struct vector105 { typedef v_iter<vector105< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef mpl::int_<1> item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 > struct vector106 { typedef v_iter<vector106< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef mpl::int_<1> item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 > struct vector107 { typedef v_iter<vector107< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef mpl::int_<1> item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 > struct vector108 { typedef v_iter<vector108< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef mpl::int_<1> item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 > struct vector109 { typedef v_iter<vector109< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef mpl::int_<1> item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 > struct vector110 { typedef v_iter<vector110< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef mpl::int_<1> item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 > struct vector111 { typedef v_iter<vector111< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef mpl::int_<1> item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 > struct vector112 { typedef v_iter<vector112< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef mpl::int_<1> item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 > struct vector113 { typedef v_iter<vector113< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef mpl::int_<1> item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 > struct vector114 { typedef v_iter<vector114< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef mpl::int_<1> item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 > struct vector115 { typedef v_iter<vector115< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef mpl::int_<1> item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 > struct vector116 { typedef v_iter<vector116< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef mpl::int_<1> item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 > struct vector117 { typedef v_iter<vector117< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef mpl::int_<1> item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 > struct vector118 { typedef v_iter<vector118< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef mpl::int_<1> item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 > struct vector119 { typedef v_iter<vector119< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef mpl::int_<1> item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 > struct vector120 { typedef v_iter<vector120< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef mpl::int_<1> item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 > struct vector121 { typedef v_iter<vector121< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef mpl::int_<1> item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 > struct vector122 { typedef v_iter<vector122< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef mpl::int_<1> item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 > struct vector123 { typedef v_iter<vector123< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef mpl::int_<1> item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 > struct vector124 { typedef v_iter<vector124< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef mpl::int_<1> item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 > struct vector125 { typedef v_iter<vector125< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef mpl::int_<1> item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 > struct vector126 { typedef v_iter<vector126< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef mpl::int_<1> item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 > struct vector127 { typedef v_iter<vector127< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef mpl::int_<1> item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 > struct vector128 { typedef v_iter<vector128< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef mpl::int_<1> item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 > struct vector129 { typedef v_iter<vector129< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef mpl::int_<1> item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 > struct vector130 { typedef v_iter<vector130< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef mpl::int_<1> item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 > struct vector131 { typedef v_iter<vector131< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef mpl::int_<1> item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 > struct vector132 { typedef v_iter<vector132< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef mpl::int_<1> item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 > struct vector133 { typedef v_iter<vector133< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef mpl::int_<1> item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 > struct vector134 { typedef v_iter<vector134< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef mpl::int_<1> item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 > struct vector135 { typedef v_iter<vector135< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef mpl::int_<1> item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 > struct vector136 { typedef v_iter<vector136< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef mpl::int_<1> item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 > struct vector137 { typedef v_iter<vector137< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef mpl::int_<1> item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 > struct vector138 { typedef v_iter<vector138< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef mpl::int_<1> item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 > struct vector139 { typedef v_iter<vector139< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef mpl::int_<1> item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 > struct vector140 { typedef v_iter<vector140< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef mpl::int_<1> item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 > struct vector141 { typedef v_iter<vector141< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef mpl::int_<1> item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 > struct vector142 { typedef v_iter<vector142< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef mpl::int_<1> item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 > struct vector143 { typedef v_iter<vector143< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef mpl::int_<1> item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 > struct vector144 { typedef v_iter<vector144< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef mpl::int_<1> item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 > struct vector145 { typedef v_iter<vector145< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef mpl::int_<1> item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 > struct vector146 { typedef v_iter<vector146< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef mpl::int_<1> item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 > struct vector147 { typedef v_iter<vector147< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef mpl::int_<1> item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 > struct vector148 { typedef v_iter<vector148< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef mpl::int_<1> item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 > struct vector149 { typedef v_iter<vector149< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef mpl::int_<1> item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 > struct vector150 { typedef v_iter<vector150< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef mpl::int_<1> item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 > struct vector151 { typedef v_iter<vector151< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef mpl::int_<1> item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 > struct vector152 { typedef v_iter<vector152< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef mpl::int_<1> item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 > struct vector153 { typedef v_iter<vector153< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef mpl::int_<1> item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 > struct vector154 { typedef v_iter<vector154< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef mpl::int_<1> item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 > struct vector155 { typedef v_iter<vector155< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef mpl::int_<1> item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 > struct vector156 { typedef v_iter<vector156< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef mpl::int_<1> item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 > struct vector157 { typedef v_iter<vector157< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef mpl::int_<1> item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 > struct vector158 { typedef v_iter<vector158< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef mpl::int_<1> item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 > struct vector159 { typedef v_iter<vector159< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef mpl::int_<1> item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 > struct vector160 { typedef v_iter<vector160< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef mpl::int_<1> item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 > struct vector161 { typedef v_iter<vector161< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef mpl::int_<1> item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 > struct vector162 { typedef v_iter<vector162< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef mpl::int_<1> item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 > struct vector163 { typedef v_iter<vector163< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef mpl::int_<1> item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 > struct vector164 { typedef v_iter<vector164< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef mpl::int_<1> item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 > struct vector165 { typedef v_iter<vector165< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef mpl::int_<1> item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 > struct vector166 { typedef v_iter<vector166< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef mpl::int_<1> item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 > struct vector167 { typedef v_iter<vector167< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef mpl::int_<1> item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 > struct vector168 { typedef v_iter<vector168< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef mpl::int_<1> item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 > struct vector169 { typedef v_iter<vector169< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef mpl::int_<1> item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 > struct vector170 { typedef v_iter<vector170< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef mpl::int_<1> item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 > struct vector171 { typedef v_iter<vector171< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef mpl::int_<1> item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 > struct vector172 { typedef v_iter<vector172< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef mpl::int_<1> item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 > struct vector173 { typedef v_iter<vector173< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef mpl::int_<1> item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 > struct vector174 { typedef v_iter<vector174< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef mpl::int_<1> item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 > struct vector175 { typedef v_iter<vector175< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef mpl::int_<1> item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 > struct vector176 { typedef v_iter<vector176< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef mpl::int_<1> item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 > struct vector177 { typedef v_iter<vector177< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef mpl::int_<1> item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 > struct vector178 { typedef v_iter<vector178< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef mpl::int_<1> item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 > struct vector179 { typedef v_iter<vector179< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef mpl::int_<1> item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 > struct vector180 { typedef v_iter<vector180< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef mpl::int_<1> item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 > struct vector181 { typedef v_iter<vector181< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef mpl::int_<1> item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 > struct vector182 { typedef v_iter<vector182< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef mpl::int_<1> item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 > struct vector183 { typedef v_iter<vector183< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef mpl::int_<1> item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 > struct vector184 { typedef v_iter<vector184< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef mpl::int_<1> item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 > struct vector185 { typedef v_iter<vector185< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef mpl::int_<1> item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 > struct vector186 { typedef v_iter<vector186< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef mpl::int_<1> item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 > struct vector187 { typedef v_iter<vector187< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef mpl::int_<1> item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 > struct vector188 { typedef v_iter<vector188< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef mpl::int_<1> item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 > struct vector189 { typedef v_iter<vector189< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef mpl::int_<1> item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 > struct vector190 { typedef v_iter<vector190< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef mpl::int_<1> item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 > struct vector191 { typedef v_iter<vector191< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef mpl::int_<1> item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 > struct vector192 { typedef v_iter<vector192< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef mpl::int_<1> item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 > struct vector193 { typedef v_iter<vector193< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef mpl::int_<1> item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 > struct vector194 { typedef v_iter<vector194< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef mpl::int_<1> item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 > struct vector195 { typedef v_iter<vector195< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef mpl::int_<1> item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 > struct vector196 { typedef v_iter<vector196< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef mpl::int_<1> item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 > struct vector197 { typedef v_iter<vector197< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef mpl::int_<1> item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 , class P197 > struct vector198 { typedef v_iter<vector198< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196 , P197>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef P197 item197; typedef mpl::int_<1> item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 , class P197 , class P198 > struct vector199 { typedef v_iter<vector199< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196 , P197 , P198>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef P197 item197; typedef P198 item198; typedef mpl::int_<1> item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
- 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 , class P197 , class P198 , class P199 > struct vector200 { typedef v_iter<vector200< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196 , P197 , P198 , P199>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef P197 item197; typedef P198 item198; typedef P199 item199; typedef mpl::int_<1> item200; typedef mpl::int_<1> item201; typedef mpl::int_<1> item202; typedef mpl::int_<1> item203; typedef mpl::int_<1> item204; typedef mpl::int_<1> item205; typedef mpl::int_<1> item206; typedef mpl::int_<1> item207; typedef mpl::int_<1> item208; typedef mpl::int_<1> item209; typedef mpl::int_<1> item210; typedef mpl::int_<1> item211; typedef mpl::int_<1> item212; typedef mpl::int_<1> item213; typedef mpl::int_<1> item214; typedef mpl::int_<1> item215; typedef mpl::int_<1> item216; typedef mpl::int_<1> item217; typedef mpl::int_<1> item218; typedef mpl::int_<1> item219; typedef mpl::int_<1> item220; typedef mpl::int_<1> item221; typedef mpl::int_<1> item222; typedef mpl::int_<1> item223; typedef mpl::int_<1> item224; typedef mpl::int_<1> item225; typedef mpl::int_<1> item226; typedef mpl::int_<1> item227; typedef mpl::int_<1> item228; typedef mpl::int_<1> item229; typedef mpl::int_<1> item230; typedef mpl::int_<1> item231; typedef mpl::int_<1> item232; typedef mpl::int_<1> item233; typedef mpl::int_<1> item234; typedef mpl::int_<1> item235; typedef mpl::int_<1> item236; typedef mpl::int_<1> item237; typedef mpl::int_<1> item238; typedef mpl::int_<1> item239; typedef mpl::int_<1> item240; typedef mpl::int_<1> item241; typedef mpl::int_<1> item242; typedef mpl::int_<1> item243; typedef mpl::int_<1> item244; typedef mpl::int_<1> item245; typedef mpl::int_<1> item246; typedef mpl::int_<1> item247; typedef mpl::int_<1> item248; typedef mpl::int_<1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 > struct vector51 { typedef v_iter<vector51< 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 , P50>, 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 P50 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 > struct vector52 { typedef v_iter<vector52< 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 , P50 , P51>, 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 P50 item50; typedef P51 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 > struct vector53 { typedef v_iter<vector53< 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 , P50 , P51 , P52>, 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 P50 item50; typedef P51 item51; typedef P52 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 > struct vector54 { typedef v_iter<vector54< 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 , P50 , P51 , P52 , P53>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 > struct vector55 { typedef v_iter<vector55< 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 , P50 , P51 , P52 , P53 , P54>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 > struct vector56 { typedef v_iter<vector56< 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 , P50 , P51 , P52 , P53 , P54 , P55>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 > struct vector57 { typedef v_iter<vector57< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 > struct vector58 { typedef v_iter<vector58< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 > struct vector59 { typedef v_iter<vector59< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 > struct vector60 { typedef v_iter<vector60< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 > struct vector61 { typedef v_iter<vector61< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 > struct vector62 { typedef v_iter<vector62< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 > struct vector63 { typedef v_iter<vector63< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 > struct vector64 { typedef v_iter<vector64< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 > struct vector65 { typedef v_iter<vector65< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 > struct vector66 { typedef v_iter<vector66< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 > struct vector67 { typedef v_iter<vector67< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 > struct vector68 { typedef v_iter<vector68< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 > struct vector69 { typedef v_iter<vector69< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 > struct vector70 { typedef v_iter<vector70< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 > struct vector71 { typedef v_iter<vector71< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 > struct vector72 { typedef v_iter<vector72< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 > struct vector73 { typedef v_iter<vector73< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 > struct vector74 { typedef v_iter<vector74< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 > struct vector75 { typedef v_iter<vector75< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 > struct vector76 { typedef v_iter<vector76< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 > struct vector77 { typedef v_iter<vector77< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 > struct vector78 { typedef v_iter<vector78< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 > struct vector79 { typedef v_iter<vector79< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 > struct vector80 { typedef v_iter<vector80< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 > struct vector81 { typedef v_iter<vector81< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 > struct vector82 { typedef v_iter<vector82< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 > struct vector83 { typedef v_iter<vector83< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 > struct vector84 { typedef v_iter<vector84< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 > struct vector85 { typedef v_iter<vector85< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 > struct vector86 { typedef v_iter<vector86< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 > struct vector87 { typedef v_iter<vector87< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 > struct vector88 { typedef v_iter<vector88< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 > struct vector89 { typedef v_iter<vector89< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 > struct vector90 { typedef v_iter<vector90< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 > struct vector91 { typedef v_iter<vector91< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 > struct vector92 { typedef v_iter<vector92< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 > struct vector93 { typedef v_iter<vector93< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 > struct vector94 { typedef v_iter<vector94< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 > struct vector95 { typedef v_iter<vector95< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 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; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 > struct vector96 { typedef v_iter<vector96< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 > struct vector97 { typedef v_iter<vector97< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 > struct vector98 { typedef v_iter<vector98< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef constant<int,1> item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 > struct vector99 { typedef v_iter<vector99< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef constant<int,1> item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 > struct vector100 { typedef v_iter<vector100< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef constant<int,1> item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 > struct vector101 { typedef v_iter<vector101< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef constant<int,1> item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 > struct vector102 { typedef v_iter<vector102< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef constant<int,1> item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 > struct vector103 { typedef v_iter<vector103< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef constant<int,1> item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 > struct vector104 { typedef v_iter<vector104< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef constant<int,1> item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 > struct vector105 { typedef v_iter<vector105< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef constant<int,1> item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 > struct vector106 { typedef v_iter<vector106< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef constant<int,1> item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 > struct vector107 { typedef v_iter<vector107< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef constant<int,1> item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 > struct vector108 { typedef v_iter<vector108< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef constant<int,1> item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 > struct vector109 { typedef v_iter<vector109< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef constant<int,1> item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 > struct vector110 { typedef v_iter<vector110< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef constant<int,1> item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 > struct vector111 { typedef v_iter<vector111< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef constant<int,1> item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 > struct vector112 { typedef v_iter<vector112< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef constant<int,1> item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 > struct vector113 { typedef v_iter<vector113< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef constant<int,1> item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 > struct vector114 { typedef v_iter<vector114< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef constant<int,1> item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 > struct vector115 { typedef v_iter<vector115< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef constant<int,1> item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 > struct vector116 { typedef v_iter<vector116< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef constant<int,1> item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 > struct vector117 { typedef v_iter<vector117< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef constant<int,1> item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 > struct vector118 { typedef v_iter<vector118< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef constant<int,1> item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 > struct vector119 { typedef v_iter<vector119< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef constant<int,1> item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 > struct vector120 { typedef v_iter<vector120< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef constant<int,1> item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 > struct vector121 { typedef v_iter<vector121< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef constant<int,1> item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 > struct vector122 { typedef v_iter<vector122< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef constant<int,1> item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 > struct vector123 { typedef v_iter<vector123< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef constant<int,1> item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 > struct vector124 { typedef v_iter<vector124< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef constant<int,1> item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 > struct vector125 { typedef v_iter<vector125< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef constant<int,1> item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 > struct vector126 { typedef v_iter<vector126< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef constant<int,1> item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 > struct vector127 { typedef v_iter<vector127< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef constant<int,1> item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 > struct vector128 { typedef v_iter<vector128< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef constant<int,1> item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 > struct vector129 { typedef v_iter<vector129< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef constant<int,1> item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 > struct vector130 { typedef v_iter<vector130< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef constant<int,1> item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 > struct vector131 { typedef v_iter<vector131< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef constant<int,1> item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 > struct vector132 { typedef v_iter<vector132< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef constant<int,1> item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 > struct vector133 { typedef v_iter<vector133< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef constant<int,1> item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 > struct vector134 { typedef v_iter<vector134< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef constant<int,1> item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 > struct vector135 { typedef v_iter<vector135< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef constant<int,1> item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 > struct vector136 { typedef v_iter<vector136< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef constant<int,1> item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 > struct vector137 { typedef v_iter<vector137< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef constant<int,1> item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 > struct vector138 { typedef v_iter<vector138< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef constant<int,1> item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 > struct vector139 { typedef v_iter<vector139< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef constant<int,1> item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 > struct vector140 { typedef v_iter<vector140< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef constant<int,1> item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 > struct vector141 { typedef v_iter<vector141< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef constant<int,1> item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 > struct vector142 { typedef v_iter<vector142< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef constant<int,1> item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 > struct vector143 { typedef v_iter<vector143< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef constant<int,1> item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 > struct vector144 { typedef v_iter<vector144< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef constant<int,1> item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 > struct vector145 { typedef v_iter<vector145< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef constant<int,1> item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 > struct vector146 { typedef v_iter<vector146< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef constant<int,1> item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 > struct vector147 { typedef v_iter<vector147< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef constant<int,1> item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 > struct vector148 { typedef v_iter<vector148< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef constant<int,1> item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 > struct vector149 { typedef v_iter<vector149< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef constant<int,1> item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 > struct vector150 { typedef v_iter<vector150< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef constant<int,1> item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 > struct vector151 { typedef v_iter<vector151< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef constant<int,1> item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 > struct vector152 { typedef v_iter<vector152< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef constant<int,1> item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 > struct vector153 { typedef v_iter<vector153< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef constant<int,1> item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 > struct vector154 { typedef v_iter<vector154< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef constant<int,1> item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 > struct vector155 { typedef v_iter<vector155< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef constant<int,1> item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 > struct vector156 { typedef v_iter<vector156< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef constant<int,1> item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 > struct vector157 { typedef v_iter<vector157< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef constant<int,1> item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 > struct vector158 { typedef v_iter<vector158< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef constant<int,1> item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 > struct vector159 { typedef v_iter<vector159< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef constant<int,1> item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 > struct vector160 { typedef v_iter<vector160< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef constant<int,1> item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 > struct vector161 { typedef v_iter<vector161< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef constant<int,1> item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 > struct vector162 { typedef v_iter<vector162< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef constant<int,1> item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 > struct vector163 { typedef v_iter<vector163< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef constant<int,1> item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 > struct vector164 { typedef v_iter<vector164< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef constant<int,1> item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 > struct vector165 { typedef v_iter<vector165< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef constant<int,1> item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 > struct vector166 { typedef v_iter<vector166< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef constant<int,1> item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 > struct vector167 { typedef v_iter<vector167< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef constant<int,1> item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 > struct vector168 { typedef v_iter<vector168< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef constant<int,1> item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 > struct vector169 { typedef v_iter<vector169< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef constant<int,1> item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 > struct vector170 { typedef v_iter<vector170< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef constant<int,1> item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 > struct vector171 { typedef v_iter<vector171< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef constant<int,1> item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 > struct vector172 { typedef v_iter<vector172< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef constant<int,1> item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 > struct vector173 { typedef v_iter<vector173< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef constant<int,1> item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 > struct vector174 { typedef v_iter<vector174< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef constant<int,1> item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 > struct vector175 { typedef v_iter<vector175< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef constant<int,1> item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 > struct vector176 { typedef v_iter<vector176< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef constant<int,1> item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 > struct vector177 { typedef v_iter<vector177< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef constant<int,1> item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 > struct vector178 { typedef v_iter<vector178< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef constant<int,1> item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 > struct vector179 { typedef v_iter<vector179< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef constant<int,1> item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 > struct vector180 { typedef v_iter<vector180< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef constant<int,1> item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 > struct vector181 { typedef v_iter<vector181< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef constant<int,1> item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 > struct vector182 { typedef v_iter<vector182< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef constant<int,1> item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 > struct vector183 { typedef v_iter<vector183< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef constant<int,1> item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 > struct vector184 { typedef v_iter<vector184< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef constant<int,1> item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 > struct vector185 { typedef v_iter<vector185< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef constant<int,1> item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 > struct vector186 { typedef v_iter<vector186< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef constant<int,1> item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 > struct vector187 { typedef v_iter<vector187< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef constant<int,1> item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 > struct vector188 { typedef v_iter<vector188< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef constant<int,1> item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 > struct vector189 { typedef v_iter<vector189< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef constant<int,1> item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 > struct vector190 { typedef v_iter<vector190< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef constant<int,1> item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 > struct vector191 { typedef v_iter<vector191< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef constant<int,1> item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 > struct vector192 { typedef v_iter<vector192< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef constant<int,1> item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 > struct vector193 { typedef v_iter<vector193< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef constant<int,1> item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 > struct vector194 { typedef v_iter<vector194< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef constant<int,1> item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 > struct vector195 { typedef v_iter<vector195< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef constant<int,1> item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 > struct vector196 { typedef v_iter<vector196< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef constant<int,1> item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 > struct vector197 { typedef v_iter<vector197< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef constant<int,1> item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 , class P197 > struct vector198 { typedef v_iter<vector198< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196 , P197>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef P197 item197; typedef constant<int,1> item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 , class P197 , class P198 > struct vector199 { typedef v_iter<vector199< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196 , P197 , P198>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef P197 item197; typedef P198 item198; typedef constant<int,1> item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
+ 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 , class P50 , class P51 , class P52 , class P53 , class P54 , class P55 , class P56 , class P57 , class P58 , class P59 , class P60 , class P61 , class P62 , class P63 , class P64 , class P65 , class P66 , class P67 , class P68 , class P69 , class P70 , class P71 , class P72 , class P73 , class P74 , class P75 , class P76 , class P77 , class P78 , class P79 , class P80 , class P81 , class P82 , class P83 , class P84 , class P85 , class P86 , class P87 , class P88 , class P89 , class P90 , class P91 , class P92 , class P93 , class P94 , class P95 , class P96 , class P97 , class P98 , class P99 , class P100 , class P101 , class P102 , class P103 , class P104 , class P105 , class P106 , class P107 , class P108 , class P109 , class P110 , class P111 , class P112 , class P113 , class P114 , class P115 , class P116 , class P117 , class P118 , class P119 , class P120 , class P121 , class P122 , class P123 , class P124 , class P125 , class P126 , class P127 , class P128 , class P129 , class P130 , class P131 , class P132 , class P133 , class P134 , class P135 , class P136 , class P137 , class P138 , class P139 , class P140 , class P141 , class P142 , class P143 , class P144 , class P145 , class P146 , class P147 , class P148 , class P149 , class P150 , class P151 , class P152 , class P153 , class P154 , class P155 , class P156 , class P157 , class P158 , class P159 , class P160 , class P161 , class P162 , class P163 , class P164 , class P165 , class P166 , class P167 , class P168 , class P169 , class P170 , class P171 , class P172 , class P173 , class P174 , class P175 , class P176 , class P177 , class P178 , class P179 , class P180 , class P181 , class P182 , class P183 , class P184 , class P185 , class P186 , class P187 , class P188 , class P189 , class P190 , class P191 , class P192 , class P193 , class P194 , class P195 , class P196 , class P197 , class P198 , class P199 > struct vector200 { typedef v_iter<vector200< 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 , P50 , P51 , P52 , P53 , P54 , P55 , P56 , P57 , P58 , P59 , P60 , P61 , P62 , P63 , P64 , P65 , P66 , P67 , P68 , P69 , P70 , P71 , P72 , P73 , P74 , P75 , P76 , P77 , P78 , P79 , P80 , P81 , P82 , P83 , P84 , P85 , P86 , P87 , P88 , P89 , P90 , P91 , P92 , P93 , P94 , P95 , P96 , P97 , P98 , P99 , P100 , P101 , P102 , P103 , P104 , P105 , P106 , P107 , P108 , P109 , P110 , P111 , P112 , P113 , P114 , P115 , P116 , P117 , P118 , P119 , P120 , P121 , P122 , P123 , P124 , P125 , P126 , P127 , P128 , P129 , P130 , P131 , P132 , P133 , P134 , P135 , P136 , P137 , P138 , P139 , P140 , P141 , P142 , P143 , P144 , P145 , P146 , P147 , P148 , P149 , P150 , P151 , P152 , P153 , P154 , P155 , P156 , P157 , P158 , P159 , P160 , P161 , P162 , P163 , P164 , P165 , P166 , P167 , P168 , P169 , P170 , P171 , P172 , P173 , P174 , P175 , P176 , P177 , P178 , P179 , P180 , P181 , P182 , P183 , P184 , P185 , P186 , P187 , P188 , P189 , P190 , P191 , P192 , P193 , P194 , P195 , P196 , P197 , P198 , P199>, 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 P50 item50; typedef P51 item51; typedef P52 item52; typedef P53 item53; typedef P54 item54; typedef P55 item55; typedef P56 item56; typedef P57 item57; typedef P58 item58; typedef P59 item59; typedef P60 item60; typedef P61 item61; typedef P62 item62; typedef P63 item63; typedef P64 item64; typedef P65 item65; typedef P66 item66; typedef P67 item67; typedef P68 item68; typedef P69 item69; typedef P70 item70; typedef P71 item71; typedef P72 item72; typedef P73 item73; typedef P74 item74; typedef P75 item75; typedef P76 item76; typedef P77 item77; typedef P78 item78; typedef P79 item79; typedef P80 item80; typedef P81 item81; typedef P82 item82; typedef P83 item83; typedef P84 item84; typedef P85 item85; typedef P86 item86; typedef P87 item87; typedef P88 item88; typedef P89 item89; typedef P90 item90; typedef P91 item91; typedef P92 item92; typedef P93 item93; typedef P94 item94; typedef P95 item95; typedef P96 item96; typedef P97 item97; typedef P98 item98; typedef P99 item99; typedef P100 item100; typedef P101 item101; typedef P102 item102; typedef P103 item103; typedef P104 item104; typedef P105 item105; typedef P106 item106; typedef P107 item107; typedef P108 item108; typedef P109 item109; typedef P110 item110; typedef P111 item111; typedef P112 item112; typedef P113 item113; typedef P114 item114; typedef P115 item115; typedef P116 item116; typedef P117 item117; typedef P118 item118; typedef P119 item119; typedef P120 item120; typedef P121 item121; typedef P122 item122; typedef P123 item123; typedef P124 item124; typedef P125 item125; typedef P126 item126; typedef P127 item127; typedef P128 item128; typedef P129 item129; typedef P130 item130; typedef P131 item131; typedef P132 item132; typedef P133 item133; typedef P134 item134; typedef P135 item135; typedef P136 item136; typedef P137 item137; typedef P138 item138; typedef P139 item139; typedef P140 item140; typedef P141 item141; typedef P142 item142; typedef P143 item143; typedef P144 item144; typedef P145 item145; typedef P146 item146; typedef P147 item147; typedef P148 item148; typedef P149 item149; typedef P150 item150; typedef P151 item151; typedef P152 item152; typedef P153 item153; typedef P154 item154; typedef P155 item155; typedef P156 item156; typedef P157 item157; typedef P158 item158; typedef P159 item159; typedef P160 item160; typedef P161 item161; typedef P162 item162; typedef P163 item163; typedef P164 item164; typedef P165 item165; typedef P166 item166; typedef P167 item167; typedef P168 item168; typedef P169 item169; typedef P170 item170; typedef P171 item171; typedef P172 item172; typedef P173 item173; typedef P174 item174; typedef P175 item175; typedef P176 item176; typedef P177 item177; typedef P178 item178; typedef P179 item179; typedef P180 item180; typedef P181 item181; typedef P182 item182; typedef P183 item183; typedef P184 item184; typedef P185 item185; typedef P186 item186; typedef P187 item187; typedef P188 item188; typedef P189 item189; typedef P190 item190; typedef P191 item191; typedef P192 item192; typedef P193 item193; typedef P194 item194; typedef P195 item195; typedef P196 item196; typedef P197 item197; typedef P198 item198; typedef P199 item199; typedef constant<int,1> item200; typedef constant<int,1> item201; typedef constant<int,1> item202; typedef constant<int,1> item203; typedef constant<int,1> item204; typedef constant<int,1> item205; typedef constant<int,1> item206; typedef constant<int,1> item207; typedef constant<int,1> item208; typedef constant<int,1> item209; typedef constant<int,1> item210; typedef constant<int,1> item211; typedef constant<int,1> item212; typedef constant<int,1> item213; typedef constant<int,1> item214; typedef constant<int,1> item215; typedef constant<int,1> item216; typedef constant<int,1> item217; typedef constant<int,1> item218; typedef constant<int,1> item219; typedef constant<int,1> item220; typedef constant<int,1> item221; typedef constant<int,1> item222; typedef constant<int,1> item223; typedef constant<int,1> item224; typedef constant<int,1> item225; typedef constant<int,1> item226; typedef constant<int,1> item227; typedef constant<int,1> item228; typedef constant<int,1> item229; typedef constant<int,1> item230; typedef constant<int,1> item231; typedef constant<int,1> item232; typedef constant<int,1> item233; typedef constant<int,1> item234; typedef constant<int,1> item235; typedef constant<int,1> item236; typedef constant<int,1> item237; typedef constant<int,1> item238; typedef constant<int,1> item239; typedef constant<int,1> item240; typedef constant<int,1> item241; typedef constant<int,1> item242; typedef constant<int,1> item243; typedef constant<int,1> item244; typedef constant<int,1> item245; typedef constant<int,1> item246; typedef constant<int,1> item247; typedef constant<int,1> item248; typedef constant<int,1> item249; };
}}
namespace boost { namespace type_of {
template<class V, class T> struct push_back {
diff --git a/boost/typeof/vector50.hpp b/boost/typeof/vector50.hpp
index d3beaff513..438cd43b2f 100644
--- a/boost/typeof/vector50.hpp
+++ b/boost/typeof/vector50.hpp
@@ -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 {
diff --git a/boost/utility/string_ref.hpp b/boost/utility/string_ref.hpp
index d234e5444a..4b36ffc0d8 100644
--- a/boost/utility/string_ref.hpp
+++ b/boost/utility/string_ref.hpp
@@ -181,6 +181,7 @@ namespace boost {
}
size_type find(basic_string_ref s) const {
+ if (s.empty()) return 0;
const_iterator iter = std::search ( this->cbegin (), this->cend (),
s.cbegin (), s.cend (), traits::eq );
return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
@@ -193,6 +194,7 @@ namespace boost {
}
size_type rfind(basic_string_ref s) const {
+ if (s.empty()) return 0;
const_reverse_iterator iter = std::search ( this->crbegin (), this->crend (),
s.crbegin (), s.crend (), traits::eq );
return iter == this->crend () ? npos : (std::distance(iter, this->crend()) - s.size());
diff --git a/boost/utility/string_view.hpp b/boost/utility/string_view.hpp
index 44efda97bf..11aa801e29 100644
--- a/boost/utility/string_view.hpp
+++ b/boost/utility/string_view.hpp
@@ -21,6 +21,7 @@
#include <boost/detail/workaround.hpp>
#include <boost/utility/string_view_fwd.hpp>
#include <boost/throw_exception.hpp>
+#include <boost/container_hash/hash_fwd.hpp>
#include <cstddef>
#include <stdexcept>
@@ -690,6 +691,10 @@ namespace boost {
}
#endif
+ template <class charT, class traits>
+ std::size_t hash_value(basic_string_view<charT, traits> s) {
+ return boost::hash_range(s.begin(), s.end());
+ }
}
#if 0
diff --git a/boost/uuid/detail/random_provider_detect_platform.hpp b/boost/uuid/detail/random_provider_detect_platform.hpp
index f24b06f379..b3b2655587 100644
--- a/boost/uuid/detail/random_provider_detect_platform.hpp
+++ b/boost/uuid/detail/random_provider_detect_platform.hpp
@@ -14,10 +14,15 @@
#include <boost/predef/library/c/cloudabi.h>
#include <boost/predef/library/c/gnu.h>
#include <boost/predef/os/bsd/open.h>
-#include <boost/predef/os/linux.h>
#include <boost/predef/os/windows.h>
-#if BOOST_OS_LINUX
+
+// Note: Don't use Boost.Predef to detect Linux and Android as it may give different results depending on header inclusion order.
+// https://github.com/boostorg/predef/issues/81#issuecomment-413329061
+#if (defined(__linux__) || defined(__linux) || defined(linux)) && (!defined(__ANDROID__) || __ANDROID_API__ >= 28)
#include <sys/syscall.h>
+#if defined(SYS_getrandom)
+#define BOOST_UUID_RANDOM_PROVIDER_HAS_GETRANDOM
+#endif // defined(SYS_getrandom)
#endif
//
@@ -45,7 +50,7 @@
# error Unable to find a suitable windows entropy provider
# endif
-#elif BOOST_OS_LINUX && defined(SYS_getrandom) && !defined(BOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX) && !defined(BOOST_UUID_RANDOM_PROVIDER_DISABLE_GETRANDOM)
+#elif defined(BOOST_UUID_RANDOM_PROVIDER_HAS_GETRANDOM) && !defined(BOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX) && !defined(BOOST_UUID_RANDOM_PROVIDER_DISABLE_GETRANDOM)
# define BOOST_UUID_RANDOM_PROVIDER_GETRANDOM
# define BOOST_UUID_RANDOM_PROVIDER_NAME getrandom
diff --git a/boost/uuid/detail/sha1.hpp b/boost/uuid/detail/sha1.hpp
index 7831e571bc..871a3199d6 100644
--- a/boost/uuid/detail/sha1.hpp
+++ b/boost/uuid/detail/sha1.hpp
@@ -1,5 +1,3 @@
-// boost/uuid/sha1.hpp header file ----------------------------------------------//
-
// Copyright 2007 Andy Tompkins.
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
diff --git a/boost/uuid/entropy_error.hpp b/boost/uuid/entropy_error.hpp
index 27f2936e5e..e7a48b88b9 100644
--- a/boost/uuid/entropy_error.hpp
+++ b/boost/uuid/entropy_error.hpp
@@ -1,5 +1,5 @@
//
-// Copyright (c) 2017 James E. King III
+// Copyright (c) 2017, 2018 James E. King III
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
@@ -11,6 +11,7 @@
#ifndef BOOST_UUID_RANDOM_ENTROPY_ERROR_HPP
#define BOOST_UUID_RANDOM_ENTROPY_ERROR_HPP
+#include <boost/config.hpp>
#include <boost/cstdint.hpp>
#include <stdexcept>
#include <string>
@@ -21,7 +22,7 @@ namespace uuids {
//! \brief Given boost::system::system_error is in a module that
//! is not header-only, we define our own exception type
//! to handle entropy provider errors instead,
-class entropy_error : public std::runtime_error
+class BOOST_SYMBOL_VISIBLE entropy_error : public std::runtime_error
{
public:
entropy_error(boost::intmax_t errCode, const std::string& message)
diff --git a/boost/variant/bad_visit.hpp b/boost/variant/bad_visit.hpp
index e07657eab5..6a738e00f5 100644
--- a/boost/variant/bad_visit.hpp
+++ b/boost/variant/bad_visit.hpp
@@ -23,7 +23,7 @@ namespace boost {
// Exception thrown when a visitation attempt via apply_visitor fails due
// to invalid visited subtype or contents.
//
-struct bad_visit
+struct BOOST_SYMBOL_VISIBLE bad_visit
: std::exception
{
public: // std::exception interface
diff --git a/boost/version.hpp b/boost/version.hpp
index 967ff28548..c9afbd9860 100644
--- a/boost/version.hpp
+++ b/boost/version.hpp
@@ -19,7 +19,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
-#define BOOST_VERSION 106800
+#define BOOST_VERSION 106900
//
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@@ -27,6 +27,6 @@
// number, y is the minor version number, and z is the patch level if not 0.
// This is used by <config/auto_link.hpp> to select which library version to link to.
-#define BOOST_LIB_VERSION "1_68"
+#define BOOST_LIB_VERSION "1_69"
#endif
diff --git a/boost/wave/cpp_iteration_context.hpp b/boost/wave/cpp_iteration_context.hpp
index da83ea5db2..4dd4be4837 100644
--- a/boost/wave/cpp_iteration_context.hpp
+++ b/boost/wave/cpp_iteration_context.hpp
@@ -13,7 +13,7 @@
#define CPP_ITERATION_CONTEXT_HPP_00312288_9DDB_4668_AFE5_25D3994FD095_INCLUDED
#include <iterator>
-#include <fstream>
+#include <boost/filesystem/fstream.hpp>
#if defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
#include <sstream>
#endif
@@ -64,7 +64,7 @@ namespace iteration_context_policies {
typedef typename IterContextT::iterator_type iterator_type;
// read in the file
- std::ifstream instream(iter_ctx.filename.c_str());
+ boost::filesystem::ifstream instream(iter_ctx.filename.c_str());
if (!instream.is_open()) {
BOOST_WAVE_THROW_CTX(iter_ctx.ctx, preprocess_exception,
bad_include_file, iter_ctx.filename.c_str(), act_pos);
diff --git a/boost/wave/util/cpp_iterator.hpp b/boost/wave/util/cpp_iterator.hpp
index d219bd6307..9e310b8536 100644
--- a/boost/wave/util/cpp_iterator.hpp
+++ b/boost/wave/util/cpp_iterator.hpp
@@ -812,7 +812,7 @@ typename ContextT::position_type pos = act_token.get_position();
pos.set_column(++column); // account for ' '
pending.push_back(result_type(T_INTLIT, buffer.c_str(), pos));
- pos.set_column(column += buffer.size()); // account for <number>
+ pos.set_column(column += (unsigned int)buffer.size()); // account for <number>
pending.push_back(result_type(T_SPACE, " ", pos));
pos.set_column(++column); // account for ' '
diff --git a/boost/wave/util/cpp_macromap.hpp b/boost/wave/util/cpp_macromap.hpp
index 9f2f7a269b..ae4b712cdc 100644
--- a/boost/wave/util/cpp_macromap.hpp
+++ b/boost/wave/util/cpp_macromap.hpp
@@ -583,7 +583,6 @@ macromap<ContextT>::expand_tokensequence_worker(
// analyze the next element of the given sequence, if it is an
// T_IDENTIFIER token, try to replace this as a macro etc.
using namespace boost::wave;
- typedef unput_queue_iterator<IteratorT, token_type, ContainerT> iterator_type;
if (first != last) {
token_id id = token_id(*first);
diff --git a/boost/winapi/overlapped.hpp b/boost/winapi/overlapped.hpp
index 482699508a..f0a41e40fd 100644
--- a/boost/winapi/overlapped.hpp
+++ b/boost/winapi/overlapped.hpp
@@ -32,7 +32,7 @@ typedef struct BOOST_MAY_ALIAS _OVERLAPPED {
ULONG_PTR_ Internal;
ULONG_PTR_ InternalHigh;
union {
- struct {
+ BOOST_WINAPI_DETAIL_EXTENSION struct {
DWORD_ Offset;
DWORD_ OffsetHigh;
};
diff --git a/boost/yap/algorithm.hpp b/boost/yap/algorithm.hpp
index ac70cbc7d1..97a27cbe75 100644
--- a/boost/yap/algorithm.hpp
+++ b/boost/yap/algorithm.hpp
@@ -55,14 +55,14 @@ namespace boost { namespace yap {
#ifdef BOOST_NO_CONSTEXPR_IF
return detail::deref_impl < Expr,
- std::is_rvalue_reference<Expr>{} &&
- !std::is_const<std::remove_reference_t<Expr>>{} >
+ std::is_rvalue_reference<Expr>::value &&
+ !std::is_const<std::remove_reference_t<Expr>>::value >
{}(static_cast<Expr &&>(expr));
#else
using namespace hana::literals;
if constexpr (
- std::is_rvalue_reference<Expr>{} &&
- !std::is_const<std::remove_reference_t<Expr>>{}) {
+ std::is_rvalue_reference<Expr>::value &&
+ !std::is_const<std::remove_reference_t<Expr>>::value) {
return std::move(*expr.elements[0_c]);
} else {
return *expr.elements[0_c];
@@ -152,10 +152,10 @@ namespace boost { namespace yap {
(ValueOfTerminalsOnly && kind == expr_kind::terminal) ||
(!ValueOfTerminalsOnly &&
arity == detail::expr_arity::one),
- std::is_lvalue_reference<T>{} ||
+ std::is_lvalue_reference<T>::value ||
detail::lvalue_ref_ith_element<
decltype(x.elements),
- 0>{} > {}(static_cast<T &&>(x));
+ 0>::value > {}(static_cast<T &&>(x));
}
};
@@ -189,7 +189,7 @@ namespace boost { namespace yap {
kind == expr_kind::terminal ||
(!ValueOfTerminalsOnly && arity == expr_arity::one)) {
if constexpr (
- std::is_lvalue_reference<T>{} ||
+ std::is_lvalue_reference<T>::value ||
detail::
lvalue_ref_ith_element<decltype(x.elements), 0>{}) {
return x.elements[0_c];
@@ -299,14 +299,14 @@ namespace boost { namespace yap {
I::value,
Expr,
kind == expr_kind::expr_ref,
- std::is_lvalue_reference<Expr>{}>{}(static_cast<Expr &&>(expr), i);
+ std::is_lvalue_reference<Expr>::value>{}(static_cast<Expr &&>(expr), i);
#else
using namespace hana::literals;
if constexpr (kind == expr_kind::expr_ref) {
return ::boost::yap::get(
::boost::yap::deref(static_cast<Expr &&>(expr)), i);
} else {
- if constexpr (std::is_lvalue_reference<Expr>{}) {
+ if constexpr (std::is_lvalue_reference<Expr>::value) {
return expr.elements[i];
} else {
return std::move(expr.elements[i]);
diff --git a/boost/yap/algorithm_fwd.hpp b/boost/yap/algorithm_fwd.hpp
index 243ed3970a..96b0f4cfb9 100644
--- a/boost/yap/algorithm_fwd.hpp
+++ b/boost/yap/algorithm_fwd.hpp
@@ -131,10 +131,10 @@ namespace boost { namespace yap {
std::is_same<
std::remove_cv_t<decltype(
detail::remove_cv_ref_t<Expr>::kind)>,
- expr_kind>{} &&
+ expr_kind>::value &&
hana::is_a<
hana::tuple_tag,
- decltype(std::declval<Expr>().elements)>()>
+ decltype(std::declval<Expr>().elements)>>
{
};
diff --git a/boost/yap/detail/algorithm.hpp b/boost/yap/detail/algorithm.hpp
index 21a348969f..072ce0524c 100644
--- a/boost/yap/detail/algorithm.hpp
+++ b/boost/yap/detail/algorithm.hpp
@@ -98,7 +98,7 @@ namespace boost { namespace yap { namespace detail {
template<
typename T,
typename U = typename detail::partial_decay<T>::type,
- bool AddRValueRef = std::is_same<T, U>{} && !std::is_const<U>{}>
+ bool AddRValueRef = std::is_same<T, U>::value && !std::is_const<U>::value>
struct operand_value_type_phase_1;
template<typename T, typename U>
@@ -160,9 +160,9 @@ namespace boost { namespace yap { namespace detail {
template<expr_kind, class> class ExprTemplate,
typename T,
typename U = typename operand_value_type_phase_1<T>::type,
- bool RemoveRefs = std::is_rvalue_reference<U>{},
+ bool RemoveRefs = std::is_rvalue_reference<U>::value,
bool IsExpr = is_expr<T>::value,
- bool IsLRef = std::is_lvalue_reference<T>{}>
+ bool IsLRef = std::is_lvalue_reference<T>::value>
struct operand_type;
template<
@@ -257,7 +257,7 @@ namespace boost { namespace yap { namespace detail {
typename T,
typename U,
bool TNonExprUExpr = !is_expr<T>::value && is_expr<U>::value,
- bool ULvalueRef = std::is_lvalue_reference<U>{}>
+ bool ULvalueRef = std::is_lvalue_reference<U>::value>
struct free_binary_op_result;
template<
diff --git a/boost/yap/detail/transform.hpp b/boost/yap/detail/transform.hpp
index eade19aaf0..19182d9a37 100644
--- a/boost/yap/detail/transform.hpp
+++ b/boost/yap/detail/transform.hpp
@@ -30,7 +30,7 @@ namespace boost { namespace yap { namespace detail {
template<int I, typename... Ts>
using nth_element = typename nth_element_impl<I, Ts...>::type;
- template<typename T, bool RemoveRefs = std::is_rvalue_reference<T>{}>
+ template<typename T, bool RemoveRefs = std::is_rvalue_reference<T>::value>
struct rvalue_ref_to_value;
template<typename T>
@@ -86,7 +86,7 @@ namespace boost { namespace yap { namespace detail {
"Out of range placeholder index,");
using nth_type = nth_element<I - 1, PlaceholderArgs...>;
return as_expr<minimal_expr>(
- rvalue_mover<!std::is_lvalue_reference<nth_type>::value>{}(
+ rvalue_mover<!std::is_lvalue_reference<nth_type>::value>::value(
placeholder_args_[hana::llong<I - 1>{}]));
}
@@ -367,7 +367,7 @@ namespace boost { namespace yap { namespace detail {
// No next transform exists; use the default transform.
constexpr expr_kind kind = remove_cv_ref_t<Expr>::kind;
return default_transform<
- std::is_lvalue_reference<Expr>{},
+ std::is_lvalue_reference<Expr>::value,
kind == expr_kind::terminal,
Strict>{}(static_cast<Expr &&>(expr), transforms);
}
diff --git a/boost/yap/print.hpp b/boost/yap/print.hpp
index 7503fe1697..ca58840a4a 100644
--- a/boost/yap/print.hpp
+++ b/boost/yap/print.hpp
@@ -123,13 +123,13 @@ namespace boost { namespace yap {
std::ostream & print_type(std::ostream & os, hana::tuple<T> const &)
{
os << typeindex::type_id<T>().pretty_name();
- if (std::is_const<T>{})
+ if (std::is_const<T>::value)
os << " const";
- if (std::is_volatile<T>{})
+ if (std::is_volatile<T>::value)
os << " volatile";
- if (std::is_lvalue_reference<T>{})
+ if (std::is_lvalue_reference<T>::value)
os << " &";
- if (std::is_rvalue_reference<T>{})
+ if (std::is_rvalue_reference<T>::value)
os << " &&";
return os;
}